1(function() { 2 3 var dfs = {"am_pm":["AM","PM"],"day_name":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"day_short":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"era":["BC","AD"],"era_name":["Before Christ","Anno Domini"],"month_name":["January","February","March","April","May","June","July","August","September","October","November","December"],"month_short":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"order_full":"MDY","order_long":"MDY","order_medium":"MDY","order_short":"MDY"}; 4 var nfs = {"decimal_separator":".","grouping_separator":",","minus":"-"}; 5 var df = {SHORT_PADDED_CENTURY:function(d){if(d){return(((d.getMonth()+101)+'').substring(1)+'/'+((d.getDate()+101)+'').substring(1)+'/'+d.getFullYear());}},SHORT:function(d){if(d){return((d.getMonth()+1)+'/'+d.getDate()+'/'+(d.getFullYear()+'').substring(2));}},SHORT_NOYEAR:function(d){if(d){return((d.getMonth()+1)+'/'+d.getDate());}},SHORT_NODAY:function(d){if(d){return((d.getMonth()+1)+' '+(d.getFullYear()+'').substring(2));}},MEDIUM:function(d){if(d){return(dfs.month_short[d.getMonth()]+' '+d.getDate()+','+' '+d.getFullYear());}},MEDIUM_NOYEAR:function(d){if(d){return(dfs.month_short[d.getMonth()]+' '+d.getDate());}},MEDIUM_WEEKDAY_NOYEAR:function(d){if(d){return(dfs.day_short[d.getDay()]+' '+dfs.month_short[d.getMonth()]+' '+d.getDate());}},LONG_NODAY:function(d){if(d){return(dfs.month_name[d.getMonth()]+' '+d.getFullYear());}},LONG:function(d){if(d){return(dfs.month_name[d.getMonth()]+' '+d.getDate()+','+' '+d.getFullYear());}},FULL:function(d){if(d){return(dfs.day_name[d.getDay()]+','+' '+dfs.month_name[d.getMonth()]+' '+d.getDate()+','+' '+d.getFullYear());}}}; 6 7 window.icu = window.icu || new Object(); 8 var icu = window.icu; 9 10 icu.getCountry = function() { return "US" }; 11 icu.getCountryName = function() { return "United States" }; 12 icu.getDateFormat = function(formatCode) { var retVal = {}; retVal.format = df[formatCode]; return retVal; }; 13 icu.getDateFormats = function() { return df; }; 14 icu.getDateFormatSymbols = function() { return dfs; }; 15 icu.getDecimalFormat = function(places) { var retVal = {}; retVal.format = function(n) { var ns = n < 0 ? Math.abs(n).toFixed(places) : n.toFixed(places); var ns2 = ns.split('.'); s = ns2[0]; var d = ns2[1]; var rgx = /(\d+)(\d{3})/;while(rgx.test(s)){s = s.replace(rgx, '$1' + nfs["grouping_separator"] + '$2');} return (n < 0 ? nfs["minus"] : "") + s + nfs["decimal_separator"] + d;}; return retVal; }; 16 icu.getDecimalFormatSymbols = function() { return nfs; }; 17 icu.getIntegerFormat = function() { var retVal = {}; retVal.format = function(i) { var s = i < 0 ? Math.abs(i).toString() : i.toString(); var rgx = /(\d+)(\d{3})/;while(rgx.test(s)){s = s.replace(rgx, '$1' + nfs["grouping_separator"] + '$2');} return i < 0 ? nfs["minus"] + s : s;}; return retVal; }; 18 icu.getLanguage = function() { return "en" }; 19 icu.getLanguageName = function() { return "English" }; 20 icu.getLocale = function() { return "en-US" }; 21 icu.getLocaleName = function() { return "English (United States)" }; 22 23})(); 24�(function() { 25 26 var translate = function(text) 27 { 28 var xlate = translateLookup(text); 29 30 if (typeof xlate == "function") 31 { 32 xlate = xlate.apply(this, arguments); 33 } 34 else if (arguments.length > 1) 35 { 36 var aps = Array.prototype.slice; 37 var args = aps.call( arguments, 1 ); 38 39 xlate = formatter(xlate, args); 40 } 41 42 return xlate; 43 }; 44 45 // I want it available explicity as well as via the object 46 translate.translate = translate; 47 48 //from https://gist.github.com/776196 via http://davedash.com/2010/11/19/pythonic-string-formatting-in-javascript/ 49 var defaultFormatter = (function() { 50 var re = /\{([^}]+)\}/g; 51 return function(s, args) { 52 return s.replace(re, function(_, match){ return args[match]; }); 53 } 54 }()); 55 var formatter = defaultFormatter; 56 translate.setFormatter = function(newFormatter) 57 { 58 formatter = newFormatter; 59 }; 60 61 translate.format = function() 62 { 63 var aps = Array.prototype.slice; 64 var s = arguments[0]; 65 var args = aps.call( arguments, 1 ); 66 67 return formatter(s, args); 68 }; 69 70 var dynoTrans = null; 71 translate.setDynamicTranslator = function(newDynoTrans) 72 { 73 dynoTrans = newDynoTrans; 74 }; 75 76 var translation = null; 77 translate.setTranslation = function(newTranslation) 78 { 79 translation = newTranslation; 80 }; 81 82 function translateLookup(target) 83 { 84 if (translation == null || target == null) 85 { 86 return target; 87 } 88 89 if (target in translation == false) 90 { 91 if (dynoTrans != null) 92 { 93 return dynoTrans(target); 94 } 95 return target; 96 } 97 98 var result = translation[target]; 99 if (result == null) 100 { 101 return target; 102 } 103 104 return result; 105 }; 106 107 window._ = translate; 108 109})(); 110 111�if(typeof i18nJSON !== 'undefined' && i18nJSON ) { 112 _.setTranslation(i18nJSON); 113} else { 114 console.log('i18nJSON is not available. Translation of JavaScript strings will fail.'); 115} 116 117�!function(n){"use strict";function t(n,t){var r=(65535&n)+(65535&t),e=(n>>16)+(t>>16)+(r>>16);return e<<16|65535&r}function r(n,t){return n<<t|n>>>32-t}function e(n,e,o,u,c,f){return t(r(t(t(e,n),t(u,f)),c),o)}function o(n,t,r,o,u,c,f){return e(t&r|~t&o,n,t,u,c,f)}function u(n,t,r,o,u,c,f){return e(t&o|r&~o,n,t,u,c,f)}function c(n,t,r,o,u,c,f){return e(t^r^o,n,t,u,c,f)}function f(n,t,r,o,u,c,f){return e(r^(t|~o),n,t,u,c,f)}function i(n,r){n[r>>5]|=128<<r%32,n[(r+64>>>9<<4)+14]=r;var e,i,a,h,d,l=1732584193,g=-271733879,v=-1732584194,m=271733878;for(e=0;e<n.length;e+=16)i=l,a=g,h=v,d=m,l=o(l,g,v,m,n[e],7,-680876936),m=o(m,l,g,v,n[e+1],12,-389564586),v=o(v,m,l,g,n[e+2],17,606105819),g=o(g,v,m,l,n[e+3],22,-1044525330),l=o(l,g,v,m,n[e+4],7,-176418897),m=o(m,l,g,v,n[e+5],12,1200080426),v=o(v,m,l,g,n[e+6],17,-1473231341),g=o(g,v,m,l,n[e+7],22,-45705983),l=o(l,g,v,m,n[e+8],7,1770035416),m=o(m,l,g,v,n[e+9],12,-1958414417),v=o(v,m,l,g,n[e+10],17,-42063),g=o(g,v,m,l,n[e+11],22,-1990404162),l=o(l,g,v,m,n[e+12],7,1804603682),m=o(m,l,g,v,n[e+13],12,-40341101),v=o(v,m,l,g,n[e+14],17,-1502002290),g=o(g,v,m,l,n[e+15],22,1236535329),l=u(l,g,v,m,n[e+1],5,-165796510),m=u(m,l,g,v,n[e+6],9,-1069501632),v=u(v,m,l,g,n[e+11],14,643717713),g=u(g,v,m,l,n[e],20,-373897302),l=u(l,g,v,m,n[e+5],5,-701558691),m=u(m,l,g,v,n[e+10],9,38016083),v=u(v,m,l,g,n[e+15],14,-660478335),g=u(g,v,m,l,n[e+4],20,-405537848),l=u(l,g,v,m,n[e+9],5,568446438),m=u(m,l,g,v,n[e+14],9,-1019803690),v=u(v,m,l,g,n[e+3],14,-187363961),g=u(g,v,m,l,n[e+8],20,1163531501),l=u(l,g,v,m,n[e+13],5,-1444681467),m=u(m,l,g,v,n[e+2],9,-51403784),v=u(v,m,l,g,n[e+7],14,1735328473),g=u(g,v,m,l,n[e+12],20,-1926607734),l=c(l,g,v,m,n[e+5],4,-378558),m=c(m,l,g,v,n[e+8],11,-2022574463),v=c(v,m,l,g,n[e+11],16,1839030562),g=c(g,v,m,l,n[e+14],23,-35309556),l=c(l,g,v,m,n[e+1],4,-1530992060),m=c(m,l,g,v,n[e+4],11,1272893353),v=c(v,m,l,g,n[e+7],16,-155497632),g=c(g,v,m,l,n[e+10],23,-1094730640),l=c(l,g,v,m,n[e+13],4,681279174),m=c(m,l,g,v,n[e],11,-358537222),v=c(v,m,l,g,n[e+3],16,-722521979),g=c(g,v,m,l,n[e+6],23,76029189),l=c(l,g,v,m,n[e+9],4,-640364487),m=c(m,l,g,v,n[e+12],11,-421815835),v=c(v,m,l,g,n[e+15],16,530742520),g=c(g,v,m,l,n[e+2],23,-995338651),l=f(l,g,v,m,n[e],6,-198630844),m=f(m,l,g,v,n[e+7],10,1126891415),v=f(v,m,l,g,n[e+14],15,-1416354905),g=f(g,v,m,l,n[e+5],21,-57434055),l=f(l,g,v,m,n[e+12],6,1700485571),m=f(m,l,g,v,n[e+3],10,-1894986606),v=f(v,m,l,g,n[e+10],15,-1051523),g=f(g,v,m,l,n[e+1],21,-2054922799),l=f(l,g,v,m,n[e+8],6,1873313359),m=f(m,l,g,v,n[e+15],10,-30611744),v=f(v,m,l,g,n[e+6],15,-1560198380),g=f(g,v,m,l,n[e+13],21,1309151649),l=f(l,g,v,m,n[e+4],
1176,-145523070),m=f(m,l,g,v,n[e+11],10,-1120210379),v=f(v,m,l,g,n[e+2],15,718787259),g=f(g,v,m,l,n[e+9],21,-343485551),l=t(l,i),g=t(g,a),v=t(v,h),m=t(m,d);return[l,g,v,m]}function a(n){var t,r="",e=32*n.length;for(t=0;t<e;t+=8)r+=String.fromCharCode(n[t>>5]>>>t%32&255);return r}function h(n){var t,r=[];for(r[(n.length>>2)-1]=void 0,t=0;t<r.length;t+=1)r[t]=0;var e=8*n.length;for(t=0;t<e;t+=8)r[t>>5]|=(255&n.charCodeAt(t/8))<<t%32;return r}function d(n){return a(i(h(n),8*n.length))}function l(n,t){var r,e,o=h(n),u=[],c=[];for(u[15]=c[15]=void 0,o.length>16&&(o=i(o,8*n.length)),r=0;r<16;r+=1)u[r]=909522486^o[r],c[r]=1549556828^o[r];return e=i(u.concat(h(t)),512+8*t.length),a(i(c.concat(e),640))}function g(n){var t,r,e="0123456789abcdef",o="";for(r=0;r<n.length;r+=1)t=n.charCodeAt(r),o+=e.charAt(t>>>4&15)+e.charAt(15&t);return o}function v(n){return unescape(encodeURIComponent(n))}function m(n){return d(v(n))}function p(n){return g(m(n))}function s(n,t){return l(v(n),v(t))}function C(n,t){return g(s(n,t))}function A(n,t,r){return t?r?s(t,n):C(t,n):r?m(n):p(n)}"function"==typeof define&&define.amd?define(function(){return A}):"object"==typeof module&&module.exports?module.exports=A:n.md5=A}(this); 118 119�/*! 120 * Socket.IO v4.8.1 121 * (c) 2014-2024 Guillermo Rauch 122 * Released under the MIT License. 123 */ 124!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(t="undefined"!=typeof globalThis?globalThis:t||self).io=n()}(this,(function(){"use strict";function t(t,n){(null==n||n>t.length)&&(n=t.length);for(var i=0,r=Array(n);i<n;i++)r[i]=t[i];return r}function n(t,n){for(var i=0;i<n.length;i++){var r=n[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,f(r.key),r)}}function i(t,i,r){return i&&n(t.prototype,i),r&&n(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function r(n,i){var r="undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(!r){if(Array.isArray(n)||(r=function(n,i){if(n){if("string"==typeof n)return t(n,i);var r={}.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t(n,i):void 0}}(n))||i&&n&&"number"==typeof n.length){r&&(n=r);var e=0,o=function(){};return{s:o,n:function(){return e>=n.length?{done:!0}:{done:!1,value:n[e++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,u=!0,h=!1;return{s:function(){r=r.call(n)},n:function(){var t=r.next();return u=t.done,t},e:function(t){h=!0,s=t},f:function(){try{u||null==r.return||r.return()}finally{if(h)throw s}}}}function e(){return e=Object.assign?Object.assign.bind():function(t){for(var n=1;n<arguments.length;n++){var i=arguments[n];for(var r in i)({}).hasOwnProperty.call(i,r)&&(t[r]=i[r])}return t},e.apply(null,arguments)}function o(t){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},o(t)}function s(t,n){t.prototype=Object.create(n.prototype),t.prototype.constructor=t,h(t,n)}function u(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(u=function(){return!!t})()}function h(t,n){return h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,n){return t.__proto__=n,t},h(t,n)}function f(t){var n=function(t,n){if("object"!=typeof t||!t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var r=i.call(t,n||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(t)}(t,"string");return"symbol"==typeof n?n:n+""}function c(t){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},c(t)}function a(t){var n="function"==typeof Map?new Map:void 0;return a=function(t){if(null===t||!function(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(n){return"function"==typeof t}}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");
vendor: 6,399 bytes, line 124
124if(void 0!==n){if(n.has(t))return n.get(t);n.set(t,i)}function i(){return function(t,n,i){if(u())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,n);var e=new(t.bind.apply(t,r));return i&&h(e,i.prototype),e}(t,arguments,o(this).constructor)}return i.prototype=Object.create(t.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),h(i,t)},a(t)}var v=Object.create(null);v.open="0",v.close="1",v.ping="2",v.pong="3",v.message="4",v.upgrade="5",v.noop="6";var l=Object.create(null);Object.keys(v).forEach((function(t){l[v[t]]=t}));var p,d={type:"error",data:"parser error"},y="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),b="function"==typeof ArrayBuffer,w=function(t){return"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer instanceof ArrayBuffer},g=function(t,n,i){var r=t.type,e=t.data;return y&&e instanceof Blob?n?i(e):m(e,i):b&&(e instanceof ArrayBuffer||w(e))?n?i(e):m(new Blob([e]),i):i(v[r]+(e||""))},m=function(t,n){var i=new FileReader;return i.onload=function(){var t=i.result.split(",")[1];n("b"+(t||""))},i.readAsDataURL(t)};function k(t){return t instanceof Uint8Array?t:t instanceof ArrayBuffer?new Uint8Array(t):new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}for(var A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",j="undefined"==typeof Uint8Array?[]:new Uint8Array(256),E=0;E<64;E++)j[A.charCodeAt(E)]=E;var O,B="function"==typeof ArrayBuffer,S=function(t,n){if("string"!=typeof t)return{type:"message",data:C(t,n)};var i=t.charAt(0);return"b"===i?{type:"message",data:N(t.substring(1),n)}:l[i]?t.length>1?{type:l[i],data:t.substring(1)}:{type:l[i]}:d},N=function(t,n){if(B){var i=function(t){var n,i,r,e,o,s=.75*t.length,u=t.length,h=0;"="===t[t.length-1]&&(s--,"="===t[t.length-2]&&s--);var f=new ArrayBuffer(s),c=new Uint8Array(f);for(n=0;n<u;n+=4)i=j[t.charCodeAt(n)],r=j[t.charCodeAt(n+1)],e=j[t.charCodeAt(n+2)],o=j[t.charCodeAt(n+3)],c[h++]=i<<2|r>>4,c[h++]=(15&r)<<4|e>>2,c[h++]=(3&e)<<6|63&o;return f}(t);return C(i,n)}return{base64:!0,data:t}},C=function(t,n){return"blob"===n?t instanceof Blob?t:new Blob([t]):t instanceof ArrayBuffer?t:t.buffer},T=String.fromCharCode(30);function U(){return new TransformStream({transform:function(t,n){!function(t,n){y&&t.data instanceof Blob?t.data.arrayBuffer().then(k).then(n):b&&(t.data instanceof ArrayBuffer||w(t.data))?n(k(t.data)):g(t,!1,(function(t){p||(p=new TextEncoder),n(p.encode(t))}))}(t,(function(i){var r,e=i.length;if(e<126)r=new Uint8Array(1),new DataView(r.buffer).setUint8(0,e);else if(e<65536){r=new Uint8Array(3);var o=new DataView(r.buffer);o.setUint8(0,126),o.setUint16(1,e)}else{r=new Uint8Array(9);var s=new DataView(r.buffer);s.setUint8(0,127),s.setBigUint64(1,BigInt(e))}t.data&&"string"!=typeof t.data&&(r[0]|=128),n.enqueue(r),n.enqueue(i)}))}})}function M(t){return t.reduce((function(t,n){return t+n.length}),0)}function x(t,n){if(t[0].length===n)return t.shift();for(var i=new Uint8Array(n),r=0,e=0;e<n;e++)i[e]=t[0][r++],r===t[0].length&&(t.shift(),r=0);return t.length&&r<t[0].length&&(t[0]=t[0].slice(r)),i}function I(t){if(t)return function(t){for(var n in I.prototype)t[n]=I.prototype[n];return t}(t)}I.prototype.on=I.prototype.addEventListener=function(t,n){return this.t=this.t||{},(this.t["$"+t]=this.t["$"+t]||[]).push(n),this},I.prototype.once=function(t,n){function i(){this.off(t,i),n.apply(this,arguments)}return i.fn=n,this.on(t,i),this},I.prototype.off=I.prototype.removeListener=I.prototype.removeAllListeners=I.prototype.removeEventListener=function(t,n){if(this.t=this.t||{},0==arguments.length)return this.t={},this;var i,r=this.t["$"+t];if(!r)return this;if(1==arguments.length)return delete this.t["$"+t],this;for(var e=0;e<r.length;e++)if((i=r[e])===n||i.fn===n){r.splice(e,1);break}return 0===r.length&&delete this.t["$"+t],this},I.prototype.emit=function(t){this.t=this.t||{};for(var n=new Array(arguments.length-1),i=this.t["$"+t],r=1;r<arguments.length;r++)n[r-1]=arguments[r];if(i){r=0;for(var e=(i=i.slice(0)).length;r<e;++r)i[r].apply(this,n)}return this},I.prototype.emitReserved=I.prototype.emit,I.prototype.listeners=function(t){return this.t=this.t||{},this.t["$"+t]||[]},I.prototype.hasListeners=function(t){return!!this.listeners(t).length};var R="function"==typeof Promise&&"function"==typeof Promise.resolve?function(t){return Promise.resolve().then(t)}:function(t,n){return n(t,0)},L="undefined"!=typeof self?self:"undefined"!=typeof window?window:Function("return this")();function _(t){for(var n=arguments.length,i=new Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];return i.reduce((function(n,i){return t.hasOwnProperty(i)&&(n[i]=t[i]),n}),{})}var D=L.setTimeout,P=L.clearTimeout;function $(t,n){n.useNativeTimers?(t.setTimeoutFn=D.bind(L),t.clearTimeoutFn=P.bind(L)):(t.setTimeoutFn=L.setTimeout.bind(L),t.clearTimeoutFn=L.clearTimeout.bind(L))}function F(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}var V=function(t){function n(n,i,r){var e;return(e=t.call(this,n)||this).description=i,e.context=r,e.type="TransportError",e}return s(n,t),n}(a(Error)),q=function(t){function n(n){var i;return(i=t.call(this)||this).writable=!1,$(i,n),i.opts=n,i.query=n.query,i.socket=n.socket,i.supportsBinary=!n.forceBase64,i}s(n,t);var i=n.prototype;return i.onError=function(n,i,r){return t.prototype.emitReserved.call(this,"error",new V(n,i,r)),this},i.open=function(){return this.readyState="opening",this.doOpen(),this},i.close=function(){return"opening"!==this.readyState&&"open"!==this.readyState||(this.doClose(),this.onClose()),this},i.send=function(t){"open"===this.readyState&&this.write(t)},i.onOpen=function(){this.readyState="open",this.writable=!0,t.prototype.emitReserved.call(this,"open")},i.onData=function(t){var n=S(t,this.socket.binaryType);this.onPacket(n)},i.onPacket=function(n){t.prototype.emitReserved.call(this,"packet",n)},i.onClose=function(n){this.readyState="closed",t.prototype.emitReserved.call(this,"close",n)},i.pause=function(t){},i.createUri=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t+"://"+this.i()+this.o()+this.opts.path+this.u(n)},i.i=function(){var t=this.opts.hostname;return-1===t.indexOf(":")?t:"["+t+"]"},i.o=function(){return this.opts.port&&(this.opts.secure&&Number(443!==
vendor: 26,880 bytes, line 124
124this.opts.port)||!this.opts.secure&&80!==Number(this.opts.port))?":"+this.opts.port:""},i.u=function(t){var n=function(t){var n="";for(var i in t)t.hasOwnProperty(i)&&(n.length&&(n+="&"),n+=encodeURIComponent(i)+"="+encodeURIComponent(t[i]));return n}(t);return n.length?"?"+n:""},n}(I),X=function(t){function n(){var n;return(n=t.apply(this,arguments)||this).h=!1,n}s(n,t);var r=n.prototype;return r.doOpen=function(){this.v()},r.pause=function(t){var n=this;this.readyState="pausing";var i=function(){n.readyState="paused",t()};if(this.h||!this.writable){var r=0;this.h&&(r++,this.once("pollComplete",(function(){--r||i()}))),this.writable||(r++,this.once("drain",(function(){--r||i()})))}else i()},r.v=function(){this.h=!0,this.doPoll(),this.emitReserved("poll")},r.onData=function(t){var n=this;(function(t,n){for(var i=t.split(T),r=[],e=0;e<i.length;e++){var o=S(i[e],n);if(r.push(o),"error"===o.type)break}return r})(t,this.socket.binaryType).forEach((function(t){if("opening"===n.readyState&&"open"===t.type&&n.onOpen(),"close"===t.type)return n.onClose({description:"transport closed by the server"}),!1;n.onPacket(t)})),"closed"!==this.readyState&&(this.h=!1,this.emitReserved("pollComplete"),"open"===this.readyState&&this.v())},r.doClose=function(){var t=this,n=function(){t.write([{type:"close"}])};"open"===this.readyState?n():this.once("open",n)},r.write=function(t){var n=this;this.writable=!1,function(t,n){var i=t.length,r=new Array(i),e=0;t.forEach((function(t,o){g(t,!1,(function(t){r[o]=t,++e===i&&n(r.join(T))}))}))}(t,(function(t){n.doWrite(t,(function(){n.writable=!0,n.emitReserved("drain")}))}))},r.uri=function(){var t=this.opts.secure?"https":"http",n=this.query||{};return!1!==this.opts.timestampRequests&&(n[this.opts.timestampParam]=F()),this.supportsBinary||n.sid||(n.b64=1),this.createUri(t,n)},i(n,[{key:"name",get:function(){return"polling"}}])}(q),H=!1;try{H="undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(t){}var z=H;function J(){}var K=function(t){function n(n){var i;if(i=t.call(this,n)||this,"undefined"!=typeof location){var r="https:"===location.protocol,e=location.port;e||(e=r?"443":"80"),i.xd="undefined"!=typeof location&&n.hostname!==location.hostname||e!==n.port}return i}s(n,t);var i=n.prototype;return i.doWrite=function(t,n){var i=this,r=this.request({method:"POST",data:t});r.on("success",n),r.on("error",(function(t,n){i.onError("xhr post error",t,n)}))},i.doPoll=function(){var t=this,n=this.request();n.on("data",this.onData.bind(this)),n.on("error",(function(n,i){t.onError("xhr poll error",n,i)})),this.pollXhr=n},n}(X),Y=function(t){function n(n,i,r){var e;return(e=t.call(this)||this).createRequest=n,$(e,r),e.l=r,e.p=r.method||"GET",e.m=i,e.k=void 0!==r.data?r.data:null,e.A(),e}s(n,t);var i=n.prototype;return i.A=function(){var t,i=this,r=_(this.l,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");r.xdomain=!!this.l.xd;var e=this.j=this.createRequest(r);try{e.open(this.p,this.m,!0);try{if(this.l.extraHeaders)for(var o in e.setDisableHeaderCheck&&e.setDisableHeaderCheck(!0),this.l.extraHeaders)this.l.extraHeaders.hasOwnProperty(o)&&e.setRequestHeader(o,this.l.extraHeaders[o])}catch(t){}if("POST"===this.p)try{e.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(t){}try{e.setRequestHeader("Accept","*/*")}catch(t){}null===(t=this.l.cookieJar)||void 0===t||t.addCookies(e),"withCredentials"in e&&(e.withCredentials=this.l.withCredentials),this.l.requestTimeout&&(e.timeout=this.l.requestTimeout),e.onreadystatechange=function(){var t;3===e.readyState&&(null===(t=i.l.cookieJar)||void 0===t||t.parseCookies(e.getResponseHeader("set-cookie"))),4===e.readyState&&(200===e.status||1223===e.status?i.O():i.setTimeoutFn((function(){i.B("number"==typeof e.status?e.status:0)}),0))},e.send(this.k)}catch(t){return void this.setTimeoutFn((function(){i.B(t)}),0)}"undefined"!=typeof document&&(this.S=n.requestsCount++,n.requests[this.S]=this)},i.B=function(t){this.emitReserved("error",t,this.j),this.N(!0)},i.N=function(t){if(void 0!==this.j&&null!==this.j){if(this.j.onreadystatechange=J,t)try{this.j.abort()}catch(t){}"undefined"!=typeof document&&delete n.requests[this.S],this.j=null}},i.O=function(){var t=this.j.responseText;null!==t&&(this.emitReserved("data",t),this.emitReserved("success"),this.N())},i.abort=function(){this.N()},n}(I);if(Y.requestsCount=0,Y.requests={},"undefined"!=typeof document)if("function"==typeof attachEvent)attachEvent("onunload",G);else if("function"==typeof addEventListener){addEventListener("onpagehide"in L?"pagehide":"unload",G,!1)}function G(){for(var t in Y.requests)Y.requests.hasOwnProperty(t)&&Y.requests[t].abort()}var Q,W=(Q=tt({xdomain:!1}))&&null!==Q.responseType,Z=function(t){function n(n){var i;i=t.call(this,n)||this;var r=n&&n.forceBase64;return i.supportsBinary=W&&!r,i}return s(n,t),n.prototype.request=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e(t,{xd:this.xd},this.opts),new Y(tt,this.uri(),t)},n}(K);function tt(t){var n=t.xdomain;try{if("undefined"!=typeof XMLHttpRequest&&(!n||z))return new XMLHttpRequest}catch(t){}if(!n)try{return new(L[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")}catch(t){}}var nt="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase(),it=function(t){function n(){return t.apply(this,arguments)||this}s(n,t);var r=n.prototype;return r.doOpen=function(){var t=this.uri(),n=this.opts.protocols,i=nt?{}:_(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(i.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(t,n,i)}catch(t){return this.emitReserved("error",t)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()},r.addEventListeners=function(){var t=this;this.ws.onopen=function(){t.opts.autoUnref&&t.ws.C.unref(),t.onOpen()},this.ws.onclose=function(n){return t.onClose({description:"websocket connection closed",context:n})},this.ws.onmessage=function(n){return t.onData(n.data)},this.ws.onerror=function(n){return t.onError("websocket error",n)}},r.write=function(t){var n=this;this.writable=!1;for(var i=function(){var i=t[r],e=r===t.length-1;g(i,n.supportsBinary,(function(t){try{n.doWrite(i,t)}catch(t){}e&&R((function(){n.writable=!0,n.emitReserved("drain")}),n.setTimeoutFn)}))},r=0;r<t.length;r++)i()},r.doClose=function(){void 0!==this.ws&&(this.ws.onerror=function(){},this.ws.close(),this.ws=null)},r.uri=function(){var t=this.opts.secure?"wss":"ws",n=this.query||{};return this.opts.timestampRequests&&(n[this.opts.timestampParam]=F()),this.supportsBinary||(n.b64=1),this.createUri(t,n)},i(n,[{key:"name",get:function(){return"websocket"}}])}(q),rt=L.WebSocket||L.MozWebSocket,et=function(t){function n(){return t.apply(this,arguments)||this}s(n,t);var i=n.prototype;return i.createSocket=function(t,n,i){return nt?new rt(t,n,i):n?new rt(t,n):new rt(t)},i.doWrite=function(t,n){this.ws.send(n)},n}(it),ot=function(t){function n(){return t.apply(this,arguments)||this}s(n,t);var r=n.prototype;return r.doOpen=function(){var t=this;try{this.T=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name])}catch(t){return this.emitReserved("error",t)}this.T.closed.then((function(){t.onClose()})).catch((function(n){t.onError("webtransport error",n)})),this.T.ready.then((function(){t.T.createBidirectionalStream().then((function(n){var i=function(t,n){O||(O=new TextDecoder);var i=[],r=0,e=-1,o=!1;return new TransformStream({transform:function(s,u){for(i.push(s);;){if(0===r){if(M(i)<1)break;var h=x(i,1);o=!(128&~h[0]),e=127&h[0],r=e<126?3:126===e?1:2}else if(1===r){if(M(i)<2)break;var f=x(i,2);e=new DataView(f.buffer,f.byteOffset,f.length).getUint16(0),r=3}else if(2===r){if(M(i)<8)break;var c=x(i,8),a=new DataView(c.buffer,c.byteOffset,c.length),v=a.getUint32(0);if(v>Math.pow(2,21)-1){u.enqueue(d);break}e=v*Math.pow(2,32)+a.getUint32(4),r=3}else{if(M(i)<e)break;var l=x(i,e);u.enqueue(S(o?l:O.decode(l),n)),r=0}if(0===e||e>t){u.enqueue(d);break}}}})}(Number.MAX_SAFE_INTEGER,t.socket.binaryType),r=n.readable.pipeThrough(i).getReader(),e=U();e.readable.pipeTo(n.writable),t.U=e.writable.getWriter();!function n(){r.read().then((function(i){var r=i.done,e=i.value;r||(t.onPacket(e),n())})).catch((function(t){}))}();var o={type:"open"};t.query.sid&&(o.data='{"sid":"'.concat(t.query.sid,'"}')),t.U.write(o).then((function(){return t.onOpen()}))}))}))},r.write=function(t){var n=this;this.writable=!1;for(var i=function(){var i=t[r],e=r===t.length-1;n.U.write(i).then((function(){e&&R((function(){n.writable=!0,n.emitReserved("drain")}),n.setTimeoutFn)}))},r=0;r<t.length;r++)i()},r.doClose=function(){var t;null===(t=this.T)||void 0===t||t.close()},i(n,[{key:"name",get:function(){return"webtransport"}}])}(q),st={websocket:et,webtransport:ot,polling:Z},ut=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,ht=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function ft(t){if(t.length>8e3)throw"URI too long";var n=t,i=t.indexOf("["),r=t.indexOf("]");-1!=i&&-1!=r&&(t=t.substring(0,i)+t.substring(i,r).replace(/:/g,";")+t.substring(r,t.length));for(var e,o,s=ut.exec(t||""),u={},h=14;h--;)u[ht[h]]=s[h]||"";return-1!=i&&-1!=r&&(u.source=n,u.host=u.host.substring(1,u.host.length-1).replace(/;/g,":"),u.authority=u.authority.replace("[","").replace("]","").replace(/;/g,":"),u.ipv6uri=!0),u.pathNames=function(t,n){var i=/\/{2,9}/g,r=n.replace(i,"/").split("/");"/"!=n.slice(0,1)&&0!==n.length||r.splice(0,1);"/"==n.slice(-1)&&r.splice(r.length-1,1);return r}(0,u.path),u.queryKey=(e=u.query,o={},e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,(function(t,n,i){n&&(o[n]=i)})),o),u}var ct="function"==typeof addEventListener&&"function"==typeof removeEventListener,at=[];ct&&addEventListener("offline",(function(){at.forEach((function(t){return t()}))}),!1);var vt=function(t){function n(n,i){var r;if((r=t.call(this)||this).binaryType="arraybuffer",r.writeBuffer=[],r.M=0,r.I=-1,r.R=-1,r.L=-1,r._=1/0,n&&"object"===c(n)&&(i=n,n=null),n){var o=ft(n);i.hostname=o.host,i.secure="https"===o.protocol||"wss"===o.protocol,i.port=o.port,o.query&&(i.query=o.query)}else i.host&&(i.hostname=ft(i.host).host);return $(r,i),r.secure=null!=i.secure?i.secure:"undefined"!=typeof location&&"https:"===location.protocol,i.hostname&&!i.port&&(i.port=r.secure?"443":"80"),r.hostname=i.hostname||("undefined"!=typeof location?location.hostname:"localhost"),r.port=i.port||("undefined"!=typeof location&&location.port?location.port:r.secure?"443":"80"),r.transports=[],r.D={},i.transports.forEach((function(t){var n=t.prototype.name;r.transports.push(n),r.D[n]=t})),r.opts=e({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},i),r.opts.path=r.opts.path.replace(/\/$/,"")+(r.opts.addTrailingSlash?"/":""),"string"==typeof r.opts.query&&(r.opts.query=function(t){for(var n={},i=t.split("&"),r=0,e=i.length;r<e;r++){var o=i[r].split("=");n[decodeURIComponent(o[0])]=decodeURIComponent(o[1])}return n}(r.opts.query)),ct&&(r.opts.closeOnBeforeunload&&(r.P=function(){r.transport&&(r.transport.removeAllListeners(),r.transport.close())},addEventListener("beforeunload",r.P,!1)),"localhost"!==r.hostname&&(r.$=function(){r.F("transport close",{description:"network connection lost"})},at.push(r.$))),r.opts.withCredentials&&(r.V=void 0),r.q(),r}s(n,t);var i=n.prototype;return i.createTransport=function(t){var n=e({},this.opts.query);n.EIO=4,n.transport=t,this.id&&(n.sid=this.id);var i=e({},this.opts,{query:n,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[t]);return new this.D[t](i)},i.q=function(){var t=this;if(0!==this.transports.length){var i=this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket")?"websocket":this.transports[0];this.readyState="opening";var r=this.createTransport(i);r.open(),this.setTransport(r)}else this.setTimeoutFn((function(){t.emitReserved("error","No transports available")}),0)},i.setTransport=function(t){var n=this;this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this.X.bind(this)).on("packet",this.H.bind(this)).on("error",this.B.bind(this)).on("close",(function(t){return n.F("transport close",t)}))},i.onOpen=function(){this.readyState="open",n.priorWebsocketSuccess="websocket"===this.transport.name,this.emitReserved("open"),this.flush()},i.H=function(t){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState)switch(this.emitReserved("packet",t),this.emitReserved("heartbeat"),t.type){case"open":this.onHandshake(JSON.parse(t.data));break;case"ping":this.J("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this.K();break;case"error":var n=new Error("server error");n.code=t.data,this.B(n);break;case"message":this.emitReserved("data",t.data),this.emitReserved("message",t.data)}},i.onHandshake=function(t){this.emitReserved("handshake",t),this.id=t.sid,this.transport.query.sid=t.sid,this.I=t.pingInterval,this.R=t.pingTimeout,this.L=t.maxPayload,this.onOpen(),"closed"!==this.readyState&&this.K()},i.K=function(){var t=this;this.clearTimeoutFn(this.Y);var n=this.I+this.R;this._=Date.now()+n,this.Y=this.setTimeoutFn((function(){t.F("ping timeout")}),n),this.opts.autoUnref&&this.Y.unref()},i.X=function(){this.writeBuffer.splice(0,this.M),this.M=0,0===this.writeBuffer.length?this.emitReserved("drain"):this.flush()},i.flush=function(){if("closed"!==this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){var t=this.G();this.transport.send(t),this.M=t.length,this.emitReserved("flush")}},i.G=function(){if(!(this.L&&"polling"===this.transport.name&&this.writeBuffer.length>1))return this.writeBuffer;for(var t,n=1,i=0;i<this.writeBuffer.length;i++){var r=this.writeBuffer[i].data;if(r&&(n+="string"==typeof(t=r)?function(t){for(var n=0,i=0,r=0,e=t.length;r<e;r++)(n=t.charCodeAt(r))<128?i+=1:n<2048?i+=2:n<55296||n>=57344?i+=3:(r++,i+=4);return i}(t):Math.ceil(1.33*(t.byteLength||t.size))),i>0&&n>this.L)return this.writeBuffer.slice(0,i);n+=2}return this.writeBuffer},i.W=function(){var t=this;if(!this._)return!0;var n=Date.now()>this._;return n&&(this._=0,R((function(){t.F("ping timeout")}),this.setTimeoutFn)),n},i.write=function(t,n,i){return this.J("message",t,n,i),this},i.send=function(t,n,i){return this.J("message",t,n,i),this},i.J=function(t,n,i,r){if("function"==typeof n&&(r=n,n=void 0),"function"==typeof i&&(r=i,i=null),"closing"!==this.readyState&&"closed"!==this.readyState){(i=i||{}).compress=!1!==i.compress;var e={type:t,data:n,options:i};this.emitReserved("packetCreate",e),this.writeBuffer.push(e),r&&this.once("flush",r),this.flush()}},i.close=function(){var t=this,n=function(){t.F("forced close"),t.transport.close()},i=function i(){t.off("upgrade",i),t.off("upgradeError",i),n()},r=function(){t.once("upgrade",i),t.once("upgradeError",i)};return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",(function(){t.upgrading?r():n()})):this.upgrading?r():n()),this},i.B=function(t){if(n.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&"opening"===this.readyState)return this.transports.shift(),this.q();this.emitReserved("error",t),this.F("transport error",t)},i.F=function(t,n){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState){if(this.clearTimeoutFn(this.Y),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),ct&&(this.P&&removeEventListener("beforeunload",this.P,!1),this.$)){var i=at.indexOf(this.$);-1!==i&&at.splice(i,1)}this.readyState="closed",this.id=null,this.emitReserved("close",t,n),this.writeBuffer=[],this.M=0}},n}(I);vt.protocol=4;var lt=function(t){function n(){var n;return(n=t.apply(this,arguments)||this).Z=[],n}s(n,t);var i=n.prototype;return i.onOpen=function(){if(t.prototype.onOpen.call(this),"open"===this.readyState&&this.opts.upgrade)for(var n=0;n<this.Z.length;n++)this.tt(this.Z[n])},i.tt=function(t){var n=this,i=this.createTransport(t),r=!1;vt.priorWebsocketSuccess=!1;var e=function(){r||(i.send([{type:"ping",data:"probe"}]),i.once("packet",(function(t){if(!r)if("pong"===t.type&&"probe"===t.data){if(n.upgrading=!0,n.emitReserved("upgrading",i),!i)return;vt.priorWebsocketSuccess="websocket"===i.name,n.transport.pause((function(){r||"closed"!==n.readyState&&(c(),n.setTransport(i),i.send([{type:"upgrade"}]),n.emitReserved("upgrade",i),i=null,n.upgrading=!1,n.flush())}))}else{var e=new Error("probe error");e.transport=i.name,n.emitReserved("upgradeError",e)}})))};function o(){r||(r=!0,c(),i.close(),i=null)}var s=function(t){var r=new Error("probe error: "+t);r.transport=i.name,o(),n.emitReserved("upgradeError",r)};function u(){s("transport closed")}function h(){s("socket closed")}function f(t){i&&t.name!==i.name&&o()}var c=function(){i.removeListener("open",e),i.removeListener("error",s),i.removeListener("close",u),n.off("close",h),n.off("upgrading",f)};i.once("open",e),i.once("error",s),i.once("close",u),this.once("close",h),this.once("upgrading",f),-1!==this.Z.indexOf("webtransport")&&"webtransport"!==t?this.setTimeoutFn((function(){r||i.open()}),200):i.open()},i.onHandshake=function(n){this.Z=this.nt(n.upgrades),t.prototype.onHandshake.call(this,n)},i.nt=function(t){for(var n=[],i=0;i<t.length;i++)~this.transports.indexOf(t[i])&&n.push(t[i]);return n},n}(vt),pt=function(t){function n(n){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r="object"===c(n)?n:i;return(!r.transports||r.transports&&"string"==typeof r.transports[0])&&(r.transports=(r.transports||["polling","websocket","webtransport"]).map((function(t){return st[t]})).filter((function(t){return!!t}))),t.call(this,n,r)||this}return s(n,t),n}(lt);pt.protocol;var dt="function"==typeof ArrayBuffer,yt=function(t){return"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):t.buffer instanceof ArrayBuffer},bt=Object.prototype.toString,wt="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===bt.call(Blob),gt="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===bt.call(File);function mt(t){return dt&&(t instanceof ArrayBuffer||yt(t))||wt&&t instanceof Blob||gt&&t instanceof File}function kt(t,n){if(!t||"object"!==c(t))return!1;if(Array.isArray(t)){for(var i=0,r=t.length;i<r;i++)if(kt(t[i]))return!0;return!1}if(mt(t))return!0;if(t.toJSON&&"function"==typeof t.toJSON&&1===arguments.length)return kt(t.toJSON(),!0);for(var e in t)if(Object.prototype.hasOwnProperty.call(t,e)&&kt(t[e]))return!0;return!1}function At(t){var n=[],i=t.data,r=t;return r.data=jt(i,n),r.attachments=n.length,{packet:r,buffers:n}}function jt(t,n){if(!t)return t;if(mt(t)){var i={_placeholder:!0,num:n.length};return n.push(t),i}if(Array.isArray(t)){for(var r=new Array(t.length),e=0;e<t.length;e++)r[e]=jt(t[e],n);return r}if("object"===c(t)&&!(t instanceof Date)){var o={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(o[s]=jt(t[s],n));return o}return t}function Et(t,n){return t.data=Ot(t.data,n),delete t.attachments,t}function Ot(t,n){if(!t)return t;if(t&&!0===t._placeholder){if("number"==typeof t.num&&t.num>=0&&t.num<n.length)return n[t.num];throw new Error("illegal attachments")}if(Array.isArray(t))for(var i=0;i<t.length;i++)t[i]=Ot(t[i],n);else if("object"===c(t))for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(t[r]=Ot(t[r],n));return t}var Bt,St=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];!function(t){t[t.CONNECT=0]="CONNECT",t[t.DISCONNECT=1]="DISCONNECT",t[t.EVENT=2]="EVENT",t[t.ACK=3]="ACK",t[t.CONNECT_ERROR=4]="CONNECT_ERROR",t[t.BINARY_EVENT=5]="BINARY_EVENT",t[t.BINARY_ACK=6]="BINARY_ACK"}(Bt||(Bt={}));var Nt=function(){function t(t){this.replacer=t}var n=t.prototype;return n.encode=function(t){return t.type!==Bt.EVENT&&t.type!==Bt.ACK||!kt(t)?[this.encodeAsString(t)]:this.encodeAsBinary({type:t.type===Bt.EVENT?Bt.BINARY_EVENT:Bt.BINARY_ACK,nsp:t.nsp,data:t.data,id:t.id})},n.encodeAsString=function(t){var n=""+t.type;return t.type!==Bt.BINARY_EVENT&&t.type!==Bt.BINARY_ACK||(n+=t.attachments+"-"),t.nsp&&"/"!==t.nsp&&(n+=t.nsp+","),null!=t.id&&(n+=t.id),null!=t.data&&(n+=JSON.stringify(t.data,this.replacer)),n},n.encodeAsBinary=function(t){var n=At(t),i=this.encodeAsString(n.packet),r=n.buffers;return r.unshift(i),r},t}(),Ct=function(t){function n(n){var i;return(i=t.call(this)||this).reviver=n,i}s(n,t);var i=n.prototype;return i.add=function(n){var i;if("string"==typeof n){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");var r=(i=this.decodeString(n)).type===Bt.BINARY_EVENT;r||i.type===Bt.BINARY_ACK?(i.type=r?Bt.EVENT:Bt.ACK,this.reconstructor=new Tt(i),0===i.attachments&&t.prototype.emitReserved.call(this,"decoded",i)):t.prototype.emitReserved.call(this,"decoded",i)}else{if(!mt(n)&&!n.base64)throw new Error("Unknown type: "+n);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");(i=this.reconstructor.takeBinaryData(n))&&(this.reconstructor=null,t.prototype.emitReserved.call(this,"decoded",i))}},i.decodeString=function(t){var i=0,r={type:Number(t.charAt(0))};if(void 0===Bt[r.type])throw new Error("unknown packet type "+r.type);if(r.type===Bt.BINARY_EVENT||r.type===Bt.BINARY_ACK){for(var e=i+1;"-"!==t.charAt(++i)&&i!=t.length;);var o=t.substring(e,i);if(o!=Number(o)||"-"!==t.charAt(i))throw new Error("Illegal attachments");r.attachments=Number(o)}if("/"===t.charAt(i+1)){for(var s=i+1;++i;){if(","===t.charAt(i))break;if(i===t.length)break}r.nsp=t.substring(s,i)}else r.nsp="/";var u=t.charAt(i+1);if(""!==u&&Number(u)==u){for(var h=i+1;++i;){var f=t.charAt(i);if(null==f||Number(f)!=f){--i;break}if(i===t.length)break}r.id=Number(t.substring(h,i+1))}if(t.charAt(++i)){var c=this.tryParse(t.substr(i));if(!n.isPayloadValid(r.type,c))throw new Error("invalid payload");r.data=c}return r},i.tryParse=function(t){try{return JSON.parse(t,this.reviver)}catch(t){return!1}},n.isPayloadValid=function(t,n){switch(t){case Bt.CONNECT:return Mt(n);case Bt.DISCONNECT:return void 0===n;case Bt.CONNECT_ERROR:return"string"==typeof n||Mt(n);case Bt.EVENT:case Bt.BINARY_EVENT:return Array.isArray(n)&&("number"==typeof n[0]||"string"==typeof n[0]&&-1===St.indexOf(n[0]));case Bt.ACK:case Bt.BINARY_ACK:return Array.isArray(n)}},i.destroy=function(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)},n}(I),Tt=function(){function t(t){this.packet=t,this.buffers=[],this.reconPack=t}var n=t.prototype;return n.takeBinaryData=function(t){if(this.buffers.push(t),this.buffers.length===this.reconPack.attachments){var n=Et(this.reconPack,this.buffers);return this.finishedReconstruction(),n}return null},n.finishedReconstruction=function(){this.reconPack=null,this.buffers=[]},t}();var Ut=Number.isInteger||function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t};function Mt(t){return"[object Object]"===Object.prototype.toString.call(t)}var xt=Object.freeze({__proto__:null,protocol:5,get PacketType(){return Bt},Encoder:Nt,Decoder:Ct,isPacketValid:function(t){return"string"==typeof t.nsp&&(void 0===(n=t.id)||Ut(n))&&function(t,n){switch(t){case Bt.CONNECT:return void 0===n||Mt(n);case Bt.DISCONNECT:return void 0===n;case Bt.EVENT:return Array.isArray(n)&&("number"==typeof n[0]||"string"==typeof n[0]&&-1===St.indexOf(n[0]));case Bt.ACK:return Array.isArray(n);case Bt.CONNECT_ERROR:return"string"==typeof n||Mt(n);default:return!1}}(t.type,t.data);var n}});function It(t,n,i){return t.on(n,i),function(){t.off(n,i)}}var Rt=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1}),Lt=function(t){function n(n,i,r){var o;return(o=t.call(this)||this).connected=!1,o.recovered=!1,o.receiveBuffer=[],o.sendBuffer=[],o.it=[],o.rt=0,o.ids=0,o.acks={},o.flags={},o.io=n,o.nsp=i,r&&r.auth&&(o.auth=r.auth),o.l=e({},r),o.io.et&&o.open(),o}s(n,t);var o=n.prototype;return o.subEvents=function(){if(!this.subs){var t=this.io;this.subs=[It(t,"open",this.onopen.bind(this)),It(t,"packet",this.onpacket.bind(this)),It(t,"error",this.onerror.bind(this)),It(t,"close",this.onclose.bind(this))]}},o.connect=function(){return this.connected||(this.subEvents(),this.io.ot||this.io.open(),"open"===this.io.st&&this.onopen()),this},o.open=function(){return this.connect()},o.send=function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return n.unshift("message"),this.emit.apply(this,n),this},o.emit=function(t){var n,i,r;if(Rt.hasOwnProperty(t))throw new Error('"'+t.toString()+'" is a reserved event name');for(var e=arguments.length,o=new Array(e>1?e-1:0),s=1;s<e;s++)o[s-1]=arguments[s];if(o.unshift(t),this.l.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this.ut(o),this;var u={type:Bt.EVENT,data:o,options:{}};if(u.options.compress=!1!==this.flags.compress,"function"==typeof o[o.length-1]){var h=this.ids++,f=o.pop();this.ht(h,f),u.id=h}var c=null===(i=null===(n=this.io.engine)||void 0===n?void 0:n.transport)||void 0===i?void 0:i.writable,a=this.connected&&!(null===(r=this.io.engine)||void 0===r?void 0:r.W());return this.flags.volatile&&!c||(a?(this.notifyOutgoingListeners(u),this.packet(u)):this.sendBuffer.push(u)),this.flags={},this},o.ht=function(t,n){var i,r=this,e=null!==(i=this.flags.timeout)&&void 0!==i?i:this.l.ackTimeout;if(void 0!==e){var o=this.io.setTimeoutFn((function(){delete r.acks[t];for(var i=0;i<r.sendBuffer.length;i++)r.sendBuffer[i].id===t&&r.sendBuffer.splice(i,1);n.call(r,new Error("operation has timed out"))}),e),s=function(){r.io.clearTimeoutFn(o);for(var t=arguments.length,i=new Array(t),e=0;e<t;e++)i[e]=arguments[e];n.apply(r,i)};s.withError=!0,this.acks[t]=s}else this.acks[t]=n},o.emitWithAck=function(t){for(var n=this,i=arguments.length,r=new Array(i>1?i-1:0),e=1;e<i;e++)r[e-1]=arguments[e];return new Promise((function(i,e){var o=function(t,n){return t?e(t):i(n)};o.withError=!0,r.push(o),n.emit.apply(n,[t].concat(r))}))},o.ut=function(t){var n,i=this;"function"==typeof t[t.length-1]&&(n=t.pop());var r={id:this.rt++,tryCount:0,pending:!1,args:t,flags:e({fromQueue:!0},this.flags)};t.push((function(t){if(
vendor: 8,165 bytes, line 124
124r===i.it[0]){if(null!==t)r.tryCount>i.l.retries&&(i.it.shift(),n&&n(t));else if(i.it.shift(),n){for(var e=arguments.length,o=new Array(e>1?e-1:0),s=1;s<e;s++)o[s-1]=arguments[s];n.apply(void 0,[null].concat(o))}return r.pending=!1,i.ft()}})),this.it.push(r),this.ft()},o.ft=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.connected&&0!==this.it.length){var n=this.it[0];n.pending&&!t||(n.pending=!0,n.tryCount++,this.flags=n.flags,this.emit.apply(this,n.args))}},o.packet=function(t){t.nsp=this.nsp,this.io.ct(t)},o.onopen=function(){var t=this;"function"==typeof this.auth?this.auth((function(n){t.vt(n)})):this.vt(this.auth)},o.vt=function(t){this.packet({type:Bt.CONNECT,data:this.lt?e({pid:this.lt,offset:this.dt},t):t})},o.onerror=function(t){this.connected||this.emitReserved("connect_error",t)},o.onclose=function(t,n){this.connected=!1,delete this.id,this.emitReserved("disconnect",t,n),this.yt()},o.yt=function(){var t=this;Object.keys(this.acks).forEach((function(n){if(!t.sendBuffer.some((function(t){return String(t.id)===n}))){var i=t.acks[n];delete t.acks[n],i.withError&&i.call(t,new Error("socket has been disconnected"))}}))},o.onpacket=function(t){if(t.nsp===this.nsp)switch(t.type){case Bt.CONNECT:t.data&&t.data.sid?this.onconnect(t.data.sid,t.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case Bt.EVENT:case Bt.BINARY_EVENT:this.onevent(t);break;case Bt.ACK:case Bt.BINARY_ACK:this.onack(t);break;case Bt.DISCONNECT:this.ondisconnect();break;case Bt.CONNECT_ERROR:this.destroy();var n=new Error(t.data.message);n.data=t.data.data,this.emitReserved("connect_error",n)}},o.onevent=function(t){var n=t.data||[];null!=t.id&&n.push(this.ack(t.id)),this.connected?this.emitEvent(n):this.receiveBuffer.push(Object.freeze(n))},o.emitEvent=function(n){if(this.bt&&this.bt.length){var i,e=r(this.bt.slice());try{for(e.s();!(i=e.n()).done;){i.value.apply(this,n)}}catch(t){e.e(t)}finally{e.f()}}t.prototype.emit.apply(this,n),this.lt&&n.length&&"string"==typeof n[n.length-1]&&(this.dt=n[n.length-1])},o.ack=function(t){var n=this,i=!1;return function(){if(!i){i=!0;for(var r=arguments.length,e=new Array(r),o=0;o<r;o++)e[o]=arguments[o];n.packet({type:Bt.ACK,id:t,data:e})}}},o.onack=function(t){var n=this.acks[t.id];"function"==typeof n&&(delete this.acks[t.id],n.withError&&t.data.unshift(null),n.apply(this,t.data))},o.onconnect=function(t,n){this.id=t,this.recovered=n&&this.lt===n,this.lt=n,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this.ft(!0)},o.emitBuffered=function(){var t=this;this.receiveBuffer.forEach((function(n){return t.emitEvent(n)})),this.receiveBuffer=[],this.sendBuffer.forEach((function(n){t.notifyOutgoingListeners(n),t.packet(n)})),this.sendBuffer=[]},o.ondisconnect=function(){this.destroy(),this.onclose("io server disconnect")},o.destroy=function(){this.subs&&(this.subs.forEach((function(t){return t()})),this.subs=void 0),this.io.wt(this)},o.disconnect=function(){return this.connected&&this.packet({type:Bt.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this},o.close=function(){return this.disconnect()},o.compress=function(t){return this.flags.compress=t,this},o.timeout=function(t){return this.flags.timeout=t,this},o.onAny=function(t){return this.bt=this.bt||[],this.bt.push(t),this},o.prependAny=function(t){return this.bt=this.bt||[],this.bt.unshift(t),this},o.offAny=function(t){if(!this.bt)return this;if(t){for(var n=this.bt,i=0;i<n.length;i++)if(t===n[i])return n.splice(i,1),this}else this.bt=[];return this},o.listenersAny=function(){return this.bt||[]},o.onAnyOutgoing=function(t){return this.gt=this.gt||[],this.gt.push(t),this},o.prependAnyOutgoing=function(t){return this.gt=this.gt||[],this.gt.unshift(t),this},o.offAnyOutgoing=function(t){if(!this.gt)return this;if(t){for(var n=this.gt,i=0;i<n.length;i++)if(t===n[i])return n.splice(i,1),this}else this.gt=[];return this},o.listenersAnyOutgoing=function(){return this.gt||[]},o.notifyOutgoingListeners=function(t){if(this.gt&&this.gt.length){var n,i=r(this.gt.slice());try{for(i.s();!(n=i.n()).done;){n.value.apply(this,t.data)}}catch(t){i.e(t)}finally{i.f()}}},i(n,[{key:"disconnected",get:function(){return!this.connected}},{key:"active",get:function(){return!!this.subs}},{key:"volatile",get:function(){return this.flags.volatile=!0,this}}])}(I);function _t(t){t=t||{},this.ms=t.min||100,this.max=t.max||1e4,this.factor=t.factor||2,this.jitter=t.jitter>0&&t.jitter<=1?t.jitter:0,this.attempts=0}_t.prototype.duration=function(){var t=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var n=Math.random(),i=Math.floor(n*this.jitter*t);t=1&Math.floor(10*n)?t+i:t-i}return 0|Math.min(t,this.max)},_t.prototype.reset=function(){this.attempts=0},_t.prototype.setMin=function(t){this.ms=t},_t.prototype.setMax=function(t){this.max=t},_t.prototype.setJitter=function(t){this.jitter=t};var Dt=function(t){function n(n,i){var r,e;(r=t.call(this)||this).nsps={},r.subs=[],n&&"object"===c(n)&&(i=n,n=void 0),(i=i||{}).path=i.path||"/socket.io",r.opts=i,$(r,i),r.reconnection(!1!==i.reconnection),r.reconnectionAttempts(i.reconnectionAttempts||1/0),r.reconnectionDelay(i.reconnectionDelay||1e3),r.reconnectionDelayMax(i.reconnectionDelayMax||5e3),r.randomizationFactor(null!==(e=i.randomizationFactor)&&void 0!==e?e:.5),r.backoff=new _t({min:r.reconnectionDelay(),max:r.reconnectionDelayMax(),jitter:r.randomizationFactor()}),r.timeout(null==i.timeout?2e4:i.timeout),r.st="closed",r.uri=n;var o=i.parser||xt;return r.encoder=new o.Encoder,r.decoder=new o.Decoder,r.et=!1!==i.autoConnect,r.et&&r.open(),r}s(n,t);var i=n.prototype;return i.reconnection=function(t){return arguments.length?(this.kt=!!t,t||(this.skipReconnect=!0),this):this.kt},i.reconnectionAttempts=function(t){return void 0===t?this.At:(this.At=t,this)},i.reconnectionDelay=function(t){var n;return void 0===t?this.jt:(this.jt=t,null===(n=this.backoff)||void 0===n||n.setMin(t),this)},i.randomizationFactor=function(t){var n;return void 0===t?this.Et:(this.Et=t,null===(n=this.backoff)||void 0===n||n.setJitter(t),this)},i.reconnectionDelayMax=function(t){var n;return void 0===t?this.Ot:(this.Ot=t,null===(n=this.backoff)||void 0===n||n.setMax(t),this)},i.timeout=function(t){return arguments.length?(this.Bt=t,this):this.Bt},i.maybeReconnectOnOpen=function(){!this.ot&&this.kt&&0===this.backoff.attempts&&this.reconnect()},i.open=function(t){var n=this;if(~this.st.indexOf("open"))return this;this.engine=new pt(this.uri,this.opts);var i=this.engine,r=this;this.st="opening",this.skipReconnect=!1;var e=It(i,"open",(function(){r.onopen(),t&&t()})),o=function(i){n.cleanup(),n.st="closed",n.emitReserved("error",i),t?t(i):n.maybeReconnectOnOpen()},s=It(i,"error",o);if(!1!==this.Bt){var u=this.Bt,h=this.setTimeoutFn((function(){e(),o(new Error("timeout")),i.close()}),u);this.opts.autoUnref&&h.unref(),this.subs.push((function(){n.clearTimeoutFn(h)}))}return this.subs.push(e),this.subs.push(s),this},i.connect=function(t){return this.open(t)},i.onopen=function(){this.cleanup(),this.st="open",this.emitReserved("open");var t=this.engine;this.subs.push(It(t,"ping",this.onping.bind(this)),It(t,"data",this.ondata.bind(this)),It(t,"error",this.onerror.bind(this)),It(t,"close",this.onclose.bind(this)),It(this.decoder,"decoded",this.ondecoded.bind(this)))},i.onping=function(){this.emitReserved("ping")},i.ondata=function(t){try{this.decoder.add(t)}catch(t){this.onclose("parse error",t)}},i.ondecoded=function(t){var n=this;R((function(){n.emitReserved("packet",t)}),this.setTimeoutFn)},i.onerror=function(t){this.emitReserved("error",t)},i.socket=function(t,n){var i=this.nsps[t];return i?this.et&&!i.active&&i.connect():(i=new Lt(this,t,n),this.nsps[t]=i),i},i.wt=function(t){for(var n=0,i=Object.keys(this.nsps);n<i.length;n++){var r=i[n];if(this.nsps[r].active)return}this.St()},i.ct=function(t){for(var n=this.encoder.encode(t),i=0;i<n.length;i++)this.engine.write(n[i],t.options)}
124,i.cleanup=function(){this.subs.forEach((function(t){return t()})),this.subs.length=0,this.decoder.destroy()},i.St=function(){this.skipReconnect=!0,this.ot=!1,this.onclose("forced close")},i.disconnect=function(){return this.St()},i.onclose=function(t,n){var i;this.cleanup(),null===(i=this.engine)||void 0===i||i.close(),this.backoff.reset(),this.st="closed",this.emitReserved("close",t,n),this.kt&&!this.skipReconnect&&this.reconnect()},i.reconnect=function(){var t=this;if(this.ot||this.skipReconnect)return this;var n=this;if(this.backoff.attempts>=this.At)this.backoff.reset(),this.emitReserved("reconnect_failed"),this.ot=!1;else{var i=this.backoff.duration();this.ot=!0;var r=this.setTimeoutFn((function(){n.skipReconnect||(t.emitReserved("reconnect_attempt",n.backoff.attempts),n.skipReconnect||n.open((function(i){i?(n.ot=!1,n.reconnect(),t.emitReserved("reconnect_error",i)):n.onreconnect()})))}),i);this.opts.autoUnref&&r.unref(),this.subs.push((function(){t.clearTimeoutFn(r)}))}},i.onreconnect=function(){var t=this.backoff.attempts;this.ot=!1,this.backoff.reset(),this.emitReserved("reconnect",t)},n}(I),Pt={};function $t(t,n){"object"===c(t)&&(n=t,t=void 0);var i,r=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i=arguments.length>2?arguments[2]:void 0,r=t;i=i||"undefined"!=typeof location&&location,null==t&&(t=i.protocol+"//"+i.host),"string"==typeof t&&("/"===t.charAt(0)&&(t="/"===t.charAt(1)?i.protocol+t:i.host+t),/^(https?|wss?):\/\//.test(t)||(t=void 0!==i?i.protocol+"//"+t:"https://"+t),r=ft(t)),r.port||(/^(http|ws)$/.test(r.protocol)?r.port="80":/^(http|ws)s$/.test(r.protocol)&&(r.port="443")),r.path=r.path||"/";var e=-1!==r.host.indexOf(":")?"["+r.host+"]":r.host;return r.id=r.protocol+"://"+e+":"+r.port+n,r.href=r.protocol+"://"+e+(i&&i.port===r.port?"":":"+r.port),r}(t,(n=n||{}).path||"/socket.io"),e=r.source,o=r.id,s=r.path,u=Pt[o]&&s in Pt[o].nsps;return n.forceNew||n["force new connection"]||!1===n.multiplex||u?i=new Dt(e,n):(Pt[o]||(Pt[o]=new Dt(e,n)),i=Pt[o]),r.query&&!n.query&&(n.query=r.queryKey),i.socket(r.path,n)}return e($t,{Manager:Dt,Socket:Lt,io:$t,connect:$t}),$t})); 125//# sourceMappingURL=socket.io.min.js.map 126 127�/** 128 * Version: 1.0 Alpha-1 129 * Build Date: 13-Nov-2007 130 * Copyright (c) 2006-2007, Coolite Inc. (http://www.coolite.com/). All rights reserved. 131 * License: Licensed under The MIT License. See license.txt and http://www.datejs.com/license/. 132 * Website: http://www.datejs.com/ or http://www.coolite.com/datejs/ 133 */ 134Date.CultureInfo={name:"en-US",englishName:"English (United States)",nativeName:"English (United States)",dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],abbreviatedDayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],shortestDayNames:["Su","Mo","Tu","We","Th","Fr","Sa"],firstLetterDayNames:["S","M","T","W","T","F","S"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],abbreviatedMonthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],amDesignator:"AM",pmDesignator:"PM",firstDayOfWeek:0,twoDigitYearMax:2029,dateElementOrder:"mdy",formatPatterns:{shortDate:"M/d/yyyy",longDate:"dddd, MMMM dd, yyyy",shortTime:"h:mm tt",longTime:"h:mm:ss tt",fullDateTime:"dddd, MMMM dd, yyyy h:mm:ss tt",sortableDateTime:"yyyy-MM-ddTHH:mm:ss",universalSortableDateTime:"yyyy-MM-dd HH:mm:ssZ",rfc1123:"ddd, dd MMM yyyy HH:mm:ss GMT",monthDay:"MMMM dd",yearMonth:"MMMM, yyyy"},regexPatterns:{jan:/^jan(uary)?/i,feb:/^feb(ruary)?/i,mar:/^mar(ch)?/i,apr:/^apr(il)?/i,may:/^may/i,jun:/^jun(e)?/i,jul:/^jul(y)?/i,aug:/^aug(ust)?/i,sep:/^sep(t(ember)?)?/i,oct:/^oct(ober)?/i,nov:/^nov(ember)?/i,dec:/^dec(ember)?/i,sun:/^su(n(day)?)?/i,mon:/^mo(n(day)?)?/i,tue:/^tu(e(s(day)?)?)?/i,wed:/^we(d(nesday)?)?/i,thu:/^th(u(r(s(day)?)?)?)?/i,fri:/^fr(i(day)?)?/i,sat:/^sa(t(urday)?)?/i,future:/^next/i,past:/^last|past|prev(ious)?/i,add:/^(\+|after|from)/i,subtract:/^(\-|before|ago)/i,yesterday:/^yesterday/i,today:/^t(oday)?/i,tomorrow:/^tomorrow/i,now:/^n(ow)?/i,millisecond:/^ms|milli(second)?s?/i,second:/^sec(ond)?s?/i,minute:/^min(ute)?s?/i,hour:/^h(ou)?rs?/i,week:/^w(ee)?k/i,month:/^m(o(nth)?s?)?/i,day:/^d(ays?)?/i,year:/^y((ea)?rs?)?/i,shortMeridian:/^(a|p)/i,longMeridian:/^(a\.?m?\.?|p\.?m?\.?)/i,timezone:/^((e(s|d)t|c(s|d)t|m(s|d)t|p(s|d)t)|((gmt)?\s*(\+|\-)\s*\d\d\d\d?)|gmt)/i,ordinalSuffix:/^\s*(st|nd|rd|th)/i,timeContext:/^\s*(\:|a|p)/i},abbreviatedTimeZoneStandard:{GMT:"-000",EST:"-0400",CST:"-0500",MST:"-0600",PST:"-0700"},abbreviatedTimeZoneDST:{GMT:"-000",EDT:"-0500",CDT:"-0600",MDT:"-0700",PDT:"-0800"}}; 135Date.getMonthNumberFromName=function(name){var n=Date.CultureInfo.monthNames,m=Date.CultureInfo.abbreviatedMonthNames,s=name.toLowerCase();for(var i=0;i<n.length;i++){if(n[i].toLowerCase()==s||m[i].toLowerCase()==s){return i;}} 136return-1;};Date.getDayNumberFromName=function(name){var n=Date.CultureInfo.dayNames,m=Date.CultureInfo.abbreviatedDayNames,o=Date.CultureInfo.shortestDayNames,s=name.toLowerCase();for(var i=0;i<n.length;i++){if(n[i].toLowerCase()==s||m[i].toLowerCase()==s){return i;}} 137return-1;};Date.isLeapYear=function(year){return(((year%4===0)&&(year%100!==0))||(year%400===0));};Date.getDaysInMonth=function(year,month){return[31,(Date.isLeapYear(year)?29:28),31,30,31,30,31,31,30,31,30,31][month];};Date.getTimezoneOffset=function(s,dst){return(dst||false)?Date.CultureInfo.abbreviatedTimeZoneDST[s.toUpperCase()]:Date.CultureInfo.abbreviatedTimeZoneStandard[s.toUpperCase()];};Date.getTimezoneAbbreviation=function(offset,dst){var n=(dst||false)?Date.CultureInfo.abbreviatedTimeZoneDST:Date.CultureInfo.abbreviatedTimeZoneStandard,p;for(p in n){if(n[p]===offset){return p;}} 138return null;};Date.prototype.clone=function(){return new Date(this.getTime());};Date.prototype.compareTo=function(date){if(isNaN(this)){throw new Error(this);} 139if(date instanceof Date&&!isNaN(date)){return(this>date)?1:(this<date)?-1:0;}else{throw new TypeError(date);}};Date.prototype.equals=function(date){return(this.compareTo(date)===0);};Date.prototype.between=function(start,end){var t=this.getTime();return t>=start.getTime()&&t<=end.getTime();};Date.prototype.addMilliseconds=function(value){this.setMilliseconds(this.getMilliseconds()+value);return this;};Date.prototype.addSeconds=function(value){return this.addMilliseconds(value*1000);};Date.prototype.addMinutes=function(value){return this.addMilliseconds(value*60000);};Date.prototype.addHours=function(value){return this.addMilliseconds(value*3600000);};Date.prototype.addDays=function(value){return this.addMilliseconds(value*86400000);};Date.prototype.addWeeks=function(value){return this.addMilliseconds(value*604800000);};Date.prototype.addMonths=function(value){var n=this.getDate();this.setDate(1);this.setMonth(this.getMonth()+value);this.setDate(Math.min(n,this.getDaysInMonth()));return this;};Date.prototype.addYears=function(value){return this.addMonths(value*12);};Date.prototype.add=function(config){if(typeof config=="number"){this._orient=config;return this;} 140var x=config;if(x.millisecond||x.milliseconds){this.addMilliseconds(x.millisecond||x.milliseconds);} 141if(x.second||x.seconds){this.addSeconds(x.second||x.seconds);} 142if(x.minute||x.minutes){this.addMinutes(x.minute||x.minutes);} 143if(x.hour||x.hours){this.addHours(x.hour||x.hours);} 144if(x.month||x.months){this.addMonths(x.month||x.months);} 145if(x.year||x.years){this.addYears(x.year||x.years);} 146if(x.day||x.days){this.addDays(x.day||x.days);} 147return this;};Date._validate=function(value,min,max,name){if(typeof value!="number"){throw new TypeError(value+" is not a Number.");}else if(value<min||value>max){throw new RangeError(value+" is not a valid value for "+name+".");} 148return true;};Date.validateMillisecond=function(n){return Date._validate(n,0,999,"milliseconds");};Date.validateSecond=function(n){return Date._validate(n,0,59,"seconds");};Date.validateMinute=function(n){return Date._validate(n,0,59,"minutes");};Date.validateHour=function(n){return Date._validate(n,0,23,"hours");};Date.validateDay=function(n,year,month){return Date._validate(n,1,Date.getDaysInMonth(year,month),"days");};Date.validateMonth=function(n){return Date._validate(n,0,11,"months");};Date.validateYear=function(n){return Date._validate(n,1,9999,"seconds");};Date.prototype.set=function(config){var x=config;if(!x.millisecond&&x.millisecond!==0){x.millisecond=-1;} 149if(!x.second&&x.second!==0){x.second=-1;} 150if(!x.minute&&x.minute!==0){x.minute=-1;} 151if(!x.hour&&x.hour!==0){x.hour=-1;} 152if(!x.day&&x.day!==0){x.day=-1;} 153if(!x.month&&x.month!==0){x.month=-1;} 154if(!x.year&&x.year!==0){x.year=-1;} 155if(x.millisecond!=-1&&Date.validateMillisecond(x.millisecond)){this.addMilliseconds(x.millisecond-this.getMilliseconds());} 156if(x.second!=-1&&Date.validateSecond(x.second)){this.addSeconds(x.second-this.getSeconds());} 157if(x.minute!=-1&&Date.validateMinute(x.minute)){this.addMinutes(x.minute-this.getMinutes());} 158if(x.hour!=-1&&Date.validateHour(x.hour)){this.addHours(x.hour-this.getHours());} 159if(x.month!==-1&&Date.validateMonth(x.month)){this.addMonths(x.month-this.getMonth());} 160if(x.year!=-1&&Date.validateYear(x.year)){this.addYears(x.year-this.getFullYear());} 161if(x.day!=-1&&Date.validateDay(x.day,this.getFullYear(),this.getMonth())){this.addDays(x.day-this.getDate());} 162if(x.timezone){this.setTimezone(x.timezone);} 163if(x.timezoneOffset){this.setTimezoneOffset(x.timezoneOffset);} 164return this;};Date.prototype.clearTime=function(){this.setHours(0);this.setMinutes(0);this.setSeconds(0);this.setMilliseconds(0);return this;};Date.prototype.isLeapYear=function(){var y=this.getFullYear();return(((y%4===0)&&(y%100!==0))||(y%400===0));};Date.prototype.isWeekday=function(){return!(this.is().sat()||this.is().sun());};Date.prototype.getDaysInMonth=function(){return Date.getDaysInMonth(this.getFullYear(),this.getMonth());};Date.prototype.moveToFirstDayOfMonth=function(){return this.set({day:1});};Date.prototype.moveToLastDayOfMonth=function(){return this.set({day:this.getDaysInMonth()});};Date.prototype.moveToDayOfWeek=function(day,orient){var diff=(day-this.getDay()+7*(orient||+1))%7;return this.addDays((diff===0)?diff+=7*(orient||+1):diff);};Date.prototype.moveToMonth=function(month,orient){var diff=(month-this.getMonth()+12*(orient||+1))%12;return this.addMonths((diff===0)?diff+=12*(orient||+1):diff);};Date.prototype.getDayOfYear=function(){return Math.floor((this-new Date(this.getFullYear(),0,1))/86400000);};Date.prototype.getWeekOfYear=function(firstDayOfWeek){var y=this.getFullYear(),m=this.getMonth(),d=this.getDate();var dow=firstDayOfWeek||Date.CultureInfo.firstDayOfWeek;var offset=7+1-new Date(y,0,1).getDay();if(offset==8){offset=1;} 165var daynum=((Date.UTC(y,m,d,0,0,0)-Date.UTC(y,0,1,0,0,0))/86400000)+1;var w=Math.floor((daynum-offset+7)/7);if(w===dow){y--;var prevOffset=7+1-new Date(y,0,1).getDay();if(prevOffset==2||prevOffset==8){w=53;}else{w=52;}} 166return w;};Date.prototype.isDST=function(){console.log('isDST');return this.toString().match(/(E|C|M|P)(S|D)T/)[2]=="D";};Date.prototype.getTimezone=function(){return Date.getTimezoneAbbreviation(this.getUTCOffset,this.isDST());};Date.prototype.setTimezoneOffset=function(s){var here=this.getTimezoneOffset(),there=Number(s)*-6/10;this.addMinutes(there-here);return this;};Date.prototype.setTimezone=function(s){return this.setTimezoneOffset(Date.getTimezoneOffset(s));};Date.prototype.getUTCOffset=function(){var n=this.getTimezoneOffset()*-10/6,r;if(n<0){r=(n-10000).toString();return r[0]+r.substr(2);}else{r=(n+10000).toString();return"+"+r.substr(1);}};Date.prototype.getDayName=function(abbrev){return abbrev?Date.CultureInfo.abbreviatedDayNames[this.getDay()]:Date.CultureInfo.dayNames[this.getDay()];};Date.prototype.getMonthName=function(abbrev){return abbrev?Date.CultureInfo.abbreviatedMonthNames[this.getMonth()]:Date.CultureInfo.monthNames[this.getMonth()];};if(Date.prototype._toString==undefined) {Date.prototype._toString=Date.prototype.toString;};if(Date.prototype.toString==undefined){Date.prototype.toString=function(format){var self=this;var p=function p(s){return(s.toString().length==1)?"0"+s:s;};return format?format.replace(/dd?d?d?|MM?M?M?|yy?y?y?|hh?|HH?|mm?|ss?|tt?|zz?z?/g,function(format){switch(format){case"hh":return p(self.getHours()<13?self.getHours():(self.getHours()-12));case"h":return self.getHours()<13?self.getHours():(self.getHours()-12);case"HH":return p(self.getHours());case"H":return self.getHours();case"mm":return p(self.getMinutes());case"m":return self.getMinutes();case"ss":return p(self.getSeconds());case"s":return self.getSeconds();case"yyyy":return self.getFullYear();case"yy":return self.getFullYear().toString().substring(2,4);case"dddd":return self.getDayName();case"ddd":return self.getDayName(true);case"dd":return p(self.getDate());case"d":return self.getDate().toString();case"MMMM":return self.getMonthName();case"MMM":return self.getMonthName(true);case"MM":return p((self.getMonth()+1));case"M":return self.getMonth()+1;case"t":return self.getHours()<12?Date.CultureInfo.amDesignator.substring(0,1):Date.CultureInfo.pmDesignator.substring(0,1);case"tt":return self.getHours()<12?Date.CultureInfo.amDesignator:Date.CultureInfo.pmDesignator;case"zzz":case"zz":case"z":return"";}}):this._toString();}}; 167Date.now=function(){return new Date();};Date.today=function(){return Date.now().clearTime();};Date.prototype._orient=+1;Date.prototype.next=function(){this._orient=+1;return this;};Date.prototype.last=Date.prototype.prev=Date.prototype.previous=function(){this._orient=-1;return this;};Date.prototype._is=false;Date.prototype.is=function(){this._is=true;return this;};Number.prototype._dateElement="day";Number.prototype.fromNow=function(){var c={};c[this._dateElement]=this;return Date.now().add(c);};Number.prototype.ago=function(){var c={};c[this._dateElement]=this*-1;return Date.now().add(c);};(function(){var $D=Date.prototype,$N=Number.prototype;var dx=("sunday monday tuesday wednesday thursday friday saturday").split(/\s/),mx=("january february march april may
167june july august september october november december").split(/\s/),px=("Millisecond Second Minute Hour Day Week Month Year").split(/\s/),de;var df=function(n){return function(){if(this._is){this._is=false;return this.getDay()==n;} 168return this.moveToDayOfWeek(n,this._orient);};};for(var i=0;i<dx.length;i++){$D[dx[i]]=$D[dx[i].substring(0,3)]=df(i);} 169var mf=function(n){return function(){if(this._is){this._is=false;return this.getMonth()===n;} 170return this.moveToMonth(n,this._orient);};};for(var j=0;j<mx.length;j++){$D[mx[j]]=$D[mx[j].substring(0,3)]=mf(j);} 171var ef=function(j){return function(){if(j.substring(j.length-1)!="s"){j+="s";} 172return this["add"+j](this._orient);};};var nf=function(n){return function(){this._dateElement=n;return this;};};for(var k=0;k<px.length;k++){de=px[k].toLowerCase();$D[de]=$D[de+"s"]=ef(px[k]);$N[de]=$N[de+"s"]=nf(de);}}());Date.prototype.toJSONString=function(){return this.toString("yyyy-MM-ddThh:mm:ssZ");};Date.prototype.toShortDateString=function(){return this.toString(Date.CultureInfo.formatPatterns.shortDatePattern);};Date.prototype.toLongDateString=function(){return this.toString(Date.CultureInfo.formatPatterns.longDatePattern);};Date.prototype.toShortTimeString=function(){return this.toString(Date.CultureInfo.formatPatterns.shortTimePattern);};Date.prototype.toLongTimeString=function(){return this.toString(Date.CultureInfo.formatPatterns.longTimePattern);};Date.prototype.getOrdinal=function(){switch(this.getDate()){case 1:case 21:case 31:return"st";case 2:case 22:return"nd";case 3:case 23:return"rd";default:return"th";}}; 173(function(){Date.Parsing={Exception:function(s){this.message="Parse error at '"+s.substring(0,10)+" ...'";}};var $P=Date.Parsing;var _=$P.Operators={rtoken:function(r){return function(s){var mx=s.match(r);if(mx){return([mx[0],s.substring(mx[0].length)]);}else{throw new $P.Exception(s);}};},token:function(s){return function(s){return _.rtoken(new RegExp("^\s*"+s+"\s*"))(s);};},stoken:function(s){return _.rtoken(new RegExp("^"+s));},until:function(p){return function(s){var qx=[],rx=null;while(s.length){try{rx=p.call(this,s);}catch(e){qx.push(rx[0]);s=rx[1];continue;} 174break;} 175return[qx,s];};},many:function(p){return function(s){var rx=[],r=null;while(s.length){try{r=p.call(this,s);}catch(e){return[rx,s];} 176rx.push(r[0]);s=r[1];} 177return[rx,s];};},optional:function(p){return function(s){var r=null;try{r=p.call(this,s);}catch(e){return[null,s];} 178return[r[0],r[1]];};},not:function(p){return function(s){try{p.call(this,s);}catch(e){return[null,s];} 179throw new $P.Exception(s);};},ignore:function(p){return p?function(s){var r=null;r=p.call(this,s);return[null,r[1]];}:null;},product:function(){var px=arguments[0],qx=Array.prototype.slice.call(arguments,1),rx=[];for(var i=0;i<px.length;i++){rx.push(_.each(px[i],qx));} 180return rx;},cache:function(rule){var cache={},r=null;return function(s){try{r=cache[s]=(cache[s]||rule.call(this,s));}catch(e){r=cache[s]=e;} 181if(r instanceof $P.Exception){throw r;}else{return r;}};},any:function(){var px=arguments;return function(s){var r=null;for(var i=0;i<px.length;i++){if(px[i]==null){continue;} 182try{r=(px[i].call(this,s));}catch(e){r=null;} 183if(r){return r;}} 184throw new $P.Exception(s);};},each:function(){var px=arguments;return function(s){var rx=[],r=null;for(var i=0;i<px.length;i++){if(px[i]==null){continue;} 185try{r=(px[i].call(this,s));}catch(e){throw new $P.Exception(s);} 186rx.push(r[0]);s=r[1];} 187return[rx,s];};},all:function(){var px=arguments,_=_;return _.each(_.optional(px));},sequence:function(px,d,c){d=d||_.rtoken(/^\s*/);c=c||null;if(px.length==1){return px[0];} 188return function(s){var r=null,q=null;var rx=[];for(var i=0;i<px.length;i++){try{r=px[i].call(this,s);}catch(e){break;} 189rx.push(r[0]);try{q=d.call(this,r[1]);}catch(ex){q=null;break;} 190s=q[1];} 191if(!r){throw new $P.Exception(s);} 192if(q){throw new $P.Exception(q[1]);} 193if(c){try{r=c.call(this,r[1]);}catch(ey){throw new $P.Exception(r[1]);}} 194return[rx,(r?r[1]:s)];};},between:function(d1,p,d2){d2=d2||d1;var _fn=_.each(_.ignore(d1),p,_.ignore(d2));return function(s){var rx=_fn.call(this,s);return[[rx[0][0],r[0][2]],rx[1]];};},list:function(p,d,c){d=d||_.rtoken(/^\s*/);c=c||null;return(p instanceof Array?_.each(_.product(p.slice(0,-1),_.ignore(d)),p.slice(-1),_.ignore(c)):_.each(_.many(_.each(p,_.ignore(d))),px,_.ignore(c)));},set:function(px,d,c){d=d||_.rtoken(/^\s*/);c=c||null;return function(s){var r=null,p=null,q=null,rx=null,best=[[],s],last=false;for(var i=0;i<px.length;i++){q=null;p=null;r=null;last=(px.length==1);try{r=px[i].call(this,s);}catch(e){continue;} 195rx=[[r[0]],r[1]];if(r[1].length>0&&!last){try{q=d.call(this,r[1]);}catch(ex){last=true;}}else{last=true;} 196if(!last&&q[1].length===0){last=true;} 197if(!last){var qx=[];for(var j=0;j<px.length;j++){if(i!=j){qx.push(px[j]);}} 198p=_.set(qx,d).call(this,q[1]);if(p[0].length>0){rx[0]=rx[0].concat(p[0]);rx[1]=p[1];}} 199if(rx[1].length<best[1].length){best=rx;} 200if(best[1].length===0){break;}} 201if(best[0].length===0){return best;} 202if(c){try{q=c.call(this,best[1]);}catch(ey){throw new $P.Exception(best[1]);} 203best[1]=q[1];} 204return best;};},forward:function(gr,fname){return function(s){return gr[fname].call(this,s);};},replace:function(rule,repl){return function(s){var r=rule.call(this,s);return[repl,r[1]];};},process:function(rule,fn){return function(s){var r=rule.call(this,s);return[fn.call(this,r[0]),r[1]];};},min:function(min,rule){return function(s){var rx=rule.call(this,s);if(rx[0].length<min){throw new $P.Exception(s);} 205return rx;};}};var _generator=function(op){return function(){var args=null,rx=[];if(arguments.length>1){args=Array.prototype.slice.call(arguments);}else if(arguments[0]instanceof Array){args=arguments[0];} 206if(args){for(var i=0,px=args.shift();i<px.length;i++){args.unshift(px[i]);rx.push(op.apply(null,args));args.shift();return rx;}}else{return op.apply(null,arguments);}};};var gx="optional not ignore cache".split(/\s/);for(var i=0;i<gx.length;i++){_[gx[i]]=_generator(_[gx[i]]);} 207var _vector=function(op){return function(){if(arguments[0]instanceof Array){return op.apply(null,arguments[0]);}else{return op.apply(null,arguments);}};};var vx="each any all".split(/\s/);for(var j=0;j<vx.length;j++){_[vx[j]]=_vector(_[vx[j]]);}}());(function(){var flattenAndCompact=function(ax){var rx=[];for(var i=0;i<ax.length;i++){if(ax[i]instanceof Array){rx=rx.concat(flattenAndCompact(ax[i])
207);}else{if(ax[i]){rx.push(ax[i]);}}} 208return rx;};Date.Grammar={};Date.Translator={hour:function(s){return function(){this.hour=Number(s);};},minute:function(s){return function(){this.minute=Number(s);};},second:function(s){return function(){this.second=Number(s);};},meridian:function(s){return function(){this.meridian=s.slice(0,1).toLowerCase();};},timezone:function(s){return function(){var n=s.replace(/[^\d\+\-]/g,"");if(n.length){this.timezoneOffset=Number(n);}else{this.timezone=s.toLowerCase();}};},day:function(x){var s=x[0];return function(){this.day=Number(s.match(/\d+/)[0]);};},month:function(s){return function(){this.month=((s.length==3)?Date.getMonthNumberFromName(s):(Number(s)-1));};},year:function(s){return function(){var n=Number(s);this.year=((s.length>2)?n:(n+(((n+2000)<Date.CultureInfo.twoDigitYearMax)?2000:1900)));};},rday:function(s){return function(){switch(s){case"yesterday":this.days=-1;break;case"tomorrow":this.days=1;break;case"today":this.days=0;break;case"now":this.days=0;this.now=true;break;}};},finishExact:function(x){x=(x instanceof Array)?x:[x];var now=new Date();this.year=now.getFullYear();this.month=now.getMonth();this.day=1;this.hour=0;this.minute=0;this.second=0;for(var i=0;i<x.length;i++){if(x[i]){x[i].call(this);}} 209this.hour=(this.meridian=="p"&&this.hour<13)?this.hour+12:this.hour;if(this.day>Date.getDaysInMonth(this.year,this.month)){throw new RangeError(this.day+" is not a valid value for days.");} 210var r=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second);if(this.timezone){r.set({timezone:this.timezone});}else if(this.timezoneOffset){r.set({timezoneOffset:this.timezoneOffset});} 211return r;},finish:function(x){x=(x instanceof Array)?flattenAndCompact(x):[x];if(x.length===0){return null;} 212for(var i=0;i<x.length;i++){if(typeof x[i]=="function"){x[i].call(this);}} 213if(this.now){return new Date();} 214var today=Date.today();var method=null;var expression=!!(this.days!=null||this.orient||this.operator);if(expression){var gap,mod,orient;orient=((this.orient=="past"||this.operator=="subtract")?-1:1);if(this.weekday){this.unit="day";gap=(Date.getDayNumberFromName(this.weekday)-today.getDay());mod=7;this.days=gap?((gap+(orient*mod))%mod):(orient*mod);} 215if(this.month){this.unit="month";gap=(this.month-today.getMonth());mod=12;this.months=gap?((gap+(orient*mod))%mod):(orient*mod);this.month=null;} 216if(!this.unit){this.unit="day";} 217if(this[this.unit+"s"]==null||this.operator!=null){if(!this.value){this.value=1;} 218if(this.unit=="week"){this.unit="day";this.value=this.value*7;} 219this[this.unit+"s"]=this.value*orient;} 220return today.add(this);}else{if(this.meridian&&this.hour){this.hour=(this.hour<13&&this.meridian=="p")?this.hour+12:this.hour;} 221if(this.weekday&&!this.day){this.day=(today.addDays((Date.getDayNumberFromName(this.weekday)-today.getDay()))).getDate();} 222if(this.month&&!this.day){this.day=1;} 223return today.set(this);}}};var _=Date.Parsing.Operators,g=Date.Grammar,t=Date.Translator,_fn;g.datePartDelimiter=_.rtoken(/^([\s\-\.\,\/\x27]+)/);g.timePartDelimiter=_.stoken(":");g.whiteSpace=_.rtoken(/^\s*/);g.generalDelimiter=_.rtoken(/^(([\s\,]|at|on)+)/);var _C={};g.ctoken=function(keys){var fn=_C[keys];if(!fn){var c=Date.CultureInfo.regexPatterns;var kx=keys.split(/\s+/),px=[];for(var i=0;i<kx.length;i++){px.push(_.replace(_.rtoken(c[kx[i]]),kx[i]));} 224fn=_C[keys]=_.any.apply(null,px);} 225return fn;};g.ctoken2=function(key){return _.rtoken(Date.CultureInfo.regexPatterns[key]);};g.h=_.cache(_.process(_.rtoken(/^(0[0-9]|1[0-2]|[1-9])/),t.hour));g.hh=_.cache(_.process(_.rtoken(/^(0[0-9]|1[0-2])/),t.hour));g.H=_.cache(_.process(_.rtoken(/^([0-1][0-9]|2[0-3]|[0-9])/),t.hour));g.HH=_.cache(_.process(_.rtoken(/^([0-1][0-9]|2[0-3])/),t.hour));g.m=_.cache(_.process(_.rtoken(/^([0-5][0-9]|[0-9])/),t.minute));g.mm=_.cache(_.process(_.rtoken(/^[0-5][0-9]/),t.minute));g.s=_.cache(_.process(_.rtoken(/^([0-5][0-9]|[0-9])/),t.second));g.ss=_.cache(_.process(_.rtoken(/^[0-5][0-9]/),t.second));g.hms=_.cache(_.sequence([g.H,g.mm,g.ss],g.timePartDelimiter));g.t=_.cache(_.process(g.ctoken2("shortMeridian"),t.meridian));
225g.tt=_.cache(_.process(g.ctoken2("longMeridian"),t.meridian));g.z=_.cache(_.process(_.rtoken(/^(\+|\-)?\s*\d\d\d\d?/),t.timezone));g.zz=_.cache(_.process(_.rtoken(/^(\+|\-)\s*\d\d\d\d/),t.timezone));g.zzz=_.cache(_.process(g.ctoken2("timezone"),t.timezone));g.timeSuffix=_.each(_.ignore(g.whiteSpace),_.set([g.tt,g.zzz]));g.time=_.each(_.optional(_.ignore(_.stoken("T"))),g.hms,g.timeSuffix);g.d=_.cache(_.process(_.each(_.rtoken(/^([0-2]\d|3[0-1]|\d)/),_.optional(g.ctoken2("ordinalSuffix"))),t.day));g.dd=_.cache(_.process(_.each(_.rtoken(/^([0-2]\d|3[0-1])/),_.optional(g.ctoken2("ordinalSuffix"))),t.day));g.ddd=g.dddd=_.cache(_.process(g.ctoken("sun mon tue wed thu fri sat"),function(s){return function(){this.weekday=s;};}));g.M=_.cache(_.process(_.rtoken(/^(1[0-2]|0\d|\d)/),t.month));g.MM=_.cache(_.process(_.rtoken(/^(1[0-2]|0\d)/),t.month));g.MMM=g.MMMM=_.cache(_.process(g.ctoken("jan feb mar apr may jun jul aug sep oct nov dec"),t.month));g.y=_.cache(_.process(_.rtoken(/^(\d\d?)/),t.year));g.yy=_.cache(_.process(_.rtoken(/^(\d\d)/),t.year));g.yyy=_.cache(_.process(_.rtoken(/^(\d\d?\d?\d?)/),t.year));g.yyyy=_.cache(_.process(_.rtoken(/^(\d\d\d\d)/),t.year));_fn=function(){return _.each(_.any.apply(null,arguments),_.not(g.ctoken2("timeContext")));};g.day=_fn(g.d,g.dd);g.month=_fn(g.M,g.MMM);g.year=_fn(g.yyyy,g.yy);g.orientation=_.process(g.ctoken("past future"),function(s){return function(){this.orient=s;};});g.operator=_.process(g.ctoken("add subtract"),function(s){return function(){this.operator=s;};});g.rday=_.process(g.ctoken("yesterday tomorrow today now"),t.rday);g.unit=_.process(g.ctoken("minute hour day week month year"),function(s){return function(){this.unit=s;};});g.value=_.process(_.rtoken(/^\d\d?(st|nd|rd|th)?/),function(s){return function(){this.value=s.replace(/\D/g,"");};});g.expression=_.set([g.rday,g.operator,g.value,g.unit,g.orientation,g.ddd,g.MMM]);_fn=function(){return _.set(arguments,g.datePartDelimiter);};g.mdy=_fn(g.ddd,g.month,g.day,g.year);g.ymd=_fn(g.ddd,g.year,g.month,g.day);g.dmy=_fn(g.ddd,g.day,g.month,g.year);g.date=function(s){return((g[Date.CultureInfo.dateElementOrder]||g.mdy).call(this,s));};g.format=_.process(_.many(_.any(_.process(_.rtoken(/^(dd?d?d?|MM?M?M?|yy?y?y?|hh?|HH?|mm?|ss?|tt?|zz?z?)/),function(fmt){if(g[fmt]){return g[fmt];}else{throw Date.Parsing.Exception(fmt);}}),_.process(_.rtoken(/^[^dMyhHmstz]+/),function(s){return _.ignore(_.stoken(s));}))),function(rules){return _.process(_.each.apply(null,rules),t.finishExact);});var _F={};var _get=function(f){return _F[f]=(_F[f]||g.format(f)[0]);};g.formats=function(fx){if(fx instanceof Array){var rx=[];for(var i=0;i<fx.length;i++){rx.push(_get(fx[i]));} 226return _.any.apply(null,rx);}else{return _get(fx);}};g._formats=g.formats(["yyyy-MM-ddTHH:mm:ss","ddd, MMM dd, yyyy H:mm:ss tt","ddd MMM d yyyy HH:mm:ss zzz","d"]);g._start=_.process(_.set([g.date,g.time,g.expression],g.generalDelimiter,g.whiteSpace),t.finish);g.start=function(s){try{var r=g._formats.call({},s);if(r[1].length===0){return r;}}catch(e){} 227return g._start.call({},s);};}());Date._parse=Date.parse;Date.parse=function(s){var r=null;if(!s){return null;} 228try{r=Date.Grammar.start.call({},s);}catch(e){return null;} 229return((r[1].length===0)?r[0]:null);};Date.getParseFunction=function(fx){var fn=Date.Grammar.formats(fx);return function(s){var r=null;try{r=fn.call({},s);}catch(e){return null;} 230return((r[1].length===0)?r[0]:null);};};Date.parseExact=function(s,fx){return Date.getParseFunction(fx)(s);}; 231 232�/*! 233 * jQuery JavaScript Library v3.6.0 234 * https://jquery.com/ 235 * 236 * Includes Sizzle.js 237 * https://sizzlejs.com/ 238 * 239 * Copyright OpenJS Foundation and other contributors 240 * Released under the MIT license 241 * https://jquery.org/license 242 * 243 * Date: 2021-03-02T17:08Z 244 */ 245( function( global, factory ) { 246 247 "use strict"; 248 249 if ( typeof module === "object" && typeof module.exports === "object" ) { 250 251 // For CommonJS and CommonJS-like environments where a proper `window` 252 // is present, execute the factory and get jQuery. 253 // For environments that do not have a `window` with a `document` 254 // (such as Node.js), expose a factory as module.exports. 255 // This accentuates the need for the creation of a real `window`. 256 // e.g. var jQuery = require("jquery")(window); 257 // See ticket #14549 for more info. 258 module.exports = global.document ? 259 factory( global, true ) : 260 function( w ) { 261 if ( !w.document ) { 262 throw new Error( "jQuery requires a window with a document" ); 263 } 264 return factory( w ); 265 }; 266 } else { 267 factory( global ); 268 } 269 270// Pass this if window is not defined yet 271} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { 272 273// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 274// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode 275// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), str
vendor: 2,883 bytes, lines 275-385
275ict mode should be common 276// enough that all such attempts are guarded in a try block. 277"use strict"; 278 279var arr = []; 280 281var getProto = Object.getPrototypeOf; 282 283var slice = arr.slice; 284 285var flat = arr.flat ? function( array ) { 286 return arr.flat.call( array ); 287} : function( array ) { 288 return arr.concat.apply( [], array ); 289}; 290 291 292var push = arr.push; 293 294var indexOf = arr.indexOf; 295 296var class2type = {}; 297 298var toString = class2type.toString; 299 300var hasOwn = class2type.hasOwnProperty; 301 302var fnToString = hasOwn.toString; 303 304var ObjectFunctionString = fnToString.call( Object ); 305 306var support = {}; 307 308var isFunction = function isFunction( obj ) { 309 310 // Support: Chrome <=57, Firefox <=52 311 // In some browsers, typeof returns "function" for HTML <object> elements 312 // (i.e., `typeof document.createElement( "object" ) === "function"`). 313 // We don't want to classify *any* DOM node as a function. 314 // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5 315 // Plus for old WebKit, typeof returns "function" for HTML collections 316 // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756) 317 return typeof obj === "function" && typeof obj.nodeType !== "number" && 318 typeof obj.item !== "function"; 319 }; 320 321 322var isWindow = function isWindow( obj ) { 323 return obj != null && obj === obj.window; 324 }; 325 326 327var document = window.document; 328 329 330 331 var preservedScriptAttributes = { 332 type: true, 333 src: true, 334 nonce: true, 335 noModule: true 336 }; 337 338 function DOMEval( code, node, doc ) { 339 doc = doc || document; 340 341 var i, val, 342 script = doc.createElement( "script" ); 343 344 script.text = code; 345 if ( node ) { 346 for ( i in preservedScriptAttributes ) { 347 348 // Support: Firefox 64+, Edge 18+ 349 // Some browsers don't support the "nonce" property on scripts. 350 // On the other hand, just using `getAttribute` is not enough as 351 // the `nonce` attribute is reset to an empty string whenever it 352 // becomes browsing-context connected. 353 // See https://github.com/whatwg/html/issues/2369 354 // See https://html.spec.whatwg.org/#nonce-attributes 355 // The `node.getAttribute` check was added for the sake of 356 // `jQuery.globalEval` so that it can fake a nonce-containing node 357 // via an object. 358 val = node[ i ] || node.getAttribute && node.getAttribute( i ); 359 if ( val ) { 360 script.setAttribute( i, val ); 361 } 362 } 363 } 364 doc.head.appendChild( script ).parentNode.removeChild( script ); 365 } 366 367 368function toType( obj ) { 369 if ( obj == null ) { 370 return obj + ""; 371 } 372 373 // Support: Android <=2.3 only (functionish RegExp) 374 return typeof obj === "object" || typeof obj === "function" ? 375 class2type[ toString.call( obj ) ] || "object" : 376 typeof obj; 377} 378/* global Symbol */ 379// Defining this global in .eslintrc.json would create a danger of using the global 380// unguarded in another place, it seems safer to define global only for this module 381 382 383 384var 385 version = "3.6.0
vendor: 81,128 bytes, lines 385-3330
385", 386 387 // Define a local copy of jQuery 388 jQuery = function( selector, context ) { 389 390 // The jQuery object is actually just the init constructor 'enhanced' 391 // Need init if jQuery is called (just allow error to be thrown if not included) 392 return new jQuery.fn.init( selector, context ); 393 }; 394 395jQuery.fn = jQuery.prototype = { 396 397 // The current version of jQuery being used 398 jquery: version, 399 400 constructor: jQuery, 401 402 // The default length of a jQuery object is 0 403 length: 0, 404 405 toArray: function() { 406 return slice.call( this ); 407 }, 408 409 // Get the Nth element in the matched element set OR 410 // Get the whole matched element set as a clean array 411 get: function( num ) { 412 413 // Return all the elements in a clean array 414 if ( num == null ) { 415 return slice.call( this ); 416 } 417 418 // Return just the one element from the set 419 return num < 0 ? this[ num + this.length ] : this[ num ]; 420 }, 421 422 // Take an array of elements and push it onto the stack 423 // (returning the new matched element set) 424 pushStack: function( elems ) { 425 426 // Build a new jQuery matched element set 427 var ret = jQuery.merge( this.constructor(), elems ); 428 429 // Add the old object onto the stack (as a reference) 430 ret.prevObject = this; 431 432 // Return the newly-formed element set 433 return ret; 434 }, 435 436 // Execute a callback for every element in the matched set. 437 each: function( callback ) { 438 return jQuery.each( this, callback ); 439 }, 440 441 map: function( callback ) { 442 return this.pushStack( jQuery.map( this, function( elem, i ) { 443 return callback.call( elem, i, elem ); 444 } ) ); 445 }, 446 447 slice: function() { 448 return this.pushStack( slice.apply( this, arguments ) ); 449 }, 450 451 first: function() { 452 return this.eq( 0 ); 453 }, 454 455 last: function() { 456 return this.eq( -1 ); 457 }, 458 459 even: function() { 460 return this.pushStack( jQuery.grep( this, function( _elem, i ) { 461 return ( i + 1 ) % 2; 462 } ) ); 463 }, 464 465 odd: function() { 466 return this.pushStack( jQuery.grep( this, function( _elem, i ) { 467 return i % 2; 468 } ) ); 469 }, 470 471 eq: function( i ) { 472 var len = this.length, 473 j = +i + ( i < 0 ? len : 0 ); 474 return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); 475 }, 476 477 end: function() { 478 return this.prevObject || this.constructor(); 479 }, 480 481 // For internal use only. 482 // Behaves like an Array's method, not like a jQuery method. 483 push: push, 484 sort: arr.sort, 485 splice: arr.splice 486}; 487 488jQuery.extend = jQuery.fn.extend = function() { 489 var options, name, src, copy, copyIsArray, clone, 490 target = arguments[ 0 ] || {}, 491 i = 1, 492 length = arguments.length, 493 deep = false; 494 495 // Handle a deep copy situation 496 if ( typeof target === "boolean" ) { 497 deep = target; 498 499 // Skip the boolean and the target 500 target = arguments[ i ] || {}; 501 i++; 502 } 503 504 // Handle case when target is a string or something (possible in deep copy) 505 if ( typeof target !== "object" && !isFunction( target ) ) { 506 target = {}; 507 } 508 509 // Extend jQuery itself if only one argument is passed 510 if ( i === length ) { 511 target = this; 512 i--; 513 } 514 515 for ( ; i < length; i++ ) { 516 517 // Only deal with non-null/undefined values 518 if ( ( options = arguments[ i ] ) != null ) { 519 520 // Extend the base object 521 for ( name in options ) { 522 copy = options[ name ]; 523 524 // Prevent Object.prototype pollution 525 // Prevent never-ending loop 526 if ( name === "__proto__" || target === copy ) { 527 continue; 528 } 529 530 // Recurse if we're merging plain objects or arrays 531 if ( deep && copy && ( jQuery.isPlainObject( copy ) || 532 ( copyIsArray = Array.isArray( copy ) ) ) ) { 533 src = target[ name ]; 534 535 // Ensure proper type for the source value 536 if ( copyIsArray && !Array.isArray( src ) ) { 537 clone = []; 538 } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { 539 clone = {}; 540 } else { 541 clone = src; 542 } 543 copyIsArray = false; 544 545 // Never move original objects, clone them 546 target[ name ] = jQuery.extend( deep, clone, copy ); 547 548 // Don't bring in undefined values 549 } else if ( copy !== undefined ) { 550 target[ name ] = copy; 551 } 552 } 553 } 554 } 555 556 // Return the modified object 557 return target; 558}; 559 560jQuery.extend( { 561 562 // Unique for each copy of jQuery on the page 563 expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), 564 565 // Assume jQuery is ready without the ready module 566 isReady: true, 567 568 error: function( msg ) { 569 throw new Error( msg ); 570 }, 571 572 noop: function() {}, 573 574 isPlainObject: function( obj ) { 575 var proto, Ctor; 576 577 // Detect obvious negatives 578 // Use toString instead of jQuery.type to catch host objects 579 if ( !obj || toString.call( obj ) !== "[object Object]" ) { 580 return false; 581 } 582 583 proto = getProto( obj ); 584 585 // Objects with no prototype (e.g., `Object.create( null )`) are plain 586 if ( !proto ) { 587 return true; 588 } 589 590 // Objects with prototype are plain iff they were constructed by a global Object function 591 Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; 592 return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; 593 }, 594 595 isEmptyObject: function( obj ) { 596 var name; 597 598 for ( name in obj ) { 599 return false; 600 } 601 return true; 602 }, 603 604 // Evaluates a script in a provided context; falls back to the global one 605 // if not specified. 606 globalEval: function( code, options, doc ) { 607 DOMEval( code, { nonce: options && options.nonce }, doc ); 608 }, 609 610 each: function( obj, callback ) { 611 var length, i = 0; 612 613 if ( isArrayLike( obj ) ) { 614 length = obj.length; 615 for ( ; i < length; i++ ) { 616 if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { 617 break; 618 } 619 } 620 } else { 621 for ( i in obj ) { 622 if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { 623 break; 624 } 625 } 626 } 627 628 return obj; 629 }, 630 631 // results is for internal usage only 632 makeArray: function( arr, results ) { 633 var ret = results || []; 634 635 if ( arr != null ) { 636 if ( isArrayLike( Object( arr ) ) ) { 637 jQuery.merge( ret, 638 typeof arr === "string" ? 639 [ arr ] : arr 640 ); 641 } else { 642 push.call( ret, arr ); 643 } 644 } 645 646 return ret; 647 }, 648 649 inArray: function( elem, arr, i ) { 650 return arr == null ? -1 : indexOf.call( arr, elem, i ); 651 }, 652 653 // Support: Android <=4.0 only, PhantomJS 1 only 654 // push.apply(_, arraylike) throws on ancient WebKit 655 merge: function( first, second ) { 656 var len = +second.length, 657 j = 0, 658 i = first.length; 659 660 for ( ; j < len; j++ ) { 661 first[ i++ ] = second[ j ]; 662 } 663 664 first.length = i; 665 666 return first; 667 }, 668 669 grep: function( elems, callback, invert ) { 670 var callbackInverse, 671 matches = [], 672 i = 0, 673 length = elems.length, 674 callbackExpect = !invert; 675 676 // Go through the array, only saving the items 677 // that pass the validator function 678 for ( ; i < length; i++ ) { 679 callbackInverse = !callback( elems[ i ], i ); 680 if ( callbackInverse !== callbackExpect ) { 681 matches.push( elems[ i ] ); 682 } 683 } 684 685 return matches; 686 }, 687 688 // arg is for internal usage only 689 map: function( elems, callback, arg ) { 690 var length, value, 691 i = 0, 692 ret = []; 693 694 // Go through the array, translating each of the items to their new values 695 if ( isArrayLike( elems ) ) { 696 length = elems.length; 697 for ( ; i < length; i++ ) { 698 value = callback( elems[ i ], i, arg ); 699 700 if ( value != null ) { 701 ret.push( value ); 702 } 703 } 704 705 // Go through every key on the object, 706 } else { 707 for ( i in elems ) { 708 value = callback( elems[ i ], i, arg ); 709 710 if ( value != null ) { 711 ret.push( value ); 712 } 713 } 714 } 715 716 // Flatten any nested arrays 717 return flat( ret ); 718 }, 719 720 // A global GUID counter for objects 721 guid: 1, 722 723 // jQuery.support is not used in Core but other projects attach their 724 // properties to it so it needs to exist. 725 support: support 726} ); 727 728if ( typeof Symbol === "function" ) { 729 jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; 730} 731 732// Populate the class2type map 733jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), 734 function( _i, name ) { 735 class2type[ "[object " + name + "]" ] = name.toLowerCase(); 736 } ); 737 738function isArrayLike( obj ) { 739 740 // Support: real iOS 8.2 only (not reproducible in simulator) 741 // `in` check used to prevent JIT error (gh-2145) 742 // hasOwn isn't used here due to false negatives 743 // regarding Nodelist length in IE 744 var length = !!obj && "length" in obj && obj.length, 745 type = toType( obj ); 746 747 if ( isFunction( obj ) || isWindow( obj ) ) { 748 return false; 749 } 750 751 return type === "array" || length === 0 || 752 typeof length === "number" && length > 0 && ( length - 1 ) in obj; 753} 754var Sizzle = 755/*! 756 * Sizzle CSS Selector Engine v2.3.6 757 * https://sizzlejs.com/ 758 * 759 * Copyright JS Foundation and other contributors 760 * Released under the MIT license 761 * https://js.foundation/ 762 * 763 * Date: 2021-02-16 764 */ 765( function( window ) { 766var i, 767 support, 768 Expr, 769 getText, 770 isXML, 771 tokenize, 772 compile, 773 select, 774 outermostContext, 775 sortInput, 776 hasDuplicate, 777 778 // Local document vars 779 setDocument, 780 document, 781 docElem, 782 documentIsHTML, 783 rbuggyQSA, 784 rbuggyMatches, 785 matches, 786 contains, 787 788 // Instance-specific data 789 expando = "sizzle" + 1 * new Date(), 790 preferredDoc = window.document, 791 dirruns = 0, 792 done = 0, 793 classCache = createCache(), 794 tokenCache = createCache(), 795 compilerCache = createCache(), 796 nonnativeSelectorCache = createCache(), 797 sortOrder = function( a, b ) { 798 if ( a === b ) { 799 hasDuplicate = true; 800 } 801 return 0; 802 }, 803 804 // Instance methods 805 hasOwn = ( {} ).hasOwnProperty, 806 arr = [], 807 pop = arr.pop, 808 pushNative = arr.push, 809 push = arr.push, 810 slice = arr.slice, 811 812 // Use a stripped-down indexOf as it's faster than native 813 // https://jsperf.com/thor-indexof-vs-for/5 814 indexOf = function( list, elem ) { 815 var i = 0, 816 len = list.length; 817 for ( ; i < len; i++ ) { 818 if ( list[ i ] === elem ) { 819 return i; 820 } 821 } 822 return -1; 823 }, 824 825 booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" + 826 "ismap|loop|multiple|open|readonly|required|scoped", 827 828 // Regular expressions 829 830 // http://www.w3.org/TR/css3-selectors/#whitespace 831 whitespace = "[\\x20\\t\\r\\n\\f]", 832 833 // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram 834 identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + 835 "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", 836 837 // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors 838 attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + 839 840 // Operator (capture 2) 841 "*([*^$|!~]?=)" + whitespace + 842 843 // "Attribute values must be CSS identifiers [capture 5] 844 // or strings [capture 3 or capture 4]" 845 "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + 846 whitespace + "*\\]", 847 848 pseudos = ":(" + identifier + ")(?:\\((" + 849 850 // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: 851 // 1. quoted (capture 3; capture 4 or capture 5) 852 "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + 853 854 // 2. simple (capture 6) 855 "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + 856 857 // 3. anything else (capture 2) 858 ".*" + 859 ")\\)|)", 860 861 // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter 862 rwhitespace = new RegExp( whitespace + "+", "g" ), 863 rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + 864 whitespace + "+$", "g" ), 865 866 rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), 867 rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + 868 "*" ), 869 rdescend = new RegExp( whitespace + "|>" ), 870 871 rpseudo = new RegExp( pseudos ), 872 ridentifier = new RegExp( "^" + identifier + "$" ), 873 874 matchExpr = { 875 "ID": new RegExp( "^#(" + identifier + ")" ), 876 "CLASS": new RegExp( "^\\.(" + identifier + ")" ), 877 "TAG": new RegExp( "^(" + identifier + "|[*])" ), 878 "ATTR": new RegExp( "^" + attributes ), 879 "PSEUDO": new RegExp( "^" + pseudos ), 880 "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + 881 whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + 882 whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), 883 "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), 884 885 // For use in libraries implementing .is() 886 // We use this for POS matching in `select` 887 "needsContext": new RegExp( "^" + whitespace + 888 "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + 889 "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) 890 }, 891 892 rhtml = /HTML$/i, 893 rinputs = /^(?:input|select|textarea|button)$/i, 894 rheader = /^h\d$/i, 895 896 rnative = /^[^{]+\{\s*\[native \w/, 897 898 // Easily-parseable/retrievable ID or TAG or CLASS selectors 899 rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, 900 901 rsibling = /[+~]/, 902 903 // CSS escapes 904 // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters 905 runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ), 906 funescape = function( escape, nonHex ) { 907 var high = "0x" + escape.slice( 1 ) - 0x10000; 908 909 return nonHex ? 910 911 // Strip the backslash prefix from a non-hex escape sequence 912 nonHex : 913 914 // Replace a hexadecimal escape sequence with the encoded Unicode code point 915 // Support: IE <=11+ 916 // For values outside the Basic Multilingual Plane (BMP), manually construct a 917 // surrogate pair 918 high < 0 ? 919 String.fromCharCode( high + 0x10000 ) : 920 String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); 921 }, 922 923 // CSS string/identifier serialization 924 // https://drafts.csswg.org/cssom/#common-serializing-idioms 925 rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, 926 fcssescape = function( ch, asCodePoint ) { 927 if ( asCodePoint ) { 928 929 // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER 930 if ( ch === "\0" ) { 931 return "\uFFFD"; 932 } 933 934 // Control characters and (dependent upon position) numbers get escaped as code points 935 return ch.slice( 0, -1 ) + "\\" + 936 ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; 937 } 938 939 // Other potentially-special ASCII characters get backslash-escaped 940 return "\\" + ch; 941 }, 942 943 // Used for iframes 944 // See setDocument() 945 // Removing the function wrapper causes a "Permission Denied" 946 // error in IE 947 unloadHandler = function() { 948 setDocument(); 949 }, 950 951 inDisabledFieldset = addCombinator( 952 function( elem ) { 953 return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; 954 }, 955 { dir: "parentNode", next: "legend" } 956 ); 957 958// Optimize for push.apply( _, NodeList ) 959try { 960 push.apply( 961 ( arr = slice.call( preferredDoc.childNodes ) ), 962 preferredDoc.childNodes 963 ); 964 965 // Support: Android<4.0 966 // Detect silently failing push.apply 967 // eslint-disable-next-line no-unused-expressions 968 arr[ preferredDoc.childNodes.length ].nodeType; 969} catch ( e ) { 970 push = { apply: arr.length ? 971 972 // Leverage slice if possible 973 function( target, els ) { 974 pushNative.apply( target, slice.call( els ) ); 975 } : 976 977 // Support: IE<9 978 // Otherwise append directly 979 function( target, els ) { 980 var j = target.length, 981 i = 0; 982 983 // Can't trust NodeList.length 984 while ( ( target[ j++ ] = els[ i++ ] ) ) {} 985 target.length = j - 1; 986 } 987 }; 988} 989 990function Sizzle( selector, context, results, seed ) { 991 var m, i, elem, nid, match, groups, newSelector, 992 newContext = context && context.ownerDocument, 993 994 // nodeType defaults to 9, since context defaults to document 995 nodeType = context ? context.nodeType : 9; 996 997 results = results || []; 998 999 // Return early from calls with invalid selector or context 1000 if ( typeof selector !== "string" || !selector || 1001 nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { 1002 1003 return results; 1004 } 1005 1006 // Try to shortcut find operations (as opposed to filters) in HTML documents 1007 if ( !seed ) { 1008 setDocument( context ); 1009 context = context || document; 1010 1011 if ( documentIsHTML ) { 1012 1013 // If the selector is sufficiently simple, try using a "get*By*" DOM method 1014 // (excepting DocumentFragment context, where the methods don't exist) 1015 if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { 1016 1017 // ID selector 1018 if ( ( m = match[ 1 ] ) ) { 1019 1020 // Document context 1021 if ( nodeType === 9 ) { 1022 if ( ( elem = context.getElementById( m ) ) ) { 1023 1024 // Support: IE, Opera, Webkit 1025 // TODO: identify versions 1026 // getElementById can match elements by name instead of ID 1027 if ( elem.id === m ) { 1028 results.push( elem ); 1029 return results; 1030 } 1031 } else { 1032 return results; 1033 } 1034 1035 // Element context 1036 } else { 1037 1038 // Support: IE, Opera, Webkit 1039 // TODO: identify versions 1040 // getElementById can match elements by name instead of ID 1041 if ( newContext && ( elem = newContext.getElementById( m ) ) && 1042 contains( context, elem ) && 1043 elem.id === m ) { 1044 1045 results.push( elem ); 1046 return results; 1047 } 1048 } 1049 1050 // Type selector 1051 } else if ( match[ 2 ] ) { 1052 push.apply( results, context.getElementsByTagName( selector ) ); 1053 return results; 1054 1055 // Class selector 1056 } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName && 1057 context.getElementsByClassName ) { 1058 1059 push.apply( results, context.getElementsByClassName( m ) ); 1060 return results; 1061 } 1062 } 1063 1064 // Take advantage of querySelectorAll 1065 if ( support.qsa && 1066 !nonnativeSelectorCache[ selector + " " ] && 1067 ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) && 1068 1069 // Support: IE 8 only 1070 // Exclude object elements 1071 ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) { 1072 1073 newSelector = selector; 1074 newContext = context; 1075 1076 // qSA considers elements outside a scoping root when evaluating child or 1077 // descendant combinators, which is not what we want. 1078 // In such cases, we work around the behavior by prefixing every selector in the 1079 // list with an ID selector referencing the scope context. 1080 // The technique has to be used as well when a leading combinator is used 1081 // as such selectors are not recognized by querySelectorAll. 1082 // Thanks to Andrew Dupont for this technique. 1083 if ( nodeType === 1 && 1084 ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) { 1085 1086 // Expand context for sibling selectors 1087 newContext = rsibling.test( selector ) && testContext( context.parentNode ) || 1088 context; 1089 1090 // We can use :scope instead of the ID hack if the browser 1091 // supports it & if we're not changing the context. 1092 if ( newContext !== context || !support.scope ) { 1093 1094 // Capture the context ID, setting it first if necessary 1095 if ( ( nid = context.getAttribute( "id" ) ) ) { 1096 nid = nid.replace( rcssescape, fcssescape ); 1097 } else { 1098 context.setAttribute( "id", ( nid = expando ) ); 1099 } 1100 } 1101 1102 // Prefix every selector in the list 1103 groups = tokenize( selector ); 1104 i = groups.length; 1105 while ( i-- ) { 1106 groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + 1107 toSelector( groups[ i ] ); 1108 } 1109 newSelector = groups.join( "," ); 1110 } 1111 1112 try { 1113 push.apply( results, 1114 newContext.querySelectorAll( newSelector ) 1115 ); 1116 return results; 1117 } catch ( qsaError ) { 1118 nonnativeSelectorCache( selector, true ); 1119 } finally { 1120 if ( nid === expando ) { 1121 context.removeAttribute( "id" ); 1122 } 1123 } 1124 } 1125 } 1126 } 1127 1128 // All others 1129 return select( selector.replace( rtrim, "$1" ), context, results, seed ); 1130} 1131 1132/** 1133 * Create key-value caches of limited size 1134 * @returns {function(string, object)} Returns the Object data after storing it on itself with 1135 * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) 1136 * deleting the oldest entry 1137 */ 1138function createCache() { 1139 var keys = []; 1140 1141 function cache( key, value ) { 1142 1143 // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) 1144 if ( keys.push( key + " " ) > Expr.cacheLength ) { 1145 1146 // Only keep the most recent entries 1147 delete cache[ keys.shift() ]; 1148 } 1149 return ( cache[ key + " " ] = value ); 1150 } 1151 return cache; 1152} 1153 1154/** 1155 * Mark a function for special use by Sizzle 1156 * @param {Function} fn The function to mark 1157 */ 1158function markFunction( fn ) { 1159 fn[ expando ] = true; 1160 return fn; 1161} 1162 1163/** 1164 * Support testing using an element 1165 * @param {Function} fn Passed the created element and returns a boolean result 1166 */ 1167function assert( fn ) { 1168 var el = document.createElement( "fieldset" ); 1169 1170 try { 1171 return !!fn( el ); 1172 } catch ( e ) { 1173 return false; 1174 } finally { 1175 1176 // Remove from its parent by default 1177 if ( el.parentNode ) { 1178 el.parentNode.removeChild( el ); 1179 } 1180 1181 // release memory in IE 1182 el = null; 1183 } 1184} 1185 1186/** 1187 * Adds the same handler for all of the specified attrs 1188 * @param {String} attrs Pipe-separated list of attributes 1189 * @param {Function} handler The method that will be applied 1190 */ 1191function addHandle( attrs, handler ) { 1192 var arr = attrs.split( "|" ), 1193 i = arr.length; 1194 1195 while ( i-- ) { 1196 Expr.attrHandle[ arr[ i ] ] = handler; 1197 } 1198} 1199 1200/** 1201 * Checks document order of two siblings 1202 * @param {Element} a 1203 * @param {Element} b 1204 * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b 1205 */ 1206function siblingCheck( a, b ) { 1207 var cur = b && a, 1208 diff = cur && a.nodeType === 1 && b.nodeType === 1 && 1209 a.sourceIndex - b.sourceIndex; 1210 1211 // Use IE sourceIndex if available on both nodes 1212 if ( diff ) { 1213 return diff; 1214 } 1215 1216 // Check if b follows a 1217 if ( cur ) { 1218 while ( ( cur = cur.nextSibling ) ) { 1219 if ( cur === b ) { 1220 return -1; 1221 } 1222 } 1223 } 1224 1225 return a ? 1 : -1; 1226} 1227 1228/** 1229 * Returns a function to use in pseudos for input types 1230 * @param {String} type 1231 */ 1232function createInputPseudo( type ) { 1233 return function( elem ) { 1234 var name = elem.nodeName.toLowerCase(); 1235 return name === "input" && elem.type === type; 1236 }; 1237} 1238 1239/** 1240 * Returns a function to use in pseudos for buttons 1241 * @param {String} type 1242 */ 1243function createButtonPseudo( type ) { 1244 return function( elem ) { 1245 var name = elem.nodeName.toLowerCase(); 1246 return ( name === "input" || name === "button" ) && elem.type === type; 1247 }; 1248} 1249 1250/** 1251 * Returns a function to use in pseudos for :enabled/:disabled 1252 * @param {Boolean} disabled true for :disabled; false for :enabled 1253 */ 1254function createDisabledPseudo( disabled ) { 1255 1256 // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable 1257 return function( elem ) { 1258 1259 // Only certain elements can match :enabled or :disabled 1260 // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled 1261 // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled 1262 if ( "form" in elem ) { 1263 1264 // Check for inherited disabledness on relevant non-disabled elements: 1265 // * listed form-associated elements in a disabled fieldset 1266 // https://html.spec.whatwg.org/multipage/forms.html#category-listed 1267 // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled 1268 // * option elements in a disabled optgroup 1269 // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled 1270 // All such elements have a "form" property. 1271 if ( elem.parentNode && elem.disabled === false ) { 1272 1273 // Option elements defer to a parent optgroup if present 1274 if ( "label" in elem ) { 1275 if ( "label" in elem.parentNode ) { 1276 return elem.parentNode.disabled === disabled; 1277 } else { 1278 return elem.disabled === disabled; 1279 } 1280 } 1281 1282 // Support: IE 6 - 11 1283 // Use the isDisabled shortcut property to check for disabled fieldset ancestors 1284 return elem.isDisabled === disabled || 1285 1286 // Where there is no isDisabled, check manually 1287 /* jshint -W018 */ 1288 elem.isDisabled !== !disabled && 1289 inDisabledFieldset( elem ) === disabled; 1290 } 1291 1292 return elem.disabled === disabled; 1293 1294 // Try to winnow out elements that can't be disabled before trusting the disabled property. 1295 // Some victims get caught in our net (label, legend, menu, track), but it shouldn't 1296 // even exist on them, let alone have a boolean value. 1297 } else if ( "label" in elem ) { 1298 return elem.disabled === disabled; 1299 } 1300 1301 // Remaining elements are neither :enabled nor :disabled 1302 return false; 1303 }; 1304} 1305 1306/** 1307 * Returns a function to use in pseudos for positionals 1308 * @param {Function} fn 1309 */ 1310function createPositionalPseudo( fn ) { 1311 return markFunction( function( argument ) { 1312 argument = +argument; 1313 return markFunction( function( seed, matches ) { 1314 var j, 1315 matchIndexes = fn( [], seed.length, argument ), 1316 i = matchIndexes.length; 1317 1318 // Match elements found at the specified indexes 1319 while ( i-- ) { 1320 if ( seed[ ( j = matchIndexes[ i ] ) ] ) { 1321 seed[ j ] = !( matches[ j ] = seed[ j ] ); 1322 } 1323 } 1324 } ); 1325 } ); 1326} 1327 1328/** 1329 * Checks a node for validity as a Sizzle context 1330 * @param {Element|Object=} context 1331 * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value 1332 */ 1333function testContext( context ) { 1334 return context && typeof context.getElementsByTagName !== "undefined" && context; 1335} 1336 1337// Expose support vars for convenience 1338support = Sizzle.support = {}; 1339 1340/** 1341 * Detects XML nodes 1342 * @param {Element|Object} elem An element or a document 1343 * @returns {Boolean} True iff elem is a non-HTML XML node 1344 */ 1345isXML = Sizzle.isXML = function( elem ) { 1346 var namespace = elem && elem.namespaceURI, 1347 docElem = elem && ( elem.ownerDocument || elem ).documentElement; 1348 1349 // Support: IE <=8 1350 // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes 1351 // https://bugs.jquery.com/ticket/4833 1352 return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); 1353}; 1354 1355/** 1356 * Sets document-related variables once based on the current document 1357 * @param {Element|Object} [doc] An element or document object to use to set the document 1358 * @returns {Object} Returns the current document 1359 */ 1360setDocument = Sizzle.setDocument = function( node ) { 1361 var hasCompare, subWindow, 1362 doc = node ? node.ownerDocument || node : preferredDoc; 1363 1364 // Return early if doc is invalid or already selected 1365 // Support: IE 11+, Edge 17 - 18+ 1366 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 1367 // two documents; shallow comparisons work. 1368 // eslint-disable-next-line eqeqeq 1369 if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { 1370 return document; 1371 } 1372 1373 // Update global variables 1374 document = doc; 1375 docElem = document.documentElement; 1376 documentIsHTML = !isXML( document ); 1377 1378 // Support: IE 9 - 11+, Edge 12 - 18+ 1379 // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) 1380 // Support: IE 11+, Edge 17 - 18+ 1381 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 1382 // two documents; shallow comparisons work. 1383 // eslint-disable-next-line eqeqeq 1384 if ( preferredDoc != document && 1385 ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { 1386 1387 // Support: IE 11, Edge 1388 if ( subWindow.addEventListener ) { 1389 subWindow.addEventListener( "unload", unloadHandler, false ); 1390 1391 // Support: IE 9 - 10 only 1392 } else if ( subWindow.attachEvent ) { 1393 subWindow.attachEvent( "onunload", unloadHandler ); 1394 } 1395 } 1396 1397 // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only, 1398 // Safari 4 - 5 only, Opera <=11.6 - 12.x only 1399 // IE/Edge & older browsers don't support the :scope pseudo-class. 1400 // Support: Safari 6.0 only 1401 // Safari 6.0 supports :scope but it's an alias of :root there. 1402 support.scope = assert( function( el ) { 1403 docElem.appendChild( el ).appendChild( document.createElement( "div" ) ); 1404 return typeof el.querySelectorAll !== "undefined" && 1405 !el.querySelectorAll( ":scope fieldset div" ).length; 1406 } ); 1407 1408 /* Attributes 1409 ---------------------------------------------------------------------- */ 1410 1411 // Support: IE<8 1412 // Verify that getAttribute really returns attributes and not properties 1413 // (excepting IE8 booleans) 1414 support.attributes = assert( function( el ) { 1415 el.className = "i"; 1416 return !el.getAttribute( "className" ); 1417 } ); 1418 1419 /* getElement(s)By* 1420 ---------------------------------------------------------------------- */ 1421 1422 // Check if getElementsByTagName("*") returns only elements 1423 support.getElementsByTagName = assert( function( el ) { 1424 el.appendChild( document.createComment( "" ) ); 1425 return !el.getElementsByTagName( "*" ).length; 1426 } ); 1427 1428 // Support: IE<9 1429 support.getElementsByClassName = rnative.test( document.getElementsByClassName ); 1430 1431 // Support: IE<10 1432 // Check if getElementById returns elements by name 1433 // The broken getElementById methods don't pick up programmatically-set names, 1434 // so use a roundabout getElementsByName test 1435 support.getById = assert( function( el ) { 1436 docElem.appendChild( el ).id = expando; 1437 return !document.getElementsByName || !document.getElementsByName( expando ).length; 1438 } ); 1439 1440 // ID filter and find 1441 if ( support.getById ) { 1442 Expr.filter[ "ID" ] = function( id ) { 1443 var attrId = id.replace( runescape, funescape ); 1444 return function( elem ) { 1445 return elem.getAttribute( "id" ) === attrId; 1446 }; 1447 }; 1448 Expr.find[ "ID" ] = function( id, context ) { 1449 if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { 1450 var elem = context.getElementById( id ); 1451 return elem ? [ elem ] : []; 1452 } 1453 }; 1454 } else { 1455 Expr.filter[ "ID" ] = function( id ) { 1456 var attrId = id.replace( runescape, funescape ); 1457 return function( elem ) { 1458 var node = typeof elem.getAttributeNode !== "undefined" && 1459 elem.getAttributeNode( "id" ); 1460 return node && node.value === attrId; 1461 }; 1462 }; 1463 1464 // Support: IE 6 - 7 only 1465 // getElementById is not reliable as a find shortcut 1466 Expr.find[ "ID" ] = function( id, context ) { 1467 if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { 1468 var node, i, elems, 1469 elem = context.getElementById( id ); 1470 1471 if ( elem ) { 1472 1473 // Verify the id attribute 1474 node = elem.getAttributeNode( "id" ); 1475 if ( node && node.value === id ) { 1476 return [ elem ]; 1477 } 1478 1479 // Fall back on getElementsByName 1480 elems = context.getElementsByName( id ); 1481 i = 0; 1482 while ( ( elem = elems[ i++ ] ) ) { 1483 node = elem.getAttributeNode( "id" ); 1484 if ( node && node.value === id ) { 1485 return [ elem ]; 1486 } 1487 } 1488 } 1489 1490 return []; 1491 } 1492 }; 1493 } 1494 1495 // Tag 1496 Expr.find[ "TAG" ] = support.getElementsByTagName ? 1497 function( tag, context ) { 1498 if ( typeof context.getElementsByTagName !== "undefined" ) { 1499 return context.getElementsByTagName( tag ); 1500 1501 // DocumentFragment nodes don't have gEBTN 1502 } else if ( support.qsa ) { 1503 return context.querySelectorAll( tag ); 1504 } 1505 } : 1506 1507 function( tag, context ) { 1508 var elem, 1509 tmp = [], 1510 i = 0, 1511 1512 // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too 1513 results = context.getElementsByTagName( tag ); 1514 1515 // Filter out possible comments 1516 if ( tag === "*" ) { 1517 while ( ( elem = results[ i++ ] ) ) { 1518 if ( elem.nodeType === 1 ) { 1519 tmp.push( elem ); 1520 } 1521 } 1522 1523 return tmp; 1524 } 1525 return results; 1526 }; 1527 1528 // Class 1529 Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) { 1530 if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { 1531 return context.getElementsByClassName( className ); 1532 } 1533 }; 1534 1535 /* QSA/matchesSelector 1536 ---------------------------------------------------------------------- */ 1537 1538 // QSA and matchesSelector support 1539 1540 // matchesSelector(:active) reports false when true (IE9/Opera 11.5) 1541 rbuggyMatches = []; 1542 1543 // qSa(:focus) reports false when true (Chrome 21) 1544 // We allow this because of a bug in IE8/9 that throws an error 1545 // whenever `document.activeElement` is accessed on an iframe 1546 // So, we allow :focus to pass through QSA all the time to avoid the IE error 1547 // See https://bugs.jquery.com/ticket/13378 1548 rbuggyQSA = []; 1549 1550 if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) { 1551 1552 // Build QSA regex 1553 // Regex strategy adopted from Diego Perini 1554 assert( function( el ) { 1555 1556 var input; 1557 1558 // Select is set to empty string on purpose 1559 // This is to test IE's treatment of not explicitly 1560 // setting a boolean content attribute, 1561 // since its presence should be enough 1562 // https://bugs.jquery.com/ticket/12359 1563 docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" + 1564 "<select id='" + expando + "-\r\\' msallowcapture=''>" + 1565 "<option selected=''></option></select>"; 1566 1567 // Support: IE8, Opera 11-12.16 1568 // Nothing should be selected when empty strings follow ^= or $= or *= 1569 // The test attribute must be unknown in Opera but "safe" for WinRT 1570 // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section 1571 if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) { 1572 rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); 1573 } 1574 1575 // Support: IE8 1576 // Boolean attributes and "value" are not treated correctly 1577 if ( !el.querySelectorAll( "[selected]" ).length ) { 1578 rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); 1579 } 1580 1581 // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ 1582 if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { 1583 rbuggyQSA.push( "~=" ); 1584 } 1585 1586 // Support: IE 11+, Edge 15 - 18+ 1587 // IE 11/Edge don't find elements on a `[name='']` query in some cases. 1588 // Adding a temporary attribute to the document before the selection works 1589 // around the issue. 1590 // Interestingly, IE 10 & older don't seem to have the issue. 1591 input = document.createElement( "input" ); 1592 input.setAttribute( "name", "" ); 1593 el.appendChild( input ); 1594 if ( !el.querySelectorAll( "[name='']" ).length ) { 1595 rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + 1596 whitespace + "*(?:''|\"\")" ); 1597 } 1598 1599 // Webkit/Opera - :checked should return selected option elements 1600 // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked 1601 // IE8 throws error here and will not see later tests 1602 if ( !el.querySelectorAll( ":checked" ).length ) { 1603 rbuggyQSA.push( ":checked" ); 1604 } 1605 1606 // Support: Safari 8+, iOS 8+ 1607 // https://bugs.webkit.org/show_bug.cgi?id=136851 1608 // In-page `selector#id sibling-combinator selector` fails 1609 if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { 1610 rbuggyQSA.push( ".#.+[+~]" ); 1611 } 1612 1613 // Support: Firefox <=3.6 - 5 only 1614 // Old Firefox doesn't throw on a badly-escaped identifier. 1615 el.querySelectorAll( "\\\f" ); 1616 rbuggyQSA.push( "[\\r\\n\\f]" ); 1617 } ); 1618 1619 assert( function( el ) { 1620 el.innerHTML = "<a href='' disabled='disabled'></a>" + 1621 "<select disabled='disabled'><option/></select>"; 1622 1623 // Support: Windows 8 Native Apps 1624 // The type and name attributes are restricted during .innerHTML assignment 1625 var input = document.createElement( "input" ); 1626 input.setAttribute( "type", "hidden" ); 1627 el.appendChild( input ).setAttribute( "name", "D" ); 1628 1629 // Support: IE8 1630 // Enforce case-sensitivity of name attribute 1631 if ( el.querySelectorAll( "[name=d]" ).length ) { 1632 rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); 1633 } 1634 1635 // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) 1636 // IE8 throws error here and will not see later tests 1637 if ( el.querySelectorAll( ":enabled" ).length !== 2 ) { 1638 rbuggyQSA.push( ":enabled", ":disabled" ); 1639 } 1640 1641 // Support: IE9-11+ 1642 // IE's :disabled selector does not pick up the children of disabled fieldsets 1643 docElem.appendChild( el ).disabled = true; 1644 if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { 1645 rbuggyQSA.push( ":enabled", ":disabled" ); 1646 } 1647 1648 // Support: Opera 10 - 11 only 1649 // Opera 10-11 does not throw on post-comma invalid pseudos 1650 el.querySelectorAll( "*,:x" ); 1651 rbuggyQSA.push( ",.*:" ); 1652 } ); 1653 } 1654 1655 if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches || 1656 docElem.webkitMatchesSelector || 1657 docElem.mozMatchesSelector || 1658 docElem.oMatchesSelector || 1659 docElem.msMatchesSelector ) ) ) ) { 1660 1661 assert( function( el ) { 1662 1663 // Check to see if it's possible to do matchesSelector 1664 // on a disconnected node (IE 9) 1665 support.disconnectedMatch = matches.call( el, "*" ); 1666 1667 // This should fail with an exception 1668 // Gecko does not error, returns false instead 1669 matches.call( el, "[s!='']:x" ); 1670 rbuggyMatches.push( "!=", pseudos ); 1671 } ); 1672 } 1673 1674 rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); 1675 rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) ); 1676 1677 /* Contains 1678 ---------------------------------------------------------------------- */ 1679 hasCompare = rnative.test( docElem.compareDocumentPosition ); 1680 1681 // Element contains another 1682 // Purposefully self-exclusive 1683 // As in, an element does not contain itself 1684 contains = hasCompare || rnative.test( docElem.contains ) ? 1685 function( a, b ) { 1686 var adown = a.nodeType === 9 ? a.documentElement : a, 1687 bup = b && b.parentNode; 1688 return a === bup || !!( bup && bup.nodeType === 1 && ( 1689 adown.contains ? 1690 adown.contains( bup ) : 1691 a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 1692 ) ); 1693 } : 1694 function( a, b ) { 1695 if ( b ) { 1696 while ( ( b = b.parentNode ) ) { 1697 if ( b === a ) { 1698 return true; 1699 } 1700 } 1701 } 1702 return false; 1703 }; 1704 1705 /* Sorting 1706 ---------------------------------------------------------------------- */ 1707 1708 // Document order sorting 1709 sortOrder = hasCompare ? 1710 function( a, b ) { 1711 1712 // Flag for duplicate removal 1713 if ( a === b ) { 1714 hasDuplicate = true; 1715 return 0; 1716 } 1717 1718 // Sort on method existence if only one input has compareDocumentPosition 1719 var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; 1720 if ( compare ) { 1721 return compare; 1722 } 1723 1724 // Calculate position if both inputs belong to the same document 1725 // Support: IE 11+, Edge 17 - 18+ 1726 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 1727 // two documents; shallow comparisons work. 1728 // eslint-disable-next-line eqeqeq 1729 compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? 1730 a.compareDocumentPosition( b ) : 1731 1732 // Otherwise we know they are disconnected 1733 1; 1734 1735 // Disconnected nodes 1736 if ( compare & 1 || 1737 ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { 1738 1739 // Choose the first element that is related to our preferred document 1740 // Support: IE 11+, Edge 17 - 18+ 1741 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 1742 // two documents; shallow comparisons work. 1743 // eslint-disable-next-line eqeqeq 1744 if ( a == document || a.ownerDocument == preferredDoc && 1745 contains( preferredDoc, a ) ) { 1746 return -1; 1747 } 1748 1749 // Support: IE 11+, Edge 17 - 18+ 1750 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 1751 // two documents; shallow comparisons work. 1752 // eslint-disable-next-line eqeqeq 1753 if ( b == document || b.ownerDocument == preferredDoc && 1754 contains( preferredDoc, b ) ) { 1755 return 1; 1756 } 1757 1758 // Maintain original order 1759 return sortInput ? 1760 ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : 1761 0; 1762 } 1763 1764 return compare & 4 ? -1 : 1; 1765 } : 1766 function( a, b ) { 1767 1768 // Exit early if the nodes are identical 1769 if ( a === b ) { 1770 hasDuplicate = true; 1771 return 0; 1772 } 1773 1774 var cur, 1775 i = 0, 1776 aup = a.parentNode, 1777 bup = b.parentNode, 1778 ap = [ a ], 1779 bp = [ b ]; 1780 1781 // Parentless nodes are either documents or disconnected 1782 if ( !aup || !bup ) { 1783 1784 // Support: IE 11+, Edge 17 - 18+ 1785 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 1786 // two documents; shallow comparisons work. 1787 /* eslint-disable eqeqeq */ 1788 return a == document ? -1 : 1789 b == document ? 1 : 1790 /* eslint-enable eqeqeq */ 1791 aup ? -1 : 1792 bup ? 1 : 1793 sortInput ? 1794 ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : 1795 0; 1796 1797 // If the nodes are siblings, we can do a quick check 1798 } else if ( aup === bup ) { 1799 return siblingCheck( a, b ); 1800 } 1801 1802 // Otherwise we need full lists of their ancestors for comparison 1803 cur = a; 1804 while ( ( cur = cur.parentNode ) ) { 1805 ap.unshift( cur ); 1806 } 1807 cur = b; 1808 while ( ( cur = cur.parentNode ) ) { 1809 bp.unshift( cur ); 1810 } 1811 1812 // Walk down the tree looking for a discrepancy 1813 while ( ap[ i ] === bp[ i ] ) { 1814 i++; 1815 } 1816 1817 return i ? 1818 1819 // Do a sibling check if the nodes have a common ancestor 1820 siblingCheck( ap[ i ], bp[ i ] ) : 1821 1822 // Otherwise nodes in our document sort first 1823 // Support: IE 11+, Edge 17 - 18+ 1824 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 1825 // two documents; shallow comparisons work. 1826 /* eslint-disable eqeqeq */ 1827 ap[ i ] == preferredDoc ? -1 : 1828 bp[ i ] == preferredDoc ? 1 : 1829 /* eslint-enable eqeqeq */ 1830 0; 1831 }; 1832 1833 return document; 1834}; 1835 1836Sizzle.matches = function( expr, elements ) { 1837 return Sizzle( expr, null, null, elements ); 1838}; 1839 1840Sizzle.matchesSelector = function( elem, expr ) { 1841 setDocument( elem ); 1842 1843 if ( support.matchesSelector && documentIsHTML && 1844 !nonnativeSelectorCache[ expr + " " ] && 1845 ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && 1846 ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { 1847 1848 try { 1849 var ret = matches.call( elem, expr ); 1850 1851 // IE 9's matchesSelector returns false on disconnected nodes 1852 if ( ret || support.disconnectedMatch || 1853 1854 // As well, disconnected nodes are said to be in a document 1855 // fragment in IE 9 1856 elem.document && elem.document.nodeType !== 11 ) { 1857 return ret; 1858 } 1859 } catch ( e ) { 1860 nonnativeSelectorCache( expr, true ); 1861 } 1862 } 1863 1864 return Sizzle( expr, document, null, [ elem ] ).length > 0; 1865}; 1866 1867Sizzle.contains = function( context, elem ) { 1868 1869 // Set document vars if needed 1870 // Support: IE 11+, Edge 17 - 18+ 1871 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 1872 // two documents; shallow comparisons work. 1873 // eslint-disable-next-line eqeqeq 1874 if ( ( context.ownerDocument || context ) != document ) { 1875 setDocument( context ); 1876 } 1877 return contains( context, elem ); 1878}; 1879 1880Sizzle.attr = function( elem, name ) { 1881 1882 // Set document vars if needed 1883 // Support: IE 11+, Edge 17 - 18+ 1884 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 1885 // two documents; shallow comparisons work. 1886 // eslint-disable-next-line eqeqeq 1887 if ( ( elem.ownerDocument || elem ) != document ) { 1888 setDocument( elem ); 1889 } 1890 1891 var fn = Expr.attrHandle[ name.toLowerCase() ], 1892 1893 // Don't get fooled by Object.prototype properties (jQuery #13807) 1894 val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? 1895 fn( elem, name, !documentIsHTML ) : 1896 undefined; 1897 1898 return val !== undefined ? 1899 val : 1900 support.attributes || !documentIsHTML ? 1901 elem.getAttribute( name ) : 1902 ( val = elem.getAttributeNode( name ) ) && val.specified ? 1903 val.value : 1904 null; 1905}; 1906 1907Sizzle.escape = function( sel ) { 1908 return ( sel + "" ).replace( rcssescape, fcssescape ); 1909}; 1910 1911Sizzle.error = function( msg ) { 1912 throw new Error( "Syntax error, unrecognized expression: " + msg ); 1913}; 1914 1915/** 1916 * Document sorting and removing duplicates 1917 * @param {ArrayLike} results 1918 */ 1919Sizzle.uniqueSort = function( results ) { 1920 var elem, 1921 duplicates = [], 1922 j = 0, 1923 i = 0; 1924 1925 // Unless we *know* we can detect duplicates, assume their presence 1926 hasDuplicate = !support.detectDuplicates; 1927 sortInput = !support.sortStable && results.slice( 0 ); 1928 results.sort( sortOrder ); 1929 1930 if ( hasDuplicate ) { 1931 while ( ( elem = results[ i++ ] ) ) { 1932 if ( elem === results[ i ] ) { 1933 j = duplicates.push( i ); 1934 } 1935 } 1936 while ( j-- ) { 1937 results.splice( duplicates[ j ], 1 ); 1938 } 1939 } 1940 1941 // Clear input after sorting to release objects 1942 // See https://github.com/jquery/sizzle/pull/225 1943 sortInput = null; 1944 1945 return results; 1946}; 1947 1948/** 1949 * Utility function for retrieving the text value of an array of DOM nodes 1950 * @param {Array|Element} elem 1951 */ 1952getText = Sizzle.getText = function( elem ) { 1953 var node, 1954 ret = "", 1955 i = 0, 1956 nodeType = elem.nodeType; 1957 1958 if ( !nodeType ) { 1959 1960 // If no nodeType, this is expected to be an array 1961 while ( ( node = elem[ i++ ] ) ) { 1962 1963 // Do not traverse comment nodes 1964 ret += getText( node ); 1965 } 1966 } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { 1967 1968 // Use textContent for elements 1969 // innerText usage removed for consistency of new lines (jQuery #11153) 1970 if ( typeof elem.textContent === "string" ) { 1971 return elem.textContent; 1972 } else { 1973 1974 // Traverse its children 1975 for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { 1976 ret += getText( elem ); 1977 } 1978 } 1979 } else if ( nodeType === 3 || nodeType === 4 ) { 1980 return elem.nodeValue; 1981 } 1982 1983 // Do not include comment or processing instruction nodes 1984 1985 return ret; 1986}; 1987 1988Expr = Sizzle.selectors = { 1989 1990 // Can be adjusted by the user 1991 cacheLength: 50, 1992 1993 createPseudo: markFunction, 1994 1995 match: matchExpr, 1996 1997 attrHandle: {}, 1998 1999 find: {}, 2000 2001 relative: { 2002 ">": { dir: "parentNode", first: true }, 2003 " ": { dir: "parentNode" }, 2004 "+": { dir: "previousSibling", first: true }, 2005 "~": { dir: "previousSibling" } 2006 }, 2007 2008 preFilter: { 2009 "ATTR": function( match ) { 2010 match[ 1 ] = match[ 1 ].replace( runescape, funescape ); 2011 2012 // Move the given value to match[3] whether quoted or unquoted 2013 match[ 3 ] = ( match[ 3 ] || match[ 4 ] || 2014 match[ 5 ] || "" ).replace( runescape, funescape ); 2015 2016 if ( match[ 2 ] === "~=" ) { 2017 match[ 3 ] = " " + match[ 3 ] + " "; 2018 } 2019 2020 return match.slice( 0, 4 ); 2021 }, 2022 2023 "CHILD": function( match ) { 2024 2025 /* matches from matchExpr["CHILD"] 2026 1 type (only|nth|...) 2027 2 what (child|of-type) 2028 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) 2029 4 xn-component of xn+y argument ([+-]?\d*n|) 2030 5 sign of xn-component 2031 6 x of xn-component 2032 7 sign of y-component 2033 8 y of y-component 2034 */ 2035 match[ 1 ] = match[ 1 ].toLowerCase(); 2036 2037 if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { 2038 2039 // nth-* requires argument 2040 if ( !match[ 3 ] ) { 2041 Sizzle.error( match[ 0 ] ); 2042 } 2043 2044 // numeric x and y parameters for Expr.filter.CHILD 2045 // remember that false/true cast respectively to 0/1 2046 match[ 4 ] = +( match[ 4 ] ? 2047 match[ 5 ] + ( match[ 6 ] || 1 ) : 2048 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) ); 2049 match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); 2050 2051 // other types prohibit arguments 2052 } else if ( match[ 3 ] ) { 2053 Sizzle.error( match[ 0 ] ); 2054 } 2055 2056 return match; 2057 }, 2058 2059 "PSEUDO": function( match ) { 2060 var excess, 2061 unquoted = !match[ 6 ] && match[ 2 ]; 2062 2063 if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) { 2064 return null; 2065 } 2066 2067 // Accept quoted arguments as-is 2068 if ( match[ 3 ] ) { 2069 match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; 2070 2071 // Strip excess characters from unquoted arguments 2072 } else if ( unquoted && rpseudo.test( unquoted ) && 2073 2074 // Get excess from tokenize (recursively) 2075 ( excess = tokenize( unquoted, true ) ) && 2076 2077 // advance to the next closing parenthesis 2078 ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { 2079 2080 // excess is a negative index 2081 match[ 0 ] = match[ 0 ].slice( 0, excess ); 2082 match[ 2 ] = unquoted.slice( 0, excess ); 2083 } 2084 2085 // Return only captures needed by the pseudo filter method (type and argument) 2086 return match.slice( 0, 3 ); 2087 } 2088 }, 2089 2090 filter: { 2091 2092 "TAG": function( nodeNameSelector ) { 2093 var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); 2094 return nodeNameSelector === "*" ? 2095 function() { 2096 return true; 2097 } : 2098 function( elem ) { 2099 return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; 2100 }; 2101 }, 2102 2103 "CLASS": function( className ) { 2104 var pattern = classCache[ className + " " ]; 2105 2106 return pattern || 2107 ( pattern = new RegExp( "(^|" + whitespace + 2108 ")" + className + "(" + whitespace + "|$)" ) ) && classCache( 2109 className, function( elem ) { 2110 return pattern.test( 2111 typeof elem.className === "string" && elem.className || 2112 typeof elem.getAttribute !== "undefined" && 2113 elem.getAttribute( "class" ) || 2114 "" 2115 ); 2116 } ); 2117 }, 2118 2119 "ATTR": function( name, operator, check ) { 2120 return function( elem ) { 2121 var result = Sizzle.attr( elem, name ); 2122 2123 if ( result == null ) { 2124 return operator === "!="; 2125 } 2126 if ( !operator ) { 2127 return true; 2128 } 2129 2130 result += ""; 2131 2132 /* eslint-disable max-len */ 2133 2134 return operator === "=" ? result === check : 2135 operator === "!=" ? result !== check : 2136 operator === "^=" ? check && result.indexOf( check ) === 0 : 2137 operator === "*=" ? check && result.indexOf( check ) > -1 : 2138 operator === "$=" ? check && result.slice( -check.length ) === check : 2139 operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : 2140 operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : 2141 false; 2142 /* eslint-enable max-len */ 2143 2144 }; 2145 }, 2146 2147 "CHILD": function( type, what, _argument, first, last ) { 2148 var simple = type.slice( 0, 3 ) !== "nth", 2149 forward = type.slice( -4 ) !== "last", 2150 ofType = what === "of-type"; 2151 2152 return first === 1 && last === 0 ? 2153 2154 // Shortcut for :nth-*(n) 2155 function( elem ) { 2156 return !!elem.parentNode; 2157 } : 2158 2159 function( elem, _context, xml ) { 2160 var cache, uniqueCache, outerCache, node, nodeIndex, start, 2161 dir = simple !== forward ? "nextSibling" : "previousSibling", 2162 parent = elem.parentNode, 2163 name = ofType && elem.nodeName.toLowerCase(), 2164 useCache = !xml && !ofType, 2165 diff = false; 2166 2167 if ( parent ) { 2168 2169 // :(first|last|only)-(child|of-type) 2170 if ( simple ) { 2171 while ( dir ) { 2172 node = elem; 2173 while ( ( node = node[ dir ] ) ) { 2174 if ( ofType ? 2175 node.nodeName.toLowerCase() === name : 2176 node.nodeType === 1 ) { 2177 2178 return false; 2179 } 2180 } 2181 2182 // Reverse direction for :only-* (if we haven't yet done so) 2183 start = dir = type === "only" && !start && "nextSibling"; 2184 } 2185 return true; 2186 } 2187 2188 start = [ forward ? parent.firstChild : parent.lastChild ]; 2189 2190 // non-xml :nth-child(...) stores cache data on `parent` 2191 if ( forward && useCache ) { 2192 2193 // Seek `elem` from a previously-cached index 2194 2195 // ...in a gzip-friendly way 2196 node = parent; 2197 outerCache = node[ expando ] || ( node[ expando ] = {} ); 2198 2199 // Support: IE <9 only 2200 // Defend against cloned attroperties (jQuery gh-1709) 2201 uniqueCache = outerCache[ node.uniqueID ] || 2202 ( outerCache[ node.uniqueID ] = {} ); 2203 2204 cache = uniqueCache[ type ] || []; 2205 nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; 2206 diff = nodeIndex && cache[ 2 ]; 2207 node = nodeIndex && parent.childNodes[ nodeIndex ]; 2208 2209 while ( ( node = ++nodeIndex && node && node[ dir ] || 2210 2211 // Fallback to seeking `elem` from the start 2212 ( diff = nodeIndex = 0 ) || start.pop() ) ) { 2213 2214 // When found, cache indexes on `parent` and break 2215 if ( node.nodeType === 1 && ++diff && node === elem ) { 2216 uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; 2217 break; 2218 } 2219 } 2220 2221 } else { 2222 2223 // Use previously-cached element index if available 2224 if ( useCache ) { 2225 2226 // ...in a gzip-friendly way 2227 node = elem; 2228 outerCache = node[ expando ] || ( node[ expando ] = {} ); 2229 2230 // Support: IE <9 only 2231 // Defend against cloned attroperties (jQuery gh-1709) 2232 uniqueCache = outerCache[ node.uniqueID ] || 2233 ( outerCache[ node.uniqueID ] = {} ); 2234 2235 cache = uniqueCache[ type ] || []; 2236 nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; 2237 diff = nodeIndex; 2238 } 2239 2240 // xml :nth-child(...) 2241 // or :nth-last-child(...) or :nth(-last)?-of-type(...) 2242 if ( diff === false ) { 2243 2244 // Use the same loop as above to seek `elem` from the start 2245 while ( ( node = ++nodeIndex && node && node[ dir ] || 2246 ( diff = nodeIndex = 0 ) || start.pop() ) ) { 2247 2248 if ( ( ofType ? 2249 node.nodeName.toLowerCase() === name : 2250 node.nodeType === 1 ) && 2251 ++diff ) { 2252 2253 // Cache the index of each encountered element 2254 if ( useCache ) { 2255 outerCache = node[ expando ] || 2256 ( node[ expando ] = {} ); 2257 2258 // Support: IE <9 only 2259 // Defend against cloned attroperties (jQuery gh-1709) 2260 uniqueCache = outerCache[ node.uniqueID ] || 2261 ( outerCache[ node.uniqueID ] = {} ); 2262 2263 uniqueCache[ type ] = [ dirruns, diff ]; 2264 } 2265 2266 if ( node === elem ) { 2267 break; 2268 } 2269 } 2270 } 2271 } 2272 } 2273 2274 // Incorporate the offset, then check against cycle size 2275 diff -= last; 2276 return diff === first || ( diff % first === 0 && diff / first >= 0 ); 2277 } 2278 }; 2279 }, 2280 2281 "PSEUDO": function( pseudo, argument ) { 2282 2283 // pseudo-class names are case-insensitive 2284 // http://www.w3.org/TR/selectors/#pseudo-classes 2285 // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters 2286 // Remember that setFilters inherits from pseudos 2287 var args, 2288 fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || 2289 Sizzle.error( "unsupported pseudo: " + pseudo ); 2290 2291 // The user may use createPseudo to indicate that 2292 // arguments are needed to create the filter function 2293 // just as Sizzle does 2294 if ( fn[ expando ] ) { 2295 return fn( argument ); 2296 } 2297 2298 // But maintain support for old signatures 2299 if ( fn.length > 1 ) { 2300 args = [ pseudo, pseudo, "", argument ]; 2301 return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? 2302 markFunction( function( seed, matches ) { 2303 var idx, 2304 matched = fn( seed, argument ), 2305 i = matched.length; 2306 while ( i-- ) { 2307 idx = indexOf( seed, matched[ i ] ); 2308 seed[ idx ] = !( matches[ idx ] = matched[ i ] ); 2309 } 2310 } ) : 2311 function( elem ) { 2312 return fn( elem, 0, args ); 2313 }; 2314 } 2315 2316 return fn; 2317 } 2318 }, 2319 2320 pseudos: { 2321 2322 // Potentially complex pseudos 2323 "not": markFunction( function( selector ) { 2324 2325 // Trim the selector passed to compile 2326 // to avoid treating leading and trailing 2327 // spaces as combinators 2328 var input = [], 2329 results = [], 2330 matcher = compile( selector.replace( rtrim, "$1" ) ); 2331 2332 return matcher[ expando ] ? 2333 markFunction( function( seed, matches, _context, xml ) { 2334 var elem, 2335 unmatched = matcher( seed, null, xml, [] ), 2336 i = seed.length; 2337 2338 // Match elements unmatched by `matcher` 2339 while ( i-- ) { 2340 if ( ( elem = unmatched[ i ] ) ) { 2341 seed[ i ] = !( matches[ i ] = elem ); 2342 } 2343 } 2344 } ) : 2345 function( elem, _context, xml ) { 2346 input[ 0 ] = elem; 2347 matcher( input, null, xml, results ); 2348 2349 // Don't keep the element (issue #299) 2350 input[ 0 ] = null; 2351 return !results.pop(); 2352 }; 2353 } ), 2354 2355 "has": markFunction( function( selector ) { 2356 return function( elem ) { 2357 return Sizzle( selector, elem ).length > 0; 2358 }; 2359 } ), 2360 2361 "contains": markFunction( function( text ) { 2362 text = text.replace( runescape, funescape ); 2363 return function( elem ) { 2364 return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; 2365 }; 2366 } ), 2367 2368 // "Whether an element is represented by a :lang() selector 2369 // is based solely on the element's language value 2370 // being equal to the identifier C, 2371 // or beginning with the identifier C immediately followed by "-". 2372 // The matching of C against the element's language value is performed case-insensitively. 2373 // The identifier C does not have to be a valid language name." 2374 // http://www.w3.org/TR/selectors/#lang-pseudo 2375 "lang": markFunction( function( lang ) { 2376 2377 // lang value must be a valid identifier 2378 if ( !ridentifier.test( lang || "" ) ) { 2379 Sizzle.error( "unsupported lang: " + lang ); 2380 } 2381 lang = lang.replace( runescape, funescape ).toLowerCase(); 2382 return function( elem ) { 2383 var elemLang; 2384 do { 2385 if ( ( elemLang = documentIsHTML ? 2386 elem.lang : 2387 elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { 2388 2389 elemLang = elemLang.toLowerCase(); 2390 return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; 2391 } 2392 } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); 2393 return false; 2394 }; 2395 } ), 2396 2397 // Miscellaneous 2398 "target": function( elem ) { 2399 var hash = window.location && window.location.hash; 2400 return hash && hash.slice( 1 ) === elem.id; 2401 }, 2402 2403 "root": function( elem ) { 2404 return elem === docElem; 2405 }, 2406 2407 "focus": function( elem ) { 2408 return elem === document.activeElement && 2409 ( !document.hasFocus || document.hasFocus() ) && 2410 !!( elem.type || elem.href || ~elem.tabIndex ); 2411 }, 2412 2413 // Boolean properties 2414 "enabled": createDisabledPseudo( false ), 2415 "disabled": createDisabledPseudo( true ), 2416 2417 "checked": function( elem ) { 2418 2419 // In CSS3, :checked should return both checked and selected elements 2420 // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked 2421 var nodeName = elem.nodeName.toLowerCase(); 2422 return ( nodeName === "input" && !!elem.checked ) || 2423 ( nodeName === "option" && !!elem.selected ); 2424 }, 2425 2426 "selected": function( elem ) { 2427 2428 // Accessing this property makes selected-by-default 2429 // options in Safari work properly 2430 if ( elem.parentNode ) { 2431 // eslint-disable-next-line no-unused-expressions 2432 elem.parentNode.selectedIndex; 2433 } 2434 2435 return elem.selected === true; 2436 }, 2437 2438 // Contents 2439 "empty": function( elem ) { 2440 2441 // http://www.w3.org/TR/selectors/#empty-pseudo 2442 // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), 2443 // but not by others (comment: 8; processing instruction: 7; etc.) 2444 // nodeType < 6 works because attributes (2) do not appear as children 2445 for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { 2446 if ( elem.nodeType < 6 ) { 2447 return false; 2448 } 2449 } 2450 return true; 2451 }, 2452 2453 "parent": function( elem ) { 2454 return !Expr.pseudos[ "empty" ]( elem ); 2455 }, 2456 2457 // Element/input types 2458 "header": function( elem ) { 2459 return rheader.test( elem.nodeName ); 2460 }, 2461 2462 "input": function( elem ) { 2463 return rinputs.test( elem.nodeName ); 2464 }, 2465 2466 "button": function( elem ) { 2467 var name = elem.nodeName.toLowerCase(); 2468 return name === "input" && elem.type === "button" || name === "button"; 2469 }, 2470 2471 "text": function( elem ) { 2472 var attr; 2473 return elem.nodeName.toLowerCase() === "input" && 2474 elem.type === "text" && 2475 2476 // Support: IE<8 2477 // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" 2478 ( ( attr = elem.getAttribute( "type" ) ) == null || 2479 attr.toLowerCase() === "text" ); 2480 }, 2481 2482 // Position-in-collection 2483 "first": createPositionalPseudo( function() { 2484 return [ 0 ]; 2485 } ), 2486 2487 "last": createPositionalPseudo( function( _matchIndexes, length ) { 2488 return [ length - 1 ]; 2489 } ), 2490 2491 "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) { 2492 return [ argument < 0 ? argument + length : argument ]; 2493 } ), 2494 2495 "even": createPositionalPseudo( function( matchIndexes, length ) { 2496 var i = 0; 2497 for ( ; i < length; i += 2 ) { 2498 matchIndexes.push( i ); 2499 } 2500 return matchIndexes; 2501 } ), 2502 2503 "odd": createPositionalPseudo( function( matchIndexes, length ) { 2504 var i = 1; 2505 for ( ; i < length; i += 2 ) { 2506 matchIndexes.push( i ); 2507 } 2508 return matchIndexes; 2509 } ), 2510 2511 "lt": createPositionalPseudo( function( matchIndexes, length, argument ) { 2512 var i = argument < 0 ? 2513 argument + length : 2514 argument > length ? 2515 length : 2516 argument; 2517 for ( ; --i >= 0; ) { 2518 matchIndexes.push( i ); 2519 } 2520 return matchIndexes; 2521 } ), 2522 2523 "gt": createPositionalPseudo( function( matchIndexes, length, argument ) { 2524 var i = argument < 0 ? argument + length : argument; 2525 for ( ; ++i < length; ) { 2526 matchIndexes.push( i ); 2527 } 2528 return matchIndexes; 2529 } ) 2530 } 2531}; 2532 2533Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ]; 2534 2535// Add button/input type pseudos 2536for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { 2537 Expr.pseudos[ i ] = createInputPseudo( i ); 2538} 2539for ( i in { submit: true, reset: true } ) { 2540 Expr.pseudos[ i ] = createButtonPseudo( i ); 2541} 2542 2543// Easy API for creating new setFilters 2544function setFilters() {} 2545setFilters.prototype = Expr.filters = Expr.pseudos; 2546Expr.setFilters = new setFilters(); 2547 2548tokenize = Sizzle.tokenize = function( selector, parseOnly ) { 2549 var matched, match, tokens, type, 2550 soFar, groups, preFilters, 2551 cached = tokenCache[ selector + " " ]; 2552 2553 if ( cached ) { 2554 return parseOnly ? 0 : cached.slice( 0 ); 2555 } 2556 2557 soFar = selector; 2558 groups = []; 2559 preFilters = Expr.preFilter; 2560 2561 while ( soFar ) { 2562 2563 // Comma and first run 2564 if ( !matched || ( match = rcomma.exec( soFar ) ) ) { 2565 if ( match ) { 2566 2567 // Don't consume trailing commas as valid 2568 soFar = soFar.slice( match[ 0 ].length ) || soFar; 2569 } 2570 groups.push( ( tokens = [] ) ); 2571 } 2572 2573 matched = false; 2574 2575 // Combinators 2576 if ( ( match = rcombinators.exec( soFar ) ) ) { 2577 matched = match.shift(); 2578 tokens.push( { 2579 value: matched, 2580 2581 // Cast descendant combinators to space 2582 type: match[ 0 ].replace( rtrim, " " ) 2583 } ); 2584 soFar = soFar.slice( matched.length ); 2585 } 2586 2587 // Filters 2588 for ( type in Expr.filter ) { 2589 if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || 2590 ( match = preFilters[ type ]( match ) ) ) ) { 2591 matched = match.shift(); 2592 tokens.push( { 2593 value: matched, 2594 type: type, 2595 matches: match 2596 } ); 2597 soFar = soFar.slice( matched.length ); 2598 } 2599 } 2600 2601 if ( !matched ) { 2602 break; 2603 } 2604 } 2605 2606 // Return the length of the invalid excess 2607 // if we're just parsing 2608 // Otherwise, throw an error or return tokens 2609 return parseOnly ? 2610 soFar.length : 2611 soFar ? 2612 Sizzle.error( selector ) : 2613 2614 // Cache the tokens 2615 tokenCache( selector, groups ).slice( 0 ); 2616}; 2617 2618function toSelector( tokens ) { 2619 var i = 0, 2620 len = tokens.length, 2621 selector = ""; 2622 for ( ; i < len; i++ ) { 2623 selector += tokens[ i ].value; 2624 } 2625 return selector; 2626} 2627 2628function addCombinator( matcher, combinator, base ) { 2629 var dir = combinator.dir, 2630 skip = combinator.next, 2631 key = skip || dir, 2632 checkNonElements = base && key === "parentNode", 2633 doneName = done++; 2634 2635 return combinator.first ? 2636 2637 // Check against closest ancestor/preceding element 2638 function( elem, context, xml ) { 2639 while ( ( elem = elem[ dir ] ) ) { 2640 if ( elem.nodeType === 1 || checkNonElements ) { 2641 return matcher( elem, context, xml ); 2642 } 2643 } 2644 return false; 2645 } : 2646 2647 // Check against all ancestor/preceding elements 2648 function( elem, context, xml ) { 2649 var oldCache, uniqueCache, outerCache, 2650 newCache = [ dirruns, doneName ]; 2651 2652 // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching 2653 if ( xml ) { 2654 while ( ( elem = elem[ dir ] ) ) { 2655 if ( elem.nodeType === 1 || checkNonElements ) { 2656 if ( matcher( elem, context, xml ) ) { 2657 return true; 2658 } 2659 } 2660 } 2661 } else { 2662 while ( ( elem = elem[ dir ] ) ) { 2663 if ( elem.nodeType === 1 || checkNonElements ) { 2664 outerCache = elem[ expando ] || ( elem[ expando ] = {} ); 2665 2666 // Support: IE <9 only 2667 // Defend against cloned attroperties (jQuery gh-1709) 2668 uniqueCache = outerCache[ elem.uniqueID ] || 2669 ( outerCache[ elem.uniqueID ] = {} ); 2670 2671 if ( skip && skip === elem.nodeName.toLowerCase() ) { 2672 elem = elem[ dir ] || elem; 2673 } else if ( ( oldCache = uniqueCache[ key ] ) && 2674 oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { 2675 2676 // Assign to newCache so results back-propagate to previous elements 2677 return ( newCache[ 2 ] = oldCache[ 2 ] ); 2678 } else { 2679 2680 // Reuse newcache so results back-propagate to previous elements 2681 uniqueCache[ key ] = newCache; 2682 2683 // A match means we're done; a fail means we have to keep checking 2684 if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { 2685 return true; 2686 } 2687 } 2688 } 2689 } 2690 } 2691 return false; 2692 }; 2693} 2694 2695function elementMatcher( matchers ) { 2696 return matchers.length > 1 ? 2697 function( elem, context, xml ) { 2698 var i = matchers.length; 2699 while ( i-- ) { 2700 if ( !matchers[ i ]( elem, context, xml ) ) { 2701 return false; 2702 } 2703 } 2704 return true; 2705 } : 2706 matchers[ 0 ]; 2707} 2708 2709function multipleContexts( selector, contexts, results ) { 2710 var i = 0, 2711 len = contexts.length; 2712 for ( ; i < len; i++ ) { 2713 Sizzle( selector, contexts[ i ], results ); 2714 } 2715 return results; 2716} 2717 2718function condense( unmatched, map, filter, context, xml ) { 2719 var elem, 2720 newUnmatched = [], 2721 i = 0, 2722 len = unmatched.length, 2723 mapped = map != null; 2724 2725 for ( ; i < len; i++ ) { 2726 if ( ( elem = unmatched[ i ] ) ) { 2727 if ( !filter || filter( elem, context, xml ) ) { 2728 newUnmatched.push( elem ); 2729 if ( mapped ) { 2730 map.push( i ); 2731 } 2732 } 2733 } 2734 } 2735 2736 return newUnmatched; 2737} 2738 2739function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { 2740 if ( postFilter && !postFilter[ expando ] ) { 2741 postFilter = setMatcher( postFilter ); 2742 } 2743 if ( postFinder && !postFinder[ expando ] ) { 2744 postFinder = setMatcher( postFinder, postSelector ); 2745 } 2746 return markFunction( function( seed, results, context, xml ) { 2747 var temp, i, elem, 2748 preMap = [], 2749 postMap = [], 2750 preexisting = results.length, 2751 2752 // Get initial elements from seed or context 2753 elems = seed || multipleContexts( 2754 selector || "*", 2755 context.nodeType ? [ context ] : context, 2756 [] 2757 ), 2758 2759 // Prefilter to get matcher input, preserving a map for seed-results synchronization 2760 matcherIn = preFilter && ( seed || !selector ) ? 2761 condense( elems, preMap, preFilter, context, xml ) : 2762 elems, 2763 2764 matcherOut = matcher ? 2765 2766 // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, 2767 postFinder || ( seed ? preFilter : preexisting || postFilter ) ? 2768 2769 // ...intermediate processing is necessary 2770 [] : 2771 2772 // ...otherwise use results directly 2773 results : 2774 matcherIn; 2775 2776 // Find primary matches 2777 if ( matcher ) { 2778 matcher( matcherIn, matcherOut, context, xml ); 2779 } 2780 2781 // Apply postFilter 2782 if ( postFilter ) { 2783 temp = condense( matcherOut, postMap ); 2784 postFilter( temp, [], context, xml ); 2785 2786 // Un-match failing elements by moving them back to matcherIn 2787 i = temp.length; 2788 while ( i-- ) { 2789 if ( ( elem = temp[ i ] ) ) { 2790 matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); 2791 } 2792 } 2793 } 2794 2795 if ( seed ) { 2796 if ( postFinder || preFilter ) { 2797 if ( postFinder ) { 2798 2799 // Get the final matcherOut by condensing this intermediate into postFinder contexts 2800 temp = []; 2801 i = matcherOut.length; 2802 while ( i-- ) { 2803 if ( ( elem = matcherOut[ i ] ) ) { 2804 2805 // Restore matcherIn since elem is not yet a final match 2806 temp.push( ( matcherIn[ i ] = elem ) ); 2807 } 2808 } 2809 postFinder( null, ( matcherOut = [] ), temp, xml ); 2810 } 2811 2812 // Move matched elements from seed to results to keep them synchronized 2813 i = matcherOut.length; 2814 while ( i-- ) { 2815 if ( ( elem = matcherOut[ i ] ) && 2816 ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) { 2817 2818 seed[ temp ] = !( results[ temp ] = elem ); 2819 } 2820 } 2821 } 2822 2823 // Add elements to results, through postFinder if defined 2824 } else { 2825 matcherOut = condense( 2826 matcherOut === results ? 2827 matcherOut.splice( preexisting, matcherOut.length ) : 2828 matcherOut 2829 ); 2830 if ( postFinder ) { 2831 postFinder( null, results, matcherOut, xml ); 2832 } else { 2833 push.apply( results, matcherOut ); 2834 } 2835 } 2836 } ); 2837} 2838 2839function matcherFromTokens( tokens ) { 2840 var checkContext, matcher, j, 2841 len = tokens.length, 2842 leadingRelative = Expr.relative[ tokens[ 0 ].type ], 2843 implicitRelative = leadingRelative || Expr.relative[ " " ], 2844 i = leadingRelative ? 1 : 0, 2845 2846 // The foundational matcher ensures that elements are reachable from top-level context(s) 2847 matchContext = addCombinator( function( elem ) { 2848 return elem === checkContext; 2849 }, implicitRelative, true ), 2850 matchAnyContext = addCombinator( function( elem ) { 2851 return indexOf( checkContext, elem ) > -1; 2852 }, implicitRelative, true ), 2853 matchers = [ function( elem, context, xml ) { 2854 var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( 2855 ( checkContext = context ).nodeType ? 2856 matchContext( elem, context, xml ) : 2857 matchAnyContext( elem, context, xml ) ); 2858 2859 // Avoid hanging onto element (issue #299) 2860 checkContext = null; 2861 return ret; 2862 } ]; 2863 2864 for ( ; i < len; i++ ) { 2865 if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { 2866 matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; 2867 } else { 2868 matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); 2869 2870 // Return special upon seeing a positional matcher 2871 if ( matcher[ expando ] ) { 2872 2873 // Find the next relative operator (if any) for proper handling 2874 j = ++i; 2875 for ( ; j < len; j++ ) { 2876 if ( Expr.relative[ tokens[ j ].type ] ) { 2877 break; 2878 } 2879 } 2880 return setMatcher( 2881 i > 1 && elementMatcher( matchers ), 2882 i > 1 && toSelector( 2883 2884 // If the preceding token was a descendant combinator, insert an implicit any-element `*` 2885 tokens 2886 .slice( 0, i - 1 ) 2887 .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) 2888 ).replace( rtrim, "$1" ), 2889 matcher, 2890 i < j && matcherFromTokens( tokens.slice( i, j ) ), 2891 j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), 2892 j < len && toSelector( tokens ) 2893 ); 2894 } 2895 matchers.push( matcher ); 2896 } 2897 } 2898 2899 return elementMatcher( matchers ); 2900} 2901 2902function matcherFromGroupMatchers( elementMatchers, setMatchers ) { 2903 var bySet = setMatchers.length > 0, 2904 byElement = elementMatchers.length > 0, 2905 superMatcher = function( seed, context, xml, results, outermost ) { 2906 var elem, j, matcher, 2907 matchedCount = 0, 2908 i = "0", 2909 unmatched = seed && [], 2910 setMatched = [], 2911 contextBackup = outermostContext, 2912 2913 // We must always have either seed elements or outermost context 2914 elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ), 2915 2916 // Use integer dirruns iff this is the outermost matcher 2917 dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), 2918 len = elems.length; 2919 2920 if ( outermost ) { 2921 2922 // Support: IE 11+, Edge 17 - 18+ 2923 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 2924 // two documents; shallow comparisons work. 2925 // eslint-disable-next-line eqeqeq 2926 outermostContext = context == document || context || outermost; 2927 } 2928 2929 // Add elements passing elementMatchers directly to results 2930 // Support: IE<9, Safari 2931 // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id 2932 for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { 2933 if ( byElement && elem ) { 2934 j = 0; 2935 2936 // Support: IE 11+, Edge 17 - 18+ 2937 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 2938 // two documents; shallow comparisons work. 2939 // eslint-disable-next-line eqeqeq 2940 if ( !context && elem.ownerDocument != document ) { 2941 setDocument( elem ); 2942 xml = !documentIsHTML; 2943 } 2944 while ( ( matcher = elementMatchers[ j++ ] ) ) { 2945 if ( matcher( elem, context || document, xml ) ) { 2946 results.push( elem ); 2947 break; 2948 } 2949 } 2950 if ( outermost ) { 2951 dirruns = dirrunsUnique; 2952 } 2953 } 2954 2955 // Track unmatched elements for set filters 2956 if ( bySet ) { 2957 2958 // They will have gone through all possible matchers 2959 if ( ( elem = !matcher && elem ) ) { 2960 matchedCount--; 2961 } 2962 2963 // Lengthen the array for every element, matched or not 2964 if ( seed ) { 2965 unmatched.push( elem ); 2966 } 2967 } 2968 } 2969 2970 // `i` is now the count of elements visited above, and adding it to `matchedCount` 2971 // makes the latter nonnegative. 2972 matchedCount += i; 2973 2974 // Apply set filters to unmatched elements 2975 // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` 2976 // equals `i`), unless we didn't visit _any_ elements in the above loop because we have 2977 // no element matchers and no seed. 2978 // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that 2979 // case, which will result in a "00" `matchedCount` that differs from `i` but is also 2980 // numerically zero. 2981 if ( bySet && i !== matchedCount ) { 2982 j = 0; 2983 while ( ( matcher = setMatchers[ j++ ] ) ) { 2984 matcher( unmatched, setMatched, context, xml ); 2985 } 2986 2987 if ( seed ) { 2988 2989 // Reintegrate element matches to eliminate the need for sorting 2990 if ( matchedCount > 0 ) { 2991 while ( i-- ) { 2992 if ( !( unmatched[ i ] || setMatched[ i ] ) ) { 2993 setMatched[ i ] = pop.call( results ); 2994 } 2995 } 2996 } 2997 2998 // Discard index placeholder values to get only actual matches 2999 setMatched = condense( setMatched ); 3000 } 3001 3002 // Add matches to results 3003 push.apply( results, setMatched ); 3004 3005 // Seedless set matches succeeding multiple successful matchers stipulate sorting 3006 if ( outermost && !seed && setMatched.length > 0 && 3007 ( matchedCount + setMatchers.length ) > 1 ) { 3008 3009 Sizzle.uniqueSort( results ); 3010 } 3011 } 3012 3013 // Override manipulation of globals by nested matchers 3014 if ( outermost ) { 3015 dirruns = dirrunsUnique; 3016 outermostContext = contextBackup; 3017 } 3018 3019 return unmatched; 3020 }; 3021 3022 return bySet ? 3023 markFunction( superMatcher ) : 3024 superMatcher; 3025} 3026 3027compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { 3028 var i, 3029 setMatchers = [], 3030 elementMatchers = [], 3031 cached = compilerCache[ selector + " " ]; 3032 3033 if ( !cached ) { 3034 3035 // Generate a function of recursive functions that can be used to check each element 3036 if ( !match ) { 3037 match = tokenize( selector ); 3038 } 3039 i = match.length; 3040 while ( i-- ) { 3041 cached = matcherFromTokens( match[ i ] ); 3042 if ( cached[ expando ] ) { 3043 setMatchers.push( cached ); 3044 } else { 3045 elementMatchers.push( cached ); 3046 } 3047 } 3048 3049 // Cache the compiled function 3050 cached = compilerCache( 3051 selector, 3052 matcherFromGroupMatchers( elementMatchers, setMatchers ) 3053 ); 3054 3055 // Save selector and tokenization 3056 cached.selector = selector; 3057 } 3058 return cached; 3059}; 3060 3061/** 3062 * A low-level selection function that works with Sizzle's compiled 3063 * selector functions 3064 * @param {String|Function} selector A selector or a pre-compiled 3065 * selector function built with Sizzle.compile 3066 * @param {Element} context 3067 * @param {Array} [results] 3068 * @param {Array} [seed] A set of elements to match against 3069 */ 3070select = Sizzle.select = function( selector, context, results, seed ) { 3071 var i, tokens, token, type, find, 3072 compiled = typeof selector === "function" && selector, 3073 match = !seed && tokenize( ( selector = compiled.selector || selector ) ); 3074 3075 results = results || []; 3076 3077 // Try to minimize operations if there is only one selector in the list and no seed 3078 // (the latter of which guarantees us context) 3079 if ( match.length === 1 ) { 3080 3081 // Reduce context if the leading compound selector is an ID 3082 tokens = match[ 0 ] = match[ 0 ].slice( 0 ); 3083 if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && 3084 context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { 3085 3086 context = ( Expr.find[ "ID" ]( token.matches[ 0 ] 3087 .replace( runescape, funescape ), context ) || [] )[ 0 ]; 3088 if ( !context ) { 3089 return results; 3090 3091 // Precompiled matchers will still verify ancestry, so step up a level 3092 } else if ( compiled ) { 3093 context = context.parentNode; 3094 } 3095 3096 selector = selector.slice( tokens.shift().value.length ); 3097 } 3098 3099 // Fetch a seed set for right-to-left matching 3100 i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length; 3101 while ( i-- ) { 3102 token = tokens[ i ]; 3103 3104 // Abort if we hit a combinator 3105 if ( Expr.relative[ ( type = token.type ) ] ) { 3106 break; 3107 } 3108 if ( ( find = Expr.find[ type ] ) ) { 3109 3110 // Search, expanding context for leading sibling combinators 3111 if ( ( seed = find( 3112 token.matches[ 0 ].replace( runescape, funescape ), 3113 rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) || 3114 context 3115 ) ) ) { 3116 3117 // If seed is empty or no tokens remain, we can return early 3118 tokens.splice( i, 1 ); 3119 selector = seed.length && toSelector( tokens ); 3120 if ( !selector ) { 3121 push.apply( results, seed ); 3122 return results; 3123 } 3124 3125 break; 3126 } 3127 } 3128 } 3129 } 3130 3131 // Compile and execute a filtering function if one is not provided 3132 // Provide `match` to avoid retokenization if we modified the selector above 3133 ( compiled || compile( selector, match ) )( 3134 seed, 3135 context, 3136 !documentIsHTML, 3137 results, 3138 !context || rsibling.test( selector ) && testContext( context.parentNode ) || context 3139 ); 3140 return results; 3141}; 3142 3143// One-time assignments 3144 3145// Sort stability 3146support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; 3147 3148// Support: Chrome 14-35+ 3149// Always assume duplicates if they aren't passed to the comparison function 3150support.detectDuplicates = !!hasDuplicate; 3151 3152// Initialize against the default document 3153setDocument(); 3154 3155// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) 3156// Detached nodes confoundingly follow *each other* 3157support.sortDetached = assert( function( el ) { 3158 3159 // Should return 1, but returns 4 (following) 3160 return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; 3161} ); 3162 3163// Support: IE<8 3164// Prevent attribute/property "interpolation" 3165// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx 3166if ( !assert( function( el ) { 3167 el.innerHTML = "<a href='#'></a>"; 3168 return el.firstChild.getAttribute( "href" ) === "#"; 3169} ) ) { 3170 addHandle( "type|href|height|width", function( elem, name, isXML ) { 3171 if ( !isXML ) { 3172 return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); 3173 } 3174 } ); 3175} 3176 3177// Support: IE<9 3178// Use defaultValue in place of getAttribute("value") 3179if ( !support.attributes || !assert( function( el ) { 3180 el.innerHTML = "<input/>"; 3181 el.firstChild.setAttribute( "value", "" ); 3182 return el.firstChild.getAttribute( "value" ) === ""; 3183} ) ) { 3184 addHandle( "value", function( elem, _name, isXML ) { 3185 if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { 3186 return elem.defaultValue; 3187 } 3188 } ); 3189} 3190 3191// Support: IE<9 3192// Use getAttributeNode to fetch booleans when getAttribute lies 3193if ( !assert( function( el ) { 3194 return el.getAttribute( "disabled" ) == null; 3195} ) ) { 3196 addHandle( booleans, function( elem, name, isXML ) { 3197 var val; 3198 if ( !isXML ) { 3199 return elem[ name ] === true ? name.toLowerCase() : 3200 ( val = elem.getAttributeNode( name ) ) && val.specified ? 3201 val.value : 3202 null; 3203 } 3204 } ); 3205} 3206 3207return Sizzle; 3208 3209} )( window ); 3210 3211 3212 3213jQuery.find = Sizzle; 3214jQuery.expr = Sizzle.selectors; 3215 3216// Deprecated 3217jQuery.expr[ ":" ] = jQuery.expr.pseudos; 3218jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; 3219jQuery.text = Sizzle.getText; 3220jQuery.isXMLDoc = Sizzle.isXML; 3221jQuery.contains = Sizzle.contains; 3222jQuery.escapeSelector = Sizzle.escape; 3223 3224 3225 3226 3227var dir = function( elem, dir, until ) { 3228 var matched = [], 3229 truncate = until !== undefined; 3230 3231 while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { 3232 if ( elem.nodeType === 1 ) { 3233 if ( truncate && jQuery( elem ).is( until ) ) { 3234 break; 3235 } 3236 matched.push( elem ); 3237 } 3238 } 3239 return matched; 3240}; 3241 3242 3243var siblings = function( n, elem ) { 3244 var matched = []; 3245 3246 for ( ; n; n = n.nextSibling ) { 3247 if ( n.nodeType === 1 && n !== elem ) { 3248 matched.push( n ); 3249 } 3250 } 3251 3252 return matched; 3253}; 3254 3255 3256var rneedsContext = jQuery.expr.match.needsContext; 3257 3258 3259 3260function nodeName( elem, name ) { 3261 3262 return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); 3263 3264} 3265var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); 3266 3267 3268 3269// Implement the identical functionality for filter and not 3270function winnow( elements, qualifier, not ) { 3271 if ( isFunction( qualifier ) ) { 3272 return jQuery.grep( elements, function( elem, i ) { 3273 return !!qualifier.call( elem, i, elem ) !== not; 3274 } ); 3275 } 3276 3277 // Single element 3278 if ( qualifier.nodeType ) { 3279 return jQuery.grep( elements, function( elem ) { 3280 return ( elem === qualifier ) !== not; 3281 } ); 3282 } 3283 3284 // Arraylike of elements (jQuery, arguments, Array) 3285 if ( typeof qualifier !== "string" ) { 3286 return jQuery.grep( elements, function( elem ) { 3287 return ( indexOf.call( qualifier, elem ) > -1 ) !== not; 3288 } ); 3289 } 3290 3291 // Filtered directly for both simple and complex selectors 3292 return jQuery.filter( qualifier, elements, not ); 3293} 3294 3295jQuery.filter = function( expr, elems, not ) { 3296 var elem = elems[ 0 ]; 3297 3298 if ( not ) { 3299 expr = ":not(" + expr + ")"; 3300 } 3301 3302 if ( elems.length === 1 && elem.nodeType === 1 ) { 3303 return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; 3304 } 3305 3306 return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { 3307 return elem.nodeType === 1; 3308 } ) ); 3309}; 3310 3311jQuery.fn.extend( { 3312 find: function( selector ) { 3313 var i, ret, 3314 len = this.length, 3315 self = this; 3316 3317 if ( typeof selector !== "string" ) { 3318 return this.pushStack( jQuery( selector ).filter( function() { 3319 for ( i = 0; i < len; i++ ) { 3320 if ( jQuery.contains( self[ i ], this ) ) { 3321 return true; 3322 } 3323 } 3324 } ) ); 3325 } 3326 3327 ret = this.pushStack( [] ); 3328 3329 for ( i = 0; i < len; i++ ) { 3330
3330if (selector == "#") 3331 { 3332 //debugger; 3333 } 3334 else 3335
vendor: 102,158 bytes, lines 3335-7185
3335 jQuery.find( selector, self[ i ], ret ); 3336 } 3337 3338 return len > 1 ? jQuery.uniqueSort( ret ) : ret; 3339 }, 3340 filter: function( selector ) { 3341 return this.pushStack( winnow( this, selector || [], false ) ); 3342 }, 3343 not: function( selector ) { 3344 return this.pushStack( winnow( this, selector || [], true ) ); 3345 }, 3346 is: function( selector ) { 3347 return !!winnow( 3348 this, 3349 3350 // If this is a positional/relative selector, check membership in the returned set 3351 // so $("p:first").is("p:last") won't return true for a doc with two "p". 3352 typeof selector === "string" && rneedsContext.test( selector ) ? 3353 jQuery( selector ) : 3354 selector || [], 3355 false 3356 ).length; 3357 } 3358} ); 3359 3360 3361// Initialize a jQuery object 3362 3363 3364// A central reference to the root jQuery(document) 3365var rootjQuery, 3366 3367 // A simple way to check for HTML strings 3368 // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) 3369 // Strict HTML recognition (#11290: must start with <) 3370 // Shortcut simple #id case for speed 3371 rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, 3372 3373 init = jQuery.fn.init = function( selector, context, root ) { 3374 var match, elem; 3375 3376 // HANDLE: $(""), $(null), $(undefined), $(false) 3377 if ( !selector ) { 3378 return this; 3379 } 3380 3381 // Method init() accepts an alternate rootjQuery 3382 // so migrate can support jQuery.sub (gh-2101) 3383 root = root || rootjQuery; 3384 3385 // Handle HTML strings 3386 if ( typeof selector === "string" ) { 3387 if ( selector[ 0 ] === "<" && 3388 selector[ selector.length - 1 ] === ">" && 3389 selector.length >= 3 ) { 3390 3391 // Assume that strings that start and end with <> are HTML and skip the regex check 3392 match = [ null, selector, null ]; 3393 3394 } else { 3395 match = rquickExpr.exec( selector ); 3396 } 3397 3398 // Match html or make sure no context is specified for #id 3399 if ( match && ( match[ 1 ] || !context ) ) { 3400 3401 // HANDLE: $(html) -> $(array) 3402 if ( match[ 1 ] ) { 3403 context = context instanceof jQuery ? context[ 0 ] : context; 3404 3405 // Option to run scripts is true for back-compat 3406 // Intentionally let the error be thrown if parseHTML is not present 3407 jQuery.merge( this, jQuery.parseHTML( 3408 match[ 1 ], 3409 context && context.nodeType ? context.ownerDocument || context : document, 3410 true 3411 ) ); 3412 3413 // HANDLE: $(html, props) 3414 if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { 3415 for ( match in context ) { 3416 3417 // Properties of context are called as methods if possible 3418 if ( isFunction( this[ match ] ) ) { 3419 this[ match ]( context[ match ] ); 3420 3421 // ...and otherwise set as attributes 3422 } else { 3423 this.attr( match, context[ match ] ); 3424 } 3425 } 3426 } 3427 3428 return this; 3429 3430 // HANDLE: $(#id) 3431 } else { 3432 elem = document.getElementById( match[ 2 ] ); 3433 3434 if ( elem ) { 3435 3436 // Inject the element directly into the jQuery object 3437 this[ 0 ] = elem; 3438 this.length = 1; 3439 } 3440 return this; 3441 } 3442 3443 // HANDLE: $(expr, $(...)) 3444 } else if ( !context || context.jquery ) { 3445 return ( context || root ).find( selector ); 3446 3447 // HANDLE: $(expr, context) 3448 // (which is just equivalent to: $(context).find(expr) 3449 } else { 3450 return this.constructor( context ).find( selector ); 3451 } 3452 3453 // HANDLE: $(DOMElement) 3454 } else if ( selector.nodeType ) { 3455 this[ 0 ] = selector; 3456 this.length = 1; 3457 return this; 3458 3459 // HANDLE: $(function) 3460 // Shortcut for document ready 3461 } else if ( isFunction( selector ) ) { 3462 return root.ready !== undefined ? 3463 root.ready( selector ) : 3464 3465 // Execute immediately if ready is not present 3466 selector( jQuery ); 3467 } 3468 3469 return jQuery.makeArray( selector, this ); 3470 }; 3471 3472// Give the init function the jQuery prototype for later instantiation 3473init.prototype = jQuery.fn; 3474 3475// Initialize central reference 3476rootjQuery = jQuery( document ); 3477 3478 3479var rparentsprev = /^(?:parents|prev(?:Until|All))/, 3480 3481 // Methods guaranteed to produce a unique set when starting from a unique set 3482 guaranteedUnique = { 3483 children: true, 3484 contents: true, 3485 next: true, 3486 prev: true 3487 }; 3488 3489jQuery.fn.extend( { 3490 has: function( target ) { 3491 var targets = jQuery( target, this ), 3492 l = targets.length; 3493 3494 return this.filter( function() { 3495 var i = 0; 3496 for ( ; i < l; i++ ) { 3497 if ( jQuery.contains( this, targets[ i ] ) ) { 3498 return true; 3499 } 3500 } 3501 } ); 3502 }, 3503 3504 closest: function( selectors, context ) { 3505 var cur, 3506 i = 0, 3507 l = this.length, 3508 matched = [], 3509 targets = typeof selectors !== "string" && jQuery( selectors ); 3510 3511 // Positional selectors never match, since there's no _selection_ context 3512 if ( !rneedsContext.test( selectors ) ) { 3513 for ( ; i < l; i++ ) { 3514 for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { 3515 3516 // Always skip document fragments 3517 if ( cur.nodeType < 11 && ( targets ? 3518 targets.index( cur ) > -1 : 3519 3520 // Don't pass non-elements to Sizzle 3521 cur.nodeType === 1 && 3522 jQuery.find.matchesSelector( cur, selectors ) ) ) { 3523 3524 matched.push( cur ); 3525 break; 3526 } 3527 } 3528 } 3529 } 3530 3531 return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); 3532 }, 3533 3534 // Determine the position of an element within the set 3535 index: function( elem ) { 3536 3537 // No argument, return index in parent 3538 if ( !elem ) { 3539 return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; 3540 } 3541 3542 // Index in selector 3543 if ( typeof elem === "string" ) { 3544 return indexOf.call( jQuery( elem ), this[ 0 ] ); 3545 } 3546 3547 // Locate the position of the desired element 3548 return indexOf.call( this, 3549 3550 // If it receives a jQuery object, the first element is used 3551 elem.jquery ? elem[ 0 ] : elem 3552 ); 3553 }, 3554 3555 add: function( selector, context ) { 3556 return this.pushStack( 3557 jQuery.uniqueSort( 3558 jQuery.merge( this.get(), jQuery( selector, context ) ) 3559 ) 3560 ); 3561 }, 3562 3563 addBack: function( selector ) { 3564 return this.add( selector == null ? 3565 this.prevObject : this.prevObject.filter( selector ) 3566 ); 3567 } 3568} ); 3569 3570function sibling( cur, dir ) { 3571 while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} 3572 return cur; 3573} 3574 3575jQuery.each( { 3576 parent: function( elem ) { 3577 var parent = elem.parentNode; 3578 return parent && parent.nodeType !== 11 ? parent : null; 3579 }, 3580 parents: function( elem ) { 3581 return dir( elem, "parentNode" ); 3582 }, 3583 parentsUntil: function( elem, _i, until ) { 3584 return dir( elem, "parentNode", until ); 3585 }, 3586 next: function( elem ) { 3587 return sibling( elem, "nextSibling" ); 3588 }, 3589 prev: function( elem ) { 3590 return sibling( elem, "previousSibling" ); 3591 }, 3592 nextAll: function( elem ) { 3593 return dir( elem, "nextSibling" ); 3594 }, 3595 prevAll: function( elem ) { 3596 return dir( elem, "previousSibling" ); 3597 }, 3598 nextUntil: function( elem, _i, until ) { 3599 return dir( elem, "nextSibling", until ); 3600 }, 3601 prevUntil: function( elem, _i, until ) { 3602 return dir( elem, "previousSibling", until ); 3603 }, 3604 siblings: function( elem ) { 3605 return siblings( ( elem.parentNode || {} ).firstChild, elem ); 3606 }, 3607 children: function( elem ) { 3608 return siblings( elem.firstChild ); 3609 }, 3610 contents: function( elem ) { 3611 if ( elem.contentDocument != null && 3612 3613 // Support: IE 11+ 3614 // <object> elements with no `data` attribute has an object 3615 // `contentDocument` with a `null` prototype. 3616 getProto( elem.contentDocument ) ) { 3617 3618 return elem.contentDocument; 3619 } 3620 3621 // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only 3622 // Treat the template element as a regular one in browsers that 3623 // don't support it. 3624 if ( nodeName( elem, "template" ) ) { 3625 elem = elem.content || elem; 3626 } 3627 3628 return jQuery.merge( [], elem.childNodes ); 3629 } 3630}, function( name, fn ) { 3631 jQuery.fn[ name ] = function( until, selector ) { 3632 var matched = jQuery.map( this, fn, until ); 3633 3634 if ( name.slice( -5 ) !== "Until" ) { 3635 selector = until; 3636 } 3637 3638 if ( selector && typeof selector === "string" ) { 3639 matched = jQuery.filter( selector, matched ); 3640 } 3641 3642 if ( this.length > 1 ) { 3643 3644 // Remove duplicates 3645 if ( !guaranteedUnique[ name ] ) { 3646 jQuery.uniqueSort( matched ); 3647 } 3648 3649 // Reverse order for parents* and prev-derivatives 3650 if ( rparentsprev.test( name ) ) { 3651 matched.reverse(); 3652 } 3653 } 3654 3655 return this.pushStack( matched ); 3656 }; 3657} ); 3658var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); 3659 3660 3661 3662// Convert String-formatted options into Object-formatted ones 3663function createOptions( options ) { 3664 var object = {}; 3665 jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { 3666 object[ flag ] = true; 3667 } ); 3668 return object; 3669} 3670 3671/* 3672 * Create a callback list using the following parameters: 3673 * 3674 * options: an optional list of space-separated options that will change how 3675 * the callback list behaves or a more traditional option object 3676 * 3677 * By default a callback list will act like an event callback list and can be 3678 * "fired" multiple times. 3679 * 3680 * Possible options: 3681 * 3682 * once: will ensure the callback list can only be fired once (like a Deferred) 3683 * 3684 * memory: will keep track of previous values and will call any callback added 3685 * after the list has been fired right away with the latest "memorized" 3686 * values (like a Deferred) 3687 * 3688 * unique: will ensure a callback can only be added once (no duplicate in the list) 3689 * 3690 * stopOnFalse: interrupt callings when a callback returns false 3691 * 3692 */ 3693jQuery.Callbacks = function( options ) { 3694 3695 // Convert options from String-formatted to Object-formatted if needed 3696 // (we check in cache first) 3697 options = typeof options === "string" ? 3698 createOptions( options ) : 3699 jQuery.extend( {}, options ); 3700 3701 var // Flag to know if list is currently firing 3702 firing, 3703 3704 // Last fire value for non-forgettable lists 3705 memory, 3706 3707 // Flag to know if list was already fired 3708 fired, 3709 3710 // Flag to prevent firing 3711 locked, 3712 3713 // Actual callback list 3714 list = [], 3715 3716 // Queue of execution data for repeatable lists 3717 queue = [], 3718 3719 // Index of currently firing callback (modified by add/remove as needed) 3720 firingIndex = -1, 3721 3722 // Fire callbacks 3723 fire = function() { 3724 3725 // Enforce single-firing 3726 locked = locked || options.once; 3727 3728 // Execute callbacks for all pending executions, 3729 // respecting firingIndex overrides and runtime changes 3730 fired = firing = true; 3731 for ( ; queue.length; firingIndex = -1 ) { 3732 memory = queue.shift(); 3733 while ( ++firingIndex < list.length ) { 3734 3735 // Run callback and check for early termination 3736 if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && 3737 options.stopOnFalse ) { 3738 3739 // Jump to end and forget the data so .add doesn't re-fire 3740 firingIndex = list.length; 3741 memory = false; 3742 } 3743 } 3744 } 3745 3746 // Forget the data if we're done with it 3747 if ( !options.memory ) { 3748 memory = false; 3749 } 3750 3751 firing = false; 3752 3753 // Clean up if we're done firing for good 3754 if ( locked ) { 3755 3756 // Keep an empty list if we have data for future add calls 3757 if ( memory ) { 3758 list = []; 3759 3760 // Otherwise, this object is spent 3761 } else { 3762 list = ""; 3763 } 3764 } 3765 }, 3766 3767 // Actual Callbacks object 3768 self = { 3769 3770 // Add a callback or a collection of callbacks to the list 3771 add: function() { 3772 if ( list ) { 3773 3774 // If we have memory from a past run, we should fire after adding 3775 if ( memory && !firing ) { 3776 firingIndex = list.length - 1; 3777 queue.push( memory ); 3778 } 3779 3780 ( function add( args ) { 3781 jQuery.each( args, function( _, arg ) { 3782 if ( isFunction( arg ) ) { 3783 if ( !options.unique || !self.has( arg ) ) { 3784 list.push( arg ); 3785 } 3786 } else if ( arg && arg.length && toType( arg ) !== "string" ) { 3787 3788 // Inspect recursively 3789 add( arg ); 3790 } 3791 } ); 3792 } )( arguments ); 3793 3794 if ( memory && !firing ) { 3795 fire(); 3796 } 3797 } 3798 return this; 3799 }, 3800 3801 // Remove a callback from the list 3802 remove: function() { 3803 jQuery.each( arguments, function( _, arg ) { 3804 var index; 3805 while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { 3806 list.splice( index, 1 ); 3807 3808 // Handle firing indexes 3809 if ( index <= firingIndex ) { 3810 firingIndex--; 3811 } 3812 } 3813 } ); 3814 return this; 3815 }, 3816 3817 // Check if a given callback is in the list. 3818 // If no argument is given, return whether or not list has callbacks attached. 3819 has: function( fn ) { 3820 return fn ? 3821 jQuery.inArray( fn, list ) > -1 : 3822 list.length > 0; 3823 }, 3824 3825 // Remove all callbacks from the list 3826 empty: function() { 3827 if ( list ) { 3828 list = []; 3829 } 3830 return this; 3831 }, 3832 3833 // Disable .fire and .add 3834 // Abort any current/pending executions 3835 // Clear all callbacks and values 3836 disable: function() { 3837 locked = queue = []; 3838 list = memory = ""; 3839 return this; 3840 }, 3841 disabled: function() { 3842 return !list; 3843 }, 3844 3845 // Disable .fire 3846 // Also disable .add unless we have memory (since it would have no effect) 3847 // Abort any pending executions 3848 lock: function() { 3849 locked = queue = []; 3850 if ( !memory && !firing ) { 3851 list = memory = ""; 3852 } 3853 return this; 3854 }, 3855 locked: function() { 3856 return !!locked; 3857 }, 3858 3859 // Call all callbacks with the given context and arguments 3860 fireWith: function( context, args ) { 3861 if ( !locked ) { 3862 args = args || []; 3863 args = [ context, args.slice ? args.slice() : args ]; 3864 queue.push( args ); 3865 if ( !firing ) { 3866 fire(); 3867 } 3868 } 3869 return this; 3870 }, 3871 3872 // Call all the callbacks with the given arguments 3873 fire: function() { 3874 self.fireWith( this, arguments ); 3875 return this; 3876 }, 3877 3878 // To know if the callbacks have already been called at least once 3879 fired: function() { 3880 return !!fired; 3881 } 3882 }; 3883 3884 return self; 3885}; 3886 3887 3888function Identity( v ) { 3889 return v; 3890} 3891function Thrower( ex ) { 3892 throw ex; 3893} 3894 3895function adoptValue( value, resolve, reject, noValue ) { 3896 var method; 3897 3898 try { 3899 3900 // Check for promise aspect first to privilege synchronous behavior 3901 if ( value && isFunction( ( method = value.promise ) ) ) { 3902 method.call( value ).done( resolve ).fail( reject ); 3903 3904 // Other thenables 3905 } else if ( value && isFunction( ( method = value.then ) ) ) { 3906 method.call( value, resolve, reject ); 3907 3908 // Other non-thenables 3909 } else { 3910 3911 // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: 3912 // * false: [ value ].slice( 0 ) => resolve( value ) 3913 // * true: [ value ].slice( 1 ) => resolve() 3914 resolve.apply( undefined, [ value ].slice( noValue ) ); 3915 } 3916 3917 // For Promises/A+, convert exceptions into rejections 3918 // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in 3919 // Deferred#then to conditionally suppress rejection. 3920 } catch ( value ) { 3921 3922 // Support: Android 4.0 only 3923 // Strict mode functions invoked without .call/.apply get global-object context 3924 reject.apply( undefined, [ value ] ); 3925 } 3926} 3927 3928jQuery.extend( { 3929 3930 Deferred: function( func ) { 3931 var tuples = [ 3932 3933 // action, add listener, callbacks, 3934 // ... .then handlers, argument index, [final state] 3935 [ "notify", "progress", jQuery.Callbacks( "memory" ), 3936 jQuery.Callbacks( "memory" ), 2 ], 3937 [ "resolve", "done", jQuery.Callbacks( "once memory" ), 3938 jQuery.Callbacks( "once memory" ), 0, "resolved" ], 3939 [ "reject", "fail", jQuery.Callbacks( "once memory" ), 3940 jQuery.Callbacks( "once memory" ), 1, "rejected" ] 3941 ], 3942 state = "pending", 3943 promise = { 3944 state: function() { 3945 return state; 3946 }, 3947 always: function() { 3948 deferred.done( arguments ).fail( arguments ); 3949 return this; 3950 }, 3951 "catch": function( fn ) { 3952 return promise.then( null, fn ); 3953 }, 3954 3955 // Keep pipe for back-compat 3956 pipe: function( /* fnDone, fnFail, fnProgress */ ) { 3957 var fns = arguments; 3958 3959 return jQuery.Deferred( function( newDefer ) { 3960 jQuery.each( tuples, function( _i, tuple ) { 3961 3962 // Map tuples (progress, done, fail) to arguments (done, fail, progress) 3963 var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; 3964 3965 // deferred.progress(function() { bind to newDefer or newDefer.notify }) 3966 // deferred.done(function() { bind to newDefer or newDefer.resolve }) 3967 // deferred.fail(function() { bind to newDefer or newDefer.reject }) 3968 deferred[ tuple[ 1 ] ]( function() { 3969 var returned = fn && fn.apply( this, arguments ); 3970 if ( returned && isFunction( returned.promise ) ) { 3971 returned.promise() 3972 .progress( newDefer.notify ) 3973 .done( newDefer.resolve ) 3974 .fail( newDefer.reject ); 3975 } else { 3976 newDefer[ tuple[ 0 ] + "With" ]( 3977 this, 3978 fn ? [ returned ] : arguments 3979 ); 3980 } 3981 } ); 3982 } ); 3983 fns = null; 3984 } ).promise(); 3985 }, 3986 then: function( onFulfilled, onRejected, onProgress ) { 3987 var maxDepth = 0; 3988 function resolve( depth, deferred, handler, special ) { 3989 return function() { 3990 var that = this, 3991 args = arguments, 3992 mightThrow = function() { 3993 var returned, then; 3994 3995 // Support: Promises/A+ section 2.3.3.3.3 3996 // https://promisesaplus.com/#point-59 3997 // Ignore double-resolution attempts 3998 if ( depth < maxDepth ) { 3999 return; 4000 } 4001 4002 returned = handler.apply( that, args ); 4003 4004 // Support: Promises/A+ section 2.3.1 4005 // https://promisesaplus.com/#point-48 4006 if ( returned === deferred.promise() ) { 4007 throw new TypeError( "Thenable self-resolution" ); 4008 } 4009 4010 // Support: Promises/A+ sections 2.3.3.1, 3.5 4011 // https://promisesaplus.com/#point-54 4012 // https://promisesaplus.com/#point-75 4013 // Retrieve `then` only once 4014 then = returned && 4015 4016 // Support: Promises/A+ section 2.3.4 4017 // https://promisesaplus.com/#point-64 4018 // Only check objects and functions for thenability 4019 ( typeof returned === "object" || 4020 typeof returned === "function" ) && 4021 returned.then; 4022 4023 // Handle a returned thenable 4024 if ( isFunction( then ) ) { 4025 4026 // Special processors (notify) just wait for resolution 4027 if ( special ) { 4028 then.call( 4029 returned, 4030 resolve( maxDepth, deferred, Identity, special ), 4031 resolve( maxDepth, deferred, Thrower, special ) 4032 ); 4033 4034 // Normal processors (resolve) also hook into progress 4035 } else { 4036 4037 // ...and disregard older resolution values 4038 maxDepth++; 4039 4040 then.call( 4041 returned, 4042 resolve( maxDepth, deferred, Identity, special ), 4043 resolve( maxDepth, deferred, Thrower, special ), 4044 resolve( maxDepth, deferred, Identity, 4045 deferred.notifyWith ) 4046 ); 4047 } 4048 4049 // Handle all other returned values 4050 } else { 4051 4052 // Only substitute handlers pass on context 4053 // and multiple values (non-spec behavior) 4054 if ( handler !== Identity ) { 4055 that = undefined; 4056 args = [ returned ]; 4057 } 4058 4059 // Process the value(s) 4060 // Default process is resolve 4061 ( special || deferred.resolveWith )( that, args ); 4062 } 4063 }, 4064 4065 // Only normal processors (resolve) catch and reject exceptions 4066 process = special ? 4067 mightThrow : 4068 function() { 4069 try { 4070 mightThrow(); 4071 } catch ( e ) { 4072 4073 if ( jQuery.Deferred.exceptionHook ) { 4074 jQuery.Deferred.exceptionHook( e, 4075 process.stackTrace ); 4076 } 4077 4078 // Support: Promises/A+ section 2.3.3.3.4.1 4079 // https://promisesaplus.com/#point-61 4080 // Ignore post-resolution exceptions 4081 if ( depth + 1 >= maxDepth ) { 4082 4083 // Only substitute handlers pass on context 4084 // and multiple values (non-spec behavior) 4085 if ( handler !== Thrower ) { 4086 that = undefined; 4087 args = [ e ]; 4088 } 4089 4090 deferred.rejectWith( that, args ); 4091 } 4092 } 4093 }; 4094 4095 // Support: Promises/A+ section 2.3.3.3.1 4096 // https://promisesaplus.com/#point-57 4097 // Re-resolve promises immediately to dodge false rejection from 4098 // subsequent errors 4099 if ( depth ) { 4100 process(); 4101 } else { 4102 4103 // Call an optional hook to record the stack, in case of exception 4104 // since it's otherwise lost when execution goes async 4105 if ( jQuery.Deferred.getStackHook ) { 4106 process.stackTrace = jQuery.Deferred.getStackHook(); 4107 } 4108 window.setTimeout( process ); 4109 } 4110 }; 4111 } 4112 4113 return jQuery.Deferred( function( newDefer ) { 4114 4115 // progress_handlers.add( ... ) 4116 tuples[ 0 ][ 3 ].add( 4117 resolve( 4118 0, 4119 newDefer, 4120 isFunction( onProgress ) ? 4121 onProgress : 4122 Identity, 4123 newDefer.notifyWith 4124 ) 4125 ); 4126 4127 // fulfilled_handlers.add( ... ) 4128 tuples[ 1 ][ 3 ].add( 4129 resolve( 4130 0, 4131 newDefer, 4132 isFunction( onFulfilled ) ? 4133 onFulfilled : 4134 Identity 4135 ) 4136 ); 4137 4138 // rejected_handlers.add( ... ) 4139 tuples[ 2 ][ 3 ].add( 4140 resolve( 4141 0, 4142 newDefer, 4143 isFunction( onRejected ) ? 4144 onRejected : 4145 Thrower 4146 ) 4147 ); 4148 } ).promise(); 4149 }, 4150 4151 // Get a promise for this deferred 4152 // If obj is provided, the promise aspect is added to the object 4153 promise: function( obj ) { 4154 return obj != null ? jQuery.extend( obj, promise ) : promise; 4155 } 4156 }, 4157 deferred = {}; 4158 4159 // Add list-specific methods 4160 jQuery.each( tuples, function( i, tuple ) { 4161 var list = tuple[ 2 ], 4162 stateString = tuple[ 5 ]; 4163 4164 // promise.progress = list.add 4165 // promise.done = list.add 4166 // promise.fail = list.add 4167 promise[ tuple[ 1 ] ] = list.add; 4168 4169 // Handle state 4170 if ( stateString ) { 4171 list.add( 4172 function() { 4173 4174 // state = "resolved" (i.e., fulfilled) 4175 // state = "rejected" 4176 state = stateString; 4177 }, 4178 4179 // rejected_callbacks.disable 4180 // fulfilled_callbacks.disable 4181 tuples[ 3 - i ][ 2 ].disable, 4182 4183 // rejected_handlers.disable 4184 // fulfilled_handlers.disable 4185 tuples[ 3 - i ][ 3 ].disable, 4186 4187 // progress_callbacks.lock 4188 tuples[ 0 ][ 2 ].lock, 4189 4190 // progress_handlers.lock 4191 tuples[ 0 ][ 3 ].lock 4192 ); 4193 } 4194 4195 // progress_handlers.fire 4196 // fulfilled_handlers.fire 4197 // rejected_handlers.fire 4198 list.add( tuple[ 3 ].fire ); 4199 4200 // deferred.notify = function() { deferred.notifyWith(...) } 4201 // deferred.resolve = function() { deferred.resolveWith(...) } 4202 // deferred.reject = function() { deferred.rejectWith(...) } 4203 deferred[ tuple[ 0 ] ] = function() { 4204 deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); 4205 return this; 4206 }; 4207 4208 // deferred.notifyWith = list.fireWith 4209 // deferred.resolveWith = list.fireWith 4210 // deferred.rejectWith = list.fireWith 4211 deferred[ tuple[ 0 ] + "With" ] = list.fireWith; 4212 } ); 4213 4214 // Make the deferred a promise 4215 promise.promise( deferred ); 4216 4217 // Call given func if any 4218 if ( func ) { 4219 func.call( deferred, deferred ); 4220 } 4221 4222 // All done! 4223 return deferred; 4224 }, 4225 4226 // Deferred helper 4227 when: function( singleValue ) { 4228 var 4229 4230 // count of uncompleted subordinates 4231 remaining = arguments.length, 4232 4233 // count of unprocessed arguments 4234 i = remaining, 4235 4236 // subordinate fulfillment data 4237 resolveContexts = Array( i ), 4238 resolveValues = slice.call( arguments ), 4239 4240 // the primary Deferred 4241 primary = jQuery.Deferred(), 4242 4243 // subordinate callback factory 4244 updateFunc = function( i ) { 4245 return function( value ) { 4246 resolveContexts[ i ] = this; 4247 resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; 4248 if ( !( --remaining ) ) { 4249 primary.resolveWith( resolveContexts, resolveValues ); 4250 } 4251 }; 4252 }; 4253 4254 // Single- and empty arguments are adopted like Promise.resolve 4255 if ( remaining <= 1 ) { 4256 adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject, 4257 !remaining ); 4258 4259 // Use .then() to unwrap secondary thenables (cf. gh-3000) 4260 if ( primary.state() === "pending" || 4261 isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { 4262 4263 return primary.then(); 4264 } 4265 } 4266 4267 // Multiple arguments are aggregated like Promise.all array elements 4268 while ( i-- ) { 4269 adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject ); 4270 } 4271 4272 return primary.promise(); 4273 } 4274} ); 4275 4276 4277// These usually indicate a programmer mistake during development, 4278// warn about them ASAP rather than swallowing them by default. 4279var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; 4280 4281jQuery.Deferred.exceptionHook = function( error, stack ) { 4282 4283 // Support: IE 8 - 9 only 4284 // Console exists when dev tools are open, which can happen at any time 4285 if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { 4286 window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); 4287 } 4288}; 4289 4290 4291 4292 4293jQuery.readyException = function( error ) { 4294 window.setTimeout( function() { 4295 throw error; 4296 } ); 4297}; 4298 4299 4300 4301 4302// The deferred used on DOM ready 4303var readyList = jQuery.Deferred(); 4304 4305jQuery.fn.ready = function( fn ) { 4306 4307 readyList 4308 .then( fn ) 4309 4310 // Wrap jQuery.readyException in a function so that the lookup 4311 // happens at the time of error handling instead of callback 4312 // registration. 4313 .catch( function( error ) { 4314 jQuery.readyException( error ); 4315 } ); 4316 4317 return this; 4318}; 4319 4320jQuery.extend( { 4321 4322 // Is the DOM ready to be used? Set to true once it occurs. 4323 isReady: false, 4324 4325 // A counter to track how many items to wait for before 4326 // the ready event fires. See #6781 4327 readyWait: 1, 4328 4329 // Handle when the DOM is ready 4330 ready: function( wait ) { 4331 4332 // Abort if there are pending holds or we're already ready 4333 if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { 4334 return; 4335 } 4336 4337 // Remember that the DOM is ready 4338 jQuery.isReady = true; 4339 4340 // If a normal DOM Ready event fired, decrement, and wait if need be 4341 if ( wait !== true && --jQuery.readyWait > 0 ) { 4342 return; 4343 } 4344 4345 // If there are functions bound, to execute 4346 readyList.resolveWith( document, [ jQuery ] ); 4347 } 4348} ); 4349 4350jQuery.ready.then = readyList.then; 4351 4352// The ready event handler and self cleanup method 4353function completed() { 4354 document.removeEventListener( "DOMContentLoaded", completed ); 4355 window.removeEventListener( "load", completed ); 4356 jQuery.ready(); 4357} 4358 4359// Catch cases where $(document).ready() is called 4360// after the browser event has already occurred. 4361// Support: IE <=9 - 10 only 4362// Older IE sometimes signals "interactive" too soon 4363if ( document.readyState === "complete" || 4364 ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { 4365 4366 // Handle it asynchronously to allow scripts the opportunity to delay ready 4367 window.setTimeout( jQuery.ready ); 4368 4369} else { 4370 4371 // Use the handy event callback 4372 document.addEventListener( "DOMContentLoaded", completed ); 4373 4374 // A fallback to window.onload, that will always work 4375 window.addEventListener( "load", completed ); 4376} 4377 4378 4379 4380 4381// Multifunctional method to get and set values of a collection 4382// The value/s can optionally be executed if it's a function 4383var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { 4384 var i = 0, 4385 len = elems.length, 4386 bulk = key == null; 4387 4388 // Sets many values 4389 if ( toType( key ) === "object" ) { 4390 chainable = true; 4391 for ( i in key ) { 4392 access( elems, fn, i, key[ i ], true, emptyGet, raw ); 4393 } 4394 4395 // Sets one value 4396 } else if ( value !== undefined ) { 4397 chainable = true; 4398 4399 if ( !isFunction( value ) ) { 4400 raw = true; 4401 } 4402 4403 if ( bulk ) { 4404 4405 // Bulk operations run against the entire set 4406 if ( raw ) { 4407 fn.call( elems, value ); 4408 fn = null; 4409 4410 // ...except when executing function values 4411 } else { 4412 bulk = fn; 4413 fn = function( elem, _key, value ) { 4414 return bulk.call( jQuery( elem ), value ); 4415 }; 4416 } 4417 } 4418 4419 if ( fn ) { 4420 for ( ; i < len; i++ ) { 4421 fn( 4422 elems[ i ], key, raw ? 4423 value : 4424 value.call( elems[ i ], i, fn( elems[ i ], key ) ) 4425 ); 4426 } 4427 } 4428 } 4429 4430 if ( chainable ) { 4431 return elems; 4432 } 4433 4434 // Gets 4435 if ( bulk ) { 4436 return fn.call( elems ); 4437 } 4438 4439 return len ? fn( elems[ 0 ], key ) : emptyGet; 4440}; 4441 4442 4443// Matches dashed string for camelizing 4444var rmsPrefix = /^-ms-/, 4445 rdashAlpha = /-([a-z])/g; 4446 4447// Used by camelCase as callback to replace() 4448function fcamelCase( _all, letter ) { 4449 return letter.toUpperCase(); 4450} 4451 4452// Convert dashed to camelCase; used by the css and data modules 4453// Support: IE <=9 - 11, Edge 12 - 15 4454// Microsoft forgot to hump their vendor prefix (#9572) 4455function camelCase( string ) { 4456 return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); 4457} 4458var acceptData = function( owner ) { 4459 4460 // Accepts only: 4461 // - Node 4462 // - Node.ELEMENT_NODE 4463 // - Node.DOCUMENT_NODE 4464 // - Object 4465 // - Any 4466 return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); 4467}; 4468 4469 4470 4471 4472function Data() { 4473 this.expando = jQuery.expando + Data.uid++; 4474} 4475 4476Data.uid = 1; 4477 4478Data.prototype = { 4479 4480 cache: function( owner ) { 4481 4482 // Check if the owner object already has a cache 4483 var value = owner[ this.expando ]; 4484 4485 // If not, create one 4486 if ( !value ) { 4487 value = {}; 4488 4489 // We can accept data for non-element nodes in modern browsers, 4490 // but we should not, see #8335. 4491 // Always return an empty object. 4492 if ( acceptData( owner ) ) { 4493 4494 // If it is a node unlikely to be stringify-ed or looped over 4495 // use plain assignment 4496 if ( owner.nodeType ) { 4497 owner[ this.expando ] = value; 4498 4499 // Otherwise secure it in a non-enumerable property 4500 // configurable must be true to allow the property to be 4501 // deleted when data is removed 4502 } else { 4503 Object.defineProperty( owner, this.expando, { 4504 value: value, 4505 configurable: true 4506 } ); 4507 } 4508 } 4509 } 4510 4511 return value; 4512 }, 4513 set: function( owner, data, value ) { 4514 var prop, 4515 cache = this.cache( owner ); 4516 4517 // Handle: [ owner, key, value ] args 4518 // Always use camelCase key (gh-2257) 4519 if ( typeof data === "string" ) { 4520 cache[ camelCase( data ) ] = value; 4521 4522 // Handle: [ owner, { properties } ] args 4523 } else { 4524 4525 // Copy the properties one-by-one to the cache object 4526 for ( prop in data ) { 4527 cache[ camelCase( prop ) ] = data[ prop ]; 4528 } 4529 } 4530 return cache; 4531 }, 4532 get: function( owner, key ) { 4533 return key === undefined ? 4534 this.cache( owner ) : 4535 4536 // Always use camelCase key (gh-2257) 4537 owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; 4538 }, 4539 access: function( owner, key, value ) { 4540 4541 // In cases where either: 4542 // 4543 // 1. No key was specified 4544 // 2. A string key was specified, but no value provided 4545 // 4546 // Take the "read" path and allow the get method to determine 4547 // which value to return, respectively either: 4548 // 4549 // 1. The entire cache object 4550 // 2. The data stored at the key 4551 // 4552 if ( key === undefined || 4553 ( ( key && typeof key === "string" ) && value === undefined ) ) { 4554 4555 return this.get( owner, key ); 4556 } 4557 4558 // When the key is not a string, or both a key and value 4559 // are specified, set or extend (existing objects) with either: 4560 // 4561 // 1. An object of properties 4562 // 2. A key and value 4563 // 4564 this.set( owner, key, value ); 4565 4566 // Since the "set" path can have two possible entry points 4567 // return the expected data based on which path was taken[*] 4568 return value !== undefined ? value : key; 4569 }, 4570 remove: function( owner, key ) { 4571 var i, 4572 cache = owner[ this.expando ]; 4573 4574 if ( cache === undefined ) { 4575 return; 4576 } 4577 4578 if ( key !== undefined ) { 4579 4580 // Support array or space separated string of keys 4581 if ( Array.isArray( key ) ) { 4582 4583 // If key is an array of keys... 4584 // We always set camelCase keys, so remove that. 4585 key = key.map( camelCase ); 4586 } else { 4587 key = camelCase( key ); 4588 4589 // If a key with the spaces exists, use it. 4590 // Otherwise, create an array by matching non-whitespace 4591 key = key in cache ? 4592 [ key ] : 4593 ( key.match( rnothtmlwhite ) || [] ); 4594 } 4595 4596 i = key.length; 4597 4598 while ( i-- ) { 4599 delete cache[ key[ i ] ]; 4600 } 4601 } 4602 4603 // Remove the expando if there's no more data 4604 if ( key === undefined || jQuery.isEmptyObject( cache ) ) { 4605 4606 // Support: Chrome <=35 - 45 4607 // Webkit & Blink performance suffers when deleting properties 4608 // from DOM nodes, so set to undefined instead 4609 // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) 4610 if ( owner.nodeType ) { 4611 owner[ this.expando ] = undefined; 4612 } else { 4613 delete owner[ this.expando ]; 4614 } 4615 } 4616 }, 4617 hasData: function( owner ) { 4618 var cache = owner[ this.expando ]; 4619 return cache !== undefined && !jQuery.isEmptyObject( cache ); 4620 } 4621}; 4622var dataPriv = new Data(); 4623 4624var dataUser = new Data(); 4625 4626 4627 4628// Implementation Summary 4629// 4630// 1. Enforce API surface and semantic compatibility with 1.9.x branch 4631// 2. Improve the module's maintainability by reducing the storage 4632// paths to a single mechanism. 4633// 3. Use the same single mechanism to support "private" and "user" data. 4634// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) 4635// 5. Avoid exposing implementation details on user objects (eg. expando properties) 4636// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 4637 4638var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, 4639 rmultiDash = /[A-Z]/g; 4640 4641function getData( data ) { 4642 if ( data === "true" ) { 4643 return true; 4644 } 4645 4646 if ( data === "false" ) { 4647 return false; 4648 } 4649 4650 if ( data === "null" ) { 4651 return null; 4652 } 4653 4654 // Only convert to a number if it doesn't change the string 4655 if ( data === +data + "" ) { 4656 return +data; 4657 } 4658 4659 if ( rbrace.test( data ) ) { 4660 return JSON.parse( data ); 4661 } 4662 4663 return data; 4664} 4665 4666function dataAttr( elem, key, data ) { 4667 var name; 4668 4669 // If nothing was found internally, try to fetch any 4670 // data from the HTML5 data-* attribute 4671 if ( data === undefined && elem.nodeType === 1 ) { 4672 name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); 4673 data = elem.getAttribute( name ); 4674 4675 if ( typeof data === "string" ) { 4676 try { 4677 data = getData( data ); 4678 } catch ( e ) {} 4679 4680 // Make sure we set the data so it isn't changed later 4681 dataUser.set( elem, key, data ); 4682 } else { 4683 data = undefined; 4684 } 4685 } 4686 return data; 4687} 4688 4689jQuery.extend( { 4690 hasData: function( elem ) { 4691 return dataUser.hasData( elem ) || dataPriv.hasData( elem ); 4692 }, 4693 4694 data: function( elem, name, data ) { 4695 return dataUser.access( elem, name, data ); 4696 }, 4697 4698 removeData: function( elem, name ) { 4699 dataUser.remove( elem, name ); 4700 }, 4701 4702 // TODO: Now that all calls to _data and _removeData have been replaced 4703 // with direct calls to dataPriv methods, these can be deprecated. 4704 _data: function( elem, name, data ) { 4705 return dataPriv.access( elem, name, data ); 4706 }, 4707 4708 _removeData: function( elem, name ) { 4709 dataPriv.remove( elem, name ); 4710 } 4711} ); 4712 4713jQuery.fn.extend( { 4714 data: function( key, value ) { 4715 var i, name, data, 4716 elem = this[ 0 ], 4717 attrs = elem && elem.attributes; 4718 4719 // Gets all values 4720 if ( key === undefined ) { 4721 if ( this.length ) { 4722 data = dataUser.get( elem ); 4723 4724 if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { 4725 i = attrs.length; 4726 while ( i-- ) { 4727 4728 // Support: IE 11 only 4729 // The attrs elements can be null (#14894) 4730 if ( attrs[ i ] ) { 4731 name = attrs[ i ].name; 4732 if ( name.indexOf( "data-" ) === 0 ) { 4733 name = camelCase( name.slice( 5 ) ); 4734 dataAttr( elem, name, data[ name ] ); 4735 } 4736 } 4737 } 4738 dataPriv.set( elem, "hasDataAttrs", true ); 4739 } 4740 } 4741 4742 return data; 4743 } 4744 4745 // Sets multiple values 4746 if ( typeof key === "object" ) { 4747 return this.each( function() { 4748 dataUser.set( this, key ); 4749 } ); 4750 } 4751 4752 return access( this, function( value ) { 4753 var data; 4754 4755 // The calling jQuery object (element matches) is not empty 4756 // (and therefore has an element appears at this[ 0 ]) and the 4757 // `value` parameter was not undefined. An empty jQuery object 4758 // will result in `undefined` for elem = this[ 0 ] which will 4759 // throw an exception if an attempt to read a data cache is made. 4760 if ( elem && value === undefined ) { 4761 4762 // Attempt to get data from the cache 4763 // The key will always be camelCased in Data 4764 data = dataUser.get( elem, key ); 4765 if ( data !== undefined ) { 4766 return data; 4767 } 4768 4769 // Attempt to "discover" the data in 4770 // HTML5 custom data-* attrs 4771 data = dataAttr( elem, key ); 4772 if ( data !== undefined ) { 4773 return data; 4774 } 4775 4776 // We tried really hard, but the data doesn't exist. 4777 return; 4778 } 4779 4780 // Set the data... 4781 this.each( function() { 4782 4783 // We always store the camelCased key 4784 dataUser.set( this, key, value ); 4785 } ); 4786 }, null, value, arguments.length > 1, null, true ); 4787 }, 4788 4789 removeData: function( key ) { 4790 return this.each( function() { 4791 dataUser.remove( this, key ); 4792 } ); 4793 } 4794} ); 4795 4796 4797jQuery.extend( { 4798 queue: function( elem, type, data ) { 4799 var queue; 4800 4801 if ( elem ) { 4802 type = ( type || "fx" ) + "queue"; 4803 queue = dataPriv.get( elem, type ); 4804 4805 // Speed up dequeue by getting out quickly if this is just a lookup 4806 if ( data ) { 4807 if ( !queue || Array.isArray( data ) ) { 4808 queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); 4809 } else { 4810 queue.push( data ); 4811 } 4812 } 4813 return queue || []; 4814 } 4815 }, 4816 4817 dequeue: function( elem, type ) { 4818 type = type || "fx"; 4819 4820 var queue = jQuery.queue( elem, type ), 4821 startLength = queue.length, 4822 fn = queue.shift(), 4823 hooks = jQuery._queueHooks( elem, type ), 4824 next = function() { 4825 jQuery.dequeue( elem, type ); 4826 }; 4827 4828 // If the fx queue is dequeued, always remove the progress sentinel 4829 if ( fn === "inprogress" ) { 4830 fn = queue.shift(); 4831 startLength--; 4832 } 4833 4834 if ( fn ) { 4835 4836 // Add a progress sentinel to prevent the fx queue from being 4837 // automatically dequeued 4838 if ( type === "fx" ) { 4839 queue.unshift( "inprogress" ); 4840 } 4841 4842 // Clear up the last queue stop function 4843 delete hooks.stop; 4844 fn.call( elem, next, hooks ); 4845 } 4846 4847 if ( !startLength && hooks ) { 4848 hooks.empty.fire(); 4849 } 4850 }, 4851 4852 // Not public - generate a queueHooks object, or return the current one 4853 _queueHooks: function( elem, type ) { 4854 var key = type + "queueHooks"; 4855 return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { 4856 empty: jQuery.Callbacks( "once memory" ).add( function() { 4857 dataPriv.remove( elem, [ type + "queue", key ] ); 4858 } ) 4859 } ); 4860 } 4861} ); 4862 4863jQuery.fn.extend( { 4864 queue: function( type, data ) { 4865 var setter = 2; 4866 4867 if ( typeof type !== "string" ) { 4868 data = type; 4869 type = "fx"; 4870 setter--; 4871 } 4872 4873 if ( arguments.length < setter ) { 4874 return jQuery.queue( this[ 0 ], type ); 4875 } 4876 4877 return data === undefined ? 4878 this : 4879 this.each( function() { 4880 var queue = jQuery.queue( this, type, data ); 4881 4882 // Ensure a hooks for this queue 4883 jQuery._queueHooks( this, type ); 4884 4885 if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { 4886 jQuery.dequeue( this, type ); 4887 } 4888 } ); 4889 }, 4890 dequeue: function( type ) { 4891 return this.each( function() { 4892 jQuery.dequeue( this, type ); 4893 } ); 4894 }, 4895 clearQueue: function( type ) { 4896 return this.queue( type || "fx", [] ); 4897 }, 4898 4899 // Get a promise resolved when queues of a certain type 4900 // are emptied (fx is the type by default) 4901 promise: function( type, obj ) { 4902 var tmp, 4903 count = 1, 4904 defer = jQuery.Deferred(), 4905 elements = this, 4906 i = this.length, 4907 resolve = function() { 4908 if ( !( --count ) ) { 4909 defer.resolveWith( elements, [ elements ] ); 4910 } 4911 }; 4912 4913 if ( typeof type !== "string" ) { 4914 obj = type; 4915 type = undefined; 4916 } 4917 type = type || "fx"; 4918 4919 while ( i-- ) { 4920 tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); 4921 if ( tmp && tmp.empty ) { 4922 count++; 4923 tmp.empty.add( resolve ); 4924 } 4925 } 4926 resolve(); 4927 return defer.promise( obj ); 4928 } 4929} ); 4930var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; 4931 4932var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); 4933 4934 4935var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; 4936 4937var documentElement = document.documentElement; 4938 4939 4940 4941 var isAttached = function( elem ) { 4942 return jQuery.contains( elem.ownerDocument, elem ); 4943 }, 4944 composed = { composed: true }; 4945 4946 // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only 4947 // Check attachment across shadow DOM boundaries when possible (gh-3504) 4948 // Support: iOS 10.0-10.2 only 4949 // Early iOS 10 versions support `attachShadow` but not `getRootNode`, 4950 // leading to errors. We need to check for `getRootNode`. 4951 if ( documentElement.getRootNode ) { 4952 isAttached = function( elem ) { 4953 return jQuery.contains( elem.ownerDocument, elem ) || 4954 elem.getRootNode( composed ) === elem.ownerDocument; 4955 }; 4956 } 4957var isHiddenWithinTree = function( elem, el ) { 4958 4959 // isHiddenWithinTree might be called from jQuery#filter function; 4960 // in that case, element will be second argument 4961 elem = el || elem; 4962 4963 // Inline style trumps all 4964 return elem.style.display === "none" || 4965 elem.style.display === "" && 4966 4967 // Otherwise, check computed style 4968 // Support: Firefox <=43 - 45 4969 // Disconnected elements can have computed display: none, so first confirm that elem is 4970 // in the document. 4971 isAttached( elem ) && 4972 4973 jQuery.css( elem, "display" ) === "none"; 4974 }; 4975 4976 4977 4978function adjustCSS( elem, prop, valueParts, tween ) { 4979 var adjusted, scale, 4980 maxIterations = 20, 4981 currentValue = tween ? 4982 function() { 4983 return tween.cur(); 4984 } : 4985 function() { 4986 return jQuery.css( elem, prop, "" ); 4987 }, 4988 initial = currentValue(), 4989 unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), 4990 4991 // Starting value computation is required for potential unit mismatches 4992 initialInUnit = elem.nodeType && 4993 ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && 4994 rcssNum.exec( jQuery.css( elem, prop ) ); 4995 4996 if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { 4997 4998 // Support: Firefox <=54 4999 // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) 5000 initial = initial / 2; 5001 5002 // Trust units reported by jQuery.css 5003 unit = unit || initialInUnit[ 3 ]; 5004 5005 // Iteratively approximate from a nonzero starting point 5006 initialInUnit = +initial || 1; 5007 5008 while ( maxIterations-- ) { 5009 5010 // Evaluate and update our best guess (doubling guesses that zero out). 5011 // Finish if the scale equals or crosses 1 (making the old*new product non-positive). 5012 jQuery.style( elem, prop, initialInUnit + unit ); 5013 if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { 5014 maxIterations = 0; 5015 } 5016 initialInUnit = initialInUnit / scale; 5017 5018 } 5019 5020 initialInUnit = initialInUnit * 2; 5021 jQuery.style( elem, prop, initialInUnit + unit ); 5022 5023 // Make sure we update the tween properties later on 5024 valueParts = valueParts || []; 5025 } 5026 5027 if ( valueParts ) { 5028 initialInUnit = +initialInUnit || +initial || 0; 5029 5030 // Apply relative offset (+=/-=) if specified 5031 adjusted = valueParts[ 1 ] ? 5032 initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : 5033 +valueParts[ 2 ]; 5034 if ( tween ) { 5035 tween.unit = unit; 5036 tween.start = initialInUnit; 5037 tween.end = adjusted; 5038 } 5039 } 5040 return adjusted; 5041} 5042 5043 5044var defaultDisplayMap = {}; 5045 5046function getDefaultDisplay( elem ) { 5047 var temp, 5048 doc = elem.ownerDocument, 5049 nodeName = elem.nodeName, 5050 display = defaultDisplayMap[ nodeName ]; 5051 5052 if ( display ) { 5053 return display; 5054 } 5055 5056 temp = doc.body.appendChild( doc.createElement( nodeName ) ); 5057 display = jQuery.css( temp, "display" ); 5058 5059 temp.parentNode.removeChild( temp ); 5060 5061 if ( display === "none" ) { 5062 display = "block"; 5063 } 5064 defaultDisplayMap[ nodeName ] = display; 5065 5066 return display; 5067} 5068 5069function showHide( elements, show ) { 5070 var display, elem, 5071 values = [], 5072 index = 0, 5073 length = elements.length; 5074 5075 // Determine new display value for elements that need to change 5076 for ( ; index < length; index++ ) { 5077 elem = elements[ index ]; 5078 if ( !elem.style ) { 5079 continue; 5080 } 5081 5082 display = elem.style.display; 5083 if ( show ) { 5084 5085 // Since we force visibility upon cascade-hidden elements, an immediate (and slow) 5086 // check is required in this first loop unless we have a nonempty display value (either 5087 // inline or about-to-be-restored) 5088 if ( display === "none" ) { 5089 values[ index ] = dataPriv.get( elem, "display" ) || null; 5090 if ( !values[ index ] ) { 5091 elem.style.display = ""; 5092 } 5093 } 5094 if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { 5095 values[ index ] = getDefaultDisplay( elem ); 5096 } 5097 } else { 5098 if ( display !== "none" ) { 5099 values[ index ] = "none"; 5100 5101 // Remember what we're overwriting 5102 dataPriv.set( elem, "display", display ); 5103 } 5104 } 5105 } 5106 5107 // Set the display of the elements in a second loop to avoid constant reflow 5108 for ( index = 0; index < length; index++ ) { 5109 if ( values[ index ] != null ) { 5110 elements[ index ].style.display = values[ index ]; 5111 } 5112 } 5113 5114 return elements; 5115} 5116 5117jQuery.fn.extend( { 5118 show: function() { 5119 return showHide( this, true ); 5120 }, 5121 hide: function() { 5122 return showHide( this ); 5123 }, 5124 toggle: function( state ) { 5125 if ( typeof state === "boolean" ) { 5126 return state ? this.show() : this.hide(); 5127 } 5128 5129 return this.each( function() { 5130 if ( isHiddenWithinTree( this ) ) { 5131 jQuery( this ).show(); 5132 } else { 5133 jQuery( this ).hide(); 5134 } 5135 } ); 5136 } 5137} ); 5138var rcheckableType = ( /^(?:checkbox|radio)$/i ); 5139 5140var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); 5141 5142var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); 5143 5144 5145 5146( function() { 5147 var fragment = document.createDocumentFragment(), 5148 div = fragment.appendChild( document.createElement( "div" ) ), 5149 input = document.createElement( "input" ); 5150 5151 // Support: Android 4.0 - 4.3 only 5152 // Check state lost if the name is set (#11217) 5153 // Support: Windows Web Apps (WWA) 5154 // `name` and `type` must use .setAttribute for WWA (#14901) 5155 input.setAttribute( "type", "radio" ); 5156 input.setAttribute( "checked", "checked" ); 5157 input.setAttribute( "name", "t" ); 5158 5159 div.appendChild( input ); 5160 5161 // Support: Android <=4.1 only 5162 // Older WebKit doesn't clone checked state correctly in fragments 5163 support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; 5164 5165 // Support: IE <=11 only 5166 // Make sure textarea (and checkbox) defaultValue is properly cloned 5167 div.innerHTML = "<textarea>x</textarea>"; 5168 support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; 5169 5170 // Support: IE <=9 only 5171 // IE <=9 replaces <option> tags with their contents when inserted outside of 5172 // the select element. 5173 div.innerHTML = "<option></option>"; 5174 support.option = !!div.lastChild; 5175} )(); 5176 5177 5178// We have to close these tags to support XHTML (#13200) 5179var wrapMap = { 5180 5181 // XHTML parsers do not magically insert elements in the 5182 // same way that tag soup parsers do. So we cannot shorten 5183 // this by omitting <tbody> or other required elements. 5184 thead: [ 1, "<table>", "</table>" ], 5185 col: [ 2, "<table><colgroup>", "</colgroup></table>" ], 5186 tr: [ 2, "<table><tbody>", "</tbody></table>" ], 5187 td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], 5188 5189 _default: [ 0, "", "" ] 5190}; 5191 5192wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; 5193wrapMap.th = wrapMap.td; 5194 5195// Support: IE <=9 only 5196if ( !support.option ) { 5197 wrapMap.optgroup = wrapMap.option = [ 1, "<select multiple='multiple'>", "</select>" ]; 5198} 5199 5200 5201function getAll( context, tag ) { 5202 5203 // Support: IE <=9 - 11 only 5204 // Use typeof to avoid zero-argument method invocation on host objects (#15151) 5205 var ret; 5206 5207 if ( typeof context.getElementsByTagName !== "undefined" ) { 5208 ret = context.getElementsByTagName( tag || "*" ); 5209 5210 } else if ( typeof context.querySelectorAll !== "undefined" ) { 5211 ret = context.querySelectorAll( tag || "*" ); 5212 5213 } else { 5214 ret = []; 5215 } 5216 5217 if ( tag === undefined || tag && nodeName( context, tag ) ) { 5218 return jQuery.merge( [ context ], ret ); 5219 } 5220 5221 return ret; 5222} 5223 5224 5225// Mark scripts as having already been evaluated 5226function setGlobalEval( elems, refElements ) { 5227 var i = 0, 5228 l = elems.length; 5229 5230 for ( ; i < l; i++ ) { 5231 dataPriv.set( 5232 elems[ i ], 5233 "globalEval", 5234 !refElements || dataPriv.get( refElements[ i ], "globalEval" ) 5235 ); 5236 } 5237} 5238 5239 5240var rhtml = /<|&#?\w+;/; 5241 5242function buildFragment( elems, context, scripts, selection, ignored ) { 5243 var elem, tmp, tag, wrap, attached, j, 5244 fragment = context.createDocumentFragment(), 5245 nodes = [], 5246 i = 0, 5247 l = elems.length; 5248 5249 for ( ; i < l; i++ ) { 5250 elem = elems[ i ]; 5251 5252 if ( elem || elem === 0 ) { 5253 5254 // Add nodes directly 5255 if ( toType( elem ) === "object" ) { 5256 5257 // Support: Android <=4.0 only, PhantomJS 1 only 5258 // push.apply(_, arraylike) throws on ancient WebKit 5259 jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); 5260 5261 // Convert non-html into a text node 5262 } else if ( !rhtml.test( elem ) ) { 5263 nodes.push( context.createTextNode( elem ) ); 5264 5265 // Convert html into DOM nodes 5266 } else { 5267 tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); 5268 5269 // Deserialize a standard representation 5270 tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); 5271 wrap = wrapMap[ tag ] || wrapMap._default; 5272 tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; 5273 5274 // Descend through wrappers to the right content 5275 j = wrap[ 0 ]; 5276 while ( j-- ) { 5277 tmp = tmp.lastChild; 5278 } 5279 5280 // Support: Android <=4.0 only, PhantomJS 1 only 5281 // push.apply(_, arraylike) throws on ancient WebKit 5282 jQuery.merge( nodes, tmp.childNodes ); 5283 5284 // Remember the top-level container 5285 tmp = fragment.firstChild; 5286 5287 // Ensure the created nodes are orphaned (#12392) 5288 tmp.textContent = ""; 5289 } 5290 } 5291 } 5292 5293 // Remove wrapper from fragment 5294 fragment.textContent = ""; 5295 5296 i = 0; 5297 while ( ( elem = nodes[ i++ ] ) ) { 5298 5299 // Skip elements already in the context collection (trac-4087) 5300 if ( selection && jQuery.inArray( elem, selection ) > -1 ) { 5301 if ( ignored ) { 5302 ignored.push( elem ); 5303 } 5304 continue; 5305 } 5306 5307 attached = isAttached( elem ); 5308 5309 // Append to fragment 5310 tmp = getAll( fragment.appendChild( elem ), "script" ); 5311 5312 // Preserve script evaluation history 5313 if ( attached ) { 5314 setGlobalEval( tmp ); 5315 } 5316 5317 // Capture executables 5318 if ( scripts ) { 5319 j = 0; 5320 while ( ( elem = tmp[ j++ ] ) ) { 5321 if ( rscriptType.test( elem.type || "" ) ) { 5322 scripts.push( elem ); 5323 } 5324 } 5325 } 5326 } 5327 5328 return fragment; 5329} 5330 5331 5332var rtypenamespace = /^([^.]*)(?:\.(.+)|)/; 5333 5334function returnTrue() { 5335 return true; 5336} 5337 5338function returnFalse() { 5339 return false; 5340} 5341 5342// Support: IE <=9 - 11+ 5343// focus() and blur() are asynchronous, except when they are no-op. 5344// So expect focus to be synchronous when the element is already active, 5345// and blur to be synchronous when the element is not already active. 5346// (focus and blur are always synchronous in other supported browsers, 5347// this just defines when we can count on it). 5348function expectSync( elem, type ) { 5349 return ( elem === safeActiveElement() ) === ( type === "focus" ); 5350} 5351 5352// Support: IE <=9 only 5353// Accessing document.activeElement can throw unexpectedly 5354// https://bugs.jquery.com/ticket/13393 5355function safeActiveElement() { 5356 try { 5357 return document.activeElement; 5358 } catch ( err ) { } 5359} 5360 5361function on( elem, types, selector, data, fn, one ) { 5362 var origFn, type; 5363 5364 // Types can be a map of types/handlers 5365 if ( typeof types === "object" ) { 5366 5367 // ( types-Object, selector, data ) 5368 if ( typeof selector !== "string" ) { 5369 5370 // ( types-Object, data ) 5371 data = data || selector; 5372 selector = undefined; 5373 } 5374 for ( type in types ) { 5375 on( elem, type, selector, data, types[ type ], one ); 5376 } 5377 return elem; 5378 } 5379 5380 if ( data == null && fn == null ) { 5381 5382 // ( types, fn ) 5383 fn = selector; 5384 data = selector = undefined; 5385 } else if ( fn == null ) { 5386 if ( typeof selector === "string" ) { 5387 5388 // ( types, selector, fn ) 5389 fn = data; 5390 data = undefined; 5391 } else { 5392 5393 // ( types, data, fn ) 5394 fn = data; 5395 data = selector; 5396 selector = undefined; 5397 } 5398 } 5399 if ( fn === false ) { 5400 fn = returnFalse; 5401 } else if ( !fn ) { 5402 return elem; 5403 } 5404 5405 if ( one === 1 ) { 5406 origFn = fn; 5407 fn = function( event ) { 5408 5409 // Can use an empty set, since event contains the info 5410 jQuery().off( event ); 5411 return origFn.apply( this, arguments ); 5412 }; 5413 5414 // Use same guid so caller can remove using origFn 5415 fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); 5416 } 5417 return elem.each( function() { 5418 jQuery.event.add( this, types, fn, data, selector ); 5419 } ); 5420} 5421 5422/* 5423 * Helper functions for managing events -- not part of the public interface. 5424 * Props to Dean Edwards' addEvent library for many of the ideas. 5425 */ 5426jQuery.event = { 5427 5428 global: {}, 5429 5430 add: function( elem, types, handler, data, selector ) { 5431 5432 var handleObjIn, eventHandle, tmp, 5433 events, t, handleObj, 5434 special, handlers, type, namespaces, origType, 5435 elemData = dataPriv.get( elem ); 5436 5437 // Only attach events to objects that accept data 5438 if ( !acceptData( elem ) ) { 5439 return; 5440 } 5441 5442 // Caller can pass in an object of custom data in lieu of the handler 5443 if ( handler.handler ) { 5444 handleObjIn = handler; 5445 handler = handleObjIn.handler; 5446 selector = handleObjIn.selector; 5447 } 5448 5449 // Ensure that invalid selectors throw exceptions at attach time 5450 // Evaluate against documentElement in case elem is a non-element node (e.g., document) 5451 if ( selector ) { 5452 jQuery.find.matchesSelector( documentElement, selector ); 5453 } 5454 5455 // Make sure that the handler has a unique ID, used to find/remove it later 5456 if ( !handler.guid ) { 5457 handler.guid = jQuery.guid++; 5458 } 5459 5460 // Init the element's event structure and main handler, if this is the first 5461 if ( !( events = elemData.events ) ) { 5462 events = elemData.events = Object.create( null ); 5463 } 5464 if ( !( eventHandle = elemData.handle ) ) { 5465 eventHandle = elemData.handle = function( e ) { 5466 5467 // Discard the second event of a jQuery.event.trigger() and 5468 // when an event is called after a page has unloaded 5469 return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? 5470 jQuery.event.dispatch.apply( elem, arguments ) : undefined; 5471 }; 5472 } 5473 5474 // Handle multiple events separated by a space 5475 types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; 5476 t = types.length; 5477 while ( t-- ) { 5478 tmp = rtypenamespace.exec( types[ t ] ) || []; 5479 type = origType = tmp[ 1 ]; 5480 namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); 5481 5482 // There *must* be a type, no attaching namespace-only handlers 5483 if ( !type ) { 5484 continue; 5485 } 5486 5487 // If event changes its type, use the special event handlers for the changed type 5488 special = jQuery.event.special[ type ] || {}; 5489 5490 // If selector defined, determine special event api type, otherwise given type 5491 type = ( selector ? special.delegateType : special.bindType ) || type; 5492 5493 // Update special based on newly reset type 5494 special = jQuery.event.special[ type ] || {}; 5495 5496 // handleObj is passed to all event handlers 5497 handleObj = jQuery.extend( { 5498 type: type, 5499 origType: origType, 5500 data: data, 5501 handler: handler, 5502 guid: handler.guid, 5503 selector: selector, 5504 needsContext: selector && jQuery.expr.match.needsContext.test( selector ), 5505 namespace: namespaces.join( "." ) 5506 }, handleObjIn ); 5507 5508 // Init the event handler queue if we're the first 5509 if ( !( handlers = events[ type ] ) ) { 5510 handlers = events[ type ] = []; 5511 handlers.delegateCount = 0; 5512 5513 // Only use addEventListener if the special events handler returns false 5514 if ( !special.setup || 5515 special.setup.call( elem, data, namespaces, eventHandle ) === false ) { 5516 5517 if ( elem.addEventListener ) { 5518 elem.addEventListener( type, eventHandle ); 5519 } 5520 } 5521 } 5522 5523 if ( special.add ) { 5524 special.add.call( elem, handleObj ); 5525 5526 if ( !handleObj.handler.guid ) { 5527 handleObj.handler.guid = handler.guid; 5528 } 5529 } 5530 5531 // Add to the element's handler list, delegates in front 5532 if ( selector ) { 5533 handlers.splice( handlers.delegateCount++, 0, handleObj ); 5534 } else { 5535 handlers.push( handleObj ); 5536 } 5537 5538 // Keep track of which events have ever been used, for event optimization 5539 jQuery.event.global[ type ] = true; 5540 } 5541 5542 }, 5543 5544 // Detach an event or set of events from an element 5545 remove: function( elem, types, handler, selector, mappedTypes ) { 5546 5547 var j, origCount, tmp, 5548 events, t, handleObj, 5549 special, handlers, type, namespaces, origType, 5550 elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); 5551 5552 if ( !elemData || !( events = elemData.events ) ) { 5553 return; 5554 } 5555 5556 // Once for each type.namespace in types; type may be omitted 5557 types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; 5558 t = types.length; 5559 while ( t-- ) { 5560 tmp = rtypenamespace.exec( types[ t ] ) || []; 5561 type = origType = tmp[ 1 ]; 5562 namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); 5563 5564 // Unbind all events (on this namespace, if provided) for the element 5565 if ( !type ) { 5566 for ( type in events ) { 5567 jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); 5568 } 5569 continue; 5570 } 5571 5572 special = jQuery.event.special[ type ] || {}; 5573 type = ( selector ? special.delegateType : special.bindType ) || type; 5574 handlers = events[ type ] || []; 5575 tmp = tmp[ 2 ] && 5576 new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); 5577 5578 // Remove matching events 5579 origCount = j = handlers.length; 5580 while ( j-- ) { 5581 handleObj = handlers[ j ]; 5582 5583 if ( ( mappedTypes || origType === handleObj.origType ) && 5584 ( !handler || handler.guid === handleObj.guid ) && 5585 ( !tmp || tmp.test( handleObj.namespace ) ) && 5586 ( !selector || selector === handleObj.selector || 5587 selector === "**" && handleObj.selector ) ) { 5588 handlers.splice( j, 1 ); 5589 5590 if ( handleObj.selector ) { 5591 handlers.delegateCount--; 5592 } 5593 if ( special.remove ) { 5594 special.remove.call( elem, handleObj ); 5595 } 5596 } 5597 } 5598 5599 // Remove generic event handler if we removed something and no more handlers exist 5600 // (avoids potential for endless recursion during removal of special event handlers) 5601 if ( origCount && !handlers.length ) { 5602 if ( !special.teardown || 5603 special.teardown.call( elem, namespaces, elemData.handle ) === false ) { 5604 5605 jQuery.removeEvent( elem, type, elemData.handle ); 5606 } 5607 5608 delete events[ type ]; 5609 } 5610 } 5611 5612 // Remove data and the expando if it's no longer used 5613 if ( jQuery.isEmptyObject( events ) ) { 5614 dataPriv.remove( elem, "handle events" ); 5615 } 5616 }, 5617 5618 dispatch: function( nativeEvent ) { 5619 5620 var i, j, ret, matched, handleObj, handlerQueue, 5621 args = new Array( arguments.length ), 5622 5623 // Make a writable jQuery.Event from the native event object 5624 event = jQuery.event.fix( nativeEvent ), 5625 5626 handlers = ( 5627 dataPriv.get( this, "events" ) || Object.create( null ) 5628 )[ event.type ] || [], 5629 special = jQuery.event.special[ event.type ] || {}; 5630 5631 // Use the fix-ed jQuery.Event rather than the (read-only) native event 5632 args[ 0 ] = event; 5633 5634 for ( i = 1; i < arguments.length; i++ ) { 5635 args[ i ] = arguments[ i ]; 5636 } 5637 5638 event.delegateTarget = this; 5639 5640 // Call the preDispatch hook for the mapped type, and let it bail if desired 5641 if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { 5642 return; 5643 } 5644 5645 // Determine handlers 5646 handlerQueue = jQuery.event.handlers.call( this, event, handlers ); 5647 5648 // Run delegates first; they may want to stop propagation beneath us 5649 i = 0; 5650 while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { 5651 event.currentTarget = matched.elem; 5652 5653 j = 0; 5654 while ( ( handleObj = matched.handlers[ j++ ] ) && 5655 !event.isImmediatePropagationStopped() ) { 5656 5657 // If the event is namespaced, then each handler is only invoked if it is 5658 // specially universal or its namespaces are a superset of the event's. 5659 if ( !event.rnamespace || handleObj.namespace === false || 5660 event.rnamespace.test( handleObj.namespace ) ) { 5661 5662 event.handleObj = handleObj; 5663 event.data = handleObj.data; 5664 5665 ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || 5666 handleObj.handler ).apply( matched.elem, args ); 5667 5668 if ( ret !== undefined ) { 5669 if ( ( event.result = ret ) === false ) { 5670 event.preventDefault(); 5671 event.stopPropagation(); 5672 } 5673 } 5674 } 5675 } 5676 } 5677 5678 // Call the postDispatch hook for the mapped type 5679 if ( special.postDispatch ) { 5680 special.postDispatch.call( this, event ); 5681 } 5682 5683 return event.result; 5684 }, 5685 5686 handlers: function( event, handlers ) { 5687 var i, handleObj, sel, matchedHandlers, matchedSelectors, 5688 handlerQueue = [], 5689 delegateCount = handlers.delegateCount, 5690 cur = event.target; 5691 5692 // Find delegate handlers 5693 if ( delegateCount && 5694 5695 // Support: IE <=9 5696 // Black-hole SVG <use> instance trees (trac-13180) 5697 cur.nodeType && 5698 5699 // Support: Firefox <=42 5700 // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) 5701 // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click 5702 // Support: IE 11 only 5703 // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) 5704 !( event.type === "click" && event.button >= 1 ) ) { 5705 5706 for ( ; cur !== this; cur = cur.parentNode || this ) { 5707 5708 // Don't check non-elements (#13208) 5709 // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) 5710 if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { 5711 matchedHandlers = []; 5712 matchedSelectors = {}; 5713 for ( i = 0; i < delegateCount; i++ ) { 5714 handleObj = handlers[ i ]; 5715 5716 // Don't conflict with Object.prototype properties (#13203) 5717 sel = handleObj.selector + " "; 5718 5719 if ( matchedSelectors[ sel ] === undefined ) { 5720 matchedSelectors[ sel ] = handleObj.needsContext ? 5721 jQuery( sel, this ).index( cur ) > -1 : 5722 jQuery.find( sel, this, null, [ cur ] ).length; 5723 } 5724 if ( matchedSelectors[ sel ] ) { 5725 matchedHandlers.push( handleObj ); 5726 } 5727 } 5728 if ( matchedHandlers.length ) { 5729 handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); 5730 } 5731 } 5732 } 5733 } 5734 5735 // Add the remaining (directly-bound) handlers 5736 cur = this; 5737 if ( delegateCount < handlers.length ) { 5738 handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); 5739 } 5740 5741 return handlerQueue; 5742 }, 5743 5744 addProp: function( name, hook ) { 5745 Object.defineProperty( jQuery.Event.prototype, name, { 5746 enumerable: true, 5747 configurable: true, 5748 5749 get: isFunction( hook ) ? 5750 function() { 5751 if ( this.originalEvent ) { 5752 return hook( this.originalEvent ); 5753 } 5754 } : 5755 function() { 5756 if ( this.originalEvent ) { 5757 return this.originalEvent[ name ]; 5758 } 5759 }, 5760 5761 set: function( value ) { 5762 Object.defineProperty( this, name, { 5763 enumerable: true, 5764 configurable: true, 5765 writable: true, 5766 value: value 5767 } ); 5768 } 5769 } ); 5770 }, 5771 5772 fix: function( originalEvent ) { 5773 return originalEvent[ jQuery.expando ] ? 5774 originalEvent : 5775 new jQuery.Event( originalEvent ); 5776 }, 5777 5778 special: { 5779 load: { 5780 5781 // Prevent triggered image.load events from bubbling to window.load 5782 noBubble: true 5783 }, 5784 click: { 5785 5786 // Utilize native event to ensure correct state for checkable inputs 5787 setup: function( data ) { 5788 5789 // For mutual compressibility with _default, replace `this` access with a local var. 5790 // `|| data` is dead code meant only to preserve the variable through minification. 5791 var el = this || data; 5792 5793 // Claim the first handler 5794 if ( rcheckableType.test( el.type ) && 5795 el.click && nodeName( el, "input" ) ) { 5796 5797 // dataPriv.set( el, "click", ... ) 5798 leverageNative( el, "click", returnTrue ); 5799 } 5800 5801 // Return false to allow normal processing in the caller 5802 return false; 5803 }, 5804 trigger: function( data ) { 5805 5806 // For mutual compressibility with _default, replace `this` access with a local var. 5807 // `|| data` is dead code meant only to preserve the variable through minification. 5808 var el = this || data; 5809 5810 // Force setup before triggering a click 5811 if ( rcheckableType.test( el.type ) && 5812 el.click && nodeName( el, "input" ) ) { 5813 5814 leverageNative( el, "click" ); 5815 } 5816 5817 // Return non-false to allow normal event-path propagation 5818 return true; 5819 }, 5820 5821 // For cross-browser consistency, suppress native .click() on links 5822 // Also prevent it if we're currently inside a leveraged native-event stack 5823 _default: function( event ) { 5824 var target = event.target; 5825 return rcheckableType.test( target.type ) && 5826 target.click && nodeName( target, "input" ) && 5827 dataPriv.get( target, "click" ) || 5828 nodeName( target, "a" ); 5829 } 5830 }, 5831 5832 beforeunload: { 5833 postDispatch: function( event ) { 5834 5835 // Support: Firefox 20+ 5836 // Firefox doesn't alert if the returnValue field is not set. 5837 if ( event.result !== undefined && event.originalEvent ) { 5838 event.originalEvent.returnValue = event.result; 5839 } 5840 } 5841 } 5842 } 5843}; 5844 5845// Ensure the presence of an event listener that handles manually-triggered 5846// synthetic events by interrupting progress until reinvoked in response to 5847// *native* events that it fires directly, ensuring that state changes have 5848// already occurred before other listeners are invoked. 5849function leverageNative( el, type, expectSync ) { 5850 5851 // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add 5852 if ( !expectSync ) { 5853 if ( dataPriv.get( el, type ) === undefined ) { 5854 jQuery.event.add( el, type, returnTrue ); 5855 } 5856 return; 5857 } 5858 5859 // Register the controller as a special universal handler for all event namespaces 5860 dataPriv.set( el, type, false ); 5861 jQuery.event.add( el, type, { 5862 namespace: false, 5863 handler: function( event ) { 5864 var notAsync, result, 5865 saved = dataPriv.get( this, type ); 5866 5867 if ( ( event.isTrigger & 1 ) && this[ type ] ) { 5868 5869 // Interrupt processing of the outer synthetic .trigger()ed event 5870 // Saved data should be false in such cases, but might be a leftover capture object 5871 // from an async native handler (gh-4350) 5872 if ( !saved.length ) { 5873 5874 // Store arguments for use when handling the inner native event 5875 // There will always be at least one argument (an event object), so this array 5876 // will not be confused with a leftover capture object. 5877 saved = slice.call( arguments ); 5878 dataPriv.set( this, type, saved ); 5879 5880 // Trigger the native event and capture its result 5881 // Support: IE <=9 - 11+ 5882 // focus() and blur() are asynchronous 5883 notAsync = expectSync( this, type ); 5884 this[ type ](); 5885 result = dataPriv.get( this, type ); 5886 if ( saved !== result || notAsync ) { 5887 dataPriv.set( this, type, false ); 5888 } else { 5889 result = {}; 5890 } 5891 if ( saved !== result ) { 5892 5893 // Cancel the outer synthetic event 5894 event.stopImmediatePropagation(); 5895 event.preventDefault(); 5896 5897 // Support: Chrome 86+ 5898 // In Chrome, if an element having a focusout handler is blurred by 5899 // clicking outside of it, it invokes the handler synchronously. If 5900 // that handler calls `.remove()` on the element, the data is cleared, 5901 // leaving `result` undefined. We need to guard against this. 5902 return result && result.value; 5903 } 5904 5905 // If this is an inner synthetic event for an event with a bubbling surrogate 5906 // (focus or blur), assume that the surrogate already propagated from triggering the 5907 // native event and prevent that from happening again here. 5908 // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the 5909 // bubbling surrogate propagates *after* the non-bubbling base), but that seems 5910 // less bad than duplication. 5911 } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { 5912 event.stopPropagation(); 5913 } 5914 5915 // If this is a native event triggered above, everything is now in order 5916 // Fire an inner synthetic event with the original arguments 5917 } else if ( saved.length ) { 5918 5919 // ...and capture the result 5920 dataPriv.set( this, type, { 5921 value: jQuery.event.trigger( 5922 5923 // Support: IE <=9 - 11+ 5924 // Extend with the prototype to reset the above stopImmediatePropagation() 5925 jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), 5926 saved.slice( 1 ), 5927 this 5928 ) 5929 } ); 5930 5931 // Abort handling of the native event 5932 event.stopImmediatePropagation(); 5933 } 5934 } 5935 } ); 5936} 5937 5938jQuery.removeEvent = function( elem, type, handle ) { 5939 5940 // This "if" is needed for plain objects 5941 if ( elem.removeEventListener ) { 5942 elem.removeEventListener( type, handle ); 5943 } 5944}; 5945 5946jQuery.Event = function( src, props ) { 5947 5948 // Allow instantiation without the 'new' keyword 5949 if ( !( this instanceof jQuery.Event ) ) { 5950 return new jQuery.Event( src, props ); 5951 } 5952 5953 // Event object 5954 if ( src && src.type ) { 5955 this.originalEvent = src; 5956 this.type = src.type; 5957 5958 // Events bubbling up the document may have been marked as prevented 5959 // by a handler lower down the tree; reflect the correct value. 5960 this.isDefaultPrevented = src.defaultPrevented || 5961 src.defaultPrevented === undefined && 5962 5963 // Support: Android <=2.3 only 5964 src.returnValue === false ? 5965 returnTrue : 5966 returnFalse; 5967 5968 // Create target properties 5969 // Support: Safari <=6 - 7 only 5970 // Target should not be a text node (#504, #13143) 5971 this.target = ( src.target && src.target.nodeType === 3 ) ? 5972 src.target.parentNode : 5973 src.target; 5974 5975 this.currentTarget = src.currentTarget; 5976 this.relatedTarget = src.relatedTarget; 5977 5978 // Event type 5979 } else { 5980 this.type = src; 5981 } 5982 5983 // Put explicitly provided properties onto the event object 5984 if ( props ) { 5985 jQuery.extend( this, props ); 5986 } 5987 5988 // Create a timestamp if incoming event doesn't have one 5989 this.timeStamp = src && src.timeStamp || Date.now(); 5990 5991 // Mark it as fixed 5992 this[ jQuery.expando ] = true; 5993}; 5994 5995// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding 5996// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html 5997jQuery.Event.prototype = { 5998 constructor: jQuery.Event, 5999 isDefaultPrevented: returnFalse, 6000 isPropagationStopped: returnFalse, 6001 isImmediatePropagationStopped: returnFalse, 6002 isSimulated: false, 6003 6004 preventDefault: function() { 6005 var e = this.originalEvent; 6006 6007 this.isDefaultPrevented = returnTrue; 6008 6009 if ( e && !this.isSimulated ) { 6010 e.preventDefault(); 6011 } 6012 }, 6013 stopPropagation: function() { 6014 var e = this.originalEvent; 6015 6016 this.isPropagationStopped = returnTrue; 6017 6018 if ( e && !this.isSimulated ) { 6019 e.stopPropagation(); 6020 } 6021 }, 6022 stopImmediatePropagation: function() { 6023 var e = this.originalEvent; 6024 6025 this.isImmediatePropagationStopped = returnTrue; 6026 6027 if ( e && !this.isSimulated ) { 6028 e.stopImmediatePropagation(); 6029 } 6030 6031 this.stopPropagation(); 6032 } 6033}; 6034 6035// Includes all common event props including KeyEvent and MouseEvent specific props 6036jQuery.each( { 6037 altKey: true, 6038 bubbles: true, 6039 cancelable: true, 6040 changedTouches: true, 6041 ctrlKey: true, 6042 detail: true, 6043 eventPhase: true, 6044 metaKey: true, 6045 pageX: true, 6046 pageY: true, 6047 shiftKey: true, 6048 view: true, 6049 "char": true, 6050 code: true, 6051 charCode: true, 6052 key: true, 6053 keyCode: true, 6054 button: true, 6055 buttons: true, 6056 clientX: true, 6057 clientY: true, 6058 offsetX: true, 6059 offsetY: true, 6060 pointerId: true, 6061 pointerType: true, 6062 screenX: true, 6063 screenY: true, 6064 targetTouches: true, 6065 toElement: true, 6066 touches: true, 6067 which: true 6068}, jQuery.event.addProp ); 6069 6070jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { 6071 jQuery.event.special[ type ] = { 6072 6073 // Utilize native event if possible so blur/focus sequence is correct 6074 setup: function() { 6075 6076 // Claim the first handler 6077 // dataPriv.set( this, "focus", ... ) 6078 // dataPriv.set( this, "blur", ... ) 6079 leverageNative( this, type, expectSync ); 6080 6081 // Return false to allow normal processing in the caller 6082 return false; 6083 }, 6084 trigger: function() { 6085 6086 // Force setup before trigger 6087 leverageNative( this, type ); 6088 6089 // Return non-false to allow normal event-path propagation 6090 return true; 6091 }, 6092 6093 // Suppress native focus or blur as it's already being fired 6094 // in leverageNative. 6095 _default: function() { 6096 return true; 6097 }, 6098 6099 delegateType: delegateType 6100 }; 6101} ); 6102 6103// Create mouseenter/leave events using mouseover/out and event-time checks 6104// so that event delegation works in jQuery. 6105// Do the same for pointerenter/pointerleave and pointerover/pointerout 6106// 6107// Support: Safari 7 only 6108// Safari sends mouseenter too often; see: 6109// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 6110// for the description of the bug (it existed in older Chrome versions as well). 6111jQuery.each( { 6112 mouseenter: "mouseover", 6113 mouseleave: "mouseout", 6114 pointerenter: "pointerover", 6115 pointerleave: "pointerout" 6116}, function( orig, fix ) { 6117 jQuery.event.special[ orig ] = { 6118 delegateType: fix, 6119 bindType: fix, 6120 6121 handle: function( event ) { 6122 var ret, 6123 target = this, 6124 related = event.relatedTarget, 6125 handleObj = event.handleObj; 6126 6127 // For mouseenter/leave call the handler if related is outside the target. 6128 // NB: No relatedTarget if the mouse left/entered the browser window 6129 if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { 6130 event.type = handleObj.origType; 6131 ret = handleObj.handler.apply( this, arguments ); 6132 event.type = fix; 6133 } 6134 return ret; 6135 } 6136 }; 6137} ); 6138 6139jQuery.fn.extend( { 6140 6141 on: function( types, selector, data, fn ) { 6142 return on( this, types, selector, data, fn ); 6143 }, 6144 one: function( types, selector, data, fn ) { 6145 return on( this, types, selector, data, fn, 1 ); 6146 }, 6147 off: function( types, selector, fn ) { 6148 var handleObj, type; 6149 if ( types && types.preventDefault && types.handleObj ) { 6150 6151 // ( event ) dispatched jQuery.Event 6152 handleObj = types.handleObj; 6153 jQuery( types.delegateTarget ).off( 6154 handleObj.namespace ? 6155 handleObj.origType + "." + handleObj.namespace : 6156 handleObj.origType, 6157 handleObj.selector, 6158 handleObj.handler 6159 ); 6160 return this; 6161 } 6162 if ( typeof types === "object" ) { 6163 6164 // ( types-object [, selector] ) 6165 for ( type in types ) { 6166 this.off( type, selector, types[ type ] ); 6167 } 6168 return this; 6169 } 6170 if ( selector === false || typeof selector === "function" ) { 6171 6172 // ( types [, fn] ) 6173 fn = selector; 6174 selector = undefined; 6175 } 6176 if ( fn === false ) { 6177 fn = returnFalse; 6178 } 6179 return this.each( function() { 6180 jQuery.event.remove( this, types, fn, selector ); 6181 } ); 6182 } 6183} ); 6184 6185 6186var 6187 6188 // Support: IE <=10 - 11, Edge 12 - 13 only 6189 // In IE/Edge using regex groups here causes severe slowdowns. 6190 // See https://connect.microsoft.com/IE/feedback/details/1736512/ 6191 rnoInnerhtml = /<script|<style|<link/i, 6192 6193 // checked="checked" or checked 6194 rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, 6195 rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g; 6196 6197// Prefer a tbody over its parent table for containing new rows 6198function manipulationTarget( elem, content ) { 6199 if ( nodeName( elem, "table" ) && 6200 nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { 6201 6202 return jQuery( elem ).children( "tbody" )[ 0 ] || elem; 6203 } 6204 6205 return elem; 6206} 6207 6208// Replace/restore the type attribute of script elements for safe DOM manipulation 6209function disableScript( elem ) { 6210 elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; 6211 return elem; 6212} 6213function restoreScript( elem ) { 6214 if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { 6215 elem.type = elem.type.slice( 5 ); 6216 } else { 6217 elem.removeAttribute( "type" ); 6218 } 6219 6220 return elem; 6221} 6222 6223function cloneCopyEvent( src, dest ) { 6224 var i, l, type, pdataOld, udataOld, udataCur, events; 6225 6226 if ( dest.nodeType !== 1 ) { 6227 return; 6228 } 6229 6230 // 1. Copy private data: events, handlers, etc. 6231 if ( dataPriv.hasData( src ) ) { 6232 pdataOld = dataPriv.get( src ); 6233 events = pdataOld.events; 6234 6235 if ( events ) { 6236 dataPriv.remove( dest, "handle events" ); 6237 6238 for ( type in events ) { 6239 for ( i = 0, l = events[ type ].length; i < l; i++ ) { 6240 jQuery.event.add( dest, type, events[ type ][ i ] ); 6241 } 6242 } 6243 } 6244 } 6245 6246 // 2. Copy user data 6247 if ( dataUser.hasData( src ) ) { 6248 udataOld = dataUser.access( src ); 6249 udataCur = jQuery.extend( {}, udataOld ); 6250 6251 dataUser.set( dest, udataCur ); 6252 } 6253} 6254 6255// Fix IE bugs, see support tests 6256function fixInput( src, dest ) { 6257 var nodeName = dest.nodeName.toLowerCase(); 6258 6259 // Fails to persist the checked state of a cloned checkbox or radio button. 6260 if ( nodeName === "input" && rcheckableType.test( src.type ) ) { 6261 dest.checked = src.checked; 6262 6263 // Fails to return the selected option to the default selected state when cloning options 6264 } else if ( nodeName === "input" || nodeName === "textarea" ) { 6265 dest.defaultValue = src.defaultValue; 6266 } 6267} 6268 6269function domManip( collection, args, callback, ignored ) { 6270 6271 // Flatten any nested arrays 6272 args = flat( args ); 6273 6274 var fragment, first, scripts, hasScripts, node, doc, 6275 i = 0, 6276 l = collection.length, 6277 iNoClone = l - 1, 6278 value = args[ 0 ], 6279 valueIsFunction = isFunction( value ); 6280 6281 // We can't cloneNode fragments that contain checked, in WebKit 6282 if ( valueIsFunction || 6283 ( l > 1 && typeof value === "string" && 6284 !support.checkClone && rchecked.test( value ) ) ) { 6285 return collection.each( function( index ) { 6286 var self = collection.eq( index ); 6287 if ( valueIsFunction ) { 6288 args[ 0 ] = value.call( this, index, self.html() ); 6289 } 6290 domManip( self, args, callback, ignored ); 6291 } ); 6292 } 6293 6294 if ( l ) { 6295 fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); 6296 first = fragment.firstChild; 6297 6298 if ( fragment.childNodes.length === 1 ) { 6299 fragment = first; 6300 } 6301 6302 // Require either new content or an interest in ignored elements to invoke the callback 6303 if ( first || ignored ) { 6304 scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); 6305 hasScripts = scripts.length; 6306 6307 // Use the original fragment for the last item 6308 // instead of the first because it can end up 6309 // being emptied incorrectly in certain situations (#8070). 6310 for ( ; i < l; i++ ) { 6311 node = fragment; 6312 6313 if ( i !== iNoClone ) { 6314 node = jQuery.clone( node, true, true ); 6315 6316 // Keep references to cloned scripts for later restoration 6317 if ( hasScripts ) { 6318 6319 // Support: Android <=4.0 only, PhantomJS 1 only 6320 // push.apply(_, arraylike) throws on ancient WebKit 6321 jQuery.merge( scripts, getAll( node, "script" ) ); 6322 } 6323 } 6324 6325 callback.call( collection[ i ], node, i ); 6326 } 6327 6328 if ( hasScripts ) { 6329 doc = scripts[ scripts.length - 1 ].ownerDocument; 6330 6331 // Reenable scripts 6332 jQuery.map( scripts, restoreScript ); 6333 6334 // Evaluate executable scripts on first document insertion 6335 for ( i = 0; i < hasScripts; i++ ) { 6336 node = scripts[ i ]; 6337 if ( rscriptType.test( node.type || "" ) && 6338 !dataPriv.access( node, "globalEval" ) && 6339 jQuery.contains( doc, node ) ) { 6340 6341 if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { 6342 6343 // Optional AJAX dependency, but won't run scripts if not present 6344 if ( jQuery._evalUrl && !node.noModule ) { 6345 jQuery._evalUrl( node.src, { 6346 nonce: node.nonce || node.getAttribute( "nonce" ) 6347 }, doc ); 6348 } 6349 } else { 6350 DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); 6351 } 6352 } 6353 } 6354 } 6355 } 6356 } 6357 6358 return collection; 6359} 6360 6361function remove( elem, selector, keepData ) { 6362 var node, 6363 nodes = selector ? jQuery.filter( selector, elem ) : elem, 6364 i = 0; 6365 6366 for ( ; ( node = nodes[ i ] ) != null; i++ ) { 6367 if ( !keepData && node.nodeType === 1 ) { 6368 jQuery.cleanData( getAll( node ) ); 6369 } 6370 6371 if ( node.parentNode ) { 6372 if ( keepData && isAttached( node ) ) { 6373 setGlobalEval( getAll( node, "script" ) ); 6374 } 6375 node.parentNode.removeChild( node ); 6376 } 6377 } 6378 6379 return elem; 6380} 6381 6382jQuery.extend( { 6383 htmlPrefilter: function( html ) { 6384 return html; 6385 }, 6386 6387 clone: function( elem, dataAndEvents, deepDataAndEvents ) { 6388 var i, l, srcElements, destElements, 6389 clone = elem.cloneNode( true ), 6390 inPage = isAttached( elem ); 6391 6392 // Fix IE cloning issues 6393 if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && 6394 !jQuery.isXMLDoc( elem ) ) { 6395 6396 // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 6397 destElements = getAll( clone ); 6398 srcElements = getAll( elem ); 6399 6400 for ( i = 0, l = srcElements.length; i < l; i++ ) { 6401 fixInput( srcElements[ i ], destElements[ i ] ); 6402 } 6403 } 6404 6405 // Copy the events from the original to the clone 6406 if ( dataAndEvents ) { 6407 if ( deepDataAndEvents ) { 6408 srcElements = srcElements || getAll( elem ); 6409 destElements = destElements || getAll( clone ); 6410 6411 for ( i = 0, l = srcElements.length; i < l; i++ ) { 6412 cloneCopyEvent( srcElements[ i ], destElements[ i ] ); 6413 } 6414 } else { 6415 cloneCopyEvent( elem, clone ); 6416 } 6417 } 6418 6419 // Preserve script evaluation history 6420 destElements = getAll( clone, "script" ); 6421 if ( destElements.length > 0 ) { 6422 setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); 6423 } 6424 6425 // Return the cloned set 6426 return clone; 6427 }, 6428 6429 cleanData: function( elems ) { 6430 var data, elem, type, 6431 special = jQuery.event.special, 6432 i = 0; 6433 6434 for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { 6435 if ( acceptData( elem ) ) { 6436 if ( ( data = elem[ dataPriv.expando ] ) ) { 6437 if ( data.events ) { 6438 for ( type in data.events ) { 6439 if ( special[ type ] ) { 6440 jQuery.event.remove( elem, type ); 6441 6442 // This is a shortcut to avoid jQuery.event.remove's overhead 6443 } else { 6444 jQuery.removeEvent( elem, type, data.handle ); 6445 } 6446 } 6447 } 6448 6449 // Support: Chrome <=35 - 45+ 6450 // Assign undefined instead of using delete, see Data#remove 6451 elem[ dataPriv.expando ] = undefined; 6452 } 6453 if ( elem[ dataUser.expando ] ) { 6454 6455 // Support: Chrome <=35 - 45+ 6456 // Assign undefined instead of using delete, see Data#remove 6457 elem[ dataUser.expando ] = undefined; 6458 } 6459 } 6460 } 6461 } 6462} ); 6463 6464jQuery.fn.extend( { 6465 detach: function( selector ) { 6466 return remove( this, selector, true ); 6467 }, 6468 6469 remove: function( selector ) { 6470 return remove( this, selector ); 6471 }, 6472 6473 text: function( value ) { 6474 return access( this, function( value ) { 6475 return value === undefined ? 6476 jQuery.text( this ) : 6477 this.empty().each( function() { 6478 if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { 6479 this.textContent = value; 6480 } 6481 } ); 6482 }, null, value, arguments.length ); 6483 }, 6484 6485 append: function() { 6486 return domManip( this, arguments, function( elem ) { 6487 if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { 6488 var target = manipulationTarget( this, elem ); 6489 target.appendChild( elem ); 6490 } 6491 } ); 6492 }, 6493 6494 prepend: function() { 6495 return domManip( this, arguments, function( elem ) { 6496 if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { 6497 var target = manipulationTarget( this, elem ); 6498 target.insertBefore( elem, target.firstChild ); 6499 } 6500 } ); 6501 }, 6502 6503 before: function() { 6504 return domManip( this, arguments, function( elem ) { 6505 if ( this.parentNode ) { 6506 this.parentNode.insertBefore( elem, this ); 6507 } 6508 } ); 6509 }, 6510 6511 after: function() { 6512 return domManip( this, arguments, function( elem ) { 6513 if ( this.parentNode ) { 6514 this.parentNode.insertBefore( elem, this.nextSibling ); 6515 } 6516 } ); 6517 }, 6518 6519 empty: function() { 6520 var elem, 6521 i = 0; 6522 6523 for ( ; ( elem = this[ i ] ) != null; i++ ) { 6524 if ( elem.nodeType === 1 ) { 6525 6526 // Prevent memory leaks 6527 jQuery.cleanData( getAll( elem, false ) ); 6528 6529 // Remove any remaining nodes 6530 elem.textContent = ""; 6531 } 6532 } 6533 6534 return this; 6535 }, 6536 6537 clone: function( dataAndEvents, deepDataAndEvents ) { 6538 dataAndEvents = dataAndEvents == null ? false : dataAndEvents; 6539 deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; 6540 6541 return this.map( function() { 6542 return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); 6543 } ); 6544 }, 6545 6546 html: function( value ) { 6547 return access( this, function( value ) { 6548 var elem = this[ 0 ] || {}, 6549 i = 0, 6550 l = this.length; 6551 6552 if ( value === undefined && elem.nodeType === 1 ) { 6553 return elem.innerHTML; 6554 } 6555 6556 // See if we can take a shortcut and just use innerHTML 6557 if ( typeof value === "string" && !rnoInnerhtml.test( value ) && 6558 !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { 6559 6560 value = jQuery.htmlPrefilter( value ); 6561 6562 try { 6563 for ( ; i < l; i++ ) { 6564 elem = this[ i ] || {}; 6565 6566 // Remove element nodes and prevent memory leaks 6567 if ( elem.nodeType === 1 ) { 6568 jQuery.cleanData( getAll( elem, false ) ); 6569 elem.innerHTML = value; 6570 } 6571 } 6572 6573 elem = 0; 6574 6575 // If using innerHTML throws an exception, use the fallback method 6576 } catch ( e ) {} 6577 } 6578 6579 if ( elem ) { 6580 this.empty().append( value ); 6581 } 6582 }, null, value, arguments.length ); 6583 }, 6584 6585 replaceWith: function() { 6586 var ignored = []; 6587 6588 // Make the changes, replacing each non-ignored context element with the new content 6589 return domManip( this, arguments, function( elem ) { 6590 var parent = this.parentNode; 6591 6592 if ( jQuery.inArray( this, ignored ) < 0 ) { 6593 jQuery.cleanData( getAll( this ) ); 6594 if ( parent ) { 6595 parent.replaceChild( elem, this ); 6596 } 6597 } 6598 6599 // Force callback invocation 6600 }, ignored ); 6601 } 6602} ); 6603 6604jQuery.each( { 6605 appendTo: "append", 6606 prependTo: "prepend", 6607 insertBefore: "before", 6608 insertAfter: "after", 6609 replaceAll: "replaceWith" 6610}, function( name, original ) { 6611 jQuery.fn[ name ] = function( selector ) { 6612 var elems, 6613 ret = [], 6614 insert = jQuery( selector ), 6615 last = insert.length - 1, 6616 i = 0; 6617 6618 for ( ; i <= last; i++ ) { 6619 elems = i === last ? this : this.clone( true ); 6620 jQuery( insert[ i ] )[ original ]( elems ); 6621 6622 // Support: Android <=4.0 only, PhantomJS 1 only 6623 // .get() because push.apply(_, arraylike) throws on ancient WebKit 6624 push.apply( ret, elems.get() ); 6625 } 6626 6627 return this.pushStack( ret ); 6628 }; 6629} ); 6630var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); 6631 6632var getStyles = function( elem ) { 6633 6634 // Support: IE <=11 only, Firefox <=30 (#15098, #14150) 6635 // IE throws on elements created in popups 6636 // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" 6637 var view = elem.ownerDocument.defaultView; 6638 6639 if ( !view || !view.opener ) { 6640 view = window; 6641 } 6642 6643 return view.getComputedStyle( elem ); 6644 }; 6645 6646var swap = function( elem, options, callback ) { 6647 var ret, name, 6648 old = {}; 6649 6650 // Remember the old values, and insert the new ones 6651 for ( name in options ) { 6652 old[ name ] = elem.style[ name ]; 6653 elem.style[ name ] = options[ name ]; 6654 } 6655 6656 ret = callback.call( elem ); 6657 6658 // Revert the old values 6659 for ( name in options ) { 6660 elem.style[ name ] = old[ name ]; 6661 } 6662 6663 return ret; 6664}; 6665 6666 6667var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); 6668 6669 6670 6671( function() { 6672 6673 // Executing both pixelPosition & boxSizingReliable tests require only one layout 6674 // so they're executed at the same time to save the second computation. 6675 function computeStyleTests() { 6676 6677 // This is a singleton, we need to execute it only once 6678 if ( !div ) { 6679 return; 6680 } 6681 6682 container.style.cssText = "position:absolute;left:-11111px;width:60px;" + 6683 "margin-top:1px;padding:0;border:0"; 6684 div.style.cssText = 6685 "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + 6686 "margin:auto;border:1px;padding:1px;" + 6687 "width:60%;top:1%"; 6688 documentElement.appendChild( container ).appendChild( div ); 6689 6690 var divStyle = window.getComputedStyle( div ); 6691 pixelPositionVal = divStyle.top !== "1%"; 6692 6693 // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 6694 reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; 6695 6696 // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 6697 // Some styles come back with percentage values, even though they shouldn't 6698 div.style.right = "60%"; 6699 pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; 6700 6701 // Support: IE 9 - 11 only 6702 // Detect misreporting of content dimensions for box-sizing:border-box elements 6703 boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; 6704 6705 // Support: IE 9 only 6706 // Detect overflow:scroll screwiness (gh-3699) 6707 // Support: Chrome <=64 6708 // Don't get tricked when zoom affects offsetWidth (gh-4029) 6709 div.style.position = "absolute"; 6710 scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; 6711 6712 documentElement.removeChild( container ); 6713 6714 // Nullify the div so it wouldn't be stored in the memory and 6715 // it will also be a sign that checks already performed 6716 div = null; 6717 } 6718 6719 function roundPixelMeasures( measure ) { 6720 return Math.round( parseFloat( measure ) ); 6721 } 6722 6723 var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, 6724 reliableTrDimensionsVal, reliableMarginLeftVal, 6725 container = document.createElement( "div" ), 6726 div = document.createElement( "div" ); 6727 6728 // Finish early in limited (non-browser) environments 6729 if ( !div.style ) { 6730 return; 6731 } 6732 6733 // Support: IE <=9 - 11 only 6734 // Style of cloned element affects source element cloned (#8908) 6735 div.style.backgroundClip = "content-box"; 6736 div.cloneNode( true ).style.backgroundClip = ""; 6737 support.clearCloneStyle = div.style.backgroundClip === "content-box"; 6738 6739 jQuery.extend( support, { 6740 boxSizingReliable: function() { 6741 computeStyleTests(); 6742 return boxSizingReliableVal; 6743 }, 6744 pixelBoxStyles: function() { 6745 computeStyleTests(); 6746 return pixelBoxStylesVal; 6747 }, 6748 pixelPosition: function() { 6749 computeStyleTests(); 6750 return pixelPositionVal; 6751 }, 6752 reliableMarginLeft: function() { 6753 computeStyleTests(); 6754 return reliableMarginLeftVal; 6755 }, 6756 scrollboxSize: function() { 6757 computeStyleTests(); 6758 return scrollboxSizeVal; 6759 }, 6760 6761 // Support: IE 9 - 11+, Edge 15 - 18+ 6762 // IE/Edge misreport `getComputedStyle` of table rows with width/height 6763 // set in CSS while `offset*` properties report correct values. 6764 // Behavior in IE 9 is more subtle than in newer versions & it passes 6765 // some versions of this test; make sure not to make it pass there! 6766 // 6767 // Support: Firefox 70+ 6768 // Only Firefox includes border widths 6769 // in computed dimensions. (gh-4529) 6770 reliableTrDimensions: function() { 6771 var table, tr, trChild, trStyle; 6772 if ( reliableTrDimensionsVal == null ) { 6773 table = document.createElement( "table" ); 6774 tr = document.createElement( "tr" ); 6775 trChild = document.createElement( "div" ); 6776 6777 table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate"; 6778 tr.style.cssText = "border:1px solid"; 6779 6780 // Support: Chrome 86+ 6781 // Height set through cssText does not get applied. 6782 // Computed height then comes back as 0. 6783 tr.style.height = "1px"; 6784 trChild.style.height = "9px"; 6785 6786 // Support: Android 8 Chrome 86+ 6787 // In our bodyBackground.html iframe, 6788 // display for all div elements is set to "inline", 6789 // which causes a problem only in Android 8 Chrome 86. 6790 // Ensuring the div is display: block 6791 // gets around this issue. 6792 trChild.style.display = "block"; 6793 6794 documentElement 6795 .appendChild( table ) 6796 .appendChild( tr ) 6797 .appendChild( trChild ); 6798 6799 trStyle = window.getComputedStyle( tr ); 6800 reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) + 6801 parseInt( trStyle.borderTopWidth, 10 ) + 6802 parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight; 6803 6804 documentElement.removeChild( table ); 6805 } 6806 return reliableTrDimensionsVal; 6807 } 6808 } ); 6809} )(); 6810 6811 6812function curCSS( elem, name, computed ) { 6813 var width, minWidth, maxWidth, ret, 6814 6815 // Support: Firefox 51+ 6816 // Retrieving style before computed somehow 6817 // fixes an issue with getting wrong values 6818 // on detached elements 6819 style = elem.style; 6820 6821 computed = computed || getStyles( elem ); 6822 6823 // getPropertyValue is needed for: 6824 // .css('filter') (IE 9 only, #12537) 6825 // .css('--customProperty) (#3144) 6826 if ( computed ) { 6827 ret = computed.getPropertyValue( name ) || computed[ name ]; 6828 6829 if ( ret === "" && !isAttached( elem ) ) { 6830 ret = jQuery.style( elem, name ); 6831 } 6832 6833 // A tribute to the "awesome hack by Dean Edwards" 6834 // Android Browser returns percentage for some values, 6835 // but width seems to be reliably pixels. 6836 // This is against the CSSOM draft spec: 6837 // https://drafts.csswg.org/cssom/#resolved-values 6838 if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { 6839 6840 // Remember the original values 6841 width = style.width; 6842 minWidth = style.minWidth; 6843 maxWidth = style.maxWidth; 6844 6845 // Put in the new values to get a computed value out 6846 style.minWidth = style.maxWidth = style.width = ret; 6847 ret = computed.width; 6848 6849 // Revert the changed values 6850 style.width = width; 6851 style.minWidth = minWidth; 6852 style.maxWidth = maxWidth; 6853 } 6854 } 6855 6856 return ret !== undefined ? 6857 6858 // Support: IE <=9 - 11 only 6859 // IE returns zIndex value as an integer. 6860 ret + "" : 6861 ret; 6862} 6863 6864 6865function addGetHookIf( conditionFn, hookFn ) { 6866 6867 // Define the hook, we'll check on the first run if it's really needed. 6868 return { 6869 get: function() { 6870 if ( conditionFn() ) { 6871 6872 // Hook not needed (or it's not possible to use it due 6873 // to missing dependency), remove it. 6874 delete this.get; 6875 return; 6876 } 6877 6878 // Hook needed; redefine it so that the support test is not executed again. 6879 return ( this.get = hookFn ).apply( this, arguments ); 6880 } 6881 }; 6882} 6883 6884 6885var cssPrefixes = [ "Webkit", "Moz", "ms" ], 6886 emptyStyle = document.createElement( "div" ).style, 6887 vendorProps = {}; 6888 6889// Return a vendor-prefixed property or undefined 6890function vendorPropName( name ) { 6891 6892 // Check for vendor prefixed names 6893 var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), 6894 i = cssPrefixes.length; 6895 6896 while ( i-- ) { 6897 name = cssPrefixes[ i ] + capName; 6898 if ( name in emptyStyle ) { 6899 return name; 6900 } 6901 } 6902} 6903 6904// Return a potentially-mapped jQuery.cssProps or vendor prefixed property 6905function finalPropName( name ) { 6906 var final = jQuery.cssProps[ name ] || vendorProps[ name ]; 6907 6908 if ( final ) { 6909 return final; 6910 } 6911 if ( name in emptyStyle ) { 6912 return name; 6913 } 6914 return vendorProps[ name ] = vendorPropName( name ) || name; 6915} 6916 6917 6918var 6919 6920 // Swappable if display is none or starts with table 6921 // except "table", "table-cell", or "table-caption" 6922 // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display 6923 rdisplayswap = /^(none|table(?!-c[ea]).+)/, 6924 rcustomProp = /^--/, 6925 cssShow = { position: "absolute", visibility: "hidden", display: "block" }, 6926 cssNormalTransform = { 6927 letterSpacing: "0", 6928 fontWeight: "400" 6929 }; 6930 6931function setPositiveNumber( _elem, value, subtract ) { 6932 6933 // Any relative (+/-) values have already been 6934 // normalized at this point 6935 var matches = rcssNum.exec( value ); 6936 return matches ? 6937 6938 // Guard against undefined "subtract", e.g., when used as in cssHooks 6939 Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : 6940 value; 6941} 6942 6943function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { 6944 var i = dimension === "width" ? 1 : 0, 6945 extra = 0, 6946 delta = 0; 6947 6948 // Adjustment may not be necessary 6949 if ( box === ( isBorderBox ? "border" : "content" ) ) { 6950 return 0; 6951 } 6952 6953 for ( ; i < 4; i += 2 ) { 6954 6955 // Both box models exclude margin 6956 if ( box === "margin" ) { 6957 delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); 6958 } 6959 6960 // If we get here with a content-box, we're seeking "padding" or "border" or "margin" 6961 if ( !isBorderBox ) { 6962 6963 // Add padding 6964 delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); 6965 6966 // For "border" or "margin", add border 6967 if ( box !== "padding" ) { 6968 delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); 6969 6970 // But still keep track of it otherwise 6971 } else { 6972 extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); 6973 } 6974 6975 // If we get here with a border-box (content + padding + border), we're seeking "content" or 6976 // "padding" or "margin" 6977 } else { 6978 6979 // For "content", subtract padding 6980 if ( box === "content" ) { 6981 delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); 6982 } 6983 6984 // For "content" or "padding", subtract border 6985 if ( box !== "margin" ) { 6986 delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); 6987 } 6988 } 6989 } 6990 6991 // Account for positive content-box scroll gutter when requested by providing computedVal 6992 if ( !isBorderBox && computedVal >= 0 ) { 6993 6994 // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border 6995 // Assuming integer scroll gutter, subtract the rest and round down 6996 delta += Math.max( 0, Math.ceil( 6997 elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - 6998 computedVal - 6999 delta - 7000 extra - 7001 0.5 7002 7003 // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter 7004 // Use an explicit zero to avoid NaN (gh-3964) 7005 ) ) || 0; 7006 } 7007 7008 return delta; 7009} 7010 7011function getWidthOrHeight( elem, dimension, extra ) { 7012 7013 // Start with computed style 7014 var styles = getStyles( elem ), 7015 7016 // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). 7017 // Fake content-box until we know it's needed to know the true value. 7018 boxSizingNeeded = !support.boxSizingReliable() || extra, 7019 isBorderBox = boxSizingNeeded && 7020 jQuery.css( elem, "boxSizing", false, styles ) === "border-box", 7021 valueIsBorderBox = isBorderBox, 7022 7023 val = curCSS( elem, dimension, styles ), 7024 offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); 7025 7026 // Support: Firefox <=54 7027 // Return a confounding non-pixel value or feign ignorance, as appropriate. 7028 if ( rnumnonpx.test( val ) ) { 7029 if ( !extra ) { 7030 return val; 7031 } 7032 val = "auto"; 7033 } 7034 7035 7036 // Support: IE 9 - 11 only 7037 // Use offsetWidth/offsetHeight for when box sizing is unreliable. 7038 // In those cases, the computed value can be trusted to be border-box. 7039 if ( ( !support.boxSizingReliable() && isBorderBox || 7040 7041 // Support: IE 10 - 11+, Edge 15 - 18+ 7042 // IE/Edge misreport `getComputedStyle` of table rows with width/height 7043 // set in CSS while `offset*` properties report correct values. 7044 // Interestingly, in some cases IE 9 doesn't suffer from this issue. 7045 !support.reliableTrDimensions() && nodeName( elem, "tr" ) || 7046 7047 // Fall back to offsetWidth/offsetHeight when value is "auto" 7048 // This happens for inline elements with no explicit setting (gh-3571) 7049 val === "auto" || 7050 7051 // Support: Android <=4.1 - 4.3 only 7052 // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) 7053 !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && 7054 7055 // Make sure the element is visible & connected 7056 elem.getClientRects().length ) { 7057 7058 isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; 7059 7060 // Where available, offsetWidth/offsetHeight approximate border box dimensions. 7061 // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the 7062 // retrieved value as a content box dimension. 7063 valueIsBorderBox = offsetProp in elem; 7064 if ( valueIsBorderBox ) { 7065 val = elem[ offsetProp ]; 7066 } 7067 } 7068 7069 // Normalize "" and auto 7070 val = parseFloat( val ) || 0; 7071 7072 // Adjust for the element's box model 7073 return ( val + 7074 boxModelAdjustment( 7075 elem, 7076 dimension, 7077 extra || ( isBorderBox ? "border" : "content" ), 7078 valueIsBorderBox, 7079 styles, 7080 7081 // Provide the current computed size to request scroll gutter calculation (gh-3589) 7082 val 7083 ) 7084 ) + "px"; 7085} 7086 7087jQuery.extend( { 7088 7089 // Add in style property hooks for overriding the default 7090 // behavior of getting and setting a style property 7091 cssHooks: { 7092 opacity: { 7093 get: function( elem, computed ) { 7094 if ( computed ) { 7095 7096 // We should always get a number back from opacity 7097 var ret = curCSS( elem, "opacity" ); 7098 return ret === "" ? "1" : ret; 7099 } 7100 } 7101 } 7102 }, 7103 7104 // Don't automatically add "px" to these possibly-unitless properties 7105 cssNumber: { 7106 "animationIterationCount": true, 7107 "columnCount": true, 7108 "fillOpacity": true, 7109 "flexGrow": true, 7110 "flexShrink": true, 7111 "fontWeight": true, 7112 "gridArea": true, 7113 "gridColumn": true, 7114 "gridColumnEnd": true, 7115 "gridColumnStart": true, 7116 "gridRow": true, 7117 "gridRowEnd": true, 7118 "gridRowStart": true, 7119 "lineHeight": true, 7120 "opacity": true, 7121 "order": true, 7122 "orphans": true, 7123 "widows": true, 7124 "zIndex": true, 7125 "zoom": true 7126 }, 7127 7128 // Add in properties whose names you wish to fix before 7129 // setting or getting the value 7130 cssProps: {}, 7131 7132 // Get and set the style property on a DOM Node 7133 style: function( elem, name, value, extra ) { 7134 7135 // Don't set styles on text and comment nodes 7136 if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { 7137 return; 7138 } 7139 7140 // Make sure that we're working with the right name 7141 var ret, type, hooks, 7142 origName = camelCase( name ), 7143 isCustomProp = rcustomProp.test( name ), 7144 style = elem.style; 7145 7146 // Make sure that we're working with the right name. We don't 7147 // want to query the value if it is a CSS custom property 7148 // since they are user-defined. 7149 if ( !isCustomProp ) { 7150 name = finalPropName( origName ); 7151 } 7152 7153 // Gets hook for the prefixed version, then unprefixed version 7154 hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; 7155 7156 // Check if we're setting a value 7157 if ( value !== undefined ) { 7158 type = typeof value; 7159 7160 // Convert "+=" or "-=" to relative numbers (#7345) 7161 if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { 7162 value = adjustCSS( elem, name, ret ); 7163 7164 // Fixes bug #9237 7165 type = "number"; 7166 } 7167 7168 // Make sure that null and NaN values aren't set (#7116) 7169 if ( value == null || value !== value ) { 7170 return; 7171 } 7172 7173 // If a number was passed in, add the unit (except for certain CSS properties) 7174 // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append 7175 // "px" to a few hardcoded values. 7176 if ( type === "number" && !isCustomProp ) { 7177 value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); 7178 } 7179 7180 // background-* props affect original clone's values 7181 if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { 7182 style[ name ] = "inherit"; 7183 } 7184 7185 // If a hook was provided, use that value, otherwise just set the specified value
vendor: 25,692 bytes, lines 7186-8182
7186 if ( !hooks || !( "set" in hooks ) || 7187 ( value = hooks.set( elem, value, extra ) ) !== undefined ) { 7188 7189 if ( isCustomProp ) { 7190 style.setProperty( name, value ); 7191 } else { 7192 style[ name ] = value; 7193 } 7194 } 7195 7196 } else { 7197 7198 // If a hook was provided get the non-computed value from there 7199 if ( hooks && "get" in hooks && 7200 ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { 7201 7202 return ret; 7203 } 7204 7205 // Otherwise just get the value from the style object 7206 return style[ name ]; 7207 } 7208 }, 7209 7210 css: function( elem, name, extra, styles ) { 7211 var val, num, hooks, 7212 origName = camelCase( name ), 7213 isCustomProp = rcustomProp.test( name ); 7214 7215 // Make sure that we're working with the right name. We don't 7216 // want to modify the value if it is a CSS custom property 7217 // since they are user-defined. 7218 if ( !isCustomProp ) { 7219 name = finalPropName( origName ); 7220 } 7221 7222 // Try prefixed name followed by the unprefixed name 7223 hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; 7224 7225 // If a hook was provided get the computed value from there 7226 if ( hooks && "get" in hooks ) { 7227 val = hooks.get( elem, true, extra ); 7228 } 7229 7230 // Otherwise, if a way to get the computed value exists, use that 7231 if ( val === undefined ) { 7232 val = curCSS( elem, name, styles ); 7233 } 7234 7235 // Convert "normal" to computed value 7236 if ( val === "normal" && name in cssNormalTransform ) { 7237 val = cssNormalTransform[ name ]; 7238 } 7239 7240 // Make numeric if forced or a qualifier was provided and val looks numeric 7241 if ( extra === "" || extra ) { 7242 num = parseFloat( val ); 7243 return extra === true || isFinite( num ) ? num || 0 : val; 7244 } 7245 7246 return val; 7247 } 7248} ); 7249 7250jQuery.each( [ "height", "width" ], function( _i, dimension ) { 7251 jQuery.cssHooks[ dimension ] = { 7252 get: function( elem, computed, extra ) { 7253 if ( computed ) { 7254 7255 // Certain elements can have dimension info if we invisibly show them 7256 // but it must have a current display style that would benefit 7257 return rdisplayswap.test( jQuery.css( elem, "display" ) ) && 7258 7259 // Support: Safari 8+ 7260 // Table columns in Safari have non-zero offsetWidth & zero 7261 // getBoundingClientRect().width unless display is changed. 7262 // Support: IE <=11 only 7263 // Running getBoundingClientRect on a disconnected node 7264 // in IE throws an error. 7265 ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? 7266 swap( elem, cssShow, function() { 7267 return getWidthOrHeight( elem, dimension, extra ); 7268 } ) : 7269 getWidthOrHeight( elem, dimension, extra ); 7270 } 7271 }, 7272 7273 set: function( elem, value, extra ) { 7274 var matches, 7275 styles = getStyles( elem ), 7276 7277 // Only read styles.position if the test has a chance to fail 7278 // to avoid forcing a reflow. 7279 scrollboxSizeBuggy = !support.scrollboxSize() && 7280 styles.position === "absolute", 7281 7282 // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) 7283 boxSizingNeeded = scrollboxSizeBuggy || extra, 7284 isBorderBox = boxSizingNeeded && 7285 jQuery.css( elem, "boxSizing", false, styles ) === "border-box", 7286 subtract = extra ? 7287 boxModelAdjustment( 7288 elem, 7289 dimension, 7290 extra, 7291 isBorderBox, 7292 styles 7293 ) : 7294 0; 7295 7296 // Account for unreliable border-box dimensions by comparing offset* to computed and 7297 // faking a content-box to get border and padding (gh-3699) 7298 if ( isBorderBox && scrollboxSizeBuggy ) { 7299 subtract -= Math.ceil( 7300 elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - 7301 parseFloat( styles[ dimension ] ) - 7302 boxModelAdjustment( elem, dimension, "border", false, styles ) - 7303 0.5 7304 ); 7305 } 7306 7307 // Convert to pixels if value adjustment is needed 7308 if ( subtract && ( matches = rcssNum.exec( value ) ) && 7309 ( matches[ 3 ] || "px" ) !== "px" ) { 7310 7311 elem.style[ dimension ] = value; 7312 value = jQuery.css( elem, dimension ); 7313 } 7314 7315 return setPositiveNumber( elem, value, subtract ); 7316 } 7317 }; 7318} ); 7319 7320jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, 7321 function( elem, computed ) { 7322 if ( computed ) { 7323 return ( parseFloat( curCSS( elem, "marginLeft" ) ) || 7324 elem.getBoundingClientRect().left - 7325 swap( elem, { marginLeft: 0 }, function() { 7326 return elem.getBoundingClientRect().left; 7327 } ) 7328 ) + "px"; 7329 } 7330 } 7331); 7332 7333// These hooks are used by animate to expand properties 7334jQuery.each( { 7335 margin: "", 7336 padding: "", 7337 border: "Width" 7338}, function( prefix, suffix ) { 7339 jQuery.cssHooks[ prefix + suffix ] = { 7340 expand: function( value ) { 7341 var i = 0, 7342 expanded = {}, 7343 7344 // Assumes a single number if not a string 7345 parts = typeof value === "string" ? value.split( " " ) : [ value ]; 7346 7347 for ( ; i < 4; i++ ) { 7348 expanded[ prefix + cssExpand[ i ] + suffix ] = 7349 parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; 7350 } 7351 7352 return expanded; 7353 } 7354 }; 7355 7356 if ( prefix !== "margin" ) { 7357 jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; 7358 } 7359} ); 7360 7361jQuery.fn.extend( { 7362 css: function( name, value ) { 7363 return access( this, function( elem, name, value ) { 7364 var styles, len, 7365 map = {}, 7366 i = 0; 7367 7368 if ( Array.isArray( name ) ) { 7369 styles = getStyles( elem ); 7370 len = name.length; 7371 7372 for ( ; i < len; i++ ) { 7373 map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); 7374 } 7375 7376 return map; 7377 } 7378 7379 return value !== undefined ? 7380 jQuery.style( elem, name, value ) : 7381 jQuery.css( elem, name ); 7382 }, name, value, arguments.length > 1 ); 7383 } 7384} ); 7385 7386 7387function Tween( elem, options, prop, end, easing ) { 7388 return new Tween.prototype.init( elem, options, prop, end, easing ); 7389} 7390jQuery.Tween = Tween; 7391 7392Tween.prototype = { 7393 constructor: Tween, 7394 init: function( elem, options, prop, end, easing, unit ) { 7395 this.elem = elem; 7396 this.prop = prop; 7397 this.easing = easing || jQuery.easing._default; 7398 this.options = options; 7399 this.start = this.now = this.cur(); 7400 this.end = end; 7401 this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); 7402 }, 7403 cur: function() { 7404 var hooks = Tween.propHooks[ this.prop ]; 7405 7406 return hooks && hooks.get ? 7407 hooks.get( this ) : 7408 Tween.propHooks._default.get( this ); 7409 }, 7410 run: function( percent ) { 7411 var eased, 7412 hooks = Tween.propHooks[ this.prop ]; 7413 7414 if ( this.options.duration ) { 7415 this.pos = eased = jQuery.easing[ this.easing ]( 7416 percent, this.options.duration * percent, 0, 1, this.options.duration 7417 ); 7418 } else { 7419 this.pos = eased = percent; 7420 } 7421 this.now = ( this.end - this.start ) * eased + this.start; 7422 7423 if ( this.options.step ) { 7424 this.options.step.call( this.elem, this.now, this ); 7425 } 7426 7427 if ( hooks && hooks.set ) { 7428 hooks.set( this ); 7429 } else { 7430 Tween.propHooks._default.set( this ); 7431 } 7432 return this; 7433 } 7434}; 7435 7436Tween.prototype.init.prototype = Tween.prototype; 7437 7438Tween.propHooks = { 7439 _default: { 7440 get: function( tween ) { 7441 var result; 7442 7443 // Use a property on the element directly when it is not a DOM element, 7444 // or when there is no matching style property that exists. 7445 if ( tween.elem.nodeType !== 1 || 7446 tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { 7447 return tween.elem[ tween.prop ]; 7448 } 7449 7450 // Passing an empty string as a 3rd parameter to .css will automatically 7451 // attempt a parseFloat and fallback to a string if the parse fails. 7452 // Simple values such as "10px" are parsed to Float; 7453 // complex values such as "rotate(1rad)" are returned as-is. 7454 result = jQuery.css( tween.elem, tween.prop, "" ); 7455 7456 // Empty strings, null, undefined and "auto" are converted to 0. 7457 return !result || result === "auto" ? 0 : result; 7458 }, 7459 set: function( tween ) { 7460 7461 // Use step hook for back compat. 7462 // Use cssHook if its there. 7463 // Use .style if available and use plain properties where available. 7464 if ( jQuery.fx.step[ tween.prop ] ) { 7465 jQuery.fx.step[ tween.prop ]( tween ); 7466 } else if ( tween.elem.nodeType === 1 && ( 7467 jQuery.cssHooks[ tween.prop ] || 7468 tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { 7469 jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); 7470 } else { 7471 tween.elem[ tween.prop ] = tween.now; 7472 } 7473 } 7474 } 7475}; 7476 7477// Support: IE <=9 only 7478// Panic based approach to setting things on disconnected nodes 7479Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { 7480 set: function( tween ) { 7481 if ( tween.elem.nodeType && tween.elem.parentNode ) { 7482 tween.elem[ tween.prop ] = tween.now; 7483 } 7484 } 7485}; 7486 7487jQuery.easing = { 7488 linear: function( p ) { 7489 return p; 7490 }, 7491 swing: function( p ) { 7492 return 0.5 - Math.cos( p * Math.PI ) / 2; 7493 }, 7494 _default: "swing" 7495}; 7496 7497jQuery.fx = Tween.prototype.init; 7498 7499// Back compat <1.8 extension point 7500jQuery.fx.step = {}; 7501 7502 7503 7504 7505var 7506 fxNow, inProgress, 7507 rfxtypes = /^(?:toggle|show|hide)$/, 7508 rrun = /queueHooks$/; 7509 7510function schedule() { 7511 if ( inProgress ) { 7512 if ( document.hidden === false && window.requestAnimationFrame ) { 7513 window.requestAnimationFrame( schedule ); 7514 } else { 7515 window.setTimeout( schedule, jQuery.fx.interval ); 7516 } 7517 7518 jQuery.fx.tick(); 7519 } 7520} 7521 7522// Animations created synchronously will run synchronously 7523function createFxNow() { 7524 window.setTimeout( function() { 7525 fxNow = undefined; 7526 } ); 7527 return ( fxNow = Date.now() ); 7528} 7529 7530// Generate parameters to create a standard animation 7531function genFx( type, includeWidth ) { 7532 var which, 7533 i = 0, 7534 attrs = { height: type }; 7535 7536 // If we include width, step value is 1 to do all cssExpand values, 7537 // otherwise step value is 2 to skip over Left and Right 7538 includeWidth = includeWidth ? 1 : 0; 7539 for ( ; i < 4; i += 2 - includeWidth ) { 7540 which = cssExpand[ i ]; 7541 attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; 7542 } 7543 7544 if ( includeWidth ) { 7545 attrs.opacity = attrs.width = type; 7546 } 7547 7548 return attrs; 7549} 7550 7551function createTween( value, prop, animation ) { 7552 var tween, 7553 collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), 7554 index = 0, 7555 length = collection.length; 7556 for ( ; index < length; index++ ) { 7557 if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { 7558 7559 // We're done with this property 7560 return tween; 7561 } 7562 } 7563} 7564 7565function defaultPrefilter( elem, props, opts ) { 7566 var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, 7567 isBox = "width" in props || "height" in props, 7568 anim = this, 7569 orig = {}, 7570 style = elem.style, 7571 hidden = elem.nodeType && isHiddenWithinTree( elem ), 7572 dataShow = dataPriv.get( elem, "fxshow" ); 7573 7574 // Queue-skipping animations hijack the fx hooks 7575 if ( !opts.queue ) { 7576 hooks = jQuery._queueHooks( elem, "fx" ); 7577 if ( hooks.unqueued == null ) { 7578 hooks.unqueued = 0; 7579 oldfire = hooks.empty.fire; 7580 hooks.empty.fire = function() { 7581 if ( !hooks.unqueued ) { 7582 oldfire(); 7583 } 7584 }; 7585 } 7586 hooks.unqueued++; 7587 7588 anim.always( function() { 7589 7590 // Ensure the complete handler is called before this completes 7591 anim.always( function() { 7592 hooks.unqueued--; 7593 if ( !jQuery.queue( elem, "fx" ).length ) { 7594 hooks.empty.fire(); 7595 } 7596 } ); 7597 } ); 7598 } 7599 7600 // Detect show/hide animations 7601 for ( prop in props ) { 7602 value = props[ prop ]; 7603 if ( rfxtypes.test( value ) ) { 7604 delete props[ prop ]; 7605 toggle = toggle || value === "toggle"; 7606 if ( value === ( hidden ? "hide" : "show" ) ) { 7607 7608 // Pretend to be hidden if this is a "show" and 7609 // there is still data from a stopped show/hide 7610 if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { 7611 hidden = true; 7612 7613 // Ignore all other no-op show/hide data 7614 } else { 7615 continue; 7616 } 7617 } 7618 orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); 7619 } 7620 } 7621 7622 // Bail out if this is a no-op like .hide().hide() 7623 propTween = !jQuery.isEmptyObject( props ); 7624 if ( !propTween && jQuery.isEmptyObject( orig ) ) { 7625 return; 7626 } 7627 7628 // Restrict "overflow" and "display" styles during box animations 7629 if ( isBox && elem.nodeType === 1 ) { 7630 7631 // Support: IE <=9 - 11, Edge 12 - 15 7632 // Record all 3 overflow attributes because IE does not infer the shorthand 7633 // from identically-valued overflowX and overflowY and Edge just mirrors 7634 // the overflowX value there. 7635 opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; 7636 7637 // Identify a display type, preferring old show/hide data over the CSS cascade 7638 restoreDisplay = dataShow && dataShow.display; 7639 if ( restoreDisplay == null ) { 7640 restoreDisplay = dataPriv.get( elem, "display" ); 7641 } 7642 display = jQuery.css( elem, "display" ); 7643 if ( display === "none" ) { 7644 if ( restoreDisplay ) { 7645 display = restoreDisplay; 7646 } else { 7647 7648 // Get nonempty value(s) by temporarily forcing visibility 7649 showHide( [ elem ], true ); 7650 restoreDisplay = elem.style.display || restoreDisplay; 7651 display = jQuery.css( elem, "display" ); 7652 showHide( [ elem ] ); 7653 } 7654 } 7655 7656 // Animate inline elements as inline-block 7657 if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { 7658 if ( jQuery.css( elem, "float" ) === "none" ) { 7659 7660 // Restore the original display value at the end of pure show/hide animations 7661 if ( !propTween ) { 7662 anim.done( function() { 7663 style.display = restoreDisplay; 7664 } ); 7665 if ( restoreDisplay == null ) { 7666 display = style.display; 7667 restoreDisplay = display === "none" ? "" : display; 7668 } 7669 } 7670 style.display = "inline-block"; 7671 } 7672 } 7673 } 7674 7675 if ( opts.overflow ) { 7676 style.overflow = "hidden"; 7677 anim.always( function() { 7678 style.overflow = opts.overflow[ 0 ]; 7679 style.overflowX = opts.overflow[ 1 ]; 7680 style.overflowY = opts.overflow[ 2 ]; 7681 } ); 7682 } 7683 7684 // Implement show/hide animations 7685 propTween = false; 7686 for ( prop in orig ) { 7687 7688 // General show/hide setup for this element animation 7689 if ( !propTween ) { 7690 if ( dataShow ) { 7691 if ( "hidden" in dataShow ) { 7692 hidden = dataShow.hidden; 7693 } 7694 } else { 7695 dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); 7696 } 7697 7698 // Store hidden/visible for toggle so `.stop().toggle()` "reverses" 7699 if ( toggle ) { 7700 dataShow.hidden = !hidden; 7701 } 7702 7703 // Show elements before animating them 7704 if ( hidden ) { 7705 showHide( [ elem ], true ); 7706 } 7707 7708 /* eslint-disable no-loop-func */ 7709 7710 anim.done( function() { 7711 7712 /* eslint-enable no-loop-func */ 7713 7714 // The final step of a "hide" animation is actually hiding the element 7715 if ( !hidden ) { 7716 showHide( [ elem ] ); 7717 } 7718 dataPriv.remove( elem, "fxshow" ); 7719 for ( prop in orig ) { 7720 jQuery.style( elem, prop, orig[ prop ] ); 7721 } 7722 } ); 7723 } 7724 7725 // Per-property setup 7726 propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); 7727 if ( !( prop in dataShow ) ) { 7728 dataShow[ prop ] = propTween.start; 7729 if ( hidden ) { 7730 propTween.end = propTween.start; 7731 propTween.start = 0; 7732 } 7733 } 7734 } 7735} 7736 7737function propFilter( props, specialEasing ) { 7738 var index, name, easing, value, hooks; 7739 7740 // camelCase, specialEasing and expand cssHook pass 7741 for ( index in props ) { 7742 name = camelCase( index ); 7743 easing = specialEasing[ name ]; 7744 value = props[ index ]; 7745 if ( Array.isArray( value ) ) { 7746 easing = value[ 1 ]; 7747 value = props[ index ] = value[ 0 ]; 7748 } 7749 7750 if ( index !== name ) { 7751 props[ name ] = value; 7752 delete props[ index ]; 7753 } 7754 7755 hooks = jQuery.cssHooks[ name ]; 7756 if ( hooks && "expand" in hooks ) { 7757 value = hooks.expand( value ); 7758 delete props[ name ]; 7759 7760 // Not quite $.extend, this won't overwrite existing keys. 7761 // Reusing 'index' because we have the correct "name" 7762 for ( index in value ) { 7763 if ( !( index in props ) ) { 7764 props[ index ] = value[ index ]; 7765 specialEasing[ index ] = easing; 7766 } 7767 } 7768 } else { 7769 specialEasing[ name ] = easing; 7770 } 7771 } 7772} 7773 7774function Animation( elem, properties, options ) { 7775 var result, 7776 stopped, 7777 index = 0, 7778 length = Animation.prefilters.length, 7779 deferred = jQuery.Deferred().always( function() { 7780 7781 // Don't match elem in the :animated selector 7782 delete tick.elem; 7783 } ), 7784 tick = function() { 7785 if ( stopped ) { 7786 return false; 7787 } 7788 var currentTime = fxNow || createFxNow(), 7789 remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), 7790 7791 // Support: Android 2.3 only 7792 // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) 7793 temp = remaining / animation.duration || 0, 7794 percent = 1 - temp, 7795 index = 0, 7796 length = animation.tweens.length; 7797 7798 for ( ; index < length; index++ ) { 7799 animation.tweens[ index ].run( percent ); 7800 } 7801 7802 deferred.notifyWith( elem, [ animation, percent, remaining ] ); 7803 7804 // If there's more to do, yield 7805 if ( percent < 1 && length ) { 7806 return remaining; 7807 } 7808 7809 // If this was an empty animation, synthesize a final progress notification 7810 if ( !length ) { 7811 deferred.notifyWith( elem, [ animation, 1, 0 ] ); 7812 } 7813 7814 // Resolve the animation and report its conclusion 7815 deferred.resolveWith( elem, [ animation ] ); 7816 return false; 7817 }, 7818 animation = deferred.promise( { 7819 elem: elem, 7820 props: jQuery.extend( {}, properties ), 7821 opts: jQuery.extend( true, { 7822 specialEasing: {}, 7823 easing: jQuery.easing._default 7824 }, options ), 7825 originalProperties: properties, 7826 originalOptions: options, 7827 startTime: fxNow || createFxNow(), 7828 duration: options.duration, 7829 tweens: [], 7830 createTween: function( prop, end ) { 7831 var tween = jQuery.Tween( elem, animation.opts, prop, end, 7832 animation.opts.specialEasing[ prop ] || animation.opts.easing ); 7833 animation.tweens.push( tween ); 7834 return tween; 7835 }, 7836 stop: function( gotoEnd ) { 7837 var index = 0, 7838 7839 // If we are going to the end, we want to run all the tweens 7840 // otherwise we skip this part 7841 length = gotoEnd ? animation.tweens.length : 0; 7842 if ( stopped ) { 7843 return this; 7844 } 7845 stopped = true; 7846 for ( ; index < length; index++ ) { 7847 animation.tweens[ index ].run( 1 ); 7848 } 7849 7850 // Resolve when we played the last frame; otherwise, reject 7851 if ( gotoEnd ) { 7852 deferred.notifyWith( elem, [ animation, 1, 0 ] ); 7853 deferred.resolveWith( elem, [ animation, gotoEnd ] ); 7854 } else { 7855 deferred.rejectWith( elem, [ animation, gotoEnd ] ); 7856 } 7857 return this; 7858 } 7859 } ), 7860 props = animation.props; 7861 7862 propFilter( props, animation.opts.specialEasing ); 7863 7864 for ( ; index < length; index++ ) { 7865 result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); 7866 if ( result ) { 7867 if ( isFunction( result.stop ) ) { 7868 jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = 7869 result.stop.bind( result ); 7870 } 7871 return result; 7872 } 7873 } 7874 7875 jQuery.map( props, createTween, animation ); 7876 7877 if ( isFunction( animation.opts.start ) ) { 7878 animation.opts.start.call( elem, animation ); 7879 } 7880 7881 // Attach callbacks from options 7882 animation 7883 .progress( animation.opts.progress ) 7884 .done( animation.opts.done, animation.opts.complete ) 7885 .fail( animation.opts.fail ) 7886 .always( animation.opts.always ); 7887 7888 jQuery.fx.timer( 7889 jQuery.extend( tick, { 7890 elem: elem, 7891 anim: animation, 7892 queue: animation.opts.queue 7893 } ) 7894 ); 7895 7896 return animation; 7897} 7898 7899jQuery.Animation = jQuery.extend( Animation, { 7900 7901 tweeners: { 7902 "*": [ function( prop, value ) { 7903 var tween = this.createTween( prop, value ); 7904 adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); 7905 return tween; 7906 } ] 7907 }, 7908 7909 tweener: function( props, callback ) { 7910 if ( isFunction( props ) ) { 7911 callback = props; 7912 props = [ "*" ]; 7913 } else { 7914 props = props.match( rnothtmlwhite ); 7915 } 7916 7917 var prop, 7918 index = 0, 7919 length = props.length; 7920 7921 for ( ; index < length; index++ ) { 7922 prop = props[ index ]; 7923 Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; 7924 Animation.tweeners[ prop ].unshift( callback ); 7925 } 7926 }, 7927 7928 prefilters: [ defaultPrefilter ], 7929 7930 prefilter: function( callback, prepend ) { 7931 if ( prepend ) { 7932 Animation.prefilters.unshift( callback ); 7933 } else { 7934 Animation.prefilters.push( callback ); 7935 } 7936 } 7937} ); 7938 7939jQuery.speed = function( speed, easing, fn ) { 7940 var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { 7941 complete: fn || !fn && easing || 7942 isFunction( speed ) && speed, 7943 duration: speed, 7944 easing: fn && easing || easing && !isFunction( easing ) && easing 7945 }; 7946 7947 // Go to the end state if fx are off 7948 if ( jQuery.fx.off ) { 7949 opt.duration = 0; 7950 7951 } else { 7952 if ( typeof opt.duration !== "number" ) { 7953 if ( opt.duration in jQuery.fx.speeds ) { 7954 opt.duration = jQuery.fx.speeds[ opt.duration ]; 7955 7956 } else { 7957 opt.duration = jQuery.fx.speeds._default; 7958 } 7959 } 7960 } 7961 7962 // Normalize opt.queue - true/undefined/null -> "fx" 7963 if ( opt.queue == null || opt.queue === true ) { 7964 opt.queue = "fx"; 7965 } 7966 7967 // Queueing 7968 opt.old = opt.complete; 7969 7970 opt.complete = function() { 7971 if ( isFunction( opt.old ) ) { 7972 opt.old.call( this ); 7973 } 7974 7975 if ( opt.queue ) { 7976 jQuery.dequeue( this, opt.queue ); 7977 } 7978 }; 7979 7980 return opt; 7981}; 7982 7983jQuery.fn.extend( { 7984 fadeTo: function( speed, to, easing, callback ) { 7985 7986 // Show any hidden elements after setting opacity to 0 7987 return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() 7988 7989 // Animate to the value specified 7990 .end().animate( { opacity: to }, speed, easing, callback ); 7991 }, 7992 animate: function( prop, speed, easing, callback ) { 7993 var empty = jQuery.isEmptyObject( prop ), 7994 optall = jQuery.speed( speed, easing, callback ), 7995 doAnimation = function() { 7996 7997 // Operate on a copy of prop so per-property easing won't be lost 7998 var anim = Animation( this, jQuery.extend( {}, prop ), optall ); 7999 8000 // Empty animations, or finishing resolves immediately 8001 if ( empty || dataPriv.get( this, "finish" ) ) { 8002 anim.stop( true ); 8003 } 8004 }; 8005 8006 doAnimation.finish = doAnimation; 8007 8008 return empty || optall.queue === false ? 8009 this.each( doAnimation ) : 8010 this.queue( optall.queue, doAnimation ); 8011 }, 8012 stop: function( type, clearQueue, gotoEnd ) { 8013 var stopQueue = function( hooks ) { 8014 var stop = hooks.stop; 8015 delete hooks.stop; 8016 stop( gotoEnd ); 8017 }; 8018 8019 if ( typeof type !== "string" ) { 8020 gotoEnd = clearQueue; 8021 clearQueue = type; 8022 type = undefined; 8023 } 8024 if ( clearQueue ) { 8025 this.queue( type || "fx", [] ); 8026 } 8027 8028 return this.each( function() { 8029 var dequeue = true, 8030 index = type != null && type + "queueHooks", 8031 timers = jQuery.timers, 8032 data = dataPriv.get( this ); 8033 8034 if ( index ) { 8035 if ( data[ index ] && data[ index ].stop ) { 8036 stopQueue( data[ index ] ); 8037 } 8038 } else { 8039 for ( index in data ) { 8040 if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { 8041 stopQueue( data[ index ] ); 8042 } 8043 } 8044 } 8045 8046 for ( index = timers.length; index--; ) { 8047 if ( timers[ index ].elem === this && 8048 ( type == null || timers[ index ].queue === type ) ) { 8049 8050 timers[ index ].anim.stop( gotoEnd ); 8051 dequeue = false; 8052 timers.splice( index, 1 ); 8053 } 8054 } 8055 8056 // Start the next in the queue if the last step wasn't forced. 8057 // Timers currently will call their complete callbacks, which 8058 // will dequeue but only if they were gotoEnd. 8059 if ( dequeue || !gotoEnd ) { 8060 jQuery.dequeue( this, type ); 8061 } 8062 } ); 8063 }, 8064 finish: function( type ) { 8065 if ( type !== false ) { 8066 type = type || "fx"; 8067 } 8068 return this.each( function() { 8069 var index, 8070 data = dataPriv.get( this ), 8071 queue = data[ type + "queue" ], 8072 hooks = data[ type + "queueHooks" ], 8073 timers = jQuery.timers, 8074 length = queue ? queue.length : 0; 8075 8076 // Enable finishing flag on private data 8077 data.finish = true; 8078 8079 // Empty the queue first 8080 jQuery.queue( this, type, [] ); 8081 8082 if ( hooks && hooks.stop ) { 8083 hooks.stop.call( this, true ); 8084 } 8085 8086 // Look for any active animations, and finish them 8087 for ( index = timers.length; index--; ) { 8088 if ( timers[ index ].elem === this && timers[ index ].queue === type ) { 8089 timers[ index ].anim.stop( true ); 8090 timers.splice( index, 1 ); 8091 } 8092 } 8093 8094 // Look for any animations in the old queue and finish them 8095 for ( index = 0; index < length; index++ ) { 8096 if ( queue[ index ] && queue[ index ].finish ) { 8097 queue[ index ].finish.call( this ); 8098 } 8099 } 8100 8101 // Turn off finishing flag 8102 delete data.finish; 8103 } ); 8104 } 8105} ); 8106 8107jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { 8108 var cssFn = jQuery.fn[ name ]; 8109 jQuery.fn[ name ] = function( speed, easing, callback ) { 8110 return speed == null || typeof speed === "boolean" ? 8111 cssFn.apply( this, arguments ) : 8112 this.animate( genFx( name, true ), speed, easing, callback ); 8113 }; 8114} ); 8115 8116// Generate shortcuts for custom animations 8117jQuery.each( { 8118 slideDown: genFx( "show" ), 8119 slideUp: genFx( "hide" ), 8120 slideToggle: genFx( "toggle" ), 8121 fadeIn: { opacity: "show" }, 8122 fadeOut: { opacity: "hide" }, 8123 fadeToggle: { opacity: "toggle" } 8124}, function( name, props ) { 8125 jQuery.fn[ name ] = function( speed, easing, callback ) { 8126 return this.animate( props, speed, easing, callback ); 8127 }; 8128} ); 8129 8130jQuery.timers = []; 8131jQuery.fx.tick = function() { 8132 var timer, 8133 i = 0, 8134 timers = jQuery.timers; 8135 8136 fxNow = Date.now(); 8137 8138 for ( ; i < timers.length; i++ ) { 8139 timer = timers[ i ]; 8140 8141 // Run the timer and safely remove it when done (allowing for external removal) 8142 if ( !timer() && timers[ i ] === timer ) { 8143 timers.splice( i--, 1 ); 8144 } 8145 } 8146 8147 if ( !timers.length ) { 8148 jQuery.fx.stop(); 8149 } 8150 fxNow = undefined; 8151}; 8152 8153jQuery.fx.timer = function( timer ) { 8154 jQuery.timers.push( timer ); 8155 jQuery.fx.start(); 8156}; 8157 8158jQuery.fx.interval = 13; 8159jQuery.fx.start = function() { 8160 if ( inProgress ) { 8161 return; 8162 } 8163 8164 inProgress = true; 8165 schedule(); 8166}; 8167 8168jQuery.fx.stop = function() { 8169 inProgress = null; 8170}; 8171 8172jQuery.fx.speeds = { 8173 slow: 600, 8174 fast: 200, 8175 8176 // Default speed 8177 _default: 400 8178}; 8179 8180 8181// Based off of the plugin by Clint Helfers, with permission. 8182// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
vendor: 21,001 bytes, lines 8183-9051
8183jQuery.fn.delay = function( time, type ) { 8184 time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; 8185 type = type || "fx"; 8186 8187 return this.queue( type, function( next, hooks ) { 8188 var timeout = window.setTimeout( next, time ); 8189 hooks.stop = function() { 8190 window.clearTimeout( timeout ); 8191 }; 8192 } ); 8193}; 8194 8195 8196( function() { 8197 var input = document.createElement( "input" ), 8198 select = document.createElement( "select" ), 8199 opt = select.appendChild( document.createElement( "option" ) ); 8200 8201 input.type = "checkbox"; 8202 8203 // Support: Android <=4.3 only 8204 // Default value for a checkbox should be "on" 8205 support.checkOn = input.value !== ""; 8206 8207 // Support: IE <=11 only 8208 // Must access selectedIndex to make default options select 8209 support.optSelected = opt.selected; 8210 8211 // Support: IE <=11 only 8212 // An input loses its value after becoming a radio 8213 input = document.createElement( "input" ); 8214 input.value = "t"; 8215 input.type = "radio"; 8216 support.radioValue = input.value === "t"; 8217} )(); 8218 8219 8220var boolHook, 8221 attrHandle = jQuery.expr.attrHandle; 8222 8223jQuery.fn.extend( { 8224 attr: function( name, value ) { 8225 return access( this, jQuery.attr, name, value, arguments.length > 1 ); 8226 }, 8227 8228 removeAttr: function( name ) { 8229 return this.each( function() { 8230 jQuery.removeAttr( this, name ); 8231 } ); 8232 } 8233} ); 8234 8235jQuery.extend( { 8236 attr: function( elem, name, value ) { 8237 var ret, hooks, 8238 nType = elem.nodeType; 8239 8240 // Don't get/set attributes on text, comment and attribute nodes 8241 if ( nType === 3 || nType === 8 || nType === 2 ) { 8242 return; 8243 } 8244 8245 // Fallback to prop when attributes are not supported 8246 if ( typeof elem.getAttribute === "undefined" ) { 8247 return jQuery.prop( elem, name, value ); 8248 } 8249 8250 // Attribute hooks are determined by the lowercase version 8251 // Grab necessary hook if one is defined 8252 if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { 8253 hooks = jQuery.attrHooks[ name.toLowerCase() ] || 8254 ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); 8255 } 8256 8257 if ( value !== undefined ) { 8258 if ( value === null ) { 8259 jQuery.removeAttr( elem, name ); 8260 return; 8261 } 8262 8263 if ( hooks && "set" in hooks && 8264 ( ret = hooks.set( elem, value, name ) ) !== undefined ) { 8265 return ret; 8266 } 8267 8268 elem.setAttribute( name, value + "" ); 8269 return value; 8270 } 8271 8272 if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { 8273 return ret; 8274 } 8275 8276 ret = jQuery.find.attr( elem, name ); 8277 8278 // Non-existent attributes return null, we normalize to undefined 8279 return ret == null ? undefined : ret; 8280 }, 8281 8282 attrHooks: { 8283 type: { 8284 set: function( elem, value ) { 8285 if ( !support.radioValue && value === "radio" && 8286 nodeName( elem, "input" ) ) { 8287 var val = elem.value; 8288 elem.setAttribute( "type", value ); 8289 if ( val ) { 8290 elem.value = val; 8291 } 8292 return value; 8293 } 8294 } 8295 } 8296 }, 8297 8298 removeAttr: function( elem, value ) { 8299 var name, 8300 i = 0, 8301 8302 // Attribute names can contain non-HTML whitespace characters 8303 // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 8304 attrNames = value && value.match( rnothtmlwhite ); 8305 8306 if ( attrNames && elem.nodeType === 1 ) { 8307 while ( ( name = attrNames[ i++ ] ) ) { 8308 elem.removeAttribute( name ); 8309 } 8310 } 8311 } 8312} ); 8313 8314// Hooks for boolean attributes 8315boolHook = { 8316 set: function( elem, value, name ) { 8317 if ( value === false ) { 8318 8319 // Remove boolean attributes when set to false 8320 jQuery.removeAttr( elem, name ); 8321 } else { 8322 elem.setAttribute( name, name ); 8323 } 8324 return name; 8325 } 8326}; 8327 8328jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { 8329 var getter = attrHandle[ name ] || jQuery.find.attr; 8330 8331 attrHandle[ name ] = function( elem, name, isXML ) { 8332 var ret, handle, 8333 lowercaseName = name.toLowerCase(); 8334 8335 if ( !isXML ) { 8336 8337 // Avoid an infinite loop by temporarily removing this function from the getter 8338 handle = attrHandle[ lowercaseName ]; 8339 attrHandle[ lowercaseName ] = ret; 8340 ret = getter( elem, name, isXML ) != null ? 8341 lowercaseName : 8342 null; 8343 attrHandle[ lowercaseName ] = handle; 8344 } 8345 return ret; 8346 }; 8347} ); 8348 8349 8350 8351 8352var rfocusable = /^(?:input|select|textarea|button)$/i, 8353 rclickable = /^(?:a|area)$/i; 8354 8355jQuery.fn.extend( { 8356 prop: function( name, value ) { 8357 return access( this, jQuery.prop, name, value, arguments.length > 1 ); 8358 }, 8359 8360 removeProp: function( name ) { 8361 return this.each( function() { 8362 delete this[ jQuery.propFix[ name ] || name ]; 8363 } ); 8364 } 8365} ); 8366 8367jQuery.extend( { 8368 prop: function( elem, name, value ) { 8369 var ret, hooks, 8370 nType = elem.nodeType; 8371 8372 // Don't get/set properties on text, comment and attribute nodes 8373 if ( nType === 3 || nType === 8 || nType === 2 ) { 8374 return; 8375 } 8376 8377 if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { 8378 8379 // Fix name and attach hooks 8380 name = jQuery.propFix[ name ] || name; 8381 hooks = jQuery.propHooks[ name ]; 8382 } 8383 8384 if ( value !== undefined ) { 8385 if ( hooks && "set" in hooks && 8386 ( ret = hooks.set( elem, value, name ) ) !== undefined ) { 8387 return ret; 8388 } 8389 8390 return ( elem[ name ] = value ); 8391 } 8392 8393 if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { 8394 return ret; 8395 } 8396 8397 return elem[ name ]; 8398 }, 8399 8400 propHooks: { 8401 tabIndex: { 8402 get: function( elem ) { 8403 8404 // Support: IE <=9 - 11 only 8405 // elem.tabIndex doesn't always return the 8406 // correct value when it hasn't been explicitly set 8407 // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ 8408 // Use proper attribute retrieval(#12072) 8409 var tabindex = jQuery.find.attr( elem, "tabindex" ); 8410 8411 if ( tabindex ) { 8412 return parseInt( tabindex, 10 ); 8413 } 8414 8415 if ( 8416 rfocusable.test( elem.nodeName ) || 8417 rclickable.test( elem.nodeName ) && 8418 elem.href 8419 ) { 8420 return 0; 8421 } 8422 8423 return -1; 8424 } 8425 } 8426 }, 8427 8428 propFix: { 8429 "for": "htmlFor", 8430 "class": "className" 8431 } 8432} ); 8433 8434// Support: IE <=11 only 8435// Accessing the selectedIndex property 8436// forces the browser to respect setting selected 8437// on the option 8438// The getter ensures a default option is selected 8439// when in an optgroup 8440// eslint rule "no-unused-expressions" is disabled for this code 8441// since it considers such accessions noop 8442if ( !support.optSelected ) { 8443 jQuery.propHooks.selected = { 8444 get: function( elem ) { 8445 8446 /* eslint no-unused-expressions: "off" */ 8447 8448 var parent = elem.parentNode; 8449 if ( parent && parent.parentNode ) { 8450 parent.parentNode.selectedIndex; 8451 } 8452 return null; 8453 }, 8454 set: function( elem ) { 8455 8456 /* eslint no-unused-expressions: "off" */ 8457 8458 var parent = elem.parentNode; 8459 if ( parent ) { 8460 parent.selectedIndex; 8461 8462 if ( parent.parentNode ) { 8463 parent.parentNode.selectedIndex; 8464 } 8465 } 8466 } 8467 }; 8468} 8469 8470jQuery.each( [ 8471 "tabIndex", 8472 "readOnly", 8473 "maxLength", 8474 "cellSpacing", 8475 "cellPadding", 8476 "rowSpan", 8477 "colSpan", 8478 "useMap", 8479 "frameBorder", 8480 "contentEditable" 8481], function() { 8482 jQuery.propFix[ this.toLowerCase() ] = this; 8483} ); 8484 8485 8486 8487 8488 // Strip and collapse whitespace according to HTML spec 8489 // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace 8490 function stripAndCollapse( value ) { 8491 var tokens = value.match( rnothtmlwhite ) || []; 8492 return tokens.join( " " ); 8493 } 8494 8495 8496function getClass( elem ) { 8497 return elem.getAttribute && elem.getAttribute( "class" ) || ""; 8498} 8499 8500function classesToArray( value ) { 8501 if ( Array.isArray( value ) ) { 8502 return value; 8503 } 8504 if ( typeof value === "string" ) { 8505 return value.match( rnothtmlwhite ) || []; 8506 } 8507 return []; 8508} 8509 8510jQuery.fn.extend( { 8511 addClass: function( value ) { 8512 var classes, elem, cur, curValue, clazz, j, finalValue, 8513 i = 0; 8514 8515 if ( isFunction( value ) ) { 8516 return this.each( function( j ) { 8517 jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); 8518 } ); 8519 } 8520 8521 classes = classesToArray( value ); 8522 8523 if ( classes.length ) { 8524 while ( ( elem = this[ i++ ] ) ) { 8525 curValue = getClass( elem ); 8526 cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); 8527 8528 if ( cur ) { 8529 j = 0; 8530 while ( ( clazz = classes[ j++ ] ) ) { 8531 if ( cur.indexOf( " " + clazz + " " ) < 0 ) { 8532 cur += clazz + " "; 8533 } 8534 } 8535 8536 // Only assign if different to avoid unneeded rendering. 8537 finalValue = stripAndCollapse( cur ); 8538 if ( curValue !== finalValue ) { 8539 elem.setAttribute( "class", finalValue ); 8540 } 8541 } 8542 } 8543 } 8544 8545 return this; 8546 }, 8547 8548 removeClass: function( value ) { 8549 var classes, elem, cur, curValue, clazz, j, finalValue, 8550 i = 0; 8551 8552 if ( isFunction( value ) ) { 8553 return this.each( function( j ) { 8554 jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); 8555 } ); 8556 } 8557 8558 if ( !arguments.length ) { 8559 return this.attr( "class", "" ); 8560 } 8561 8562 classes = classesToArray( value ); 8563 8564 if ( classes.length ) { 8565 while ( ( elem = this[ i++ ] ) ) { 8566 curValue = getClass( elem ); 8567 8568 // This expression is here for better compressibility (see addClass) 8569 cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); 8570 8571 if ( cur ) { 8572 j = 0; 8573 while ( ( clazz = classes[ j++ ] ) ) { 8574 8575 // Remove *all* instances 8576 while ( cur.indexOf( " " + clazz + " " ) > -1 ) { 8577 cur = cur.replace( " " + clazz + " ", " " ); 8578 } 8579 } 8580 8581 // Only assign if different to avoid unneeded rendering. 8582 finalValue = stripAndCollapse( cur ); 8583 if ( curValue !== finalValue ) { 8584 elem.setAttribute( "class", finalValue ); 8585 } 8586 } 8587 } 8588 } 8589 8590 return this; 8591 }, 8592 8593 toggleClass: function( value, stateVal ) { 8594 var type = typeof value, 8595 isValidValue = type === "string" || Array.isArray( value ); 8596 8597 if ( typeof stateVal === "boolean" && isValidValue ) { 8598 return stateVal ? this.addClass( value ) : this.removeClass( value ); 8599 } 8600 8601 if ( isFunction( value ) ) { 8602 return this.each( function( i ) { 8603 jQuery( this ).toggleClass( 8604 value.call( this, i, getClass( this ), stateVal ), 8605 stateVal 8606 ); 8607 } ); 8608 } 8609 8610 return this.each( function() { 8611 var className, i, self, classNames; 8612 8613 if ( isValidValue ) { 8614 8615 // Toggle individual class names 8616 i = 0; 8617 self = jQuery( this ); 8618 classNames = classesToArray( value ); 8619 8620 while ( ( className = classNames[ i++ ] ) ) { 8621 8622 // Check each className given, space separated list 8623 if ( self.hasClass( className ) ) { 8624 self.removeClass( className ); 8625 } else { 8626 self.addClass( className ); 8627 } 8628 } 8629 8630 // Toggle whole class name 8631 } else if ( value === undefined || type === "boolean" ) { 8632 className = getClass( this ); 8633 if ( className ) { 8634 8635 // Store className if set 8636 dataPriv.set( this, "__className__", className ); 8637 } 8638 8639 // If the element has a class name or if we're passed `false`, 8640 // then remove the whole classname (if there was one, the above saved it). 8641 // Otherwise bring back whatever was previously saved (if anything), 8642 // falling back to the empty string if nothing was stored. 8643 if ( this.setAttribute ) { 8644 this.setAttribute( "class", 8645 className || value === false ? 8646 "" : 8647 dataPriv.get( this, "__className__" ) || "" 8648 ); 8649 } 8650 } 8651 } ); 8652 }, 8653 8654 hasClass: function( selector ) { 8655 var className, elem, 8656 i = 0; 8657 8658 className = " " + selector + " "; 8659 while ( ( elem = this[ i++ ] ) ) { 8660 if ( elem.nodeType === 1 && 8661 ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { 8662 return true; 8663 } 8664 } 8665 8666 return false; 8667 } 8668} ); 8669 8670 8671 8672 8673var rreturn = /\r/g; 8674 8675jQuery.fn.extend( { 8676 val: function( value ) { 8677 var hooks, ret, valueIsFunction, 8678 elem = this[ 0 ]; 8679 8680 if ( !arguments.length ) { 8681 if ( elem ) { 8682 hooks = jQuery.valHooks[ elem.type ] || 8683 jQuery.valHooks[ elem.nodeName.toLowerCase() ]; 8684 8685 if ( hooks && 8686 "get" in hooks && 8687 ( ret = hooks.get( elem, "value" ) ) !== undefined 8688 ) { 8689 return ret; 8690 } 8691 8692 ret = elem.value; 8693 8694 // Handle most common string cases 8695 if ( typeof ret === "string" ) { 8696 return ret.replace( rreturn, "" ); 8697 } 8698 8699 // Handle cases where value is null/undef or number 8700 return ret == null ? "" : ret; 8701 } 8702 8703 return; 8704 } 8705 8706 valueIsFunction = isFunction( value ); 8707 8708 return this.each( function( i ) { 8709 var val; 8710 8711 if ( this.nodeType !== 1 ) { 8712 return; 8713 } 8714 8715 if ( valueIsFunction ) { 8716 val = value.call( this, i, jQuery( this ).val() ); 8717 } else { 8718 val = value; 8719 } 8720 8721 // Treat null/undefined as ""; convert numbers to string 8722 if ( val == null ) { 8723 val = ""; 8724 8725 } else if ( typeof val === "number" ) { 8726 val += ""; 8727 8728 } else if ( Array.isArray( val ) ) { 8729 val = jQuery.map( val, function( value ) { 8730 return value == null ? "" : value + ""; 8731 } ); 8732 } 8733 8734 hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; 8735 8736 // If set returns undefined, fall back to normal setting 8737 if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { 8738 this.value = val; 8739 } 8740 } ); 8741 } 8742} ); 8743 8744jQuery.extend( { 8745 valHooks: { 8746 option: { 8747 get: function( elem ) { 8748 8749 var val = jQuery.find.attr( elem, "value" ); 8750 return val != null ? 8751 val : 8752 8753 // Support: IE <=10 - 11 only 8754 // option.text throws exceptions (#14686, #14858) 8755 // Strip and collapse whitespace 8756 // https://html.spec.whatwg.org/#strip-and-collapse-whitespace 8757 stripAndCollapse( jQuery.text( elem ) ); 8758 } 8759 }, 8760 select: { 8761 get: function( elem ) { 8762 var value, option, i, 8763 options = elem.options, 8764 index = elem.selectedIndex, 8765 one = elem.type === "select-one", 8766 values = one ? null : [], 8767 max = one ? index + 1 : options.length; 8768 8769 if ( index < 0 ) { 8770 i = max; 8771 8772 } else { 8773 i = one ? index : 0; 8774 } 8775 8776 // Loop through all the selected options 8777 for ( ; i < max; i++ ) { 8778 option = options[ i ]; 8779 8780 // Support: IE <=9 only 8781 // IE8-9 doesn't update selected after form reset (#2551) 8782 if ( ( option.selected || i === index ) && 8783 8784 // Don't return options that are disabled or in a disabled optgroup 8785 !option.disabled && 8786 ( !option.parentNode.disabled || 8787 !nodeName( option.parentNode, "optgroup" ) ) ) { 8788 8789 // Get the specific value for the option 8790 value = jQuery( option ).val(); 8791 8792 // We don't need an array for one selects 8793 if ( one ) { 8794 return value; 8795 } 8796 8797 // Multi-Selects return an array 8798 values.push( value ); 8799 } 8800 } 8801 8802 return values; 8803 }, 8804 8805 set: function( elem, value ) { 8806 var optionSet, option, 8807 options = elem.options, 8808 values = jQuery.makeArray( value ), 8809 i = options.length; 8810 8811 while ( i-- ) { 8812 option = options[ i ]; 8813 8814 /* eslint-disable no-cond-assign */ 8815 8816 if ( option.selected = 8817 jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 8818 ) { 8819 optionSet = true; 8820 } 8821 8822 /* eslint-enable no-cond-assign */ 8823 } 8824 8825 // Force browsers to behave consistently when non-matching value is set 8826 if ( !optionSet ) { 8827 elem.selectedIndex = -1; 8828 } 8829 return values; 8830 } 8831 } 8832 } 8833} ); 8834 8835// Radios and checkboxes getter/setter 8836jQuery.each( [ "radio", "checkbox" ], function() { 8837 jQuery.valHooks[ this ] = { 8838 set: function( elem, value ) { 8839 if ( Array.isArray( value ) ) { 8840 return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); 8841 } 8842 } 8843 }; 8844 if ( !support.checkOn ) { 8845 jQuery.valHooks[ this ].get = function( elem ) { 8846 return elem.getAttribute( "value" ) === null ? "on" : elem.value; 8847 }; 8848 } 8849} ); 8850 8851 8852 8853 8854// Return jQuery for attributes-only inclusion 8855 8856 8857support.focusin = "onfocusin" in window; 8858 8859 8860var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, 8861 stopPropagationCallback = function( e ) { 8862 e.stopPropagation(); 8863 }; 8864 8865jQuery.extend( jQuery.event, { 8866 8867 trigger: function( event, data, elem, onlyHandlers ) { 8868 8869 var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, 8870 eventPath = [ elem || document ], 8871 type = hasOwn.call( event, "type" ) ? event.type : event, 8872 namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; 8873 8874 cur = lastElement = tmp = elem = elem || document; 8875 8876 // Don't do events on text and comment nodes 8877 if ( elem.nodeType === 3 || elem.nodeType === 8 ) { 8878 return; 8879 } 8880 8881 // focus/blur morphs to focusin/out; ensure we're not firing them right now 8882 if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { 8883 return; 8884 } 8885 8886 if ( type.indexOf( "." ) > -1 ) { 8887 8888 // Namespaced trigger; create a regexp to match event type in handle() 8889 namespaces = type.split( "." ); 8890 type = namespaces.shift(); 8891 namespaces.sort(); 8892 } 8893 ontype = type.indexOf( ":" ) < 0 && "on" + type; 8894 8895 // Caller can pass in a jQuery.Event object, Object, or just an event type string 8896 event = event[ jQuery.expando ] ? 8897 event : 8898 new jQuery.Event( type, typeof event === "object" && event ); 8899 8900 // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) 8901 event.isTrigger = onlyHandlers ? 2 : 3; 8902 event.namespace = namespaces.join( "." ); 8903 event.rnamespace = event.namespace ? 8904 new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : 8905 null; 8906 8907 // Clean up the event in case it is being reused 8908 event.result = undefined; 8909 if ( !event.target ) { 8910 event.target = elem; 8911 } 8912 8913 // Clone any incoming data and prepend the event, creating the handler arg list 8914 data = data == null ? 8915 [ event ] : 8916 jQuery.makeArray( data, [ event ] ); 8917 8918 // Allow special events to draw outside the lines 8919 special = jQuery.event.special[ type ] || {}; 8920 if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { 8921 return; 8922 } 8923 8924 // Determine event propagation path in advance, per W3C events spec (#9951) 8925 // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) 8926 if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { 8927 8928 bubbleType = special.delegateType || type; 8929 if ( !rfocusMorph.test( bubbleType + type ) ) { 8930 cur = cur.parentNode; 8931 } 8932 for ( ; cur; cur = cur.parentNode ) { 8933 eventPath.push( cur ); 8934 tmp = cur; 8935 } 8936 8937 // Only add window if we got to document (e.g., not plain obj or detached DOM) 8938 if ( tmp === ( elem.ownerDocument || document ) ) { 8939 eventPath.push( tmp.defaultView || tmp.parentWindow || window ); 8940 } 8941 } 8942 8943 // Fire handlers on the event path 8944 i = 0; 8945 while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { 8946 lastElement = cur; 8947 event.type = i > 1 ? 8948 bubbleType : 8949 special.bindType || type; 8950 8951 // jQuery handler 8952 handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] && 8953 dataPriv.get( cur, "handle" ); 8954 if ( handle ) { 8955 handle.apply( cur, data ); 8956 } 8957 8958 // Native handler 8959 handle = ontype && cur[ ontype ]; 8960 if ( handle && handle.apply && acceptData( cur ) ) { 8961 event.result = handle.apply( cur, data ); 8962 if ( event.result === false ) { 8963 event.preventDefault(); 8964 } 8965 } 8966 } 8967 event.type = type; 8968 8969 // If nobody prevented the default action, do it now 8970 if ( !onlyHandlers && !event.isDefaultPrevented() ) { 8971 8972 if ( ( !special._default || 8973 special._default.apply( eventPath.pop(), data ) === false ) && 8974 acceptData( elem ) ) { 8975 8976 // Call a native DOM method on the target with the same name as the event. 8977 // Don't do default actions on window, that's where global variables be (#6170) 8978 if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { 8979 8980 // Don't re-trigger an onFOO event when we call its FOO() method 8981 tmp = elem[ ontype ]; 8982 8983 if ( tmp ) { 8984 elem[ ontype ] = null; 8985 } 8986 8987 // Prevent re-triggering of the same event, since we already bubbled it above 8988 jQuery.event.triggered = type; 8989 8990 if ( event.isPropagationStopped() ) { 8991 lastElement.addEventListener( type, stopPropagationCallback ); 8992 } 8993 8994 elem[ type ](); 8995 8996 if ( event.isPropagationStopped() ) { 8997 lastElement.removeEventListener( type, stopPropagationCallback ); 8998 } 8999 9000 jQuery.event.triggered = undefined; 9001 9002 if ( tmp ) { 9003 elem[ ontype ] = tmp; 9004 } 9005 } 9006 } 9007 } 9008 9009 return event.result; 9010 }, 9011 9012 // Piggyback on a donor event to simulate a different one 9013 // Used only for `focus(in | out)` events 9014 simulate: function( type, elem, event ) { 9015 var e = jQuery.extend( 9016 new jQuery.Event(), 9017 event, 9018 { 9019 type: type, 9020 isSimulated: true 9021 } 9022 ); 9023 9024 jQuery.event.trigger( e, null, elem ); 9025 } 9026 9027} ); 9028 9029jQuery.fn.extend( { 9030 9031 trigger: function( type, data ) { 9032 return this.each( function() { 9033 jQuery.event.trigger( type, data, this ); 9034 } ); 9035 }, 9036 triggerHandler: function( type, data ) { 9037 var elem = this[ 0 ]; 9038 if ( elem ) { 9039 return jQuery.event.trigger( type, data, elem, true ); 9040 } 9041 } 9042} ); 9043 9044 9045// Support: Firefox <=44 9046// Firefox doesn't have focus(in | out) events 9047// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 9048// 9049// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 9050// focus(in | out) events fire after focus & blur events, 9051// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
vendor: 54,284 bytes, lines 9052-11114
9052// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 9053if ( !support.focusin ) { 9054 jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { 9055 9056 // Attach a single capturing handler on the document while someone wants focusin/focusout 9057 var handler = function( event ) { 9058 jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); 9059 }; 9060 9061 jQuery.event.special[ fix ] = { 9062 setup: function() { 9063 9064 // Handle: regular nodes (via `this.ownerDocument`), window 9065 // (via `this.document`) & document (via `this`). 9066 var doc = this.ownerDocument || this.document || this, 9067 attaches = dataPriv.access( doc, fix ); 9068 9069 if ( !attaches ) { 9070 doc.addEventListener( orig, handler, true ); 9071 } 9072 dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); 9073 }, 9074 teardown: function() { 9075 var doc = this.ownerDocument || this.document || this, 9076 attaches = dataPriv.access( doc, fix ) - 1; 9077 9078 if ( !attaches ) { 9079 doc.removeEventListener( orig, handler, true ); 9080 dataPriv.remove( doc, fix ); 9081 9082 } else { 9083 dataPriv.access( doc, fix, attaches ); 9084 } 9085 } 9086 }; 9087 } ); 9088} 9089var location = window.location; 9090 9091var nonce = { guid: Date.now() }; 9092 9093var rquery = ( /\?/ ); 9094 9095 9096 9097// Cross-browser xml parsing 9098jQuery.parseXML = function( data ) { 9099 var xml, parserErrorElem; 9100 if ( !data || typeof data !== "string" ) { 9101 return null; 9102 } 9103 9104 // Support: IE 9 - 11 only 9105 // IE throws on parseFromString with invalid input. 9106 try { 9107 xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); 9108 } catch ( e ) {} 9109 9110 parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ]; 9111 if ( !xml || parserErrorElem ) { 9112 jQuery.error( "Invalid XML: " + ( 9113 parserErrorElem ? 9114 jQuery.map( parserErrorElem.childNodes, function( el ) { 9115 return el.textContent; 9116 } ).join( "\n" ) : 9117 data 9118 ) ); 9119 } 9120 return xml; 9121}; 9122 9123 9124var 9125 rbracket = /\[\]$/, 9126 rCRLF = /\r?\n/g, 9127 rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, 9128 rsubmittable = /^(?:input|select|textarea|keygen)/i; 9129 9130function buildParams( prefix, obj, traditional, add ) { 9131 var name; 9132 9133 if ( Array.isArray( obj ) ) { 9134 9135 // Serialize array item. 9136 jQuery.each( obj, function( i, v ) { 9137 if ( traditional || rbracket.test( prefix ) ) { 9138 9139 // Treat each array item as a scalar. 9140 add( prefix, v ); 9141 9142 } else { 9143 9144 // Item is non-scalar (array or object), encode its numeric index. 9145 buildParams( 9146 prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", 9147 v, 9148 traditional, 9149 add 9150 ); 9151 } 9152 } ); 9153 9154 } else if ( !traditional && toType( obj ) === "object" ) { 9155 9156 // Serialize object item. 9157 for ( name in obj ) { 9158 buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); 9159 } 9160 9161 } else { 9162 9163 // Serialize scalar item. 9164 add( prefix, obj ); 9165 } 9166} 9167 9168// Serialize an array of form elements or a set of 9169// key/values into a query string 9170jQuery.param = function( a, traditional ) { 9171 var prefix, 9172 s = [], 9173 add = function( key, valueOrFunction ) { 9174 9175 // If value is a function, invoke it and use its return value 9176 var value = isFunction( valueOrFunction ) ? 9177 valueOrFunction() : 9178 valueOrFunction; 9179 9180 s[ s.length ] = encodeURIComponent( key ) + "=" + 9181 encodeURIComponent( value == null ? "" : value ); 9182 }; 9183 9184 if ( a == null ) { 9185 return ""; 9186 } 9187 9188 // If an array was passed in, assume that it is an array of form elements. 9189 if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { 9190 9191 // Serialize the form elements 9192 jQuery.each( a, function() { 9193 add( this.name, this.value ); 9194 } ); 9195 9196 } else { 9197 9198 // If traditional, encode the "old" way (the way 1.3.2 or older 9199 // did it), otherwise encode params recursively. 9200 for ( prefix in a ) { 9201 buildParams( prefix, a[ prefix ], traditional, add ); 9202 } 9203 } 9204 9205 // Return the resulting serialization 9206 return s.join( "&" ); 9207}; 9208 9209jQuery.fn.extend( { 9210 serialize: function() { 9211 return jQuery.param( this.serializeArray() ); 9212 }, 9213 serializeArray: function() { 9214 return this.map( function() { 9215 9216 // Can add propHook for "elements" to filter or add form elements 9217 var elements = jQuery.prop( this, "elements" ); 9218 return elements ? jQuery.makeArray( elements ) : this; 9219 } ).filter( function() { 9220 var type = this.type; 9221 9222 // Use .is( ":disabled" ) so that fieldset[disabled] works 9223 return this.name && !jQuery( this ).is( ":disabled" ) && 9224 rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && 9225 ( this.checked || !rcheckableType.test( type ) ); 9226 } ).map( function( _i, elem ) { 9227 var val = jQuery( this ).val(); 9228 9229 if ( val == null ) { 9230 return null; 9231 } 9232 9233 if ( Array.isArray( val ) ) { 9234 return jQuery.map( val, function( val ) { 9235 return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; 9236 } ); 9237 } 9238 9239 return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; 9240 } ).get(); 9241 } 9242} ); 9243 9244 9245var 9246 r20 = /%20/g, 9247 rhash = /#.*$/, 9248 rantiCache = /([?&])_=[^&]*/, 9249 rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, 9250 9251 // #7653, #8125, #8152: local protocol detection 9252 rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, 9253 rnoContent = /^(?:GET|HEAD)$/, 9254 rprotocol = /^\/\//, 9255 9256 /* Prefilters 9257 * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) 9258 * 2) These are called: 9259 * - BEFORE asking for a transport 9260 * - AFTER param serialization (s.data is a string if s.processData is true) 9261 * 3) key is the dataType 9262 * 4) the catchall symbol "*" can be used 9263 * 5) execution will start with transport dataType and THEN continue down to "*" if needed 9264 */ 9265 prefilters = {}, 9266 9267 /* Transports bindings 9268 * 1) key is the dataType 9269 * 2) the catchall symbol "*" can be used 9270 * 3) selection will start with transport dataType and THEN go to "*" if needed 9271 */ 9272 transports = {}, 9273 9274 // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression 9275 allTypes = "*/".concat( "*" ), 9276 9277 // Anchor tag for parsing the document origin 9278 originAnchor = document.createElement( "a" ); 9279 9280originAnchor.href = location.href; 9281 9282// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport 9283function addToPrefiltersOrTransports( structure ) { 9284 9285 // dataTypeExpression is optional and defaults to "*" 9286 return function( dataTypeExpression, func ) { 9287 9288 if ( typeof dataTypeExpression !== "string" ) { 9289 func = dataTypeExpression; 9290 dataTypeExpression = "*"; 9291 } 9292 9293 var dataType, 9294 i = 0, 9295 dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; 9296 9297 if ( isFunction( func ) ) { 9298 9299 // For each dataType in the dataTypeExpression 9300 while ( ( dataType = dataTypes[ i++ ] ) ) { 9301 9302 // Prepend if requested 9303 if ( dataType[ 0 ] === "+" ) { 9304 dataType = dataType.slice( 1 ) || "*"; 9305 ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); 9306 9307 // Otherwise append 9308 } else { 9309 ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); 9310 } 9311 } 9312 } 9313 }; 9314} 9315 9316// Base inspection function for prefilters and transports 9317function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { 9318 9319 var inspected = {}, 9320 seekingTransport = ( structure === transports ); 9321 9322 function inspect( dataType ) { 9323 var selected; 9324 inspected[ dataType ] = true; 9325 jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { 9326 var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); 9327 if ( typeof dataTypeOrTransport === "string" && 9328 !seekingTransport && !inspected[ dataTypeOrTransport ] ) { 9329 9330 options.dataTypes.unshift( dataTypeOrTransport ); 9331 inspect( dataTypeOrTransport ); 9332 return false; 9333 } else if ( seekingTransport ) { 9334 return !( selected = dataTypeOrTransport ); 9335 } 9336 } ); 9337 return selected; 9338 } 9339 9340 return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); 9341} 9342 9343// A special extend for ajax options 9344// that takes "flat" options (not to be deep extended) 9345// Fixes #9887 9346function ajaxExtend( target, src ) { 9347 var key, deep, 9348 flatOptions = jQuery.ajaxSettings.flatOptions || {}; 9349 9350 for ( key in src ) { 9351 if ( src[ key ] !== undefined ) { 9352 ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; 9353 } 9354 } 9355 if ( deep ) { 9356 jQuery.extend( true, target, deep ); 9357 } 9358 9359 return target; 9360} 9361 9362/* Handles responses to an ajax request: 9363 * - finds the right dataType (mediates between content-type and expected dataType) 9364 * - returns the corresponding response 9365 */ 9366function ajaxHandleResponses( s, jqXHR, responses ) { 9367 9368 var ct, type, finalDataType, firstDataType, 9369 contents = s.contents, 9370 dataTypes = s.dataTypes; 9371 9372 // Remove auto dataType and get content-type in the process 9373 while ( dataTypes[ 0 ] === "*" ) { 9374 dataTypes.shift(); 9375 if ( ct === undefined ) { 9376 ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); 9377 } 9378 } 9379 9380 // Check if we're dealing with a known content-type 9381 if ( ct ) { 9382 for ( type in contents ) { 9383 if ( contents[ type ] && contents[ type ].test( ct ) ) { 9384 dataTypes.unshift( type ); 9385 break; 9386 } 9387 } 9388 } 9389 9390 // Check to see if we have a response for the expected dataType 9391 if ( dataTypes[ 0 ] in responses ) { 9392 finalDataType = dataTypes[ 0 ]; 9393 } else { 9394 9395 // Try convertible dataTypes 9396 for ( type in responses ) { 9397 if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { 9398 finalDataType = type; 9399 break; 9400 } 9401 if ( !firstDataType ) { 9402 firstDataType = type; 9403 } 9404 } 9405 9406 // Or just use first one 9407 finalDataType = finalDataType || firstDataType; 9408 } 9409 9410 // If we found a dataType 9411 // We add the dataType to the list if needed 9412 // and return the corresponding response 9413 if ( finalDataType ) { 9414 if ( finalDataType !== dataTypes[ 0 ] ) { 9415 dataTypes.unshift( finalDataType ); 9416 } 9417 return responses[ finalDataType ]; 9418 } 9419} 9420 9421/* Chain conversions given the request and the original response 9422 * Also sets the responseXXX fields on the jqXHR instance 9423 */ 9424function ajaxConvert( s, response, jqXHR, isSuccess ) { 9425 var conv2, current, conv, tmp, prev, 9426 converters = {}, 9427 9428 // Work with a copy of dataTypes in case we need to modify it for conversion 9429 dataTypes = s.dataTypes.slice(); 9430 9431 // Create converters map with lowercased keys 9432 if ( dataTypes[ 1 ] ) { 9433 for ( conv in s.converters ) { 9434 converters[ conv.toLowerCase() ] = s.converters[ conv ]; 9435 } 9436 } 9437 9438 current = dataTypes.shift(); 9439 9440 // Convert to each sequential dataType 9441 while ( current ) { 9442 9443 if ( s.responseFields[ current ] ) { 9444 jqXHR[ s.responseFields[ current ] ] = response; 9445 } 9446 9447 // Apply the dataFilter if provided 9448 if ( !prev && isSuccess && s.dataFilter ) { 9449 response = s.dataFilter( response, s.dataType ); 9450 } 9451 9452 prev = current; 9453 current = dataTypes.shift(); 9454 9455 if ( current ) { 9456 9457 // There's only work to do if current dataType is non-auto 9458 if ( current === "*" ) { 9459 9460 current = prev; 9461 9462 // Convert response if prev dataType is non-auto and differs from current 9463 } else if ( prev !== "*" && prev !== current ) { 9464 9465 // Seek a direct converter 9466 conv = converters[ prev + " " + current ] || converters[ "* " + current ]; 9467 9468 // If none found, seek a pair 9469 if ( !conv ) { 9470 for ( conv2 in converters ) { 9471 9472 // If conv2 outputs current 9473 tmp = conv2.split( " " ); 9474 if ( tmp[ 1 ] === current ) { 9475 9476 // If prev can be converted to accepted input 9477 conv = converters[ prev + " " + tmp[ 0 ] ] || 9478 converters[ "* " + tmp[ 0 ] ]; 9479 if ( conv ) { 9480 9481 // Condense equivalence converters 9482 if ( conv === true ) { 9483 conv = converters[ conv2 ]; 9484 9485 // Otherwise, insert the intermediate dataType 9486 } else if ( converters[ conv2 ] !== true ) { 9487 current = tmp[ 0 ]; 9488 dataTypes.unshift( tmp[ 1 ] ); 9489 } 9490 break; 9491 } 9492 } 9493 } 9494 } 9495 9496 // Apply converter (if not an equivalence) 9497 if ( conv !== true ) { 9498 9499 // Unless errors are allowed to bubble, catch and return them 9500 if ( conv && s.throws ) { 9501 response = conv( response ); 9502 } else { 9503 try { 9504 response = conv( response ); 9505 } catch ( e ) { 9506 return { 9507 state: "parsererror", 9508 error: conv ? e : "No conversion from " + prev + " to " + current 9509 }; 9510 } 9511 } 9512 } 9513 } 9514 } 9515 } 9516 9517 return { state: "success", data: response }; 9518} 9519 9520jQuery.extend( { 9521 9522 // Counter for holding the number of active queries 9523 active: 0, 9524 9525 // Last-Modified header cache for next request 9526 lastModified: {}, 9527 etag: {}, 9528 9529 ajaxSettings: { 9530 url: location.href, 9531 type: "GET", 9532 isLocal: rlocalProtocol.test( location.protocol ), 9533 global: true, 9534 processData: true, 9535 async: true, 9536 contentType: "application/x-www-form-urlencoded; charset=UTF-8", 9537 9538 /* 9539 timeout: 0, 9540 data: null, 9541 dataType: null, 9542 username: null, 9543 password: null, 9544 cache: null, 9545 throws: false, 9546 traditional: false, 9547 headers: {}, 9548 */ 9549 9550 accepts: { 9551 "*": allTypes, 9552 text: "text/plain", 9553 html: "text/html", 9554 xml: "application/xml, text/xml", 9555 json: "application/json, text/javascript" 9556 }, 9557 9558 contents: { 9559 xml: /\bxml\b/, 9560 html: /\bhtml/, 9561 json: /\bjson\b/ 9562 }, 9563 9564 responseFields: { 9565 xml: "responseXML", 9566 text: "responseText", 9567 json: "responseJSON" 9568 }, 9569 9570 // Data converters 9571 // Keys separate source (or catchall "*") and destination types with a single space 9572 converters: { 9573 9574 // Convert anything to text 9575 "* text": String, 9576 9577 // Text to html (true = no transformation) 9578 "text html": true, 9579 9580 // Evaluate text as a json expression 9581 "text json": JSON.parse, 9582 9583 // Parse text as xml 9584 "text xml": jQuery.parseXML 9585 }, 9586 9587 // For options that shouldn't be deep extended: 9588 // you can add your own custom options here if 9589 // and when you create one that shouldn't be 9590 // deep extended (see ajaxExtend) 9591 flatOptions: { 9592 url: true, 9593 context: true 9594 } 9595 }, 9596 9597 // Creates a full fledged settings object into target 9598 // with both ajaxSettings and settings fields. 9599 // If target is omitted, writes into ajaxSettings. 9600 ajaxSetup: function( target, settings ) { 9601 return settings ? 9602 9603 // Building a settings object 9604 ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : 9605 9606 // Extending ajaxSettings 9607 ajaxExtend( jQuery.ajaxSettings, target ); 9608 }, 9609 9610 ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), 9611 ajaxTransport: addToPrefiltersOrTransports( transports ), 9612 9613 // Main method 9614 ajax: function( url, options ) { 9615 9616 // If url is an object, simulate pre-1.5 signature 9617 if ( typeof url === "object" ) { 9618 options = url; 9619 url = undefined; 9620 } 9621 9622 // Force options to be an object 9623 options = options || {}; 9624 9625 var transport, 9626 9627 // URL without anti-cache param 9628 cacheURL, 9629 9630 // Response headers 9631 responseHeadersString, 9632 responseHeaders, 9633 9634 // timeout handle 9635 timeoutTimer, 9636 9637 // Url cleanup var 9638 urlAnchor, 9639 9640 // Request state (becomes false upon send and true upon completion) 9641 completed, 9642 9643 // To know if global events are to be dispatched 9644 fireGlobals, 9645 9646 // Loop variable 9647 i, 9648 9649 // uncached part of the url 9650 uncached, 9651 9652 // Create the final options object 9653 s = jQuery.ajaxSetup( {}, options ), 9654 9655 // Callbacks context 9656 callbackContext = s.context || s, 9657 9658 // Context for global events is callbackContext if it is a DOM node or jQuery collection 9659 globalEventContext = s.context && 9660 ( callbackContext.nodeType || callbackContext.jquery ) ? 9661 jQuery( callbackContext ) : 9662 jQuery.event, 9663 9664 // Deferreds 9665 deferred = jQuery.Deferred(), 9666 completeDeferred = jQuery.Callbacks( "once memory" ), 9667 9668 // Status-dependent callbacks 9669 statusCode = s.statusCode || {}, 9670 9671 // Headers (they are sent all at once) 9672 requestHeaders = {}, 9673 requestHeadersNames = {}, 9674 9675 // Default abort message 9676 strAbort = "canceled", 9677 9678 // Fake xhr 9679 jqXHR = { 9680 readyState: 0, 9681 9682 // Builds headers hashtable if needed 9683 getResponseHeader: function( key ) { 9684 var match; 9685 if ( completed ) { 9686 if ( !responseHeaders ) { 9687 responseHeaders = {}; 9688 while ( ( match = rheaders.exec( responseHeadersString ) ) ) { 9689 responseHeaders[ match[ 1 ].toLowerCase() + " " ] = 9690 ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) 9691 .concat( match[ 2 ] ); 9692 } 9693 } 9694 match = responseHeaders[ key.toLowerCase() + " " ]; 9695 } 9696 return match == null ? null : match.join( ", " ); 9697 }, 9698 9699 // Raw string 9700 getAllResponseHeaders: function() { 9701 return completed ? responseHeadersString : null; 9702 }, 9703 9704 // Caches the header 9705 setRequestHeader: function( name, value ) { 9706 if ( completed == null ) { 9707 name = requestHeadersNames[ name.toLowerCase() ] = 9708 requestHeadersNames[ name.toLowerCase() ] || name; 9709 requestHeaders[ name ] = value; 9710 } 9711 return this; 9712 }, 9713 9714 // Overrides response content-type header 9715 overrideMimeType: function( type ) { 9716 if ( completed == null ) { 9717 s.mimeType = type; 9718 } 9719 return this; 9720 }, 9721 9722 // Status-dependent callbacks 9723 statusCode: function( map ) { 9724 var code; 9725 if ( map ) { 9726 if ( completed ) { 9727 9728 // Execute the appropriate callbacks 9729 jqXHR.always( map[ jqXHR.status ] ); 9730 } else { 9731 9732 // Lazy-add the new callbacks in a way that preserves old ones 9733 for ( code in map ) { 9734 statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; 9735 } 9736 } 9737 } 9738 return this; 9739 }, 9740 9741 // Cancel the request 9742 abort: function( statusText ) { 9743 var finalText = statusText || strAbort; 9744 if ( transport ) { 9745 transport.abort( finalText ); 9746 } 9747 done( 0, finalText ); 9748 return this; 9749 } 9750 }; 9751 9752 // Attach deferreds 9753 deferred.promise( jqXHR ); 9754 9755 // Add protocol if not provided (prefilters might expect it) 9756 // Handle falsy url in the settings object (#10093: consistency with old signature) 9757 // We also use the url parameter if available 9758 s.url = ( ( url || s.url || location.href ) + "" ) 9759 .replace( rprotocol, location.protocol + "//" ); 9760 9761 // Alias method option to type as per ticket #12004 9762 s.type = options.method || options.type || s.method || s.type; 9763 9764 // Extract dataTypes list 9765 s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; 9766 9767 // A cross-domain request is in order when the origin doesn't match the current origin. 9768 if ( s.crossDomain == null ) { 9769 urlAnchor = document.createElement( "a" ); 9770 9771 // Support: IE <=8 - 11, Edge 12 - 15 9772 // IE throws exception on accessing the href property if url is malformed, 9773 // e.g. http://example.com:80x/ 9774 try { 9775 urlAnchor.href = s.url; 9776 9777 // Support: IE <=8 - 11 only 9778 // Anchor's host property isn't correctly set when s.url is relative 9779 urlAnchor.href = urlAnchor.href; 9780 s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== 9781 urlAnchor.protocol + "//" + urlAnchor.host; 9782 } catch ( e ) { 9783 9784 // If there is an error parsing the URL, assume it is crossDomain, 9785 // it can be rejected by the transport if it is invalid 9786 s.crossDomain = true; 9787 } 9788 } 9789 9790 // Convert data if not already a string 9791 if ( s.data && s.processData && typeof s.data !== "string" ) { 9792 s.data = jQuery.param( s.data, s.traditional ); 9793 } 9794 9795 // Apply prefilters 9796 inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); 9797 9798 // If request was aborted inside a prefilter, stop there 9799 if ( completed ) { 9800 return jqXHR; 9801 } 9802 9803 // We can fire global events as of now if asked to 9804 // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) 9805 fireGlobals = jQuery.event && s.global; 9806 9807 // Watch for a new set of requests 9808 if ( fireGlobals && jQuery.active++ === 0 ) { 9809 jQuery.event.trigger( "ajaxStart" ); 9810 } 9811 9812 // Uppercase the type 9813 s.type = s.type.toUpperCase(); 9814 9815 // Determine if request has content 9816 s.hasContent = !rnoContent.test( s.type ); 9817 9818 // Save the URL in case we're toying with the If-Modified-Since 9819 // and/or If-None-Match header later on 9820 // Remove hash to simplify url manipulation 9821 cacheURL = s.url.replace( rhash, "" ); 9822 9823 // More options handling for requests with no content 9824 if ( !s.hasContent ) { 9825 9826 // Remember the hash so we can put it back 9827 uncached = s.url.slice( cacheURL.length ); 9828 9829 // If data is available and should be processed, append data to url 9830 if ( s.data && ( s.processData || typeof s.data === "string" ) ) { 9831 cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; 9832 9833 // #9682: remove data so that it's not used in an eventual retry 9834 delete s.data; 9835 } 9836 9837 // Add or update anti-cache param if needed 9838 if ( s.cache === false ) { 9839 cacheURL = cacheURL.replace( rantiCache, "$1" ); 9840 uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) + 9841 uncached; 9842 } 9843 9844 // Put hash and anti-cache on the URL that will be requested (gh-1732) 9845 s.url = cacheURL + uncached; 9846 9847 // Change '%20' to '+' if this is encoded form body content (gh-2658) 9848 } else if ( s.data && s.processData && 9849 ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { 9850 s.data = s.data.replace( r20, "+" ); 9851 } 9852 9853 // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. 9854 if ( s.ifModified ) { 9855 if ( jQuery.lastModified[ cacheURL ] ) { 9856 jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); 9857 } 9858 if ( jQuery.etag[ cacheURL ] ) { 9859 jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); 9860 } 9861 } 9862 9863 // Set the correct header, if data is being sent 9864 if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { 9865 jqXHR.setRequestHeader( "Content-Type", s.contentType ); 9866 } 9867 9868 // Set the Accepts header for the server, depending on the dataType 9869 jqXHR.setRequestHeader( 9870 "Accept", 9871 s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? 9872 s.accepts[ s.dataTypes[ 0 ] ] + 9873 ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : 9874 s.accepts[ "*" ] 9875 ); 9876 9877 // Check for headers option 9878 for ( i in s.headers ) { 9879 jqXHR.setRequestHeader( i, s.headers[ i ] ); 9880 } 9881 9882 // Allow custom headers/mimetypes and early abort 9883 if ( s.beforeSend && 9884 ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { 9885 9886 // Abort if not done already and return 9887 return jqXHR.abort(); 9888 } 9889 9890 // Aborting is no longer a cancellation 9891 strAbort = "abort"; 9892 9893 // Install callbacks on deferreds 9894 completeDeferred.add( s.complete ); 9895 jqXHR.done( s.success ); 9896 jqXHR.fail( s.error ); 9897 9898 // Get transport 9899 transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); 9900 9901 // If no transport, we auto-abort 9902 if ( !transport ) { 9903 done( -1, "No Transport" ); 9904 } else { 9905 jqXHR.readyState = 1; 9906 9907 // Send global event 9908 if ( fireGlobals ) { 9909 globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); 9910 } 9911 9912 // If request was aborted inside ajaxSend, stop there 9913 if ( completed ) { 9914 return jqXHR; 9915 } 9916 9917 // Timeout 9918 if ( s.async && s.timeout > 0 ) { 9919 timeoutTimer = window.setTimeout( function() { 9920 jqXHR.abort( "timeout" ); 9921 }, s.timeout ); 9922 } 9923 9924 try { 9925 completed = false; 9926 transport.send( requestHeaders, done ); 9927 } catch ( e ) { 9928 9929 // Rethrow post-completion exceptions 9930 if ( completed ) { 9931 throw e; 9932 } 9933 9934 // Propagate others as results 9935 done( -1, e ); 9936 } 9937 } 9938 9939 // Callback for when everything is done 9940 function done( status, nativeStatusText, responses, headers ) { 9941 var isSuccess, success, error, response, modified, 9942 statusText = nativeStatusText; 9943 9944 // Ignore repeat invocations 9945 if ( completed ) { 9946 return; 9947 } 9948 9949 completed = true; 9950 9951 // Clear timeout if it exists 9952 if ( timeoutTimer ) { 9953 window.clearTimeout( timeoutTimer ); 9954 } 9955 9956 // Dereference transport for early garbage collection 9957 // (no matter how long the jqXHR object will be used) 9958 transport = undefined; 9959 9960 // Cache response headers 9961 responseHeadersString = headers || ""; 9962 9963 // Set readyState 9964 jqXHR.readyState = status > 0 ? 4 : 0; 9965 9966 // Determine if successful 9967 isSuccess = status >= 200 && status < 300 || status === 304; 9968 9969 // Get response data 9970 if ( responses ) { 9971 response = ajaxHandleResponses( s, jqXHR, responses ); 9972 } 9973 9974 // Use a noop converter for missing script but not if jsonp 9975 if ( !isSuccess && 9976 jQuery.inArray( "script", s.dataTypes ) > -1 && 9977 jQuery.inArray( "json", s.dataTypes ) < 0 ) { 9978 s.converters[ "text script" ] = function() {}; 9979 } 9980 9981 // Convert no matter what (that way responseXXX fields are always set) 9982 response = ajaxConvert( s, response, jqXHR, isSuccess ); 9983 9984 // If successful, handle type chaining 9985 if ( isSuccess ) { 9986 9987 // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. 9988 if ( s.ifModified ) { 9989 modified = jqXHR.getResponseHeader( "Last-Modified" ); 9990 if ( modified ) { 9991 jQuery.lastModified[ cacheURL ] = modified; 9992 } 9993 modified = jqXHR.getResponseHeader( "etag" ); 9994 if ( modified ) { 9995 jQuery.etag[ cacheURL ] = modified; 9996 } 9997 } 9998 9999 // if no content 10000 if ( status === 204 || s.type === "HEAD" ) { 10001 statusText = "nocontent"; 10002 10003 // if not modified 10004 } else if ( status === 304 ) { 10005 statusText = "notmodified"; 10006 10007 // If we have data, let's convert it 10008 } else { 10009 statusText = response.state; 10010 success = response.data; 10011 error = response.error; 10012 isSuccess = !error; 10013 } 10014 } else { 10015 10016 // Extract error from statusText and normalize for non-aborts 10017 error = statusText; 10018 if ( status || !statusText ) { 10019 statusText = "error"; 10020 if ( status < 0 ) { 10021 status = 0; 10022 } 10023 } 10024 } 10025 10026 // Set data for the fake xhr object 10027 jqXHR.status = status; 10028 jqXHR.statusText = ( nativeStatusText || statusText ) + ""; 10029 10030 // Success/Error 10031 if ( isSuccess ) { 10032 deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); 10033 } else { 10034 deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); 10035 } 10036 10037 // Status-dependent callbacks 10038 jqXHR.statusCode( statusCode ); 10039 statusCode = undefined; 10040 10041 if ( fireGlobals ) { 10042 globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", 10043 [ jqXHR, s, isSuccess ? success : error ] ); 10044 } 10045 10046 // Complete 10047 completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); 10048 10049 if ( fireGlobals ) { 10050 globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); 10051 10052 // Handle the global AJAX counter 10053 if ( !( --jQuery.active ) ) { 10054 jQuery.event.trigger( "ajaxStop" ); 10055 } 10056 } 10057 } 10058 10059 return jqXHR; 10060 }, 10061 10062 getJSON: function( url, data, callback ) { 10063 return jQuery.get( url, data, callback, "json" ); 10064 }, 10065 10066 getScript: function( url, callback ) { 10067 return jQuery.get( url, undefined, callback, "script" ); 10068 } 10069} ); 10070 10071jQuery.each( [ "get", "post" ], function( _i, method ) { 10072 jQuery[ method ] = function( url, data, callback, type ) { 10073 10074 // Shift arguments if data argument was omitted 10075 if ( isFunction( data ) ) { 10076 type = type || callback; 10077 callback = data; 10078 data = undefined; 10079 } 10080 10081 // The url can be an options object (which then must have .url) 10082 return jQuery.ajax( jQuery.extend( { 10083 url: url, 10084 type: method, 10085 dataType: type, 10086 data: data, 10087 success: callback 10088 }, jQuery.isPlainObject( url ) && url ) ); 10089 }; 10090} ); 10091 10092jQuery.ajaxPrefilter( function( s ) { 10093 var i; 10094 for ( i in s.headers ) { 10095 if ( i.toLowerCase() === "content-type" ) { 10096 s.contentType = s.headers[ i ] || ""; 10097 } 10098 } 10099} ); 10100 10101 10102jQuery._evalUrl = function( url, options, doc ) { 10103 return jQuery.ajax( { 10104 url: url, 10105 10106 // Make this explicit, since user can override this through ajaxSetup (#11264) 10107 type: "GET", 10108 dataType: "script", 10109 cache: true, 10110 async: false, 10111 global: false, 10112 10113 // Only evaluate the response if it is successful (gh-4126) 10114 // dataFilter is not invoked for failure responses, so using it instead 10115 // of the default converter is kludgy but it works. 10116 converters: { 10117 "text script": function() {} 10118 }, 10119 dataFilter: function( response ) { 10120 jQuery.globalEval( response, options, doc ); 10121 } 10122 } ); 10123}; 10124 10125 10126jQuery.fn.extend( { 10127 wrapAll: function( html ) { 10128 var wrap; 10129 10130 if ( this[ 0 ] ) { 10131 if ( isFunction( html ) ) { 10132 html = html.call( this[ 0 ] ); 10133 } 10134 10135 // The elements to wrap the target around 10136 wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); 10137 10138 if ( this[ 0 ].parentNode ) { 10139 wrap.insertBefore( this[ 0 ] ); 10140 } 10141 10142 wrap.map( function() { 10143 var elem = this; 10144 10145 while ( elem.firstElementChild ) { 10146 elem = elem.firstElementChild; 10147 } 10148 10149 return elem; 10150 } ).append( this ); 10151 } 10152 10153 return this; 10154 }, 10155 10156 wrapInner: function( html ) { 10157 if ( isFunction( html ) ) { 10158 return this.each( function( i ) { 10159 jQuery( this ).wrapInner( html.call( this, i ) ); 10160 } ); 10161 } 10162 10163 return this.each( function() { 10164 var self = jQuery( this ), 10165 contents = self.contents(); 10166 10167 if ( contents.length ) { 10168 contents.wrapAll( html ); 10169 10170 } else { 10171 self.append( html ); 10172 } 10173 } ); 10174 }, 10175 10176 wrap: function( html ) { 10177 var htmlIsFunction = isFunction( html ); 10178 10179 return this.each( function( i ) { 10180 jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); 10181 } ); 10182 }, 10183 10184 unwrap: function( selector ) { 10185 this.parent( selector ).not( "body" ).each( function() { 10186 jQuery( this ).replaceWith( this.childNodes ); 10187 } ); 10188 return this; 10189 } 10190} ); 10191 10192 10193jQuery.expr.pseudos.hidden = function( elem ) { 10194 return !jQuery.expr.pseudos.visible( elem ); 10195}; 10196jQuery.expr.pseudos.visible = function( elem ) { 10197 return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); 10198}; 10199 10200 10201 10202 10203jQuery.ajaxSettings.xhr = function() { 10204 try { 10205 return new window.XMLHttpRequest(); 10206 } catch ( e ) {} 10207}; 10208 10209var xhrSuccessStatus = { 10210 10211 // File protocol always yields status code 0, assume 200 10212 0: 200, 10213 10214 // Support: IE <=9 only 10215 // #1450: sometimes IE returns 1223 when it should be 204 10216 1223: 204 10217 }, 10218 xhrSupported = jQuery.ajaxSettings.xhr(); 10219 10220support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); 10221support.ajax = xhrSupported = !!xhrSupported; 10222 10223jQuery.ajaxTransport( function( options ) { 10224 var callback, errorCallback; 10225 10226 // Cross domain only allowed if supported through XMLHttpRequest 10227 if ( support.cors || xhrSupported && !options.crossDomain ) { 10228 return { 10229 send: function( headers, complete ) { 10230 var i, 10231 xhr = options.xhr(); 10232 10233 xhr.open( 10234 options.type, 10235 options.url, 10236 options.async, 10237 options.username, 10238 options.password 10239 ); 10240 10241 // Apply custom fields if provided 10242 if ( options.xhrFields ) { 10243 for ( i in options.xhrFields ) { 10244 xhr[ i ] = options.xhrFields[ i ]; 10245 } 10246 } 10247 10248 // Override mime type if needed 10249 if ( options.mimeType && xhr.overrideMimeType ) { 10250 xhr.overrideMimeType( options.mimeType ); 10251 } 10252 10253 // X-Requested-With header 10254 // For cross-domain requests, seeing as conditions for a preflight are 10255 // akin to a jigsaw puzzle, we simply never set it to be sure. 10256 // (it can always be set on a per-request basis or even using ajaxSetup) 10257 // For same-domain requests, won't change header if already provided. 10258 if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { 10259 headers[ "X-Requested-With" ] = "XMLHttpRequest"; 10260 } 10261 10262 // Set headers 10263 for ( i in headers ) { 10264 xhr.setRequestHeader( i, headers[ i ] ); 10265 } 10266 10267 // Callback 10268 callback = function( type ) { 10269 return function() { 10270 if ( callback ) { 10271 callback = errorCallback = xhr.onload = 10272 xhr.onerror = xhr.onabort = xhr.ontimeout = 10273 xhr.onreadystatechange = null; 10274 10275 if ( type === "abort" ) { 10276 xhr.abort(); 10277 } else if ( type === "error" ) { 10278 10279 // Support: IE <=9 only 10280 // On a manual native abort, IE9 throws 10281 // errors on any property access that is not readyState 10282 if ( typeof xhr.status !== "number" ) { 10283 complete( 0, "error" ); 10284 } else { 10285 complete( 10286 10287 // File: protocol always yields status 0; see #8605, #14207 10288 xhr.status, 10289 xhr.statusText 10290 ); 10291 } 10292 } else { 10293 complete( 10294 xhrSuccessStatus[ xhr.status ] || xhr.status, 10295 xhr.statusText, 10296 10297 // Support: IE <=9 only 10298 // IE9 has no XHR2 but throws on binary (trac-11426) 10299 // For XHR2 non-text, let the caller handle it (gh-2498) 10300 ( xhr.responseType || "text" ) !== "text" || 10301 typeof xhr.responseText !== "string" ? 10302 { binary: xhr.response } : 10303 { text: xhr.responseText }, 10304 xhr.getAllResponseHeaders() 10305 ); 10306 } 10307 } 10308 }; 10309 }; 10310 10311 // Listen to events 10312 xhr.onload = callback(); 10313 errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); 10314 10315 // Support: IE 9 only 10316 // Use onreadystatechange to replace onabort 10317 // to handle uncaught aborts 10318 if ( xhr.onabort !== undefined ) { 10319 xhr.onabort = errorCallback; 10320 } else { 10321 xhr.onreadystatechange = function() { 10322 10323 // Check readyState before timeout as it changes 10324 if ( xhr.readyState === 4 ) { 10325 10326 // Allow onerror to be called first, 10327 // but that will not handle a native abort 10328 // Also, save errorCallback to a variable 10329 // as xhr.onerror cannot be accessed 10330 window.setTimeout( function() { 10331 if ( callback ) { 10332 errorCallback(); 10333 } 10334 } ); 10335 } 10336 }; 10337 } 10338 10339 // Create the abort callback 10340 callback = callback( "abort" ); 10341 10342 try { 10343 10344 // Do send the request (this may raise an exception) 10345 xhr.send( options.hasContent && options.data || null ); 10346 } catch ( e ) { 10347 10348 // #14683: Only rethrow if this hasn't been notified as an error yet 10349 if ( callback ) { 10350 throw e; 10351 } 10352 } 10353 }, 10354 10355 abort: function() { 10356 if ( callback ) { 10357 callback(); 10358 } 10359 } 10360 }; 10361 } 10362} ); 10363 10364 10365 10366 10367// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) 10368jQuery.ajaxPrefilter( function( s ) { 10369 if ( s.crossDomain ) { 10370 s.contents.script = false; 10371 } 10372} ); 10373 10374// Install script dataType 10375jQuery.ajaxSetup( { 10376 accepts: { 10377 script: "text/javascript, application/javascript, " + 10378 "application/ecmascript, application/x-ecmascript" 10379 }, 10380 contents: { 10381 script: /\b(?:java|ecma)script\b/ 10382 }, 10383 converters: { 10384 "text script": function( text ) { 10385 jQuery.globalEval( text ); 10386 return text; 10387 } 10388 } 10389} ); 10390 10391// Handle cache's special case and crossDomain 10392jQuery.ajaxPrefilter( "script", function( s ) { 10393 if ( s.cache === undefined ) { 10394 s.cache = false; 10395 } 10396 if ( s.crossDomain ) { 10397 s.type = "GET"; 10398 } 10399} ); 10400 10401// Bind script tag hack transport 10402jQuery.ajaxTransport( "script", function( s ) { 10403 10404 // This transport only deals with cross domain or forced-by-attrs requests 10405 if ( s.crossDomain || s.scriptAttrs ) { 10406 var script, callback; 10407 return { 10408 send: function( _, complete ) { 10409 script = jQuery( "<script>" ) 10410 .attr( s.scriptAttrs || {} ) 10411 .prop( { charset: s.scriptCharset, src: s.url } ) 10412 .on( "load error", callback = function( evt ) { 10413 script.remove(); 10414 callback = null; 10415 if ( evt ) { 10416 complete( evt.type === "error" ? 404 : 200, evt.type ); 10417 } 10418 } ); 10419 10420 // Use native DOM manipulation to avoid our domManip AJAX trickery 10421 document.head.appendChild( script[ 0 ] ); 10422 }, 10423 abort: function() { 10424 if ( callback ) { 10425 callback(); 10426 } 10427 } 10428 }; 10429 } 10430} ); 10431 10432 10433 10434 10435var oldCallbacks = [], 10436 rjsonp = /(=)\?(?=&|$)|\?\?/; 10437 10438// Default jsonp settings 10439jQuery.ajaxSetup( { 10440 jsonp: "callback", 10441 jsonpCallback: function() { 10442 var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce.guid++ ) ); 10443 this[ callback ] = true; 10444 return callback; 10445 } 10446} ); 10447 10448// Detect, normalize options and install callbacks for jsonp requests 10449jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { 10450 10451 var callbackName, overwritten, responseContainer, 10452 jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ? 10453 "url" : 10454 typeof s.data === "string" && 10455 ( s.contentType || "" ) 10456 .indexOf( "application/x-www-form-urlencoded" ) === 0 && 10457 rjsonp.test( s.data ) && "data" 10458 ); 10459 10460 // Handle iff the expected data type is "jsonp" or we have a parameter to set 10461 if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) { 10462 10463 // Get callback name, remembering preexisting value associated with it 10464 callbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ? 10465 s.jsonpCallback() : 10466 s.jsonpCallback; 10467 10468 // Insert callback into url or form data 10469 if ( jsonProp ) { 10470 s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName ); 10471 } else if ( s.jsonp !== false ) { 10472 s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; 10473 } 10474 10475 // Use data converter to retrieve json after script execution 10476 s.converters[ "script json" ] = function() { 10477 if ( !responseContainer ) { 10478 jQuery.error( callbackName + " was not called" ); 10479 } 10480 return responseContainer[ 0 ]; 10481 }; 10482 10483 // Force json dataType 10484 s.dataTypes[ 0 ] = "json"; 10485 10486 // Install callback 10487 overwritten = window[ callbackName ]; 10488 window[ callbackName ] = function() { 10489 responseContainer = arguments; 10490 }; 10491 10492 // Clean-up function (fires after converters) 10493 jqXHR.always( function() { 10494 10495 // If previous value didn't exist - remove it 10496 if ( overwritten === undefined ) { 10497 jQuery( window ).removeProp( callbackName ); 10498 10499 // Otherwise restore preexisting value 10500 } else { 10501 window[ callbackName ] = overwritten; 10502 } 10503 10504 // Save back as free 10505 if ( s[ callbackName ] ) { 10506 10507 // Make sure that re-using the options doesn't screw things around 10508 s.jsonpCallback = originalSettings.jsonpCallback; 10509 10510 // Save the callback name for future use 10511 oldCallbacks.push( callbackName ); 10512 } 10513 10514 // Call if it was a function and we have a response 10515 if ( responseContainer && isFunction( overwritten ) ) { 10516 overwritten( responseContainer[ 0 ] ); 10517 } 10518 10519 responseContainer = overwritten = undefined; 10520 } ); 10521 10522 // Delegate to script 10523 return "script"; 10524 } 10525} ); 10526 10527 10528 10529 10530// Support: Safari 8 only 10531// In Safari 8 documents created via document.implementation.createHTMLDocument 10532// collapse sibling forms: the second one becomes a child of the first one. 10533// Because of that, this security measure has to be disabled in Safari 8. 10534// https://bugs.webkit.org/show_bug.cgi?id=137337 10535support.createHTMLDocument = ( function() { 10536 var body = document.implementation.createHTMLDocument( "" ).body; 10537 body.innerHTML = "<form></form><form></form>"; 10538 return body.childNodes.length === 2; 10539} )(); 10540 10541 10542// Argument "data" should be string of html 10543// context (optional): If specified, the fragment will be created in this context, 10544// defaults to document 10545// keepScripts (optional): If true, will include scripts passed in the html string 10546jQuery.parseHTML = function( data, context, keepScripts ) { 10547 if ( typeof data !== "string" ) { 10548 return []; 10549 } 10550 if ( typeof context === "boolean" ) { 10551 keepScripts = context; 10552 context = false; 10553 } 10554 10555 var base, parsed, scripts; 10556 10557 if ( !context ) { 10558 10559 // Stop scripts or inline event handlers from being executed immediately 10560 // by using document.implementation 10561 if ( support.createHTMLDocument ) { 10562 context = document.implementation.createHTMLDocument( "" ); 10563 10564 // Set the base href for the created document 10565 // so any parsed elements with URLs 10566 // are based on the document's URL (gh-2965) 10567 base = context.createElement( "base" ); 10568 base.href = document.location.href; 10569 context.head.appendChild( base ); 10570 } else { 10571 context = document; 10572 } 10573 } 10574 10575 parsed = rsingleTag.exec( data ); 10576 scripts = !keepScripts && []; 10577 10578 // Single tag 10579 if ( parsed ) { 10580 return [ context.createElement( parsed[ 1 ] ) ]; 10581 } 10582 10583 parsed = buildFragment( [ data ], context, scripts ); 10584 10585 if ( scripts && scripts.length ) { 10586 jQuery( scripts ).remove(); 10587 } 10588 10589 return jQuery.merge( [], parsed.childNodes ); 10590}; 10591 10592 10593/** 10594 * Load a url into a page 10595 */ 10596jQuery.fn.load = function( url, params, callback ) { 10597 var selector, type, response, 10598 self = this, 10599 off = url.indexOf( " " ); 10600 10601 if ( off > -1 ) { 10602 selector = stripAndCollapse( url.slice( off ) ); 10603 url = url.slice( 0, off ); 10604 } 10605 10606 // If it's a function 10607 if ( isFunction( params ) ) { 10608 10609 // We assume that it's the callback 10610 callback = params; 10611 params = undefined; 10612 10613 // Otherwise, build a param string 10614 } else if ( params && typeof params === "object" ) { 10615 type = "POST"; 10616 } 10617 10618 // If we have elements to modify, make the request 10619 if ( self.length > 0 ) { 10620 jQuery.ajax( { 10621 url: url, 10622 10623 // If "type" variable is undefined, then "GET" method will be used. 10624 // Make value of this field explicit since 10625 // user can override it through ajaxSetup method 10626 type: type || "GET", 10627 dataType: "html", 10628 data: params 10629 } ).done( function( responseText ) { 10630 10631 // Save response for use in complete callback 10632 response = arguments; 10633 10634 self.html( selector ? 10635 10636 // If a selector was specified, locate the right elements in a dummy div 10637 // Exclude scripts to avoid IE 'Permission Denied' errors 10638 jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) : 10639 10640 // Otherwise use the full result 10641 responseText ); 10642 10643 // If the request succeeds, this function gets "data", "status", "jqXHR" 10644 // but they are ignored because response was set above. 10645 // If it fails, this function gets "jqXHR", "status", "error" 10646 } ).always( callback && function( jqXHR, status ) { 10647 self.each( function() { 10648 callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] ); 10649 } ); 10650 } ); 10651 } 10652 10653 return this; 10654}; 10655 10656 10657 10658 10659jQuery.expr.pseudos.animated = function( elem ) { 10660 return jQuery.grep( jQuery.timers, function( fn ) { 10661 return elem === fn.elem; 10662 } ).length; 10663}; 10664 10665 10666 10667 10668jQuery.offset = { 10669 setOffset: function( elem, options, i ) { 10670 var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition, 10671 position = jQuery.css( elem, "position" ), 10672 curElem = jQuery( elem ), 10673 props = {}; 10674 10675 // Set position first, in-case top/left are set even on static elem 10676 if ( position === "static" ) { 10677 elem.style.position = "relative"; 10678 } 10679 10680 curOffset = curElem.offset(); 10681 curCSSTop = jQuery.css( elem, "top" ); 10682 curCSSLeft = jQuery.css( elem, "left" ); 10683 calculatePosition = ( position === "absolute" || position === "fixed" ) && 10684 ( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1; 10685 10686 // Need to be able to calculate position if either 10687 // top or left is auto and position is either absolute or fixed 10688 if ( calculatePosition ) { 10689 curPosition = curElem.position(); 10690 curTop = curPosition.top; 10691 curLeft = curPosition.left; 10692 10693 } else { 10694 curTop = parseFloat( curCSSTop ) || 0; 10695 curLeft = parseFloat( curCSSLeft ) || 0; 10696 } 10697 10698 if ( isFunction( options ) ) { 10699 10700 // Use jQuery.extend here to allow modification of coordinates argument (gh-1848) 10701 options = options.call( elem, i, jQuery.extend( {}, curOffset ) ); 10702 } 10703 10704 if ( options.top != null ) { 10705 props.top = ( options.top - curOffset.top ) + curTop; 10706 } 10707 if ( options.left != null ) { 10708 props.left = ( options.left - curOffset.left ) + curLeft; 10709 } 10710 10711 if ( "using" in options ) { 10712 options.using.call( elem, props ); 10713 10714 } else { 10715 curElem.css( props ); 10716 } 10717 } 10718}; 10719 10720jQuery.fn.extend( { 10721 10722 // offset() relates an element's border box to the document origin 10723 offset: function( options ) { 10724 10725 // Preserve chaining for setter 10726 if ( arguments.length ) { 10727 return options === undefined ? 10728 this : 10729 this.each( function( i ) { 10730 jQuery.offset.setOffset( this, options, i ); 10731 } ); 10732 } 10733 10734 var rect, win, 10735 elem = this[ 0 ]; 10736 10737 if ( !elem ) { 10738 return; 10739 } 10740 10741 // Return zeros for disconnected and hidden (display: none) elements (gh-2310) 10742 // Support: IE <=11 only 10743 // Running getBoundingClientRect on a 10744 // disconnected node in IE throws an error 10745 if ( !elem.getClientRects().length ) { 10746 return { top: 0, left: 0 }; 10747 } 10748 10749 // Get document-relative position by adding viewport scroll to viewport-relative gBCR 10750 rect = elem.getBoundingClientRect(); 10751 win = elem.ownerDocument.defaultView; 10752 return { 10753 top: rect.top + win.pageYOffset, 10754 left: rect.left + win.pageXOffset 10755 }; 10756 }, 10757 10758 // position() relates an element's margin box to its offset parent's padding box 10759 // This corresponds to the behavior of CSS absolute positioning 10760 position: function() { 10761 if ( !this[ 0 ] ) { 10762 return; 10763 } 10764 10765 var offsetParent, offset, doc, 10766 elem = this[ 0 ], 10767 parentOffset = { top: 0, left: 0 }; 10768 10769 // position:fixed elements are offset from the viewport, which itself always has zero offset 10770 if ( jQuery.css( elem, "position" ) === "fixed" ) { 10771 10772 // Assume position:fixed implies availability of getBoundingClientRect 10773 offset = elem.getBoundingClientRect(); 10774 10775 } else { 10776 offset = this.offset(); 10777 10778 // Account for the *real* offset parent, which can be the document or its root element 10779 // when a statically positioned element is identified 10780 doc = elem.ownerDocument; 10781 offsetParent = elem.offsetParent || doc.documentElement; 10782 while ( offsetParent && 10783 ( offsetParent === doc.body || offsetParent === doc.documentElement ) && 10784 jQuery.css( offsetParent, "position" ) === "static" ) { 10785 10786 offsetParent = offsetParent.parentNode; 10787 } 10788 if ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) { 10789 10790 // Incorporate borders into its offset, since they are outside its content origin 10791 parentOffset = jQuery( offsetParent ).offset(); 10792 parentOffset.top += jQuery.css( offsetParent, "borderTopWidth", true ); 10793 parentOffset.left += jQuery.css( offsetParent, "borderLeftWidth", true ); 10794 } 10795 } 10796 10797 // Subtract parent offsets and element margins 10798 return { 10799 top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), 10800 left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true ) 10801 }; 10802 }, 10803 10804 // This method will return documentElement in the following cases: 10805 // 1) For the element inside the iframe without offsetParent, this method will return 10806 // documentElement of the parent window 10807 // 2) For the hidden or detached element 10808 // 3) For body or html element, i.e. in case of the html node - it will return itself 10809 // 10810 // but those exceptions were never presented as a real life use-cases 10811 // and might be considered as more preferable results. 10812 // 10813 // This logic, however, is not guaranteed and can change at any point in the future 10814 offsetParent: function() { 10815 return this.map( function() { 10816 var offsetParent = this.offsetParent; 10817 10818 while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) { 10819 offsetParent = offsetParent.offsetParent; 10820 } 10821 10822 return offsetParent || documentElement; 10823 } ); 10824 } 10825} ); 10826 10827// Create scrollLeft and scrollTop methods 10828jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) { 10829 var top = "pageYOffset" === prop; 10830 10831 jQuery.fn[ method ] = function( val ) { 10832 return access( this, function( elem, method, val ) { 10833 10834 // Coalesce documents and windows 10835 var win; 10836 if ( isWindow( elem ) ) { 10837 win = elem; 10838 } else if ( elem.nodeType === 9 ) { 10839 win = elem.defaultView; 10840 } 10841 10842 if ( val === undefined ) { 10843 return win ? win[ prop ] : elem[ method ]; 10844 } 10845 10846 if ( win ) { 10847 win.scrollTo( 10848 !top ? val : win.pageXOffset, 10849 top ? val : win.pageYOffset 10850 ); 10851 10852 } else { 10853 elem[ method ] = val; 10854 } 10855 }, method, val, arguments.length ); 10856 }; 10857} ); 10858 10859// Support: Safari <=7 - 9.1, Chrome <=37 - 49 10860// Add the top/left cssHooks using jQuery.fn.position 10861// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 10862// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347 10863// getComputedStyle returns percent when specified for top/left/bottom/right; 10864// rather than make the css module depend on the offset module, just check for it here 10865jQuery.each( [ "top", "left" ], function( _i, prop ) { 10866 jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition, 10867 function( elem, computed ) { 10868 if ( computed ) { 10869 computed = curCSS( elem, prop ); 10870 10871 // If curCSS returns percentage, fallback to offset 10872 return rnumnonpx.test( computed ) ? 10873 jQuery( elem ).position()[ prop ] + "px" : 10874 computed; 10875 } 10876 } 10877 ); 10878} ); 10879 10880 10881// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods 10882jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { 10883 jQuery.each( { 10884 padding: "inner" + name, 10885 content: type, 10886 "": "outer" + name 10887 }, function( defaultExtra, funcName ) { 10888 10889 // Margin is only for outerHeight, outerWidth 10890 jQuery.fn[ funcName ] = function( margin, value ) { 10891 var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), 10892 extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); 10893 10894 return access( this, function( elem, type, value ) { 10895 var doc; 10896 10897 if ( isWindow( elem ) ) { 10898 10899 // $( window ).outerWidth/Height return w/h including scrollbars (gh-1729) 10900 return funcName.indexOf( "outer" ) === 0 ? 10901 elem[ "inner" + name ] : 10902 elem.document.documentElement[ "client" + name ]; 10903 } 10904 10905 // Get document width or height 10906 if ( elem.nodeType === 9 ) { 10907 doc = elem.documentElement; 10908 10909 // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], 10910 // whichever is greatest 10911 return Math.max( 10912 elem.body[ "scroll" + name ], doc[ "scroll" + name ], 10913 elem.body[ "offset" + name ], doc[ "offset" + name ], 10914 doc[ "client" + name ] 10915 ); 10916 } 10917 10918 return value === undefined ? 10919 10920 // Get width or height on the element, requesting but not forcing parseFloat 10921 jQuery.css( elem, type, extra ) : 10922 10923 // Set width or height on the element 10924 jQuery.style( elem, type, value, extra ); 10925 }, type, chainable ? margin : undefined, chainable ); 10926 }; 10927 } ); 10928} ); 10929 10930 10931jQuery.each( [ 10932 "ajaxStart", 10933 "ajaxStop", 10934 "ajaxComplete", 10935 "ajaxError", 10936 "ajaxSuccess", 10937 "ajaxSend" 10938], function( _i, type ) { 10939 jQuery.fn[ type ] = function( fn ) { 10940 return this.on( type, fn ); 10941 }; 10942} ); 10943 10944 10945 10946 10947jQuery.fn.extend( { 10948 10949 bind: function( types, data, fn ) { 10950 return this.on( types, null, data, fn ); 10951 }, 10952 unbind: function( types, fn ) { 10953 return this.off( types, null, fn ); 10954 }, 10955 10956 delegate: function( selector, types, data, fn ) { 10957 return this.on( types, selector, data, fn ); 10958 }, 10959 undelegate: function( selector, types, fn ) { 10960 10961 // ( namespace ) or ( selector, types [, fn] ) 10962 return arguments.length === 1 ? 10963 this.off( selector, "**" ) : 10964 this.off( types, selector || "**", fn ); 10965 }, 10966 10967 hover: function( fnOver, fnOut ) { 10968 return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); 10969 } 10970} ); 10971 10972jQuery.each( 10973 ( "blur focus focusin focusout resize scroll click dblclick " + 10974 "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + 10975 "change select submit keydown keypress keyup contextmenu" ).split( " " ), 10976 function( _i, name ) { 10977 10978 // Handle event binding 10979 jQuery.fn[ name ] = function( data, fn ) { 10980 return arguments.length > 0 ? 10981 this.on( name, null, data, fn ) : 10982 this.trigger( name ); 10983 }; 10984 } 10985); 10986 10987 10988 10989 10990// Support: Android <=4.0 only 10991// Make sure we trim BOM and NBSP 10992var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; 10993 10994// Bind a function to a context, optionally partially applying any 10995// arguments. 10996// jQuery.proxy is deprecated to promote standards (specifically Function#bind) 10997// However, it is not slated for removal any time soon 10998jQuery.proxy = function( fn, context ) { 10999 var tmp, args, proxy; 11000 11001 if ( typeof context === "string" ) { 11002 tmp = fn[ context ]; 11003 context = fn; 11004 fn = tmp; 11005 } 11006 11007 // Quick check to determine if target is callable, in the spec 11008 // this throws a TypeError, but we will just return undefined. 11009 if ( !isFunction( fn ) ) { 11010 return undefined; 11011 } 11012 11013 // Simulated bind 11014 args = slice.call( arguments, 2 ); 11015 proxy = function() { 11016 return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); 11017 }; 11018 11019 // Set the guid of unique handler to the same of original handler, so it can be removed 11020 proxy.guid = fn.guid = fn.guid || jQuery.guid++; 11021 11022 return proxy; 11023}; 11024 11025jQuery.holdReady = function( hold ) { 11026 if ( hold ) { 11027 jQuery.readyWait++; 11028 } else { 11029 jQuery.ready( true ); 11030 } 11031}; 11032jQuery.isArray = Array.isArray; 11033jQuery.parseJSON = JSON.parse; 11034jQuery.nodeName = nodeName; 11035jQuery.isFunction = isFunction; 11036jQuery.isWindow = isWindow; 11037jQuery.camelCase = camelCase; 11038jQuery.type = toType; 11039 11040jQuery.now = Date.now; 11041 11042jQuery.isNumeric = function( obj ) { 11043 11044 // As of jQuery 3.0, isNumeric is limited to 11045 // strings and numbers (primitives or objects) 11046 // that can be coerced to finite numbers (gh-2662) 11047 var type = jQuery.type( obj ); 11048 return ( type === "number" || type === "string" ) && 11049 11050 // parseFloat NaNs numeric-cast false positives ("") 11051 // ...but misinterprets leading-number strings, particularly hex literals ("0x...") 11052 // subtraction forces infinities to NaN 11053 !isNaN( obj - parseFloat( obj ) ); 11054}; 11055 11056jQuery.trim = function( text ) { 11057 return text == null ? 11058 "" : 11059 ( text + "" ).replace( rtrim, "" ); 11060}; 11061 11062 11063 11064// Register as a named AMD module, since jQuery can be concatenated with other 11065// files that may use define, but not via a proper concatenation script that 11066// understands anonymous AMD modules. A named AMD is safest and most robust 11067// way to register. Lowercase jquery is used because AMD module names are 11068// derived from file names, and jQuery is normally delivered in a lowercase 11069// file name. Do this after creating the global so that if an AMD module wants 11070// to call noConflict to hide this version of jQuery, it will work. 11071 11072// Note that for maximum portability, libraries that are not jQuery should 11073// declare themselves as anonymous modules, and avoid setting a global if an 11074// AMD loader is present. jQuery is a special case. For more information, see 11075// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon 11076 11077if ( typeof define === "function" && define.amd ) { 11078 define( "jquery", [], function() { 11079 return jQuery; 11080 } ); 11081} 11082 11083 11084 11085 11086var 11087 11088 // Map over jQuery in case of overwrite 11089 _jQuery = window.jQuery, 11090 11091 // Map over the $ in case of overwrite 11092 _$ = window.$; 11093 11094jQuery.noConflict = function( deep ) { 11095 if ( window.$ === jQuery ) { 11096 window.$ = _$; 11097 } 11098 11099 if ( deep && window.jQuery === jQuery ) { 11100 window.jQuery = _jQuery; 11101 } 11102 11103 return jQuery; 11104}; 11105 11106// Expose jQuery and $ identifiers, even in AMD 11107// (#7102#comment:10, https://github.com/jquery/jquery/pull/557) 11108// and CommonJS for browser emulators (#13566) 11109if ( typeof noGlobal === "undefined" ) { 11110 window.jQuery = window.$ = jQuery; 11111} 11112 11113 11114
vendor: 2,733 bytes, lines 11115-11124
11115 11116return jQuery; 11117} ); 11118 11119�/*! jQuery UI - v1.14.1 - 2024-10-30 11120* https://jqueryui.com 11121* Includes: widget.js, position.js, data.js, disable-selection.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js, focusable.js, form-reset-mixin.js, jquery-patch.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/draggable.js, widgets/droppable.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/resizable.js, widgets/selectable.js, widgets/selectmenu.js, widgets/slider.js, widgets/sortable.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js 11122* Copyright OpenJS Foundation and other contributors; Licensed MIT */ 11123 11124(t=>{"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(V){V.ui=V.ui||{};V.ui.version="1.14.1";var n,s,x,k,o,a,r,l,h,i,E=0,N=Array.prototype.hasOwnProperty,c=Array.prototype.slice;V.cleanData=(n=V.cleanData,function(t){for(var e,i,s=0;null!=(i=t[s]);s++)(e=V._data(i,"events"))&&e.remove&&V(i).triggerHandler("remove");n(t)}),V.widget=function(t,i,e){var s,n,o,a,r={},l=t.split(".")[0];return"__proto__"===(t=t.split(".")[1])||"constructor"===t?V.error("Invalid widget name: "+t):(a=l+"-"+t,e||(e=i,i=V.Widget),Array.isArray(e)&&(e=V.extend.apply(null,[{}].concat(e))),V.expr.pseudos[a.toLowerCase()]=function(t){return!!V.data(t,a)},V[l]=V[l]||{},s=V[l][t],n=V[l][t]=function(t,e){if(!this||!this._createWidget)return new n(t,e);arguments.length&&this._createWidget(t,e)},V.extend(n,s,{version:e.version,_proto:V.extend({},e),_childConstructors:[]}),(o=new i).options=V.widget.extend({},o.options),V.each(e,function(e,s){function n(){return i.prototype[e].apply(this,arguments)}function o(t){return i.prototype[e].apply(this,t)}r[e]="function"!=typeof s?s:function(){var t,e=this._super,i=this._superApply;return this._super=n,this._superApply=o,t=s.apply(this,arguments),this._super=e,this._superApply=i,t}}),n.prototype=V.widget.extend(o,{widgetEventPrefix:s&&o.widgetEventPrefix||t},r,{constructor:n,namespace:l,widgetName:t,widgetFullName:a}),s?(V.each(s._childConstructors,function(t,e){var i=e.prototype;V.widget(i.namespace+"."+i.widgetName,n,e._proto)}),delete s._childConstructors):i._childConstructors.push(n),V.widget.bridge(t,n),n)}
vendor: 28,883 bytes, line 11124
11124,V.widget.extend=function(t){for(var e,i,s=c.call(arguments,1),n=0,o=s.length;n<o;n++)for(e in s[n])i=s[n][e],N.call(s[n],e)&&void 0!==i&&(V.isPlainObject(i)?t[e]=V.isPlainObject(t[e])?V.widget.extend({},t[e],i):V.widget.extend({},i):t[e]=i);return t},V.widget.bridge=function(o,e){var a=e.prototype.widgetFullName||o;V.fn[o]=function(i){var t="string"==typeof i,s=c.call(arguments,1),n=this;return t?this.length||"instance"!==i?this.each(function(){var t,e=V.data(this,a);return"instance"===i?(n=e,!1):e?"function"!=typeof e[i]||"_"===i.charAt(0)?V.error("no such method '"+i+"' for "+o+" widget instance"):(t=e[i].apply(e,s))!==e&&void 0!==t?(n=t&&t.jquery?n.pushStack(t.get()):t,!1):void 0:V.error("cannot call methods on "+o+" prior to initialization; attempted to call method '"+i+"'")}):n=void 0:(s.length&&(i=V.widget.extend.apply(null,[i].concat(s))),this.each(function(){var t=V.data(this,a);t?(t.option(i||{}),t._init&&t._init()):V.data(this,a,new e(i,this))})),n}},V.Widget=function(){},V.Widget._childConstructors=[],V.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=V(e||this.defaultElement||this)[0],this.element=V(e),this.uuid=E++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=V(),this.hoverable=V(),this.focusable=V(),this.classesElementLookup={},e!==this&&(V.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=V(e.style?e.ownerDocument:e.document||e),this.window=V(this.document[0].defaultView||this.document[0].parentWindow)),this.options=V.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:V.noop,_create:V.noop,_init:V.noop,destroy:function(){var i=this;this._destroy(),V.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:V.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return V.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=V.widget.extend({},this.options[t]),n=0;n<i.length-1;n++)s[i[n]]=s[i[n]]||{},s=s[i[n]];if(t=i.pop(),1===arguments.length)return void 0===s[t]?null:s[t];s[t]=e}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];o[t]=e}return this._setOptions(o),this},_setOptions:function(t){for(var e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(t){var e,i,s;for(e in t)s=this.classesElementLookup[e],t[e]!==this.options.classes[e]&&s&&s.length&&(i=V(s.get()),this._removeClass(s,e),i.addClass(this._classes({element:i,keys:e,classes:t,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(n){var o=[],a=this;function t(t,e){for(var i,s=0;s<t.length;s++)i=a.classesElementLookup[t[s]]||V(),i=n.add?((()=>{var i=[];n.element.each(function(t,e){V.map(a.classesElementLookup,function(t){return t}).some(function(t){return t.is(e)})||i.push(e)}),a._on(V(i),{remove:"_untrackClassesElement"})})(),V(V.uniqueSort(i.get().concat(n.element.get())))):V(i.not(n.element).get()),a.classesElementLookup[t[s]]=i,o.push(t[s]),e&&n.classes[t[s]]&&o.push(n.classes[t[s]])}return(n=V.extend({element:this.element,classes:this.options.classes||{}},n)).keys&&t(n.keys.match(/\S+/g)||[],!0),n.extra&&t(n.extra.match(/\S+/g)||[]),o.join(" ")},_untrackClassesElement:function(i){var s=this;V.each(s.classesElementLookup,function(t,e){-1!==V.inArray(i.target,e)&&(s.classesElementLookup[t]=V(e.not(i.target).get()))}),this._off(V(i.target))},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){var n="string"==typeof t||null===t,e={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s="boolean"==typeof s?s:i};return e.element.toggleClass(this._classes(e),s),this},_on:function(n,o,t){var a,r=this;"boolean"!=typeof n&&(t=o,o=n,n=!1),t?(o=a=V(o),this.bindings=this.bindings.add(o)):(t=o,o=this.element,a=this.widget()),V.each(t,function(t,e){function i(){if(n||!0!==r.options.disabled&&!V(this).hasClass("ui-state-disabled"))return("string"==typeof e?r[e]:e).apply(r,arguments)}"string"!=typeof e&&(i.guid=e.guid=e.guid||i.guid||V.guid++);var t=t.match(/^([\w:-]*)\s*(.*)$/),s=t[1]+r.eventNamespace,t=t[2];t?a.on(s,t,i):o.on(s,i)})},_off:function(t,e){e=(e||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.off(e),this.bindings=V(this.bindings.not(t).get()),this.focusable=V(this.focusable.not(t).get()),this.hoverable=V(this.hoverable.not(t).get())},_delay:function(t,e){var i=this;return setTimeout(function(){return("string"==typeof t?i[t]:t).apply(i,arguments)},e||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){this._addClass(V(t.currentTarget),null,"ui-state-hover")},mouseleave:function(t){this._removeClass(V(t.currentTarget),null,"ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){this._addClass(V(t.currentTarget),null,"ui-state-focus")},focusout:function(t){this._removeClass(V(t.currentTarget),null,"ui-state-focus")}})},_trigger:function(t,e,i){var s,n,o=this.options[t];if(i=i||{},(e=V.Event(e)).type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),e.target=this.element[0],n=e.originalEvent)for(s in n)s in e||(e[s]=n[s]);return this.element.trigger(e,i),!("function"==typeof o&&!1===o.apply(this.element[0],[e].concat(i))||e.isDefaultPrevented())}},V.each({show:"fadeIn",hide:"fadeOut"},function(o,a){V.Widget.prototype["_"+o]=function(e,t,i){var s,n=(t="string"==typeof t?{effect:t}:t)?!0!==t&&"number"!=typeof t&&t.effect||a:o;"number"==typeof(t=t||{})?t={duration:t}:!0===t&&(t={}),s=!V.isEmptyObject(t),t.complete=i,t.delay&&e.delay(t.delay),s&&V.effects&&V.effects.effect[n]?e[o](t):n!==o&&e[n]?e[n](t.duration,t.easing,i):e.queue(function(t){V(this)[o](),i&&i.call(e[0]),t()})}}),V.widget;function C(t,e,i){return[parseFloat(t[0])*(h.test(t[0])?e/100:1),parseFloat(t[1])*(h.test(t[1])?i/100:1)]}function D(t,e){return parseInt(V.css(t,e),10)||0}function I(t){return null!=t&&t===t.window}x=Math.max,k=Math.abs,o=/left|center|right/,a=/top|center|bottom/,r=/[\+\-]\d+(\.[\d]+)?%?/,l=/^\w+/,h=/%$/,i=V.fn.position,V.position={scrollbarWidth:function(){var t,e,i;return void 0!==s?s:(i=(e=V("<div style='display:block;position:absolute;width:200px;height:200px;overflow:hidden;'><div style='height:300px;width:auto;'></div></div>")).children()[0],V("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i)},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.width<t.element[0].scrollWidth;return{width:"scroll"===i||"auto"===i&&t.height<t.element[0].scrollHeight?V.position.scrollbarWidth():0,height:e?V.position.scrollbarWidth():0}},getWithinInfo:function(t){var e=V(t||window),i=I(e[0]),s=!!e[0]&&9===e[0].nodeType;return{element:e,isWindow:i,isDocument:s,offset:!i&&!s?V(t).offset():{left:0,top:0},scrollLeft:e.scrollLeft(),scrollTop:e.scrollTop(),width:e.outerWidth(),height:e.outerHeight()}}},V.fn.position=function(u){var d,p,f,g,m,_,v,b,y,w,t,e;return u&&u.of?(_="string"==typeof(u=V.extend({},u)).of?V(document).find(u.of):V(u.of),v=V.position.getWithinInfo(u.within),b=V.position.getScrollInfo(v),y=(u.collision||"flip").split(" "),w={},e=9===(e=(t=_)[0]).nodeType?{width:t.width(),height:t.height(),offset:{top:0,left:0}}:I(e)?{width:t.width(),height:t.height(),offset:{top:t.scrollTop(),left:t.scrollLeft()}}:e.preventDefault?{width:0,height:0,offset:{top:e.pageY,left:e.pageX}}:{width:t.outerWidth(),height:t.outerHeight(),offset:t.offset()},_[0].preventDefault&&(u.at="left top"),p=e.width,f=e.height,m=V.extend({},g=e.offset),V.each(["my","at"],function(){var t,e,i=(u[this]||"").split(" ");(i=1===i.length?o.test(i[0])?i.concat(["center"]):a.test(i[0])?["center"].concat(i):["center","center"]:i)[0]=o.test(i[0])?i[0]:"center",i[1]=a.test(i[1])?i[1]:"center",t=r.exec(i[0]),e=r.exec(i[1]),w[this]=[t?t[0]:0,e?e[0]:0],u[this]=[l.exec(i[0])[0],l.exec(i[1])[0]]}),1===y.length&&(y[1]=y[0]),"right"===u.at[0]?m.left+=p:"center"===u.at[0]&&(m.left+=p/2),"bottom"===u.at[1]?m.top+=f:"center"===u.at[1]&&(m.top+=f/2),d=C(w.at,p,f),m.left+=d[0],m.top+=d[1],this.each(function(){var i,t,a=V(this),r=a.outerWidth(),l=a.outerHeight(),e=D(this,"marginLeft"),s=D(this,"marginTop"),n=r+e+D(this,"marginRight")+b.width,o=l+s+D(this,"marginBottom")+b.height,h=V.extend({},m),c=C(w.my,a.outerWidth(),a.outerHeight());"right"===u.my[0]?h.left-=r:"center"===u.my[0]&&(h.left-=r/2),"bottom"===u.my[1]?h.top-=l:"center"===u.my[1]&&(h.top-=l/2),h.left+=c[0],h.top+=c[1],i={marginLeft:e,marginTop:s},V.each(["left","top"],function(t,e){V.ui.position[y[t]]&&V.ui.position[y[t]][e](h,{targetWidth:p,targetHeight:f,elemWidth:r,elemHeight:l,collisionPosition:i,collisionWidth:n,collisionHeight:o,offset:[d[0]+c[0],d[1]+c[1]],my:u.my,at:u.at,within:v,elem:a})}),u.using&&(t=function(t){var e=g.left-h.left,i=e+p-r,s=g.top-h.top,n=s+f-l,o={target:{element:_,left:g.left,top:g.top,width:p,height:f},element:{element:a,left:h.left,top:h.top,width:r,height:l},horizontal:i<0?"left":0<e?"right":"center",vertical:n<0?"top":0<s?"bottom":"middle"};p<r&&k(e+i)<p&&(o.horizontal="center"),f<l&&k(s+n)<f&&(o.vertical="middle"),x(k(e),k(i))>x(k(s),k(n))?o.important="horizontal":o.important="vertical",u.using.call(this,t,o)}),a.offset(V.extend(h,{using:t}))})):i.apply(this,arguments)},V.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,s=s.width,o=t.left-e.collisionPosition.marginLeft,a=n-o,r=o+e.collisionWidth-s-n;s<e.collisionWidth?0<a&&r<=0?(i=t.left+a+e.collisionWidth-s-n,t.left+=a-i):t.left=!(0<r&&a<=0)&&r<a?n+s-e.collisionWidth:n:0<a?t.left+=a:0<r?t.left-=r:t.left=x(t.left-o,t.left)},top:function(t,e){var i,s=e.within,s=s.isWindow?s.scrollTop:s.offset.top,n=e.within.height,o=t.top-e.collisionPosition.marginTop,a=s-o,r=o+e.collisionHeight-n-s;n<e.collisionHeight?0<a&&r<=0?(i=t.top+a+e.collisionHeight-n-s,t.top+=a-i):t.top=!(0<r&&a<=0)&&r<a?s+n-e.collisionHeight:s:0<a?t.top+=a:0<r?t.top-=r:t.top=x(t.top-o,t.top)}},flip:{left:function(t,e){var i=e.within,s=i.offset.left+i.scrollLeft,n=i.width,i=i.isWindow?i.scrollLeft:i.offset.left,o=t.left-e.collisionPosition.marginLeft,a=o-i,o=o+e.collisionWidth-n-i,r="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,l="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,h=-2*e.offset[0];a<0?((n=t.left+r+l+h+e.collisionWidth-n-s)<0||n<k(a))&&(t.left+=r+l+h):0<o&&(0<(s=t.left-e.collisionPosition.marginLeft+r+l+h-i)||k(s)<o)&&(t.left+=r+l+h)},top:function(t,e){var i=e.within,s=i.offset.top+i.scrollTop,n=i.height,i=i.isWindow?i.scrollTop:i.offset.top,o=t.top-e.collisionPosition.marginTop,a=o-i,o=o+e.collisionHeight-n-i,r="top"===e.my[1]?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,l="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,h=-2*e.offset[1];a<0?((n=t.top+r+l+h+e.collisionHeight-n-s)<0||n<k(a))&&(t.top+=r+l+h):0<o&&(0<(s=t.top-e.collisionPosition.marginTop+r+l+h-i)||k(s)<o)&&(t.top+=r+l+h)}},flipfit:{left:function(){V.ui.position.flip.left.apply(this,arguments),V.ui.position.fit.left.apply(this,arguments)},top:function(){V.ui.position.flip.top.apply(this,arguments),V.ui.position.fit.top.apply(this,arguments)}}};V.ui.position,V.extend(V.expr.pseudos,{data:V.expr.createPseudo(function(e){return function(t){return!!V.data(t,e)}})}),V.fn.extend({disableSelection:(t="onselectstart"in document.createElement("div")?"selectstart":"mousedown",function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}),enableSelection:function(){return this.off(".ui-disableSelection")}});var t,u=V,d={},W=d.toString,F=/^([\-+])=\s*(\d+\.?\d*)/,L=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[t[1],t[2],t[3],t[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[2.55*t[1],2.55*t[2],2.55*t[3],t[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?/,parse:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16),t[4]?(parseInt(t[4],16)/255).toFixed(2):1]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?/,parse:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16),t[4]?(parseInt(t[4]+t[4],16)/255).toFixed(2):1]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(t){return[t[1],t[2]/100,t[3]/100,t[4]]}}],p=u.Color=function(t,e,i,s){return new u.Color.fn.parse(t,e,i,s)},f={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},R={byte:{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},g=u.each;function m(t){return null==t?t+"":"object"==typeof t?d[W.call(t)]||"object":typeof t}function _(t,e,i){var s=R[e.type]||{};return null==t?i||!e.def?null:e.def:(t=s.floor?~~t:parseFloat(t),s.mod?(t+s.mod)%s.mod:Math.min(s.max,Math.max(0,t)))}function Y(s){var n=p(),o=n._rgba=[];return s=s.toLowerCase(),g(L,function(t,e){var i=e.re.exec(s),i=i&&e.parse(i),e=e.space||"rgba";if(i)return i=n[e](i),n[f[e].cache]=i[f[e].cache],o=n._rgba=i._rgba,!1}),o.length?("0,0,0,0"===o.join()&&u.extend(o,y.transparent),n):y[s]}function v(t,e,i){return 6*(i=(i+1)%1)<1?t+(e-t)*i*6:2*i<1?e:3*i<2?t+(e-t)*(2/3-i)*6:t}g(f,function(t,e){e.cache="_"+t,e.props.alpha={idx:3,type:"percent",def:1}}),u.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(t,e){d["[object "+e+"]"]=e.toLowerCase()}),p.fn=u.extend(p.prototype,{parse:function(n,t,e,i){if(void 0===n)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=u(n).css(t),t=void 0);var o=this,s=m(n),a=this._rgba=[];return void 0!==t&&(n=[n,t,e,i],s="array"),"string"===s?this.parse(Y(n)||y._default):"array"===s?(g(f.rgba.props,function(t,e){a[e.idx]=_(n[e.idx],e)}),this):"object"===s?(n instanceof p?g(f,function(t,e){n[e.cache]&&(o[e.cache]=n[e.cache].slice())}):g(f,function(t,i){var s=i.cache;g(i.props,function(t,e){if(!o[s]&&i.to){if("alpha"===t||null==n[t])return;o[s]=i.to(o._rgba)}o[s][e.idx]=_(n[t],e,!0)}),o[s]&&u.inArray(null,o[s].slice(0,3))<0&&(null==o[s][3]&&(o[s][3]=1),i.from)&&(o._rgba=i.from(o[s]))}),this):void 0},is:function(t){var n=p(t),o=!0,a=this;return g(f,function(t,e){var i,s=n[e.cache];return s&&(i=a[e.cache]||e.to&&e.to(a._rgba)||[],g(e.props,function(t,e){if(null!=s[e.idx])return o=s[e.idx]===i[e.idx]})),o}),o},_space:function(){var i=[],s=this;return g(f,function(t,e){s[e.cache]&&i.push(t)}),i.pop()},transition:function(t,a){var t=(h=p(t))._space(),e=f[t],i=0===this.alpha()?p("transparent"):this,r=i[e.cache]||e.to(i._rgba),l=r.slice(),h=h[e.cache];return g(e.props,function(t,e){var i=e.idx,s=r[i],n=h[i],o=R[e.type]||{};null!==n&&(null===s?l[i]=n:(o.mod&&(n-s>o.mod/2?s+=o.mod:s-n>o.mod/2&&(s-=o.mod)),l[i]=_((n-s)*a+s,e)))}),this[t](l)},blend:function(t){var e,i,s;return 1===this._rgba[3]?this:(e=this._rgba.slice(),i=e.pop(),s=p(t)._rgba,p(u.map(e,function(t,e){return(1-i)*s[e]+i*t})))},toRgbaString:function(){var t="rgba(",e=u.map(this._rgba,function(t,e){return null!=t?t:2<e?1:0});return 1===e[3]&&(e.pop(),t="rgb("),t+e.join(", ")+")"},toHslaString:function(){var t="hsla(",e=u.map(this.hsla(),function(t,e){return null==t&&(t=2<e?1:0),t=e&&e<3?Math.round(100*t)+"%":t});return 1===e[3]&&(e.pop(),t="hsl("),t+e.join(", ")+")"},toHexString:function(t){var e=this._rgba.slice(),i=e.pop();return t&&e.push(~~(255*i)),"#"+u.map(e,function(t){return("0"+(t||0).toString(16)).substr(-2)}).join("")},toString:function(){return this.toRgbaString()}}),p.fn.parse.prototype=p.fn,f.hsla.to=function(t){var e,i,s,n,o,a,r,l;return null==t[0]||null==t[1]||null==t[2]?[null,null,null,t[3]]:(e=t[0]/255,i=t[1]/255,s=t[2]/255,t=t[3],n=(l=Math.max(e,i,s))-(r=Math.min(e,i,s)),a=.5*(o=l+r),r=r===l?0:e===l?60*(i-s)/n+360:i===l?60*(s-e)/n+120:60*(e-i)/n+240,l=0==n?0:a<=.5?n/o:n/(2-o),[Math.round(r)%360,l,a,null==t?1:t])},f.hsla.from=function(t){var e,i,s;return null==t[0]||null==t[1]||null==t[2]?[null,null,null,t[3]]:(e=t[0]/360,s=t[1],i=t[3],s=2*(t=t[2])-(t=t<=.5?t*(1+s):t+s-t*s),[Math.round(255*v(s,t,e+1/3)),Math.round(255*v(s,t,e)),Math.round(255*v(s,t,e-1/3)),i])},g(f,function(r,t){var e=t.props,o=t.cache,a=t.to,l=t.from;p.fn[r]=function(t){var i,s,n;return a&&!this[o]&&(this[o]=a(this._rgba)),void 0===t?this[o].slice():(i=m(t),s="array"===i||"object"===i?t:arguments,n=this[o].slice(),g(e,function(t,e){t=s["object"===i?t:e.idx];null==t&&(t=n[e.idx]),n[e.idx]=_(t,e)}),l?((t=p(l(n)))[o]=n,t):p(n))},g(e,function(o,a){p.fn[o]||(p.fn[o]=function(t){var e=m(t),i="alpha"===o?this._hsla?"hsla":"rgba":r,s=this[i](),n=s[a.idx];return"undefined"===e?n:("function"===e&&(e=m(t=t.call(this,n))),null==t&&a.empty?this:("string"===e&&(e=F.exec(t))&&(t=n+parseFloat(e[2])*("+"===e[1]?1:-1)),s[a.idx]=t,this[i](s)))})})}),p.hook=function(t){t=t.split(" ");g(t,function(t,s){u.cssHooks[s]={set:function(t,e){var i;"transparent"===e||"string"===m(e)&&!(i=Y(e))||(e=(e=p(i||e)).toRgbaString()),t.style[s]=e}},u.fx.step[s]=function(t){t.colorInit||(t.start=p(t.elem,s),t.end=p(t.end),t.colorInit=!0),u.cssHooks[s].set(t.elem,t.start.transition(t.end,t.pos))}})},p.hook("backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor"),u.cssHooks.borderColor={expand:function(i){var s={};return g(["Top","Right","Bottom","Left"],function(t,e){s["border"+e+"Color"]=i}),s}};var B,j,q,K,U,X,$,G,Q,b,y=u.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"},w="ui-effects-",e="ui-effects-style",T="ui-effects-animated";function J(t){for(var e,i=t.ownerDocument.defaultView.getComputedStyle(t),s={},n=i.length;n--;)"string"==typeof i[e=i[n]]&&(s[e.replace(/-([\da-z])/gi,function(t,e){return e.toUpperCase()})]=i[e]);return s}function P(t,e,i,s){return t={effect:t=V.isPlainObject(t)?(e=t).effect:t},"function"==typeof(e=null==e?{}:e)&&(s=e,i=null,e={}),"number"!=typeof e&&!V.fx.speeds[e]||(s=i,i=e,e={}),"function"==typeof i&&(s=i,i=null),e&&V.extend(t,e),i=i||e.duration,t.duration=V.fx.off?0:"number"==typeof i?i:i in V.fx.speeds?V.fx.speeds[i]:V.fx.speeds._default,t.complete=s||e.complete,t}function M(t){return!t||"number"==typeof t||V.fx.speeds[t]||"string"==typeof t&&!V.effects.effect[t]||"function"==typeof t||"object"==typeof t&&!t.effect}function Z(t,e){var i=e.outerWidth(),e=e.outerHeight(),t=/^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/.exec(t)||["",0,i,e,0];return{top:parseFloat(t[1])||0,right:"auto"===t[2]?i:parseFloat(t[2]),bottom:"auto"===t[3]?e:parseFloat(t[3]),left:parseFloat(t[4])||0}}V.effects={effect:{}},K=["add","remove","toggle"],U={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1},V.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(t,e){V.fx.step[e]=function(t){("none"!==t.end&&!t.setAttr||1===t.pos&&!t.setAttr)&&(u.style(t.elem,e,t.end),t.setAttr=!0)}}),V.effects.animateClass=function(n,t,e,i){var o=V.speed(t,e,i);return this.queue(function(){var i=V(this),t=i.attr("class")||"",e=(e=o.children?i.find("*").addBack():i).map(function(){return{el:V(this),start:J(this)}}),s=function(){V.each(K,function(t,e){n[e]&&i[e+"Class"](n[e])})};s(),e=e.map(function(){return this.end=J(this.el[0]),this.diff=((t,e)=>{var i,s,n={};for(i in e)s=e[i],t[i]===s||U[i]||!V.fx.step[i]&&isNaN(parseFloat(s))||(n[i]=s);return n})(this.start,this.end),this}),i.attr("class",t),e=e.map(function(){var t=this,e=V.Deferred(),i=V.extend({},o,{queue:!1,complete:function(){e.resolve(t)}});return this.el.animate(this.diff,i),e.promise()}),V.when.apply(V,e.get()).done(function(){s(),V.each(arguments,function(){var e=this.el;V.each(this.diff,function(t){e.css(t,"")})}),o.complete.call(i[0])})})},V.fn.extend({addClass:(q=V.fn.addClass,function(t,e,i,s){return e?V.effects.animateClass.call(this,{add:t},e,i,s):q.apply(this,arguments)}),removeClass:(j=V.fn.removeClass,function(t,e,i,s){return 1<arguments.length?V.effects.animateClass.call(this,{remove:t},e,i,s):j.apply(this,arguments)}),toggleClass:(B=V.fn.toggleClass,function(t,e,i,s,n){return"boolean"==typeof e||void 0===e?i?V.effects.animateClass.call(this,e?{add:t}:{remove:t},i,s,n):B.apply(this,arguments):V.effects.animateClass.call(this,{toggle:t},e,i,s)}),switchClass:function(t,e,i,s,n){return V.effects.animateClass.call(this,{add:e,remove:t},i,s,n)}}),V.expr&&V.expr.pseudos&&V.expr.pseudos.animated&&(V.expr.pseudos.animated=(X=V.expr.pseudos.animated,function(t){return!!V(t).data(T)||X(t)})),!0===V.uiBackCompat&&V.extend(V.effects,{save:function(t,e){for(var i=0,s=e.length;i<s;i++)null!==e[i]&&t.data(w+e[i],t[0].style[e[i]])},restore:function(t,e){for(var i,s=0,n=e.length;s<n;s++)null!==e[s]&&(i=t.data(w+e[s]),t.css(e[s],i))},setMode:function(t,e){return e="toggle"===e?t.is(":hidden")?"show":"hide":e},createWrapper:function(i){if(i.parent().is(".ui-effects-wrapper"))return i.parent();var s={width:i.outerWidth(!0),height:i.outerHeight(!0),float:i.css("float")},t=V("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),e={width:i.width(),height:i.height()},n=document.activeElement;try{n.id}catch(t){n=document.body}return i.wrap(t),i[0]!==n&&!V.contains(i[0],n)||V(n).trigger("focus"),t=i.parent(),"static"===i.css("position")?(t.css({position:"relative"}),i.css({position:"relative"})):(V.extend(s,{position:i.css("position"),zIndex:i.css("z-index")}),V.each(["top","left","bottom","right"],function(t,e){s[e]=i.css(e),isNaN(parseInt(s[e],10))&&(s[e]="auto")}),i.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),i.css(e),t.css(s).show()},removeWrapper:function(t){var e=document.activeElement;return t.parent().is(".ui-effects-wrapper")&&(t.parent().replaceWith(t),t[0]!==e&&!V.contains(t[0],e)||V(e).trigger("focus")),t}}),V.extend(V.effects,{version:"1.14.1",define:function(t,e,i){return i||(i=e,e="effect"),V.effects.effect[t]=i,V.effects.effect[t].mode=e,i},scaledDimensions:function(t,e,i){var s;return 0===e?{height:0,width:0,outerHeight:0,outerWidth:0}:(s="horizontal"!==i?(e||100)/100:1,i="vertical"!==i?(e||100)/100:1,{height:t.height()*i,width:t.width()*s,outerHeight:t.outerHeight()*i,outerWidth:t.outerWidth()*s})},clipToBox:function(t){return{width:t.clip.right-t.clip.left,height:t.clip.bottom-t.clip.top,left:t.clip.left,top:t.clip.top}},unshift:function(t,e,i){var s=t.queue();1<e&&s.splice.apply(s,[1,0].concat(s.splice(e,i))),t.dequeue()},saveStyle:function(t){t.data(e,t[0].style.cssText)},restoreStyle:function(t){t[0].style.cssText=t.data(e)||"",t.removeData(e)},mode:function(t,e){t=t.is(":hidden");return"toggle"===e&&(e=t?"show":"hide"),e=(t?"hide"===e:"show"===e)?"none":e},getBaseline:function(t,e){var i,s;switch(t[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=t[0]/e.height}switch(t[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=t[1]/e.width}return{x:s,y:i}},createPlaceholder:function(t){var e,i=t.css("position"),s=t.position();return t.css({marginTop:t.css("marginTop"),marginBottom:t.css("marginBottom"),marginLeft:t.css("marginLeft"),marginRight:t.css("marginRight")}).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()),/^(static|relative)/.test(i)&&(i="absolute",e=V("<"+t[0].nodeName+">").insertAfter(t).css({display:/^(inline|ruby)/.test(t.css("display"))?"inline-block":"block",visibility:"hidden",marginTop:t.css("marginTop"),marginBottom:t.css("marginBottom"),marginLeft:t.css("marginLeft"),marginRight:t.css("marginRight"),float:t.css("float")}).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()).addClass("ui-effects-placeholder"),t.data(w+"placeholder",e)),t.css({position:i,left:s.left,top:s.top}),e},removePlaceholder:function(t){var e=w+"placeholder",i=t.data(e);i&&(i.remove(),t.removeData(e))},cleanUp:function(t){V.effects.restoreStyle(t),V.effects.removePlaceholder(t)},setTransition:function(s,t,n,o){return o=o||{},V.each(t,function(t,e){var i=s.cssUnit(e);0<i[0]&&(o[e]=i[0]*n+i[1])}),o}}),V.fn.extend({effect:function(){function t(t){var e=V(this),i=V.effects.mode(e,r)||o;e.data(T,!0),l.push(i),o&&("show"===i||i===o&&"hide"===i)&&e.show(),o&&"none"===i||V.effects.saveStyle(e),"function"==typeof t&&t()}var s=P.apply(this,arguments),n=V.effects.effect[s.effect],o=n.mode,e=s.queue,i=e||"fx",a=s.complete,r=s.mode,l=[];return V.fx.off||!n?r?this[r](s.duration,a):this.each(function(){a&&a.call(this)}):!1===e?this.each(t).each(h):this.queue(i,t).queue(i,h);function h(t){var e=V(this);function i(){"function"==typeof a&&a.call(e[0]),"function"==typeof t&&t()}s.mode=l.shift(),!0!==V.uiBackCompat||o?"none"===s.mode?(e[r](),i()):n.call(e[0],s,function(){e.removeData(T),V.effects.cleanUp(e),"hide"===s.mode&&e.hide(),i()}):(e.is(":hidden")?"hide"===r:"show"===r)?(e[r](),i()):n.call(e[0],s,i)}},show:(Q=V.fn.show,function(t){return M(t)?Q.apply(this,arguments):((t=P.apply(this,arguments)).mode="show",this.effect.call(this,t))}),hide:(G=V.fn.hide,function(t){return M(t)?G.apply(this,arguments):((t=P.apply(this,arguments)).mode="hide",this.effect.call(this,t))}),toggle:($=V.fn.toggle,function(t){return M(t)||"boolean"==typeof t?$.apply(this,arguments):((t=P.apply(this,arguments)).mode="toggle",this.effect.call(this,t))}),cssUnit:function(t){var i=this.css(t),s=[];return V.each(["em","px","%","pt"],function(t,e){0<i.indexOf(e)&&(s=[parseFloat(i),e])}),s},cssClip:function(t){return t?this.css("clip","rect("+t.top+"px "+t.right+"px "+t.bottom+"px "+t.left+"px)"):Z(this.css("clip"),this)},transfer:function(t,e){var i=V(this),s=V(t.to),n="fixed"===s.css("position"),o=V("body"),a=n?o.scrollTop():0,o=n?o.scrollLeft():0,r=s.offset(),r={top:r.top-a,left:r.left-o,height:s.innerHeight(),width:s.innerWidth()},s=i.offset(),l=V("<div class='ui-effects-transfer'></div>");l.appendTo("body").addClass(t.className).css({top:s.top-a,left:s.left-o,height:i.innerHeight(),width:i.innerWidth(),position:n?"fixed":"absolute"}).animate(r,t.duration,t.easing,function(){l.remove(),"function"==typeof e&&e()})}}),V.fx.step.clip=function(t){t.clipInit||(t.start=V(t.elem).cssClip(),"string"==typeof t.end&&(t.end=Z(t.end,t.elem)),t.clipInit=!0),V(t.elem).cssClip({top:t.pos*(t.end.top-t.start.top)+t.start.top,right:t.pos*(t.end.right-t.start.right)+t.start.right,bottom:t.pos*(t.end.bottom-t.start.bottom)+t.start.bottom,left:t.pos*(t.end.left-t.start.left)+t.start.left})},b={},V.each(["Quad","Cubic","Quart","Quint","Expo"],function(e,t){b[t]=function(t){return Math.pow(t,e+2)}}),V.extend(b,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;t<((e=Math.pow(2,--i))-1)/11;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),V.each(b,function(t,e){V.easing["easeIn"+t]=e,V.easing["easeOut"+t]=function(t){return 1-e(1-t)},V.easing["easeInOut"+t]=function(t){return t<.5?e(2*t)/2:1-e(-2*t+2)/2}});var tt,et,S,it=V.effects,st=(
vendor: 8,072 bytes, line 11124
11124V.effects.define("blind","hide",function(t,e){var i={up:["bottom","top"],vertical:["bottom","top"],down:["top","bottom"],left:["right","left"],horizontal:["right","left"],right:["left","right"]},s=V(this),n=t.direction||"up",o=s.cssClip(),a={clip:V.extend({},o)},r=V.effects.createPlaceholder(s);a.clip[i[n][0]]=a.clip[i[n][1]],"show"===t.mode&&(s.cssClip(a.clip),r&&r.css(V.effects.clipToBox(a)),a.clip=o),r&&r.animate(V.effects.clipToBox(a),t.duration,t.easing),s.animate(a,{queue:!1,duration:t.duration,easing:t.easing,complete:e})}),V.effects.define("bounce",function(t,e){var i,s,n=V(this),o=t.mode,a="hide"===o,o="show"===o,r=t.direction||"up",l=t.distance,h=t.times||5,c=2*h+(o||a?1:0),u=t.duration/c,d=t.easing,p="up"===r||"down"===r?"top":"left",f="up"===r||"left"===r,g=0,t=n.queue().length;for(V.effects.createPlaceholder(n),r=n.css(p),l=l||n["top"==p?"outerHeight":"outerWidth"]()/3,o&&((s={opacity:1})[p]=r,n.css("opacity",0).css(p,f?2*-l:2*l).animate(s,u,d)),a&&(l/=Math.pow(2,h-1)),(s={})[p]=r;g<h;g++)(i={})[p]=(f?"-=":"+=")+l,n.animate(i,u,d).animate(s,u,d),l=a?2*l:l/2;a&&((i={opacity:0})[p]=(f?"-=":"+=")+l,n.animate(i,u,d)),n.queue(e),V.effects.unshift(n,t,1+c)}),V.effects.define("clip","hide",function(t,e){var i={},s=V(this),n=t.direction||"vertical",o="both"===n,a=o||"horizontal"===n,o=o||"vertical"===n,n=s.cssClip();i.clip={top:o?(n.bottom-n.top)/2:n.top,right:a?(n.right-n.left)/2:n.right,bottom:o?(n.bottom-n.top)/2:n.bottom,left:a?(n.right-n.left)/2:n.left},V.effects.createPlaceholder(s),"show"===t.mode&&(s.cssClip(i.clip),i.clip=n),s.animate(i,{queue:!1,duration:t.duration,easing:t.easing,complete:e})}),V.effects.define("drop","hide",function(t,e){var i,s=V(this),n="show"===t.mode,o=t.direction||"left",a="up"===o||"down"===o?"top":"left",o="up"===o||"left"===o?"-=":"+=",r="+="==o?"-=":"+=",l={opacity:0};V.effects.createPlaceholder(s),i=t.distance||s["top"==a?"outerHeight":"outerWidth"](!0)/2,l[a]=o+i,n&&(s.css(l),l[a]=r+i,l.opacity=1),s.animate(l,{queue:!1,duration:t.duration,easing:t.easing,complete:e})}),V.effects.define("explode","hide",function(t,e){var i,s,n,o,a,r,l=t.pieces?Math.round(Math.sqrt(t.pieces)):3,h=l,c=V(this),u="show"===t.mode,d=c.show().css("visibility","hidden").offset(),p=Math.ceil(c.outerWidth()/h),f=Math.ceil(c.outerHeight()/l),g=[];function m(){g.push(this),g.length===l*h&&(c.css({visibility:"visible"}),V(g).remove(),e())}for(i=0;i<l;i++)for(o=d.top+i*f,r=i-(l-1)/2,s=0;s<h;s++)n=d.left+s*p,a=s-(h-1)/2,c.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-s*p,top:-i*f}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:p,height:f,left:n+(u?a*p:0),top:o+(u?r*f:0),opacity:u?0:1}).animate({left:n+(u?0:a*p),top:o+(u?0:r*f),opacity:u?1:0},t.duration||500,t.easing,m)}),V.effects.define("fade","toggle",function(t,e){var i="show"===t.mode;V(this).css("opacity",i?0:1).animate({opacity:i?1:0},{queue:!1,duration:t.duration,easing:t.easing,complete:e})}),V.effects.define("fold","hide",function(e,t){var i=V(this),s=e.mode,n="show"===s,s="hide"===s,o=e.size||15,a=/([0-9]+)%/.exec(o),r=!!e.horizFirst?["right","bottom"]:["bottom","right"],l=e.duration/2,h=V.effects.createPlaceholder(i),c=i.cssClip(),u={clip:V.extend({},c)},d={clip:V.extend({},c)},p=[c[r[0]],c[r[1]]],f=i.queue().length;a&&(o=parseInt(a[1],10)/100*p[s?0:1]),u.clip[r[0]]=o,d.clip[r[0]]=o,d.clip[r[1]]=0,n&&(i.cssClip(d.clip),h&&h.css(V.effects.clipToBox(d)),d.clip=c),i.queue(function(t){h&&h.animate(V.effects.clipToBox(u),l,e.easing).animate(V.effects.clipToBox(d),l,e.easing),t()}).animate(u,l,e.easing).animate(d,l,e.easing).queue(t),V.effects.unshift(i,f,4)}),V.effects.define("highlight","show",function(t,e){var i=V(this),s={backgroundColor:i.css("backgroundColor")};"hide"===t.mode&&(s.opacity=0),V.effects.saveStyle(i),i.css({backgroundImage:"none",backgroundColor:t.color||"#ffff99"}).animate(s,{queue:!1,duration:t.duration,easing:t.easing,complete:e})}),V.effects.define("size",function(s,e){var n,i=V(this),t=["fontSize"],o=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],a=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],r=s.mode,l="effect"!==r,h=s.scale||"both",c=s.origin||["middle","center"],u=i.css("position"),d=i.position(),p=V.effects.scaledDimensions(i),f=s.from||p,g=s.to||V.effects.scaledDimensions(i,0);V.effects.createPlaceholder(i),"show"===r&&(r=f,f=g,g=r),n={from:{y:f.height/p.height,x:f.width/p.width},to:{y:g.height/p.height,x:g.width/p.width}},"box"!==h&&"both"!==h||(n.from.y!==n.to.y&&(f=V.effects.setTransition(i,o,n.from.y,f),g=V.effects.setTransition(i,o,n.to.y,g)),n.from.x!==n.to.x&&(f=V.effects.setTransition(i,a,n.from.x,f),g=V.effects.setTransition(i,a,n.to.x,g))),"content"!==h&&"both"!==h||n.from.y!==n.to.y&&(f=V.effects.setTransition(i,t,n.from.y,f),g=V.effects.setTransition(i,t,n.to.y,g)),c&&(r=V.effects.getBaseline(c,p),f.top=(p.outerHeight-f.outerHeight)*r.y+d.top,f.left=(p.outerWidth-f.outerWidth)*r.x+d.left,g.top=(p.outerHeight-g.outerHeight)*r.y+d.top,g.left=(p.outerWidth-g.outerWidth)*r.x+d.left),delete f.outerHeight,delete f.outerWidth,i.css(f),"content"!==h&&"both"!==h||(o=o.concat(["marginTop","marginBottom"]).concat(t),a=a.concat(["marginLeft","marginRight"]),i.find("*[width]").each(function(){var t=V(this),e=V.effects.scaledDimensions(t),i={height:e.height*n.from.y,width:e.width*n.from.x,outerHeight:e.outerHeight*n.from.y,outerWidth:e.outerWidth*n.from.x},e={height:e.height*n.to.y,width:e.width*n.to.x,outerHeight:e.height*n.to.y,outerWidth:e.width*n.to.x};n.from.y!==n.to.y&&(i=V.effects.setTransition(t,o,n.from.y,i),e=V.effects.setTransition(t,o,n.to.y,e)),n.from.x!==n.to.x&&(i=V.effects.setTransition(t,a,n.from.x,i),e=V.effects.setTransition(t,a,n.to.x,e)),l&&V.effects.saveStyle(t),t.css(i),t.animate(e,s.duration,s.easing,function(){l&&V.effects.restoreStyle(t)})})),i.animate(g,{queue:!1,duration:s.duration,easing:s.easing,complete:function(){var t=i.offset();0===g.opacity&&i.css("opacity",f.opacity),l||(i.css("position","static"===u?"relative":u).offset(t),V.effects.saveStyle(i)),e()}})}),V.effects.define("scale",function(t,e){var i=V(this),s=t.mode,s=parseInt(t.percent,10)||(0===parseInt(t.percent,10)||"effect"!==s?0:100),i=V.extend(!0,{from:V.effects.scaledDimensions(i),to:V.effects.scaledDimensions(i,s,t.direction||"both"),origin:t.origin||["middle","center"]},t);t.fade&&(i.from.opacity=1,i.to.opacity=0),V.effects.effect.size.call(this,i,e)}),V.effects.define("puff","hide",function(t,e){t=V.extend(!0,{},t,{fade:!0,percent:parseInt(t.percent,10)||150});V.effects.effect.scale.call(this,t,e)}),V.effects.define("pulsate","show",function(t,e){var i=V(this),s=t.mode,n="show"===s,o=2*(t.times||5)+(n||"hide"===s?1:0),a=t.duration/o,r=0,l=1,s=i.queue().length;for(!n&&i.is(":visible")||(i.css("opacity",0).show(),r=1);l<o;l++)i.animate({opacity:r},a,t.easing),r=1-r;i.animate({opacity:r},a,t.easing),i.queue(e),V.effects.unshift(i,s,1+o)}),V.effects.define("shake",function(t,e){var i=1,s=V(this),n=t.direction||"left",o=t.distance||20,a=t.times||3,r=2*a+1,l=Math.round(t.duration/r),h="up"===n||"down"===n?"top":"left",n="up"===n||"left"===n,c={},u={},d={},p=s.queue().length;for(V.effects.createPlaceholder(s),c[h]=(n?"-=":"+=")+o,u[h]=(n?"+=":"-=")+2*o,d[h]=(n?"-=":"+=")+2*o,s.animate(c,l,t.easing);i<a;i++)s.animate(u,l,t.easing).animate(d,l,t.easing);s.animate(u,l,t.easing).animate(c,l/2,t.easing).queue(e),V.effects.unshift(s,p,1+r)}),V.effects.define("slide","show",function(t,e){var i,s,n=V(this),o={up:["bottom","top"],down:["top","bottom"],left:["right","left"],right:["left","right"]},a=t.mode,r=t.direction||"left",l="up"===r||"down"===r?"top":"left",h="up"===r||"left"===r,c=t.distance||n["top"==l?"outerHeight":"outerWidth"](!0),u={};V.effects.createPlaceholder(n),i=n.cssClip(),s=n.position()[l],u[l]=(h?-1:1)*c+s,u.clip=n.cssClip(),u.clip[o[r][1]]=u.clip[o[r][0]],"show"===a&&(n.cssClip(u.clip),n.css(l,u[l]),u.clip=i,u[l]=s),n.animate(u,{queue:!1,duration:t.duration,easing:t.easing,complete:e})}),
11124it=!0===V.uiBackCompat?V.effects.define("transfer",function(t,e){V(this).transfer(t,e)}):it,V.ui.focusable=function(t,e){var i,s,n,o=t.nodeName.toLowerCase();return"area"===o?(n=(i=t.parentNode).name,!(!t.href||!n||"map"!==i.nodeName.toLowerCase())&&0<(i=V("img[usemap='#"+n+"']")).length&&i.is(":visible")):(/^(input|select|textarea|button|object)$/.test(o)?(s=!t.disabled)&&(n=V(t).closest("fieldset")[0])&&(s=!n.disabled):s="a"===o&&t.href||e,s&&V(t).is(":visible")&&"visible"===V(t).css("visibility"))},V.extend(V.expr.pseudos,{focusable:function(t){return V.ui.focusable(t,null!=V.attr(t,"tabindex"))}}),V.ui.focusable,V.ui.formResetMixin={_formResetHandler:function(){var e=V(this);setTimeout(function(){var t=e.data("ui-form-reset-instances");V.each(t,function(){this.refresh()})})},_bindFormResetHandler:function(){var t;this.form=V(this.element.prop("form")),this.form.length&&((t=this.form.data("ui-form-reset-instances")||[]).length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t))},_unbindFormResetHandler:function(){var t;this.form.length&&((t=this.form.data("ui-form-reset-instances")).splice(V.inArray(this,t),1),t.length?this.form.data("ui-form-reset-instances",t):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset"))}},V.escapeSelector||(V.escapeSelector=function(t){return CSS.escape(t+"")}),V.fn.even&&V.fn.odd||V.fn.extend({even:function(){return this.filter(function(t){return t%2==0})},odd:function(){return this.filter(function(t){return t%2==1})}}),V.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},V.fn.labels=function(){var t,e,i;return this.length?this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(e=this.eq(0).parents("label"),(t=this.attr("id"))&&(i=(i=this.eq(0).parents().last(
vendor: 16,441 bytes, line 11124
11124)).add((i.length?i:this).siblings()),t="label[for='"+CSS.escape(t)+"']",e=e.add(i.find(t).addBack(t))),this.pushStack(e)):this.pushStack([])},V.fn.scrollParent=function(t){var e=this.css("position"),i="absolute"===e,s=t?/(auto|scroll|hidden)/:/(auto|scroll)/,t=this.parents().filter(function(){var t=V(this);return(!i||"static"!==t.css("position"))&&s.test(t.css("overflow")+t.css("overflow-y")+t.css("overflow-x"))}).eq(0);return"fixed"!==e&&t.length?t:V(this[0].ownerDocument||document)},V.extend(V.expr.pseudos,{tabbable:function(t){var e=V.attr(t,"tabindex"),i=null!=e;return(!i||0<=e)&&V.ui.focusable(t,i)}}),V.fn.extend({uniqueId:(tt=0,function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++tt)})}),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&V(this).removeAttr("id")})}}),V.widget("ui.accordion",{version:"1.14.1",options:{active:0,animate:{},classes:{"ui-accordion-header":"ui-corner-top","ui-accordion-header-collapsed":"ui-corner-all","ui-accordion-content":"ui-corner-bottom"},collapsible:!1,event:"click",header:function(t){return t.find("> li > :first-child").add(t.find("> :not(li)").filter(function(t){return t%2==0}))},heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var t=this.options;this.prevShow=this.prevHide=V(),this._addClass("ui-accordion","ui-widget ui-helper-reset"),this.element.attr("role","tablist"),t.collapsible||!1!==t.active&&null!=t.active||(t.active=0),this._processPanels(),t.active<0&&(t.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():V()}},_createIcons:function(){var t,e=this.options.icons;e&&(t=V("<span>"),this._addClass(t,"ui-accordion-header-icon","ui-icon "+e.header),t.prependTo(this.headers),t=this.active.children(".ui-accordion-header-icon"),this._removeClass(t,e.header)._addClass(t,null,e.activeHeader)._addClass(this.headers,"ui-accordion-icons"))},_destroyIcons:function(){this._removeClass(this.headers,"ui-accordion-icons"),this.headers.children(".ui-accordion-header-icon").remove()},_destroy:function(){var t;this.element.removeAttr("role"),this.headers.removeAttr("role aria-expanded aria-selected aria-controls tabIndex").removeUniqueId(),this._destroyIcons(),t=this.headers.next().css("display","").removeAttr("role aria-hidden aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&t.css("height","")},_setOption:function(t,e){"active"===t?this._activate(e):("event"===t&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(e)),this._super(t,e),"collapsible"!==t||e||!1!==this.options.active||this._activate(0),"icons"===t&&(this._destroyIcons(),e)&&this._createIcons())},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t)},_keydown:function(t){if(!t.altKey&&!t.ctrlKey){var e=V.ui.keyCode,i=this.headers.length,s=this.headers.index(t.target),n=!1;switch(t.keyCode){case e.RIGHT:case e.DOWN:n=this.headers[(s+1)%i];break;case e.LEFT:case e.UP:n=this.headers[(s-1+i)%i];break;case e.SPACE:case e.ENTER:this._eventHandler(t);break;case e.HOME:n=this.headers[0];break;case e.END:n=this.headers[i-1]}n&&(V(t.target).attr("tabIndex",-1),V(n).attr("tabIndex",0),V(n).trigger("focus"),t.preventDefault())}},_panelKeyDown:function(t){t.keyCode===V.ui.keyCode.UP&&t.ctrlKey&&V(t.currentTarget).prev().trigger("focus")},refresh:function(){var t=this.options;this._processPanels(),!1===t.active&&!0===t.collapsible||!this.headers.length?(t.active=!1,this.active=V()):!1===t.active?this._activate(0):this.active.length&&!V.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(t.active=!1,this.active=V()):this._activate(Math.max(0,t.active-1)):t.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var t=this.headers,e=this.panels;"function"==typeof this.options.header?this.headers=this.options.header(this.element):this.headers=this.element.find(this.options.header),this._addClass(this.headers,"ui-accordion-header ui-accordion-header-collapsed","ui-state-default"),this.panels=this.headers.next().filter(":not(.ui-accordion-content-active)").hide(),this._addClass(this.panels,"ui-accordion-content","ui-helper-reset ui-widget-content"),e&&(this._off(t.not(this.headers)),this._off(e.not(this.panels)))},_refresh:function(){var i,t=this.options,e=t.heightStyle,s=this.element.parent();this.active=this._findActive(t.active),this._addClass(this.active,"ui-accordion-header-active","ui-state-active")._removeClass(this.active,"ui-accordion-header-collapsed"),this._addClass(this.active.next(),"ui-accordion-content-active"),this.active.next().show(),this.headers.attr("role","tab").each(function(){var t=V(this),e=t.uniqueId().attr("id"),i=t.next(),s=i.uniqueId().attr("id");t.attr("aria-controls",s),i.attr("aria-labelledby",e)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(t.event),"fill"===e?(i=s.height(),this.element.siblings(":visible").each(function(){var t=V(this),e=t.css("position");"absolute"!==e&&"fixed"!==e&&(i-=t.outerHeight(!0))}),this.headers.each(function(){i-=V(this).outerHeight(!0)}),this.headers.next().each(function(){V(this).height(Math.max(0,i-V(this).innerHeight()+V(this).height()))}).css("overflow","auto")):"auto"===e&&(i=0,this.headers.next().each(function(){var t=V(this).is(":visible");t||V(this).show(),i=Math.max(i,V(this).css("height","").height()),t||V(this).hide()}).height(i))},_activate:function(t){t=this._findActive(t)[0];t!==this.active[0]&&(t=t||this.active[0],this._eventHandler({target:t,currentTarget:t,preventDefault:V.noop}))},_findActive:function(t){return"number"==typeof t?this.headers.eq(t):V()},_setupEvents:function(t){var i={keydown:"_keydown"};t&&V.each(t.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(t){var e=this.options,i=this.active,s=V(t.currentTarget),n=s[0]===i[0],o=n&&e.collapsible,a=o?V():s.next(),r=i.next(),r={oldHeader:i,oldPanel:r,newHeader:o?V():s,newPanel:a};t.preventDefault(),n&&!e.collapsible||!1===this._trigger("beforeActivate",t,r)||(e.active=!o&&this.headers.index(s),this.active=n?V():s,this._toggle(r),this._removeClass(i,"ui-accordion-header-active","ui-state-active"),e.icons&&(a=i.children(".ui-accordion-header-icon"),this._removeClass(a,null,e.icons.activeHeader)._addClass(a,null,e.icons.header)),n)||(this._removeClass(s,"ui-accordion-header-collapsed")._addClass(s,"ui-accordion-header-active","ui-state-active"),e.icons&&(t=s.children(".ui-accordion-header-icon"),this._removeClass(t,null,e.icons.header)._addClass(t,null,e.icons.activeHeader)),this._addClass(s.next(),"ui-accordion-content-active"))},_toggle:function(t){var e=t.newPanel,i=this.prevShow.length?this.prevShow:t.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=e,this.prevHide=i,this.options.animate?this._animate(e,i,t):(i.hide(),e.show(),this._toggleComplete(t)),i.attr({"aria-hidden":"true"}),i.prev().attr({"aria-selected":"false","aria-expanded":"false"}),e.length&&i.length?i.prev().attr({tabIndex:-1,"aria-expanded":"false"}):e.length&&this.headers.filter(function(){return 0===parseInt(V(this).attr("tabIndex"),10)}).attr("tabIndex",-1),e.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(t,i,e){function s(){o._toggleComplete(e)}var n,o=this,a=0,r=t.css("box-sizing"),l=t.length&&(!i.length||t.index()<i.index()),h=this.options.animate||{},l=l&&h.down||h,c=(c="string"==typeof l?l:c)||l.easing||h.easing,u=(u="number"==typeof l?l:u)||l.duration||h.duration;return i.length?t.length?(n=t.show().outerHeight(),i.animate(this.hideProps,{duration:u,easing:c,step:function(t,e){e.now=Math.round(t)}}),void t.hide().animate(this.showProps,{duration:u,easing:c,complete:s,step:function(t,e){e.now=Math.round(t),"height"!==e.prop?"content-box"===r&&(a+=e.now):"content"!==o.options.heightStyle&&(e.now=Math.round(n-i.outerHeight()-a),a=0)}})):i.animate(this.hideProps,u,c,s):t.animate(this.showProps,u,c,s)},_toggleComplete:function(t){var e=t.oldPanel,i=e.prev();this._removeClass(e,"ui-accordion-content-active"),this._removeClass(i,"ui-accordion-header-active")._addClass(i,"ui-accordion-header-collapsed"),this._trigger("activate",null,t)}}),V.widget("ui.menu",{version:"1.14.1",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.lastMousePosition={x:null,y:null},this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault(),this._activateItem(t)},"click .ui-menu-item":function(t){var e=V(t.target),i=V(this.document[0].activeElement);!this.mouseHandled&&e.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),e.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&i.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active)&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer))},"mouseenter .ui-menu-item":"_activateItem","mousemove .ui-menu-item":"_activateItem",mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this._menuItems().first();e||this.focus(t,i)},blur:function(t){this._delay(function(){V.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t,!0),this.mouseHandled=!1}})},_activateItem:function(t){var e,i;this.previousFilter||t.clientX===this.lastMousePosition.x&&t.clientY===this.lastMousePosition.y||(this.lastMousePosition={x:t.clientX,y:t.clientY},e=V(t.target).closest(".ui-menu-item"),i=V(t.currentTarget),e[0]!==i[0])||i.is(".ui-state-active")||(this._removeClass(i.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(t,i))},_destroy:function(){var t=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),t.children().each(function(){var t=V(this);t.data("ui-menu-submenu-caret")&&t.remove()})},_keydown:function(t){var e,i,s,n=!0;switch(t.keyCode){case V.ui.keyCode.PAGE_UP:this.previousPage(t);break;case V.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case V.ui.keyCode.HOME:this._move("first","first",t);break;case V.ui.keyCode.END:this._move("last","last",t);break;case V.ui.keyCode.UP:this.previous(t);break;case V.ui.keyCode.DOWN:this.next(t);break;case V.ui.keyCode.LEFT:this.collapse(t);break;case V.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case V.ui.keyCode.ENTER:case V.ui.keyCode.SPACE:this._activate(t);break;case V.ui.keyCode.ESCAPE:this.collapse(t);break;default:e=this.previousFilter||"",s=n=!1,i=96<=t.keyCode&&t.keyCode<=105?(t.keyCode-96).toString():String.fromCharCode(t.keyCode),clearTimeout(this.filterTimer),i===e?s=!0:i=e+i,e=this._filterMenuItems(i),(e=s&&-1!==e.index(this.active.next())?this.active.nextAll(".ui-menu-item"):e).length||(i=String.fromCharCode(t.keyCode),e=this._filterMenuItems(i)),e.length?(this.focus(t,e),this.previousFilter=i,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}n&&t.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var t,e,s=this,n=this.options.icons.submenu,i=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),t=i.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=V(this),e=t.prev(),i=V("<span>").data("ui-menu-submenu-caret",!0);s._addClass(i,"ui-menu-icon","ui-icon "+n),e.attr("aria-haspopup","true").prepend(i),t.attr("aria-labelledby",e.attr("id"))}),this._addClass(t,"ui-menu","ui-widget ui-widget-content ui-front"),(t=i.add(this.element).find(this.options.items)).not(".ui-menu-item").each(function(){var t=V(this);s._isDivider(t)&&s._addClass(t,"ui-menu-divider","ui-widget-content")}),e=(i=t.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(i,"ui-menu-item")._addClass(e,"ui-menu-item-wrapper"),t.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!V.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){var i;"icons"===t&&(i=this.element.find(".ui-menu-icon"),this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",String(t)),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),i=this.active.children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",i.attr("id")),i=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),(i=e.children(".ui-menu")).length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(t){var e,i,s;this._hasScroll()&&(e=parseFloat(V.css(this.activeMenu[0],"borderTopWidth"))||0,i=parseFloat(V.css(this.activeMenu[0],"paddingTop"))||0,e=t.offset().top-this.activeMenu.offset().top-e-i,i=this.activeMenu.scrollTop(),s=this.activeMenu.height(),t=t.outerHeight(),e<0?this.activeMenu.scrollTop(i+e):s<e+t&&this.activeMenu.scrollTop(i+e-s+t))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null)},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(t){var e=V.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(t.parents(".ui-menu")).hide().attr("aria-hidden","true"),t.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(e)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var t=i?this.element:V(e&&e.target).closest(this.element.find(".ui-menu"));t.length||(t=this.element),this._close(t),this.blur(e),this._removeClass(t.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=t},i?0:this.delay)},_close:function(t){(t=t||(this.active?this.active.parent():this.element)).find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","fal
11124se")},_closeOnDocumentClick:function(t){return!V(t.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this._menuItems(this.active.children(".ui-menu")).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_menuItems:function(t){return(t||this.element).find(this.options.items).filter(".ui-menu-item")},_move:function(t,e,i){var s;(s=this.active?"first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").last():this.active[t+"All"](".ui-menu-item").first():s)&&s.length&&this.active||(s=this._menuItems(this.activeMenu)[e]()),this.focus(i,s)},nextPage:function(t){var e,i,s;this.active?this.isLastItem()||(this._hasScroll()?(i=this.active.offset().top,s=this.element.innerHeight(),0===V.fn.jquery.indexOf("3.2.")&&(s+=this.element[0].offsetHeight-this.element.outerHeight()),this.active.nextAll(".ui-menu-item").each(function(){return(e=V(this)).offset().top-i-s<0}),this.focus(t,e)):this.focus(t,this._menuItems(this.activeMenu)[this.active?"last":"first"]())):this.next(t)},previousPage:function(t){var e,i,s;this.active?this.isFirstItem()||(this._hasScroll()?(i=this.active.offset().top,s=this.element.innerHeight(),0===V.fn.jquery.indexOf("3.2.")&&(s+=this.element[0].offsetHeight-this.element.outerHeight()),this.active.prevAll(".ui-menu-item").each(function(){return 0<(e=V(this)).offset().top-i+s}),this.focus(t,e)):this.focus(t,this._menuItems(this.activeMenu).first())):this.next(t)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(t){this.active=this.active||V(t.target).closest(".ui-menu-item");var e={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(t,!0),this._trigger("select",t,e)},_filterMenuItems:function(t){var t=t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),e=new RegExp("^"+t,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function(){return e.test(String.prototype.trim.call(V(this).children(".ui-menu-item-wrapper").text()))})}}),V.widget("ui.autocomplete",{version:"1.14.1",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,liveRegionTimer:null,_create:function(){var i,s,n,t=this.element[0].nodeName.toLowerCase(),e="textarea"===t,t="input"===t;this.isMultiLine=e||!t&&"true"===this.element.prop("contentEditable"),this.valueMethod=this.element[e||t?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(t){if(this.element.prop("readOnly"))s=n=i=!0;else{s=n=i=!1;var e=V.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:i=!0,this._move("previousPage",t);break;case e.PAGE_DOWN:i=!0,this._move("nextPage",t);break;case e.UP:i=!0,this._keyEvent("previous",t);break;case e.DOWN:i=!0,this._keyEvent("next",t);break;case e.ENTER:this.menu.active&&(i=!0,t.preventDefault(),this.menu.select(t));break;case e.TAB:this.menu.active&&this.menu.select(t);break;case e.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(t),t.preventDefault());break;default:s=!0,this._searchTimeout(t)}}},keypress:function(t){if(i)i=!1,this.isMultiLine&&!this.menu.element.is(":visible")||t.preventDefault();else if(!s){var e=V.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:this._move("previousPage",t);break;case e.PAGE_DOWN:this._move("nextPage",t);break;case e.UP:this._keyEvent("previous",t);break;case e.DOWN:this._keyEvent("next",t)}}},input:function(t){n?(n=!1,t.preventDefault()):this._searchTimeout(t)},focus:function(){this.selectedItem=null,this.previous=this._value(
vendor: 13,192 bytes, line 11124
11124)},blur:function(t){clearTimeout(this.searching),this.close(t),this._change(t)}}),this._initSource(),this.menu=V("<ul>").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault()},menufocus:function(t,e){var i,s;this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent)&&/^mouse/.test(t.originalEvent.type)?(this.menu.blur(),this.document.one("mousemove",function(){V(t.target).trigger(t.originalEvent)})):(s=e.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",t,{item:s})&&t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(s.value),(i=e.item.attr("aria-label")||s.value)&&String.prototype.trim.call(i).length&&(clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay(function(){this.liveRegion.html(V("<div>").text(i))},100)))},menuselect:function(t,e){var e=e.item.data("ui-autocomplete-item"),i=this.previous;this.element[0]!==this.document[0].activeElement&&(this.element.trigger("focus"),this.previous=i),!1!==this._trigger("select",t,{item:e})&&this._value(e.value),this.term=this._value(),this.close(t),this.selectedItem=e}}),this.liveRegion=V("<div>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(t){var e=this.menu.element[0];return t.target===this.element[0]||t.target===e||V.contains(e,t.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var t=this.options.appendTo;return t=(t=(t=t&&(t.jquery||t.nodeType?V(t):this.document.find(t).eq(0)))&&t[0]?t:this.element.closest(".ui-front, dialog")).length?t:this.document[0].body},_initSource:function(){var i,s,n=this;Array.isArray(this.options.source)?(i=this.options.source,this.source=function(t,e){e(V.ui.autocomplete.filter(i,t.term))}):"string"==typeof this.options.source?(s=this.options.source,this.source=function(t,e){n.xhr&&n.xhr.abort(),n.xhr=V.ajax({url:s,data:t,dataType:"json",success:function(t){e(t)},error:function(){e([])}})}):this.source=this.options.source},_searchTimeout:function(s){clearTimeout(this.searching),this.searching=this._delay(function(){var t=this.term===this._value(),e=this.menu.element.is(":visible"),i=s.altKey||s.ctrlKey||s.metaKey||s.shiftKey;t&&(e||i)||(this.selectedItem=null,this.search(null,s))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length<this.options.minLength?this.close(e):!1!==this._trigger("search",e)?this._search(t):void 0},_search:function(t){this.pending++,this._addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:t},this._response())},_response:function(){var e=++this.requestIndex;return function(t){e===this.requestIndex&&this.__response(t),this.pending--,this.pending||this._removeClass("ui-autocomplete-loading")}.bind(this)},__response:function(t){t=t&&this._normalize(t),this._trigger("response",null,{content:t}),!this.options.disabled&&t&&t.length&&!this.cancelSearch?(this._suggest(t),this._trigger("open")):this._close()},close:function(t){this.cancelSearch=!0,this._close(t)},_close:function(t){this._off(this.document,"mousedown"),this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",t))},_change:function(t){this.previous!==this._value()&&this._trigger("change",t,{item:this.selectedItem})},_normalize:function(t){return t.length&&t[0].label&&t[0].value?t:V.map(t,function(t){return"string"==typeof t?{label:t,value:t}:V.extend({},t,{label:t.label||t.value,value:t.value||t.label})})},_suggest:function(t){var e=this.menu.element.empty();this._renderMenu(e,t),this.isNewMenu=!0,this.menu.refresh(),e.show(),this._resizeMenu(),e.position(V.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(),this._on(this.document,{mousedown:"_closeOnClickOutside"})},_resizeMenu:function(){var t=this.menu.element;t.outerWidth(Math.max(t.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(i,t){var s=this;V.each(t,function(t,e){s._renderItemData(i,e)})},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-autocomplete-item",e)},_renderItem:function(t,e){return V("<li>").append(V("<div>").text(e.label)).appendTo(t)},_move:function(t,e){this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),this.menu.blur()):this.menu[t](e):this.search(null,e)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(t,e),e.preventDefault())}}),V.extend(V.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,e){var i=new RegExp(V.ui.autocomplete.escapeRegex(e),"i");return V.grep(t,function(t){return i.test(t.label||t.value||t)})}}),V.widget("ui.autocomplete",V.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(1<t?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(t){var e;this._superApply(arguments),this.options.disabled||this.cancelSearch||(e=t&&t.length?this.options.messages.results(t.length):this.options.messages.noResults,clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay(function(){this.liveRegion.html(V("<div>").text(e))},100))}}),V.ui.autocomplete,/ui-corner-([a-z]){2,6}/g);V.widget("ui.controlgroup",{version:"1.14.1",defaultElement:"<div>",options:{direction:"horizontal",disabled:null,onlyVisible:!0,items:{button:"input[type=button], input[type=submit], input[type=reset], button, a",controlgroupLabel:".ui-controlgroup-label",checkboxradio:"input[type='checkbox'], input[type='radio']",selectmenu:"select",spinner:".ui-spinner-input"}},_create:function(){this._enhance()},_enhance:function(){this.element.attr("role","toolbar"),this.refresh()},_destroy:function(){this._callChildMethod("destroy"),this.childWidgets.removeData("ui-controlgroup-data"),this.element.removeAttr("role"),this.options.items.controlgroupLabel&&this.element.find(this.options.items.controlgroupLabel).find(".ui-controlgroup-label-contents").contents().unwrap()},_initWidgets:function(){var o=this,a=[];V.each(this.options.items,function(s,t){var e,n={};t&&("controlgroupLabel"===s?((e=o.element.find(t)).each(function(){var t=V(this);t.children(".ui-controlgroup-label-contents").length||t.contents().wrapAll("<span class='ui-controlgroup-label-contents'></span>")}),o._addClass(e,null,"ui-widget ui-widget-content ui-state-default"),a=a.concat(e.get())):V.fn[s]&&(n=o["_"+s+"Options"]?o["_"+s+"Options"]("middle"):{classes:{}},o.element.find(t).each(function(){var t=V(this),e=t[s]("instance"),i=V.widget.extend({},n);"button"===s&&t.parent(".ui-spinner").length||((e=e||t[s]()[s]("instance"))&&(i.classes=o._resolveClassesValues(i.classes,e)),t[s](i),i=t[s]("widget"),V.data(i[0],"ui-controlgroup-data",e||t[s]("instance")),a.push(i[0]))})))}),this.childWidgets=V(V.uniqueSort(a)),this._addClass(this.childWidgets,"ui-controlgroup-item")},_callChildMethod:function(e){this.childWidgets.each(function(){var t=V(this).data("ui-controlgroup-data");t&&t[e]&&t[e]()})},_updateCornerClass:function(t,e){e=this._buildSimpleOptions(e,"label").classes.label;this._removeClass(t,null,"ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all"),this._addClass(t,null,e)},_buildSimpleOptions:function(t,e){var i="vertical"===this.options.direction,s={classes:{}};return s.classes[e]={middle:"",first:"ui-corner-"+(i?"top":"left"),last:"ui-corner-"+(i?"bottom":"right"),only:"ui-corner-all"}[t],s},_spinnerOptions:function(t){t=this._buildSimpleOptions(t,"ui-spinner");return t.classes["ui-spinner-up"]="",t.classes["ui-spinner-down"]="",t},_buttonOptions:function(t){return this._buildSimpleOptions(t,"ui-button")},_checkboxradioOptions:function(t){return this._buildSimpleOptions(t,"ui-checkboxradio-label")},_selectmenuOptions:function(t){var e="vertical"===this.options.direction;return{width:e&&"auto",classes:{middle:{"ui-selectmenu-button-open":"","ui-selectmenu-button-closed":""},first:{"ui-selectmenu-button-open":"ui-corner-"+(e?"top":"tl"),"ui-selectmenu-button-closed":"ui-corner-"+(e?"top":"left")},last:{"ui-selectmenu-button-open":e?"":"ui-corner-tr","ui-selectmenu-button-closed":"ui-corner-"+(e?"bottom":"right")},only:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"}}[t]}},_resolveClassesValues:function(i,s){var n={};return V.each(i,function(t){var e=s.options.classes[t]||"",e=String.prototype.trim.call(e.replace(st,""));n[t]=(e+" "+i[t]).replace(/\s+/g," ")}),n},_setOption:function(t,e){"direction"===t&&this._removeClass("ui-controlgroup-"+this.options.direction),this._super(t,e),"disabled"===t?this._callChildMethod(e?"disable":"enable"):this.refresh()},refresh:function(){var n,o=this;this._addClass("ui-controlgroup ui-controlgroup-"+this.options.direction),"horizontal"===this.options.direction&&this._addClass(null,"ui-helper-clearfix"),this._initWidgets(),n=this.childWidgets,(n=this.options.onlyVisible?n.filter(":visible"):n).length&&(V.each(["first","last"],function(t,e){var i,s=n[e]().data("ui-controlgroup-data");s&&o["_"+s.widgetName+"Options"]?((i=o["_"+s.widgetName+"Options"](1===n.length?"only":e)).classes=o._resolveClassesValues(i.classes,s),s.element[s.widgetName](i)):o._updateCornerClass(n[e](),e)}),this._callChildMethod("refresh"))}}),V.widget("ui.checkboxradio",[V.ui.formResetMixin,{version:"1.14.1",options:{disabled:null,label:null,icon:!0,classes:{"ui-checkboxradio-label":"ui-corner-all","ui-checkboxradio-icon":"ui-corner-all"}},_getCreateOptions:function(){var t,e=this._super()||{};return this._readType(),t=this.element.labels(),this.label=V(t[t.length-1]),this.label.length||V.error("No label found for checkboxradio widget"),this.originalLabel="",(t=this.label.contents().not(this.element[0])).length&&(this.originalLabel+=t.clone().wrapAll("<div></div>").parent().html()),this.originalLabel&&(e.label=this.originalLabel),null!=(t=this.element[0].disabled)&&(e.disabled=t),e},_create:function(){var t=this.element[0].checked;this._bindFormResetHandler(),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled),this._setOption("disabled",this.options.disabled),this._addClass("ui-checkboxradio","ui-helper-hidden-accessible"),this._addClass(this.label,"ui-checkboxradio-label","ui-button ui-widget"),"radio"===this.type&&this._addClass(this.label,"ui-checkboxradio-radio-label"),this.options.label&&this.options.label!==this.originalLabel?this._updateLabel():this.originalLabel&&(this.options.label=this.originalLabel),this._enhance(),t&&this._addClass(this.label,"ui-checkboxradio-checked","ui-state-active"),this._on({change:"_toggleClasses",focus:function(){this._addClass(this.label,null,"ui-state-focus ui-visual-focus")},blur:function(){this._removeClass(this.label,null,"ui-state-focus ui-visual-focus")}})},_readType:function(){var t=this.element[0].nodeName.toLowerCase();this.type=this.element[0].type,"input"===t&&/radio|checkbox/.test(this.type)||V.error("Can't create checkboxradio on element.nodeName="+t+" and element.type="+this.type)},_enhance:function(){this._updateIcon(this.element[0].checked)},widget:function(){return this.label},_getRadioGroup:function(){var t=this.element[0].name,e="input[name='"+CSS.escape(t)+"']";return t?(this.form.length?V(this.form[0].elements).filter(e):V(e).filter(function(){return 0===V(V(this).prop("form")).length})).not(this.element):V([])},_toggleClasses:function(){var t=this.element[0].checked;this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",t),this.options.icon&&"checkbox"===this.type&&this._toggleClass(this.icon,null,"ui-icon-check ui-state-checked",t)._toggleClass(this.icon,null,"ui-icon-blank",!t),"radio"===this.type&&this._getRadioGroup().each(function(){var t=V(this).checkboxradio("instance");t&&t._removeClass(t.label,"ui-checkboxradio-checked","ui-state-active")})},_destroy:function(){this._unbindFormResetHandler(),this.icon&&(this.icon.remove(),this.iconSpace.remove())},_setOption:function(t,e){"label"===t&&!e||(this._super(t,e),"disabled"===t?(this._toggleClass(this.label,null,"ui-state-disabled",e),this.element[0].disabled=e):this.refresh())},_updateIcon:function(t){var e="ui-icon ui-icon-background ";this.options.icon?(this.icon||(this.icon=V("<span>"),this.iconSpace=V("<span> </span>
11124"),this._addClass(this.iconSpace,"ui-checkboxradio-icon-space")),"checkbox"===this.type?(e+=t?"ui-icon-check ui-state-checked":"ui-icon-blank",this._removeClass(this.icon,null,t?"ui-icon-blank":"ui-icon-check")):e+="ui-icon-blank",this._addClass(this.icon,"ui-checkboxradio-icon",e),t||this._removeClass(this.icon,null,"ui-icon-check ui-state-checked"),this.icon.prependTo(this.label).after(this.iconSpace)):void 0!==this.icon&&(this.icon.remove(),this.iconSpace.remove(),delete this.icon)},_updateLabel:function(){var t=this.label.contents().not(this.element[0]);this.icon&&(t=t.not(this.icon[0])),(t=this.iconSpace?t.not(this.iconSpace[0]):t).remove(),this.label.append(this.options.label)},refresh:function(){var t=this.element[0].checked,e=this.element[0].disabled;this._updateIcon(t),this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",t),null!==this.options.label&&this._updateLabel(),e!==this.options.disabled&&this._setOptions({disabled:e})}}]),V.ui.checkboxradio,V.widget("ui.button",{version:"1.14.1",defaultElement:"<button>",options:{classes:{"ui-button":"ui-corner-all"},disabled:null,icon:null,iconPosition:"beginning",label:null,showLabel:!0},_getCreateOptions:function(){var t,e=this._super()||{};return this.isInput=this.element.is("input"),null!=(t=this.element[0].disabled)&&(e.disabled=t),this.originalLabel=this.isInput?this.element.val():this.element.html(),this.originalLabel&&(e.label=this.originalLabel),e},_create:function(){!this.option.showLabel&!this.options.icon&&(this.options.showLabel=!0),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled||!1),this.hasTitle=!!this.element.attr("title"),this.options.label&&this.options.label!==this.originalLabel&&(this.isInput?this.element.val(this.options.label):this.element.html(this.options.label)),this._addClass("ui-button","ui-widget"),this._setOption("disabled",this.options.disabled),this._enhance(),this.element.is("a")&&this._on({keyup:function(t){t.keyCode===V.ui.keyCode.SPACE&&(t.preventDefault(),this.element[0].click?this.element[0].click():this.element.trigger("click"))}})},_enhance:function(){this.element.is("button")||this.element.attr("role","button"),this.options.icon&&(this._updateIcon("icon",this.options.icon),this._updateTooltip())},_updateTooltip:function(){this.title=this.element.attr("title"),this.options.showLabel||this.title||this.element.attr("title",this.options.label)},_updateIcon:function(t,e){var t="iconPosition"!==t,i=t?this.options.iconPosition:e,s="top"===i||"bottom"===i;this.icon?t&&this._removeClass(this.icon,null,this.options.icon):(this.icon=V("<span>"),this._addClass(this.icon,"ui-button-icon","ui-icon"),this.options.showLabel||this._addClass("ui-button-icon-only")),t&&this._addClass(this.icon,null,e),this._attachIcon(i),s?(this._addClass(this.icon,null,"ui-widget-icon-block"),this.iconSpace&&this.iconSpace.remove()):(this.iconS
vendor: 45,161 bytes, line 11124
11124pace||(this.iconSpace=V("<span> </span>"),this._addClass(this.iconSpace,"ui-button-icon-space")),this._removeClass(this.icon,null,"ui-wiget-icon-block"),this._attachIconSpace(i))},_destroy:function(){this.element.removeAttr("role"),this.icon&&this.icon.remove(),this.iconSpace&&this.iconSpace.remove(),this.hasTitle||this.element.removeAttr("title")},_attachIconSpace:function(t){this.icon[/^(?:end|bottom)/.test(t)?"before":"after"](this.iconSpace)},_attachIcon:function(t){this.element[/^(?:end|bottom)/.test(t)?"append":"prepend"](this.icon)},_setOptions:function(t){var e=(void 0===t.showLabel?this.options:t).showLabel,i=(void 0===t.icon?this.options:t).icon;e||i||(t.showLabel=!0),this._super(t)},_setOption:function(t,e){"icon"===t&&(e?this._updateIcon(t,e):this.icon&&(this.icon.remove(),this.iconSpace)&&this.iconSpace.remove()),"iconPosition"===t&&this._updateIcon(t,e),"showLabel"===t&&(this._toggleClass("ui-button-icon-only",null,!e),this._updateTooltip()),"label"===t&&(this.isInput?this.element.val(e):(this.element.html(e),this.icon&&(this._attachIcon(this.options.iconPosition),this._attachIconSpace(this.options.iconPosition)))),this._super(t,e),"disabled"===t&&(this._toggleClass(null,"ui-state-disabled",e),this.element[0].disabled=e)&&this.element.trigger("blur")},refresh:function(){var t=this.element.is("input, button")?this.element[0].disabled:this.element.hasClass("ui-button-disabled");t!==this.options.disabled&&this._setOptions({disabled:t}),this._updateTooltip()}}),!0===V.uiBackCompat&&(V.widget("ui.button",V.ui.button,{options:{text:!0,icons:{primary:null,secondary:null}},_create:function(){this.options.showLabel&&!this.options.text&&(this.options.showLabel=this.options.text),!this.options.showLabel&&this.options.text&&(this.options.text=this.options.showLabel),this.options.icon||!this.options.icons.primary&&!this.options.icons.secondary?this.options.icon&&(this.options.icons.primary=this.options.icon):this.options.icons.primary?this.options.icon=this.options.icons.primary:(this.options.icon=this.options.icons.secondary,this.options.iconPosition="end"),this._super()},_setOption:function(t,e){"text"===t?this._super("showLabel",e):("showLabel"===t&&(this.options.text=e),"icon"===t&&(this.options.icons.primary=e),"icons"===t&&(e.primary?(this._super("icon",e.primary),this._super("iconPosition","beginning")):e.secondary&&(this._super("icon",e.secondary),this._super("iconPosition","end"))),this._superApply(arguments))}}),V.fn.button=(et=V.fn.button,function(i){var t="string"==typeof i,s=Array.prototype.slice.call(arguments,1),n=this;return t?this.length||"instance"!==i?this.each(function(){var t,e=V(this).attr("type"),e=V.data(this,"ui-"+("checkbox"!==e&&"radio"!==e?"button":"checkboxradio"));return"instance"===i?(n=e,!1):e?"function"!=typeof e[i]||"_"===i.charAt(0)?V.error("no such method '"+i+"' for button widget instance"):(t=e[i].apply(e,s))!==e&&void 0!==t?(n=t&&t.jquery?n.pushStack(t.get()):t,!1):void 0:V.error("cannot call methods on button prior to initialization; attempted to call method '"+i+"'")}):n=void 0:(s.length&&(i=V.widget.extend.apply(null,[i].concat(s))),this.each(function(){var t=V(this).attr("type"),t="checkbox"!==t&&"radio"!==t?"button":"checkboxradio",e=V.data(this,"ui-"+t);e?(e.option(i||{}),e._init&&e._init()):"button"==t?et.call(V(this),i):V(this).checkboxradio(V.extend({icon:!1},i))})),n}),V.fn.buttonset=function(){return V.ui.controlgroup||V.error("Controlgroup widget missing"),"option"===arguments[0]&&"items"===arguments[1]&&arguments[2]?this.controlgroup.apply(this,[arguments[0],"items.button",arguments[2]]):"option"===arguments[0]&&"items"===arguments[1]?this.controlgroup.apply(this,[arguments[0],"items.button"]):("object"==typeof arguments[0]&&arguments[0].items&&(arguments[0].items={button:arguments[0].items}),this.controlgroup.apply(this,arguments))}),V.ui.button;function nt(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:"",selectMonthLabel:"Select month",selectYearLabel:"Select year"},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,onUpdateDatepicker:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},V.extend(this._defaults,this.regional[""]),this.regional.en=V.extend(!0,{},this.regional[""]),this.regional["en-US"]=V.extend(!0,{},this.regional.en),this.dpDiv=ot(V("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function ot(t){var e="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return t.on("mouseout",e,function(){V(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&V(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&V(this).removeClass("ui-datepicker-next-hover")}).on("mouseover",e,at)}function at(){V.datepicker._isDisabledDatepicker((S.inline?S.dpDiv.parent():S.input)[0])||(V(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),V(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&V(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&V(this).addClass("ui-datepicker-next-hover"))}function H(t,e){for(var i in V.extend(t,e),e)null==e[i]&&(t[i]=e[i])}V.extend(V.ui,{datepicker:{version:"1.14.1"}}),V.extend(nt.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(t){return H(this._defaults,t||{}),this},_attachDatepicker:function(t,e){var i,s=t.nodeName.toLowerCase(),n="div"===s||"span"===s;t.id||(this.uuid+=1,t.id="dp"+this.uuid),(i=this._newInst(V(t),n)).settings=V.extend({},e||{}),"input"===s?this._connectDatepicker(t,i):n&&this._inlineDatepicker(t,i)},_newInst:function(t,e){return{id:t[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1"),input:t,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:e,dpDiv:e?ot(V("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(t,e){var i=V(t);e.append=V([]),e.trigger=V([]),i.hasClass(this.markerClassName)||(this._attachments(i,e),i.addClass(this.markerClassName).on("keydown",this._doKeyDown).on("keypress",this._doKeyPress).on("keyup",this._doKeyUp),this._autoSize(e),V.data(t,"datepicker",e),e.settings.disabled&&this._disableDatepicker(t))},_attachments:function(t,e){var i,s=this._get(e,"appendText"),n=this._get(e,"isRTL");e.append&&e.append.remove(),s&&(e.append=V("<span>").addClass(this._appendClass).text(s),t[n?"before":"after"](e.append)),t.off("focus",this._showDatepicker),e.trigger&&e.trigger.remove(),"focus"!==(s=this._get(e,"showOn"))&&"both"!==s||t.on("focus",this._showDatepicker),"button"!==s&&"both"!==s||(s=this._get(e,"buttonText"),i=this._get(e,"buttonImage"),this._get(e,"buttonImageOnly")?e.trigger=V("<img>").addClass(this._triggerClass).attr({src:i,alt:s,title:s}):(e.trigger=V("<button type='button'>").addClass(this._triggerClass),i?e.trigger.html(V("<img>").attr({src:i,alt:s,title:s})):e.trigger.text(s)),t[n?"before":"after"](e.trigger),e.trigger.on("click",function(){return V.datepicker._datepickerShowing&&V.datepicker._lastInput===t[0]?V.datepicker._hideDatepicker():(V.datepicker._datepickerShowing&&V.datepicker._lastInput!==t[0]&&V.datepicker._hideDatepicker(),V.datepicker._showDatepicker(t[0])),!1}))},_autoSize:function(t){var e,i,s,n,o,a;this._get(t,"autoSize")&&!t.inline&&(o=new Date(2009,11,20),(a=this._get(t,"dateFormat")).match(/[DM]/)&&(o.setMonth((e=function(t){for(n=s=i=0;n<t.length;n++)t[n].length>i&&(i=t[n].length,s=n);return s})(this._get(t,a.match(/MM/)?"monthNames":"monthNamesShort"))),o.setDate(e(this._get(t,a.match(/DD/)?"dayNames":"dayNamesShort"))+20-o.getDay())),t.input.attr("size",this._formatDate(t,o).length))},_inlineDatepicker:function(t,e){var i=V(t);i.hasClass(this.markerClassName)||(i.addClass(this.markerClassName).append(e.dpDiv),V.data(t,"datepicker",e),this._setDate(e,this._getDefaultDate(e),!0),this._updateDatepicker(e),this._updateAlternate(e),e.settings.disabled&&this._disableDatepicker(t),e.dpDiv.css("display","block"))},_dialogDatepicker:function(t,e,i,s,n){var o,a=this._dialogInst;return a||(this.uuid+=1,o="dp"+this.uuid,this._dialogInput=V("<input type='text' id='"+o+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.on("keydown",this._doKeyDown),V("body").append(this._dialogInput),(a=this._dialogInst=this._newInst(this._dialogInput,!1)).settings={},V.data(this._dialogInput[0],"datepicker",a)),H(a.settings,s||{}),e=e&&e.constructor===Date?this._formatDate(a,e):e,this._dialogInput.val(e),this._pos=n?n.length?n:[n.pageX,n.pageY]:null,this._pos||(o=document.documentElement.clientWidth,s=document.documentElement.clientHeight,e=document.documentElement.scrollLeft||document.body.scrollLeft,n=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[o/2-100+e,s/2-150+n]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),a.settings.onSelect=i,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),V.blockUI&&V.blockUI(this.dpDiv),V.data(this._dialogInput[0],"datepicker",a),this},_destroyDatepicker:function(t){var e,i=V(t),s=V.data(t,"datepicker");i.hasClass(this.markerClassName)&&(e=t.nodeName.toLowerCase(),V.removeData(t,"datepicker"),"input"===e?(s.append.remove(),s.trigger.remove(),i.removeClass(this.markerClassName).off("focus",this._showDatepicker).off("keydown",this._doKeyDown).off("keypress",this._doKeyPress).off("keyup",this._doKeyUp)):"div"!==e&&"span"!==e||i.removeClass(this.markerClassName).empty(),V.datepicker._hideDatepicker(),S===s)&&(S=null,this._curInst=null)},_enableDatepicker:function(e){var t,i=V(e),s=V.data(e,"datepicker");i.hasClass(this.markerClassName)&&("input"===(t=e.nodeName.toLowerCase())?(e.disabled=!1,s.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):"div"!==t&&"span"!==t||((s=i.children("."+this._inlineClass)).children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=V.map(this._disabledInputs,function(t){return t===e?null:t}))},_disableDatepicker:function(e){var t,i=V(e),s=V.data(e,"datepicker");i.hasClass(this.markerClassName)&&("input"===(t=e.nodeName.toLowerCase())?(e.disabled=!0,s.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):"div"!==t&&"span"!==t||((s=i.children("."+this._inlineClass)).children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=V.map(this._disabledInputs,function(t){return t===e?null:t}),this._disabledInputs[this._disabledInputs.length]=e)},_isDisabledDatepicker:function(t){if(t)for(var e=0;e<this._disabledInputs.length;e++)if(this._disabledInputs[e]===t)return!0;return!1},_getInst:function(t){try{return V.data(t,"datepicker")}catch(t){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(t,e,i){var s,n,o=this._getInst(t);if(2===arguments.length&&"string"==typeof e)return"defaults"===e?V.extend({},V.datepicker._defaults):o?"all"===e?V.extend({},o.settings):this._get(o,e):null;s=e||{},"string"==typeof e&&((s={})[e]=i),o&&(this._curInst===o&&this._hideDatepicker(),e=this._getDateDatepicker(t,!0),i=this._getMinMaxDate(o,"min"),n=this._getMinMaxDate(o,"max"),H(o.settings,s),null!==i&&void 0!==s.dateFormat&&void 0===s.minDate&&(o.settings.minDate=this._formatDate(o,i)),null!==n&&void 0!==s.dateFormat&&void 0===s.maxDate&&(o.settings.maxDate=this._formatDate(o,n)),"disabled"in s&&(s.disabled?this._disableDatepicker(t):this._enableDatepicker(t)),this._attachments(V(t),o),this._autoSize(o),this._setDate(o,e),this._updateAlternate(o),this._updateDatepicker(o))},_changeDatepicker:function(t,e,i){this._optionDatepicker(t,e,i)},_refreshDatepicker:function(t){t=this._getInst(t);t&&this._updateDatepicker(t)},_setDateDatepicker:function(t,e){t=this._getInst(t);t&&(this._setDate(t,e),this._updateDatepicker(t),this._updateAlternate(t))},_getDateDatepicker:function(t,e){t=this._getInst(t);return t&&!t.inline&&this._setDateFromField(t,e),t?this._getDate(t):null},_doKeyDown:function(t){var e,i,s=V.datepicker._getInst(t.target),n=!0,o=s.dpDiv.is(".ui-datepicker-rtl");if(s._keyEvent=!0,V.datepicker._datepickerShowing)switch(t.keyCode){case 9:V.datepicker._hideDatepicker(),n=!1;break;case 13:return(i=V("td."+V.datepicker._dayOverClass+":not(."+V.datepicker._currentClass+")",s.dpDiv))[0]&&V.datepicker._selectDay(t.target,s.selectedMonth,s.selectedYear,i[0]),(i=V.datepicker._get(s,"onSelect"))?(e=V.datepicker._formatDate(s),i.apply(s.input?s.input[0]:null,[e,s])):V.datepicker._hideDatepicker(),!1;case 27:V.datepicker._hideDatepicker();break;case 33:V.datepicker._adjustDate(t.target,t.ctrlKey?-V.datepicker._get(s,"stepBigMonths"):-V.datepicker._get(s,"stepMonths"),"M");break;case 34:V.datepicker._adjustDate(t.target,t.ctrlKey?+V.datepicker._get(s,"stepBigMonths"):+V.datepicker._get(s,"stepMonths"),"M");break;case 35:(t.ctrlKey||t.metaKey)&&V.datepicker._clearDate(t.target),n=t.ctrlKey||t.metaKey;break;case 36:(t.ctrlKey||t.metaKey)&&V.datepicker._gotoToday(t.target),n=t.ctrlKey||t.metaKey;break;case 37:(t.ctrlKey||t.metaKey)&&V.datepicker._adjustDate(t.target,o?1:-1,"D"),n=t.ctrlKey||t.metaKey,t.originalEvent.altKey&&V.datepicker._adjustDate(t.target,t.ctrlKey?-V.datepicker._get(s,"stepBigMonths"):-V.datepicker._get(s,"stepMonths"),"M");break;case 38:(t.ctrlKey||t.metaKey)&&V.datepicker._adjustDate(t.target,-7,"D"),n=t.ctrlKey||t.metaKey;break;case 39:(t.ctrlKey||t.metaKey)&&V.datepicker._adjustDate(t.target,o?-1:1,"D"),n=t.ctrlKey||t.metaKey,t.originalEvent.altKey&&V.datepicker._adjustDate(t.target,t.ctrlKey?+V.datepicker._get(s,"stepBigMonths"):+V.datepicker._get(s,"stepMonths"),"M");break;case 40:(t.ctrlKey||t.metaKey)&&V.datepicker._adjustDate(t.target,7,"D"),n=t.ctrlKey||t.metaKey;break;default:n=!1}else 36===t.keyCode&&t.ctrlKey?V.datepicker._showDatepicker(this):n=!1;n&&(t.preventDefault(),t.stopPropagation())},_doKeyPress:function(t){var e,i=V.datepicker._getInst(t.target);if(V.datepicker._get(i,"constrainInput"))return i=V.datepicker._possibleChars(V.datepicker._get(i,"dateFormat")),e=String.fromCharCode(null==t.charCode?t.keyCode:t.charCode),t.ctrlKey||t.metaKey||e<" "||!i||-1<i.indexOf(e)},_doKeyUp:function(t){t=V.datepicker._getInst(t.target);if(t.input.val()!==t.lastVal)try{V.datepicker.parseDate(V.datepicker._get(t,"dateFormat"),t.input?t.input.val():null,V.datepicker._getFormatConfig(t))&&(V.datepicker._setDateFromField(t),V.datepicker._updateAlternate(t),V.datepicker._updateDatepicker(t))}catch(t){}return!0},_showDatepicker:function(t){var e,i,s,n;"input"!==(t=t.target||t).nodeName.toLowerCase()&&(t=V("input",t.parentNode)[0]),V.datepicker._isDisabledDatepicker(t)||V.datepicker._lastInput===t||(n=V.datepicker._getInst(t),V.datepicker._curInst&&V.datepicker._curInst!==n&&(V.datepicker._curInst.dpDiv.stop(!0,!0),n)&&V.datepicker._datepickerShowing&&V.datepicker._hideDatepicker(V.datepicker._curInst.input[0]),!1===(i=(i=V.datepicker._get(n,"beforeShow"))?i.apply(t,[t,n]):{}))||(H(n.settings,i),n.lastVal=null,V.datepicker._lastInput=t,V.datepicker._setDateFromField(n),V.datepicker._inDialog&&(t.value=""),V.datepicker._pos||(V.datepicker._pos=V.datepicker._findPos(t),V.datepicker._pos[1]+=t.offsetHeight),e=!1,V(t).parents().each(function(){return!(e|="fixed"===V(this).css("position"))}),i={left:V.datepicker._pos[0],top:V.datepicker._pos[1]},V.datepicker._pos=null,n.dpDiv.empty(),n.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),V.datepicker._updateDatepicker(n),i=V.datepicker._checkOffset(n,i,e),n.dpDiv.css({position:V.datepicker._inDialog&&V.blockUI?"static":e?"fixed":"absolute",display:"none",left:i.left+"px",top:i.top+"px"}),n.inline)||(i=V.datepicker._get(n,"showAnim"),s=V.datepicker._get(n,"duration"),n.dpDiv.css("z-index",(t=>{for(var e;t.length&&t[0]!==document;){if(("absolute"===(e=t.css("position"))||"relative"===e||"fixed"===e)&&(e=parseInt(t.css("zIndex"),10),!isNaN(e))&&0!==e)return e;t=t.parent()}return 0})(V(t))+1),V.datepicker._datepickerShowing=!0,V.effects&&V.effects.effect[i]?n.dpDiv.show(i,V.datepicker._get(n,"showOptions"),s):n.dpDiv[i||"show"](i?s:null),V.datepicker._shouldFocusInput(n)&&n.input.trigger("focus"),V.datepicker._curInst=n)},_updateDatepicker:function(t){this.maxRows=4,(S=t).dpDiv.empty().append(this._generateHTML(t)),this._attachHandlers(t);var e,i=this._getNumberOfMonths(t),s=i[1],n=t.dpDiv.find("."+this._dayOverClass+" a"),o=V.datepicker._get(t,"onUpdateDatepicker");0<n.length&&at.apply(n.get(0)),t.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),1<s&&t.dpDiv.addClass("ui-datepicker-multi-"+s).css("width",17*s+"em"),t.dpDiv[(1!==i[0]||1!==i[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),t.dpDiv[(this._get(t,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),t===V.datepicker._curInst&&V.datepicker._datepickerShowing&&V.datepicker._shouldFocusInput(t)&&t.input.trigger("focus"),t.yearshtml&&(e=t.yearshtml,setTimeout(function(){e===t.yearshtml&&t.yearshtml&&t.dpDiv.find("select.ui-datepicker-year").first().replaceWith(t.yearshtml),e=t.yearshtml=null},0)),o&&o.apply(t.input?t.input[0]:null,[t])},_shouldFocusInput:function(t){return t.input&&t.input.is(":visible")&&!t.input.is(":disabled")},_checkOffset:function(t,e,i){var s=t.dpDiv.outerWidth(),n=t.dpDiv.outerHeight(),o=t.input?t.input.outerWidth():0,a=t.input?t.input.outerHeight():0,r=document.documentElement.clientWidth+(i?0:V(document).scrollLeft()),l=document.documentElement.clientHeight+(i?0:V(document).scrollTop());return e.left-=this._get(t,"isRTL")?s-o:0,e.left-=i&&e.left===t.input.offset().left?V(document).scrollLeft():0,e.top-=i&&e.top===t.input.offset().top+a?V(document).scrollTop():0,e.left-=Math.min(e.left,r<e.left+s&&s<r?Math.abs(e.left+s-r):0),e.top-=Math.min(e.top,l<e.top+n&&n<l?Math.abs(n+a):0),e},_findPos:function(t){for(var e=this._getInst(t),i=this._get(e,"isRTL");t&&("hidden"===t.type||1!==t.nodeType||V.expr.pseudos.hidden(t));)t=t[i?"previousSibling":"nextSibling"];return[(e=V(t).offset()).left,e.top]},_hideDatepicker:function(t){var e,i,s=this._curInst;!s||t&&s!==V.data(t,"datepicker")||this._datepickerShowing&&(t=this._get(s,"showAnim"),i=this._get(s,"duration"),e=function(){V.datepicker._tidyDialog(s)},V.effects&&V.effects.effect[t]?s.dpDiv.hide(t,V.datepicker._get(s,"showOptions"),i,e):s.dpDiv["slideDown"===t?"slideUp":"fadeIn"===t?"fadeOut":"hide"](t?i:null,e),t||e(),this._datepickerShowing=!1,(i=this._get(s,"onClose"))&&i.apply(s.input?s.input[0]:null,[s.input?s.input.val():"",s]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),V.blockUI)&&(V.unblockUI(),V("body").append(this.dpDiv)),this._inDialog=!1)},_tidyDialog:function(t){t.dpDiv.removeClass(this._dialogClass).off(".ui-datepicker-calendar")},_checkExternalClick:function(t){var e;V.datepicker._curInst&&(t=V(t.target),e=V.datepicker._getInst(t[0]),!(t[0].id===V.datepicker._mainDivId||0!==t.parents("#"+V.datepicker._mainDivId).length||t.hasClass(V.datepicker.markerClassName)||t.closest("."+V.datepicker._triggerClass).length||!V.datepicker._datepickerShowing||V.datepicker._inDialog&&V.blockUI)||t.hasClass(V.datepicker.markerClassName)&&V.datepicker._curInst!==e)&&V.datepicker._hideDatepicker()},_adjustDate:function(t,e,i){var t=V(t),s=this._getInst(t[0]);this._isDisabledDatepicker(t[0])||(this._adjustInstDate(s,e,i),this._updateDatepicker(s))},_gotoToday:function(t){var e,t=V(t),i=this._getInst(t[0]);this._get(i,"gotoCurrent")&&i.currentDay?(i.selectedDay=i.currentDay,i.drawMonth=i.selectedMonth=i.currentMonth,i.drawYear=i.selectedYear=i.currentYear):(e=new Date,i.selectedDay=e.getDate(),i.drawMonth=i.selectedMonth=e.getMonth(),i.drawYear=i.selectedYear=e.getFullYear()),this._notifyChange(i),this._adjustDate(t)},_selectMonthYear:function(t,e,i){var t=V(t),s=this._getInst(t[0]);s["selected"+("M"===i?"Month":"Year")]=s["draw"+("M"===i?"Month":"Year")]=parseInt(e.options[e.selectedIndex].value,10),this._notifyChange(s),this._adjustDate(t)},_selectDay:function(t,e,i,s){var n=V(t);V(s).hasClass(this._unselectableClass)||this._isDisabledDatepicker(n[0])||((n=this._getInst(n[0])).selectedDay=n.currentDay=parseInt(V("a",s).attr("data-date")),n.selectedMonth=n.currentMonth=e,n.selectedYear=n.currentYear=i,this._selectDate(t,this._formatDate(n,n.currentDay,n.currentMonth,n.currentYear)))},_clearDate:function(t){t=V(t);this._selectDate(t,"")},_selectDate:function(t,e){var i,t=V(t),t=this._getInst(t[0]);e=null!=e?e:this._formatDate(t),t.input&&t.input.val(e),this._updateAlternate(t),(i=this._get(t,"onSelect"))?i.apply(t.input?t.input[0]:null,[e,t]):t.input&&t.input.trigger("change"),t.inline?this._updateDatepicker(t):(this._hideDatepicker(),this._lastInput=t.input[0],"object"!=typeof t.input[0]&&t.input.trigger("focus"),this._lastInput=null)},_updateAlternate:function(t){var e,i,s=this._get(t,"altField");s&&(i=this._get(t,"altFormat")||this._get(t,"dateFormat"),e=this._getDate(t),i=this.formatDate(i,e,this._getFormatConfig(t)),V(document).find(s).val(i))},noWeekends:function(t){t=t.getDay();return[0<t&&t<6,""]},iso8601Week:function(t){var e,t=new Date(t.getTime());return t.setDate(t.getDate()+4-(t.getDay()||7)),e=t.getTime(),t.setMonth(0),t.setDate(1),Math.floor(Math.round((e-t)/864e5)/7)+1},parseDate:function(e,n,t){if(null==e||null==n)throw"Invalid arguments";if(""===(n="object"==typeof n?n.toString():n+""))return null;for(var i,s,o=0,a=(t?t.shortYearCutoff:null)||this._defaults.shortYearCutoff,a="string"!=typeof a?a:(new Date).getFullYear()%100+parseInt(a,10),r=(t?t.dayNamesShort:null)||this._defaults.dayNamesShort,l=(t?t.dayNames:null)||this._defaults.dayNames,h=(t?t.monthNamesShort:null)||this._defaults.monthNamesShort,c=(t?t.monthNames:null)||this._defaults.monthNames,u=-1,d=-1,p=-1,f=-1,g=!1,m=function(t){t=y+1<e.length&&e.charAt(y+1)===t;return t&&y++,t},_=function(t){var e=m(t),e="@"===t?14:"!"===t?20:"y"===t&&e?4:"o"===t?3:2,t=new RegExp("^\\d{"+("y"===t?e:1)+","+e+"}"),e=n.substring(o).match(t);if(e)return o+=e[0].length,parseInt(e[0],10);throw"Missing number at position "+o},v=function(t,e,i){var s=-1,t=V.map(m(t)?i:e,function(t,e){return[[e,t]]}).sort(function(t,e){return-(t[1].length-e[1].length)});if(V.each(t,function(t,e){var i=e[1];if(n.substr(o,i.length).toLowerCase()===i.toLowerCase())return s=e[0],o+=i.length,!1}),-1!==s)return s+1;throw"Unknown name at position "+o},b=function(){if(n.charAt(o)!==e.charAt(y))throw"Unexpected literal at position "+o;o++},y=0;y<e.length;y++)if(g)"'"!==e.charAt(y)||m("'")?b():g=!1;else switch(e.charAt(y)){case"d":p=_("d");break;case"D":v("D",r,l);break;case"o":f=_("o");break;case"m":d=_("m");break;case"M":d=v("M",h,c);break;case"y":u=_("y");break;case"@":u=(s=new Date(_("@"))).getFullYear(),d=s.getMonth()+1,p=s.getDate();break;case"!":u=(s=new Date((_("!")-this._ticksTo1970)/1e4)).getFullYear(),d=s.getMonth()+1,p=s.getDate();break;case"'":m("'")?b():g=!0;break;default:b()}if(o<n.length&&(t=n.substr(o),!/^\s+/.test(t)))throw"Extra/unparsed characters found in date: "+t;if(-1===u?u=(new Date).getFullYear():u<100&&(u+=(new Date).getFullYear()-(new Date).getFullYear()%100+(u<=a?0:-100)),-1<f)for(d=1,p=f;;){if(p<=(i=this._getDaysInMonth(u,d-1)))break;d++,p-=i}if((s=this._daylightSavingAdjust(new Date(u,d-1,p))).getFullYear()!==u||s.getMonth()+1!==d||s.getDate()!==p)throw"Invalid date";return s},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*60*60*1e7,formatDate:function(e,t,i){if(!t)return"";function s(t,e,i){var s=""+e;if(c(t))for(;s.length<i;)s="0"+s;return s}function n(t,e,i,s){return(c(t)?s:i)[e]}var o,a=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,r=(i?i.dayNames:null)||this._defaults.dayNames,l=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,h=(i?i.monthNames:null)||this._defaults.monthNames,c=function(t){t=o+1<e.length&&e.charAt(o+1)===t;return t&&o++,t},u="",d=!1;if(t)for(o=0;o<e.length;o++)if(d)"'"!==e.charAt(o)||c("'")?u+=e.charAt(o):d=!1;else switch(e.charAt(o)){case"d":u+=s("d",t.getDate(),2);break;case"D":u+=n("D",t.getDay(),a,r);break;case"o":u+=s("o",Math.round((new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime()-new Date(t.getFullYear(),0,0).getTime())/864e5),3);break;case"m":u+=s("m",t.getMonth()+1,2);break;case"M":u+=n("M",t.getMonth(),l,h);break;case"y":u+=c("y")?t.getFullYear():(t.getFullYear()%100<10?"0":"")+t.getFullYear()%100;break;case"@":u+=t.getTime();break;case"!":u+=1e4*t.getTime()+this._ticksTo1970;break;case"'":c("'")?u+="'":d=!0;break;default:u+=e.charAt(o)}return u},_possibleChars:function(e){for(var t="",i=!1,s=function(t){t=n+1<e.length&&e.charAt(n+1)===t;return t&&n++,t},n=0;n<e.length;n++)if(i)"'"!==e.charAt(n)||s("'")?t+=e.charAt(n):i=!1;else switch(e.charAt(n)){case"d":case"m":case"y":case"@":t+="0123456789";break;case"D":case"M":return null;case"'":s("'")?t+="'":i=!0;break;default:t+=e.charAt(n)}return t},_get:function(t,e){return(void 0!==t.settings[e]?t.settings:this._defaults)[e]},_setDateFromField:function(t,e){if(t.input.val()!==t.lastVal){var i=this._get(t,"dateFormat"),s=t.lastVal=t.input?t.input.val():null,n=this._getDefaultDate(t),o=n,a=this._getFormatConfig(t);try{o=this.parseDate(i,s,a)||n}catch(t){s=e?"":s}t.selectedDay=o.getDate(),t.drawMonth=t.selectedMonth=o.getMonth(),t.drawYear=t.selectedYear=o.getFullYear(),t.currentDay=s?o.getDate():0,t.currentMonth=s?o.getMonth():0,t.currentYear=s?o.getFullYear():0,this._adjustInstDate(t)}},_getDefaultDate:function(t){return this._restrictMinMax(t,this._determineDate(t,this._get(t,"defaultDate"),new Date))},_determineDate:function(r,t,e){var i,s=null==t||""===t?e:"string"==typeof t?(t=>{try{return V.datepicker.parseDate(V.datepicker._get(r,"dateFormat"),t,V.datepicker._getFormatConfig(r))}catch(t){}for(var e=(t.toLowerCase().match(/^c/)?V.datepicker._getDate(r):null)||new Date,i=e.getFullYear(),s=e.getMonth(),n=e.getDate(),o=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,a=o.exec(t);a;){switch(a[2]||"d"){case"d":case"D":n+=parseInt(a[1],10);break;case"w":case"W":n+=7*parseInt(a[1],10);break;case"m":case"M":s+=parseInt(a[1],10),n=Math.min(n,V.datepicker._getDaysInMonth(i,s));break;case"y":case"Y":i+=parseInt(a[1],10),n=Math.min(n,V.datepicker._getDaysInMonth(i,s))}a=o.exec(t)}return new Date(i,s,n)})(t):"number"==typeof t?isNaN(t)?e:(s=t,(i=new Date).setDate(i.getDate()+s),i):new Date(t.getTime());return(s=s&&"Invalid Date"===s.toString()?e:s)&&(s.setHours(0),s.setMinutes(0),s.setSeconds(0),s.setMilliseconds(0)),this._daylightSavingAdjust(s)},_daylightSavingAdjust:function(t){return t?(t.setHours(12<t.getHours()?t.getHours()+2:0),t):null},_setDate:function(t,e,i){var s=!e,n=t.selectedMonth,o=t.selectedYear,e=this._restrictMinMax(t,this._determineDate(t,e,new Date));t.selectedDay=t.currentDay=e.getDate(),t.drawMonth=t.selectedMonth=t.currentMonth=e.getMonth(),t.drawYear=t.selectedYear=t.currentYear=e.getFullYear(),n===t.selectedMonth&&o===t.selectedYear||i||this._notifyChange(t),this._adjustInstDate(t),t.input&&t.input.val(s?"":this._formatDate(t))},_getDate:function(t){return!t.currentYear||t.input&&""===t.input.val()?null:this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay))},_attachHandlers:function(t){var e=this._get(t,"stepMonths"),i="#"+t.id.replace(/\\\\/g,"\\");t.dpDiv.find("[data-handler]").map(function(){var t={prev:function(){V.datepicker._adjustDate(i,-e,"M")},next:function(){V.datepicker._adjustDate(i,+e,"M")},hide:function(){V.datepicker._hideDatepicker()},today:function(){V.datepicker._gotoToday(i)},selectDay:function(){return V.datepicker._selectDay(i,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return V.datepicker._selectMonthYear(i,this,"M"),!1},selectYear:function(){return V.datepicker._selectMonthYear(i,this,"Y"),!1}};V(this).on(this.getAttribute("data-event"),t[this.getAttribute("data-handler")])})},_generateHTML:function(t){var e,i,s,n,o,N,W,F,L,a,r,R,l,h,c,u,d,p,f,g,m,_,Y,v,b,B,y,j,q,w,x,k,C=new Date,K=this._daylightSavingAdjust(new Date(C.getFullYear(),C.getMonth(),C.getDate())),D=this._get(t,"isRTL"),C=this._get(t,"showButtonPanel"),I=this._get(t,"hideIfNoPrevNext"),T=this._get(t,"navigationAsDateFormat"),P=this._getNumberOfMonths(t),M=this._get(t,"showCurrentAtPos"),S=this._get(t,"stepMonths"),U=1!==P[0]||1!==P[1],H=this._daylightSavingAdjust(t.currentDay?new Date(t.currentYear,t.currentMonth,t.currentDay):new Date(9999,9,9)),z=this._getMinMaxDate(t,"min"),O=this._getMinMaxDate(t,"max"),A=t.drawMonth-M,E=t.drawYear;if(A<0&&(A+=12,E--),O)for(e=this._daylightSavingAdjust(new Date(O.getFullYear(),O.getMonth()-P[0]*P[1]+1,O.getDate())),e=z&&e<z?z:e;this._daylightSavingAdjust(new Date(E,A,1))>e;)--A<0&&(A=11,E--);for(t.drawMonth=A,t.drawYear=E,M=this._get(t,"prevText"),M=T?this.formatDate(M,this._daylightSavingAdjust(new Date(E,A-S,1)),this._getFormatConfig(t)):M,i=this._canAdjustMonth(t,-1,E,A)?V("<a>").attr({class:"ui-datepicker-prev ui-corner-all","data-handler":"prev","data-event":"click",title:M}).append(V("<span>").addClass("ui-icon ui-icon-circle-triangle-"+(D?"e":"w")).text(M))[0].outerHTML:I?"":V("<a>").attr({class:"ui-datepicker-prev ui-corner-all ui-state-disabled",title:M}).append(V("<span>").addClass("ui-icon ui-icon-circle-triangle-"+(D?"e":"w")).text(M))[0].outerHTML,M=this._get(t,"nextText"),M=T?this.formatDate(M,this._daylightSavingAdjust(new Date(E,A+S,1)),this._getFormatConfig(t)):M,s=this._canAdjustMonth(t,1,E,A)?V("<a>").attr({class:"ui-datepicker-next ui-corner-all","data-handler":"next","data-event":"click",title:M}).append(V("<span>").addClass("ui-icon ui-icon-circle-triangle-"+(D?"w":"e")).text(M))[0].outerHTML:I?"":V("<a>").attr({class:"ui-datepicker-next ui-corner-all ui-state-disabled",title:M}).append(V("<span>").attr("class","ui-icon ui-icon-circle-triangle-"+(D?"w":"e")).text(M))[0].outerHTML,S=this._get(t,"currentText"),I=this._get(t,"gotoCurrent")&&t.currentDay?H:K,S=T?this.formatDate(S,I,this._getFormatConfig(t)):S,M="",t.inline||(M=V("<button>").attr({type:"button",class:"ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all","data-handler":"hide","data-event":"click"}).text(this._get(t,"closeText"))[0].outerHTML),T="",C&&(T=V("<div class='ui-datepicker-buttonpane ui-widget-content'>").append(D?M:"").append(this._isInRange(t,I)?V("<button>").attr({type:"button",class:"ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all","data-handler":"today","data-event":"click"}).text(S):"").append(D?"":M)[0].outerHTML),n=parseInt(this._get(t,"firstDay"),10),n=isNaN(n)?0:n,o=this._get(t,"showWeek"),N=this._get(t,"dayNames"),W=this._get(t,"dayNamesMin"),F=this._get(t,"monthNames"),L=this._get(t,"monthNamesShort"),a=this._get(t,"beforeShowDay"),r=this._get(t,"showOtherMonths"),R=this._get(t,"selectOtherMonths"),l=this._getDefaultDate(t),h="",u=0;u<P[0];u++){for(d="",this.maxRows=4,p=0;p<P[1];p++){if(f=this._daylightSavingAdjust(new Date(E,A,t.selectedDay)),g=" ui-corner-all",m="",U){if(m+="<div class='ui-datepicker-group",1<P[1])switch(p){case 0:m+=" ui-datepicker-group-first",g=" ui-corner-"+(D?"right":"left");break;case P[1]-1:m+=" ui-datepicker-group-last",g=" ui-corner-"+(D?"left":"right");break;default:m+=" ui-datepicker-group-middle",g=""}m+="'>"}for(m+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+g+"'>"+(/all|left/.test(g)&&0===u?D?s:i:"")+(/all|right/.test(g)&&0===u?D?i:s:"")+this._generateMonthYearHeader(t,A,E,z,O,0<u||0<p,F,L)+"</div><table class='ui-datepicker-calendar'><thead><tr>",_=o?"<th class='ui-datepicker-week-col'>"+this._get(t,"weekHeader")+"</th>":"",c=0;c<7;c++)_+="<th scope='col'"+(5<=(c+n+6)%7?" class='ui-datepicker-week-end'":"")+"><span title='"+N[Y=(c+n)%7]+"'>"+W[Y]+"</span></th>";for(m+=_+"</tr></thead><tbody>",b=this._getDaysInMonth(E,A),E===t.selectedYear&&A===t.selectedMonth&&(t.selectedDay=Math.min(t.selectedDay,b)),v=(this._getFirstDayOfMonth(E,A)-n+7)%7,b=Math.ceil((v+b)/7),B=U&&this.maxRows>b?this.maxRows:b,this.maxRows=B,y=this._daylightSavingAdjust(new Date(E,A,1-v)),j=0;j<B;j++){for(m+="<tr>",q=o?"<td class='ui-datepicker-week-col'>"+this._get(t,"calculateWeek")(y)+"</td>":"",c=0;c<7;c++)w=a?a.apply(t.input?t.input[0]:null,[y]):[!0,""],k=(x=y.getMonth()!==A)&&!R||!w[0]||z&&y<z||O&&O<y,q+="<td class='"+(5<=(c+n+6)%7?" ui-datepicker-week-end":"")+(x?" ui-datepicker-other-month":"")+(y.getTime()===f.getTime()&&A===t.selectedMonth&&t._keyEvent||l.getTime()===y.getTime()&&l.getTime()===f.getTime()?" "+this._dayOverClass:"")+(k?" "+this._unselectableClass+" ui-state-disabled":"")+(x&&!r?"":" "+w[1]+(y.getTime()===H.getTime()?" "+this._currentClass:"")+(y.getTime()===K.getTime()?" ui-datepicker-today":""))+"'"+(x&&!r||!w[2]?"":" title='"+w[2].replace(/'/g,"'")+"'")+(k?"":" data-handler='selectDay' data-event='click' data-month='"+y.getMonth()+"' data-year='"+y.getFullYear()+"'")+">"+(x&&!r?" ":k?"<span class='ui-state-default'>"+y.getDate()+"</span>":"<a class='ui-state-default"+(y.getTime()===K.getTime()?" ui-state-highlight":"")+(y.getTime()===H.getTime()?" ui-state-active":"")+(x?" ui-priority-secondary":"")+"' href='#' aria-current='"+(y.getTime()===H.getTime()?"true":"false")+"' data-date='"+y.getDate()+"'>"+y.getDate()+"</a>")+"</td>",y.setDate(y.getDate()+1),y=this._daylightSavingAdjust(y);m+=q+"</tr>"}11<++A&&(A=0,E++),d+=m+="</tbody></table>"+(U?"</div>"+(0<P[0]&&p===P[1]-1?"<div class='ui-datepicker-row-break'></div>":""):"")}h+=d}return h+=T,t._keyEvent=!1,h},_generateMonthYearHeader:function(t,e,i,s,n,o,a,r){var l,h,c,u,d,p,f=this._get(t,"changeMonth"),g=this._get(t,"changeYear"),m=this._get(t,"showMonthAfterYear"),_=this._get(t,"selectMonthLabel"),v=this._get(t,"selectYearLabel"),b="<div class='ui-datepicker-title'>",y="";if(o||!f)y+="<span class='ui-datepicker-month'>"+a[e]+"</span>";else{for(l=s&&s.getFullYear()===i,h=n&&n.getFullYear()===i,y+="<select class='ui-datepicker-month' aria-label='"+_+"' data-handler='selectMonth' data-event='change'>",c=0;c<12;c++)(!l||c>=s.getMonth())&&(!h||c<=n.getMonth())&&(y+="<option value='"+c+"'"+(c===e?" selected='selected'":"")+">"+r[c]+"</option>");y+="</select>"}if(m||(b+=y+(!o&&f&&g?"":" ")),!t.yearshtml)if(t.yearshtml="",o||!g)b+="<span class='ui-datepicker-year'>"+i+"</span>";else{for(a=this._get(t,"yearRange").split(":"),u=(new Date).getFullYear(),d=(_=function(t){t=t.match(/c[+\-].*/)?i+parseInt(t.substring(1),10):t.match(/[+\-].*/)?u+parseInt(t,10):parseInt(t,10);return isNaN(t)?u:t})(a[0]),p=Math.max(d,_(a[1]||"")),d=s?Math.max(d,s.getFullYear()):d,p=n?Math.min(p,n.getFullYear()):p,t.yearshtml+="<select class='ui-datepicker-year' aria-label='"+v+"' data-handler='selectYear' data-event='change'>";d<=p;d++)t.yearshtml+="<option value='"+d+"'"+(d===i?" selected='selected'":"")+">"+d+"</option>";t.yearshtml+="</select>",b+=t.yearshtml,t.yearshtml=null}return b+=this._get(t,"yearSuffix"),m&&(b+=(!o&&f&&g?"":" ")+y),b+="</div>"},_adjustInstDate:function(t,e,i){var s=t.selectedYear+("Y"===i?e:0),n=t.selectedMonth+("M"===i?e:0),e=Math.min(t.selectedDay,this._getDaysInMonth(s,n))+("D"===i?e:0),s=this._restrictMinMax(t,this._daylightSavingAdjust(new Date(s,n,e)));t.selectedDay=s.getDate(),t.drawMonth=t.selectedMonth=s.getMonth(),t.drawYear=t.selectedYear=s.getFullYear(),"M"!==i&&"Y"!==i||this._notifyChange(t)},_restrictMinMax:function(t,e){var i=this._getMinMaxDate(t,"min"),t=this._getMinMaxDate(t,"max"),i=i&&e<i?i:e;return t&&t<i?t:i},_notifyChange:function(t){var e=this._get(t,"onChangeMonthYear");e&&e.apply(t.input?t.input[0]:null,[t.selectedYear,t.selectedMonth+1,t])},_getNumberOfMonths:function(t){t=this._get(t,"numberOfMonths");return null==t?[1,1]:"number"==typeof t?[1,t]:t},_getMinMaxDate:function(t,e){return this._determineDate(t,this._get(t,e+"Date"),null)},_getDaysInMonth:function(t,e){return 32-this._daylightSavingAdjust(new Date(t,e,32)).getDate()},_getFirstDayOfMonth:function(t,e){return new Date(t,e,1).getDay()},_canAdjustMonth:function(t,e,i,s){var n=this._getNumberOfMonths(t),i=this._daylightSavingAdjust(new Date(i,s+(e<0?e:n[0]*n[1]),1));return e<0&&i.setDate(this._getDaysInMonth(i.getFullYear(),i.getMonth())),this._isInRange(t,i)},_isInRange:function(t,e){var i,s=this._getMinMaxDate(t,"min"),n=this._getMinMaxDate(t,"max"),o=null,a=null,t=this._get(t,"yearRange");return t&&(t=t.split(":"),i=(new Date).getFullYear(),o=parseInt(t[0],10),a=parseInt(t[1],10),t[0].match(/[+\-].*/)&&(o+=i),t[1].match(/[+\-].*/))&&(a+=i),(!s||e.getTime()>=s.getTime())&&(!n||e.getTime()<=n.getTime())&&(!o||e.getFullYear()>=o)&&(!a||e.getFullYear()<=a)},_getFormatConfig:function(t){var e=this._get(t,"shortYearCutoff");return{shortYearCutoff:"string"!=typeof e?e:(new Date).getFullYear()%100+parseInt(e,10),dayNamesShort:this._get(t,"dayNamesShort"),dayNames:this._get(t,"dayNames"),monthNamesShort:this._get(t,"monthNamesShort"),monthNames:this._get(t,"monthNames")}},_formatDate:function(t,e,i,s){e||(t.currentDay=t.selectedDay,t.currentMonth=t.selectedMonth,t.currentYear=t.selectedYear);s=e?"object"==typeof e?e:this._daylightSavingAdjust(new Date(s,i,e)):this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return this.formatDate(this._get(t,"dateFormat"),s,this._getFormatConfig(t))}}),V.fn.datepicker=function(t){if(!this.length)return this;V.datepicker.initialized||(V(document).on("mousedown",V.datepicker._checkExternalClick),V.datepicker.initialized=!0),0===V("#"+V.datepicker._mainDivId).length&&V("body").append(V.datepicker.dpDiv);var e=Array.prototype.slice.call(arguments,1);return"string"==typeof t&&("isDisabled"===t||"getDate"===t||"widget"===t)||"option"===t&&2===arguments.length&&"string"==typeof arguments[1]?V.datepicker["_"+t+"Datepicker"].apply(V.datepicker,[this[0]].concat(e)):this.each(function(){"string"==typeof t?V.datepicker["_"+t+"Datepicker"].apply(V.datepicker,[this].concat(e)):V.datepicker._attachDatepicker(this,t)})},V.datepicker=new nt,V.datepicker.initialized=!1,V.datepicker.uuid=(new Date).getTime(),V.datepicker.version="1.14.1";var z=!1;V(document).on("mouseup",function(){z=!1}),V.widget("ui.mouse",{version:"1.14.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(t){if(!0===V.data(t.target,e.widgetName+".preventClickEvent"))return V.removeData(t.target,e.widgetName+".preventClickEvent"),t.stopImmediatePropagation(),!1}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(t){var e,i,s;if(!z)return this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(t),i=1===(this._mouseDownEvent=t).which,s="string"==typeof(e=this).options.cancel&&V(t.target).closest(this.options.cancel).length,i&&!s&&this._mouseCapture(t)&&(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=!1!==this._mouseStart(t),!this._mouseStarted)?t.preventDefault():(!0===V.data(t.target,this.widgetName+".preventClickEvent")&&V.removeData(t.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return e._mouseMove(t)},this._mouseUpDelegate=function(t){return e._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),t.preventDefault(),z=!0)),!0},_mouseMove:function(t){if(this._mouseMoved&&!t.which)if(t.originalEvent.altKey||t.originalEvent.ctrlKey||t.originalEvent.metaKey||t.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(t);return(t.which||t.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=!1!==this._mouseStart(this._mouseDownEvent,t),this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(t){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&V.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,z=!1,t.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),V.ui.plugin={add:function(t,e,i){var s,n=V.ui[t].prototype;for(s in i)n.plugins[s]=n.plugins[s]||[],n.plugins[s].push([e,i[s]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;n<o.length;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},V.widget("ui.draggable",V.ui.mouse,{version:"1.14.1",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this._addClass("ui-draggable"),this._setHandleClassName(),this._mouseInit()},_setOption:function(t,e){this._super(t,e),"handle"===t&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){(this.helper||this.element).is(".ui-draggable-dragging")?this.destroyOnClear=!0:(this._removeHandleClassName(),this._mouseDestroy())},_mouseCapture:function(t){var e=this.options;return!(this.helper||e.disabled||0<V(t.target).closest(".ui-resizable-handle").length||(this.handle=this._getHandle(t),!this.handle)||(this._blurActiveElement(t),this._blockFrames(!0===e.iframeFix?"iframe":e.iframeFix),0))},_blockFrames:function(t){this.iframeBlocks=this.document.find(t).map(function(){var t=V(this);return V("<div>").css("position","absolute").appendTo(t.parent()).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()).offset(t.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(t){var e=this.document[0].activeElement;V(t.target).closest(e).length||V(e).trigger("blur"
vendor: 16,399 bytes, line 11124
11124)},_mouseStart:function(t){var e=this.options;return this.helper=this._createHelper(t),this._addClass(this.helper,"ui-draggable-dragging"),this._cacheHelperProportions(),V.ui.ddmanager&&(V.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=0<this.helper.parents().filter(function(){return"fixed"===V(this).css("position")}).length,this.positionAbs=this.element.offset(),this._refreshOffsets(t),this.originalPosition=this.position=this._generatePosition(t,!1),this.originalPageX=t.pageX,this.originalPageY=t.pageY,e.cursorAt&&this._adjustOffsetFromHelper(e.cursorAt),this._setContainment(),!1===this._trigger("start",t)?(this._clear(),!1):(this._cacheHelperProportions(),V.ui.ddmanager&&!e.dropBehaviour&&V.ui.ddmanager.prepareOffsets(this,t),this._mouseDrag(t,!0),V.ui.ddmanager&&V.ui.ddmanager.dragStart(this,t),!0)},_refreshOffsets:function(t){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:t.pageX-this.offset.left,top:t.pageY-this.offset.top}},_mouseDrag:function(t,e){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(t,!0),this.positionAbs=this._convertPositionTo("absolute"),!e){e=this._uiHash();if(!1===this._trigger("drag",t,e))return this._mouseUp(new V.Event("mouseup",t)),!1;this.position=e.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",V.ui.ddmanager&&V.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var e=this,i=!1;return V.ui.ddmanager&&!this.options.dropBehaviour&&(i=V.ui.ddmanager.drop(this,t)),this.dropped&&(i=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!i||"valid"===this.options.revert&&i||!0===this.options.revert||"function"==typeof this.options.revert&&this.options.revert.call(this.element,i)?V(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){!1!==e._trigger("stop",t)&&e._clear()}):!1!==this._trigger("stop",t)&&this._clear(),!1},_mouseUp:function(t){return this._unblockFrames(),V.ui.ddmanager&&V.ui.ddmanager.dragStop(this,t),this.handleElement.is(t.target)&&this.element.trigger("focus"),V.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp(new V.Event("mouseup",{target:this.element[0]})):this._clear(),this},_getHandle:function(t){return!this.options.handle||!!V(t.target).closest(this.element.find(this.options.handle)).length},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this._addClass(this.handleElement,"ui-draggable-handle")},_removeHandleClassName:function(){this._removeClass(this.handleElement,"ui-draggable-handle")},_createHelper:function(t){var e=this.options,i="function"==typeof e.helper,t=i?V(e.helper.apply(this.element[0],[t])):"clone"===e.helper?this.element.clone().removeAttr("id"):this.element;return t.parents("body").length||t.appendTo("parent"===e.appendTo?this.element[0].parentNode:e.appendTo),i&&t[0]===this.element[0]&&this._setPositionRelative(),t[0]===this.element[0]||/(fixed|absolute)/.test(t.css("position"))||t.css("position","absolute"),t},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),"left"in(t=Array.isArray(t)?{left:+t[0],top:+t[1]||0}:t)&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_isRootNode:function(t){return/(html|body)/i.test(t.tagName)||t===this.document[0]},_getParentOffset:function(){var t=this.offsetParent.offset(),e=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==e&&V.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),{top:(t=this._isRootNode(this.offsetParent[0])?{top:0,left:0}:t).top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){var t,e;return"relative"!==this.cssPosition?{top:0,left:0}:(t=this.element.position(),e=this._isRootNode(this.scrollParent[0]),{top:t.top-(parseInt(this.helper.css("top"),10)||0)+(e?0:this.scrollParent.scrollTop()),left:t.left-(parseInt(this.helper.css("left"),10)||0)+(e?0:this.scrollParent.scrollLeft())})},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,e=this.options,i=this.document[0];this.relativeContainer=null,e.containment?"window"===e.containment?this.containment=[V(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,V(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,V(window).scrollLeft()+V(window).width()-this.helperProportions.width-this.margins.left,V(window).scrollTop()+(V(window).height()||i.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]:"document"===e.containment?this.containment=[0,0,V(i).width()-this.helperProportions.width-this.margins.left,(V(i).height()||i.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]:e.containment.constructor===Array?this.containment=e.containment:("parent"===e.containment&&(e.containment=this.helper[0].parentNode),(e=(i=V(e.containment))[0])&&(t=/(scroll|auto)/.test(i.css("overflow")),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(t?Math.max(e.scrollWidth,e.offsetWidth):e.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(t?Math.max(e.scrollHeight,e.offsetHeight):e.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=i)):this.containment=null},_convertPositionTo:function(t,e){e=e||this.position;var t="absolute"===t?1:-1,i=this._isRootNode(this.scrollParent[0]);return{top:e.top+this.offset.relative.top*t+this.offset.parent.top*t-("fixed"===this.cssPosition?-this.offset.scroll.top:i?0:this.offset.scroll.top)*t,left:e.left+this.offset.relative.left*t+this.offset.parent.left*t-("fixed"===this.cssPosition?-this.offset.scroll.left:i?0:this.offset.scroll.left)*t}},_generatePosition:function(t,e){var i,s=this.options,n=this._isRootNode(this.scrollParent[0]),o=t.pageX,a=t.pageY;return n&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),{top:(a=e&&(this.containment&&(i=this.relativeContainer?(e=this.relativeContainer.offset(),[this.containment[0]+e.left,this.containment[1]+e.top,this.containment[2]+e.left,this.containment[3]+e.top]):this.containment,t.pageX-this.offset.click.left<i[0]&&(o=i[0]+this.offset.click.left),t.pageY-this.offset.click.top<i[1]&&(a=i[1]+this.offset.click.top),t.pageX-this.offset.click.left>i[2]&&(o=i[2]+this.offset.click.left),t.pageY-this.offset.click.top>i[3])&&(a=i[3]+this.offset.click.top),s.grid&&(e=s.grid[1]?this.originalPageY+Math.round((a-this.originalPageY)/s.grid[1])*s.grid[1]:this.originalPageY,a=!i||e-this.offset.click.top>=i[1]||e-this.offset.click.top>i[3]?e:e-this.offset.click.top>=i[1]?e-s.grid[1]:e+s.grid[1],t=s.grid[0]?this.originalPageX+Math.round((o-this.originalPageX)/s.grid[0])*s.grid[0]:this.originalPageX,o=!i||t-this.offset.click.left>=i[0]||t-this.offset.click.left>i[2]?t:t-this.offset.click.left>=i[0]?t-s.grid[0]:t+s.grid[0]),"y"===s.axis&&(o=this.originalPageX),"x"===s.axis)?this.originalPageY:a)-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:n?0:this.offset.scroll.top),left:o-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:n?0:this.offset.scroll.left)}},_clear:function(){this._removeClass(this.helper,"ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_trigger:function(t,e,i){return i=i||this._uiHash(),V.ui.plugin.call(this,t,[e,i,this],!0),/^(drag|start|stop)/.test(t)&&(this.positionAbs=this._convertPositionTo("absolute"),i.offset=this.positionAbs),V.Widget.prototype._trigger.call(this,t,e,i)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),V.ui.plugin.add("draggable","connectToSortable",{start:function(e,t,i){var s=V.extend({},t,{item:i.element});i.sortables=[],V(i.options.connectToSortable).each(function(){var t=V(this).sortable("instance");t&&!t.options.disabled&&(i.sortables.push(t),t.refreshPositions(),t._trigger("activate",e,s))})},stop:function(e,t,i){var s=V.extend({},t,{item:i.element});i.cancelHelperRemoval=!1,V.each(i.sortables,function(){var t=this;t.isOver?(t.isOver=0,i.cancelHelperRemoval=!0,t.cancelHelperRemoval=!1,t._storedCSS={position:t.placeholder.css("position"),top:t.placeholder.css("top"),left:t.placeholder.css("left")},t._mouseStop(e),t.options.helper=t.options._helper):(t.cancelHelperRemoval=!0,t._trigger("deactivate",e,s))})},drag:function(i,s,n){V.each(n.sortables,function(){var t=!1,e=this;e.positionAbs=n.positionAbs,e.helperProportions=n.helperProportions,e.offset.click=n.offset.click,e._intersectsWith(e.containerCache)&&(t=!0,V.each(n.sortables,function(){return this.positionAbs=n.positionAbs,this.helperProportions=n.helperProportions,this.offset.click=n.offset.click,t=this!==e&&this._intersectsWith(this.containerCache)&&V.contains(e.element[0],this.element[0])?!1:t})),t?(e.isOver||(e.isOver=1,n._parent=s.helper.parent(),e.currentItem=s.helper.appendTo(e.element).data("ui-sortable-item",!0),e.options._helper=e.options.helper,e.options.helper=function(){return s.helper[0]},i.target=e.currentItem[0],e._mouseCapture(i,!0),e._mouseStart(i,!0,!0),e.offset.click.top=n.offset.click.top,e.offset.click.left=n.offset.click.left,e.offset.parent.left-=n.offset.parent.left-e.offset.parent.left,e.offset.parent.top-=n.offset.parent.top-e.offset.parent.top,n._trigger("toSortable",i),n.dropped=e.element,V.each(n.sortables,function(){this.refreshPositions()}),n.currentItem=n.element,e.fromOutside=n),e.currentItem&&(e._mouseDrag(i),s.position=e.position)):e.isOver&&(e.isOver=0,e.cancelHelperRemoval=!0,e.options._revert=e.options.revert,e.options.revert=!1,e._trigger("out",i,e._uiHash(e)),e._mouseStop(i,!0),e.options.revert=e.options._revert,e.options.helper=e.options._helper,e.placeholder&&e.placeholder.remove(),s.helper.appendTo(n._parent),n._refreshOffsets(i),s.position=n._generatePosition(i,!0),n._trigger("fromSortable",i),n.dropped=!1,V.each(n.sortables,function(){this.refreshPositions()}))})}}),V.ui.plugin.add("draggable","cursor",{start:function(t,e,i){var s=V("body"),i=i.options;s.css("cursor")&&(i._cursor=s.css("cursor")),s.css("cursor",i.cursor)},stop:function(t,e,i){i=i.options;i._cursor&&V("body").css("cursor",i._cursor)}}),V.ui.plugin.add("draggable","opacity",{start:function(t,e,i){e=V(e.helper),i=i.options;e.css("opacity")&&(i._opacity=e.css("opacity")),e.css("opacity",i.opacity)},stop:function(t,e,i){i=i.options;i._opacity&&V(e.helper).css("opacity",i._opacity)}}),V.ui.plugin.add("draggable","scroll",{start:function(t,e,i){i.scrollParentNotHidden||(i.scrollParentNotHidden=i.helper.scrollParent(!1)),i.scrollParentNotHidden[0]!==i.document[0]&&"HTML"!==i.scrollParentNotHidden[0].tagName&&(i.overflowOffset=i.scrollParentNotHidden.offset())},drag:function(t,e,i){var s=i.options,n=!1,o=i.scrollParentNotHidden[0],a=i.document[0];o!==a&&"HTML"!==o.tagName?(s.axis&&"x"===s.axis||(i.overflowOffset.top+o.offsetHeight-t.pageY<s.scrollSensitivity?o.scrollTop=n=o.scrollTop+s.scrollSpeed:t.pageY-i.overflowOffset.top<s.scrollSensitivity&&(o.scrollTop=n=o.scrollTop-s.scrollSpeed)),s.axis&&"y"===s.axis||(i.overflowOffset.left+o.offsetWidth-t.pageX<s.scrollSensitivity?o.scrollLeft=n=o.scrollLeft+s.scrollSpeed:t.pageX-i.overflowOffset.left<s.scrollSensitivity&&(o.scrollLeft=n=o.scrollLeft-s.scrollSpeed))):(s.axis&&"x"===s.axis||(t.pageY-V(a).scrollTop()<s.scrollSensitivity?n=V(a).scrollTop(V(a).scrollTop()-s.scrollSpeed):V(window).height()-(t.pageY-V(a).scrollTop())<s.scrollSensitivity&&(n=V(a).scrollTop(V(a).scrollTop()+s.scrollSpeed))),s.axis&&"y"===s.axis||(t.pageX-V(a).scrollLeft()<s.scrollSensitivity?n=V(a).scrollLeft(V(a).scrollLeft()-s.scrollSpeed):V(window).width()-(t.pageX-V(a).scrollLeft())<s.scrollSensitivity&&(n=V(a).scrollLeft(V(a).scrollLeft()+s.scrollSpeed)))),!1!==n&&V.ui.ddmanager&&!s.dropBehaviour&&V.ui.ddmanager.prepareOffsets(i,t)}}),V.ui.plugin.add("draggable","snap",{start:function(t,e,i){var s=i.options;i.snapElements=[],V(s.snap.constructor!==String?s.snap.items||":data(ui-draggable)":s.snap).each(function(){var t=V(this),e=t.offset();this!==i.element[0]&&i.snapElements.push({item:this,width:t.outerWidth(),height:t.outerHeight(),top:e.top,left:e.left})})},drag:function(t,e,i){for(var s,n,o,a,r,l,h,c,u,d=i.options,p=d.snapTolerance,f=e.offset.left,g=f+i.helperProportions.width,m=e.offset.top,_=m+i.helperProportions.height,v=i.snapElements.length-1;0<=v;v--)l=(r=i.snapElements[v].left-i.margins.left)+i.snapElements[v].width,c=(h=i.snapElements[v].top-i.margins.top)+i.snapElements[v].height,g<r-p||l+p<f||_<h-p||c+p<m||!V.contains(i.snapElements[v].item.ownerDocument,i.snapElements[v].item)?(i.snapElements[v].snapping&&i.options.snap.release&&i.options.snap.release.call(i.element,t,V.extend(i._uiHash(),{snapItem:i.snapElements[v].item})),i.snapElements[v].snapping=!1):("inner"!==d.snapMode&&(s=Math.abs(h-_)<=p,n=Math.abs(c-m)<=p,o=Math.abs(r-g)<=p,a=Math.abs(l-f)<=p,s&&(e.position.top=i._convertPositionTo("relative",{top:h-i.helperProportions.height,left:0}).top),n&&(e.position.top=i._convertPositionTo("relative",{top:c,left:0}).top),o&&(e.position.left=i._convertPositionTo("relative",{top:0,left:r-i.helperProportions.width}).left),a)&&(e.position.left=i._convertPositionTo("relative",{top:0,left:l}).left),u=s||n||o||a,"outer"!==d.snapMode&&(s=Math.abs(h-m)<=p,n=Math.abs(c-_)<=p,o=Math.abs(r-f)<=p,a=Math.abs(l-g)<=p,s&&(e.position.top=i._convertPositionTo("relative",{top:h,left:0}).top),n&&(e.position.top=i._convertPositionTo("relative",{top:c-i.helperProportions.height,left:0}).top),o&&(e.position.left=i._convertPositionTo("relative",{top:0,left:r}).left),a)&&(e.position.left=i._convertPositionTo("relative",{top:0,left:l-i.helperProportions.width}).left),!i.snapElements[v].snapping&&(s||n||o||a||u)&&i.options.snap.snap&&i.options.snap.snap.call(i.element,t,V.extend(i._uiHash(),{snapItem:i.snapElements[v].item})),i.snapElements[v].snapping=s||n||o||a||u)}}),V.ui.plugin.add("draggable","stack",{start:function(t,e,i){var s,i=i.options,i=V.makeArray(V(i.stack)).sort(function(t,e){return(parseInt(V(t).css("zIndex"),10)||0)-(parseInt(V(e).css("zIndex"),10)||0)});i.length&&(s=parseInt(V(i[0]).css("zIndex"),10)||0,V(i).each(function(t){V(this).css("zIndex",s+t)}),this.css("zIndex",s+i.length))}}),V.ui.plugin.add("draggable","zIndex",{start:function(t,e,i){e=V(e.helper),i=i.options;e.css("zIndex")&&(i._zIndex=e.css("zIndex")),e.css("zIndex",i.zIndex)},stop:function(t,e,i){i=i.options;i._zIndex&&V(e.helper).css("zIndex",i._zIndex)}}),V.ui.draggable,V.widget("ui.resizable",V.ui.mouse,{version:"1.1
111244.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(t,e){var i=!1,s=V(t).css("overflow");if("hidden"===s)return!1;if("scroll"===s)return!0;if(0<t[s=e&&"left"===e?"scrollLeft":"scrollTop"])return!0;try{t[s]=1,i=0<t[s],t[s]=0}catch(t){}return i},_create:function(){var t,e=this.options,i=this;this._addClass("ui-resizable"),V.extend(this,{_aspectRatio:!!e.aspectRatio,aspectRatio:e.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:e.helper||e.ghost||e.animate?e.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(V("<div class='ui-wrapper'></div>").css({overflow:"hidden",position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,t={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(t),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this._proportionallyResize()),this._setupHandles(),e.autoHide&&V(this.element).on("mouseenter",function(){e.disabled||(i._removeClass("ui-resizable-autohide"),i._handles.show())}).on("mouseleave",function(){e.disabled||i.resizing||(i._addClass("ui-resizable-autohide"),i._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy(),this._addedHandles.remove();function t(t){V(t).removeData("resizable").removeData("ui-resizable").off(".resizable")}var e;return this.elementIsWrapper&&(t(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),t(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;case"aspectRatio":this._aspectRatio=!!e}},_setupHandles:function(){var t,e,i,s,n,o=this.options,a=this;if(this.handles=o.handles||(V(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=V(),this._addedHandles=V(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),i=this.handles.split(","),this.handles={},e=0;e<i.length;e++)s="ui-resizable-"+(t=String.prototype.trim.call(i[e])),n=V("<div>"),this._addClass(n,"ui-resizable-handle "+s),n.css({zIndex:o.zIndex}),this.handles[t]=".ui-resizable-"+t,this.element.children(this.handles[t]).length||(this.element.append(n),this._addedHandles=this._addedHandles.add(n));this._renderAxis=function(t){var e,i,s;for(e in t=t||this.element,this.handles)this.handles[e].constructor===String?this.handles[e]=this.element.children(this.handles[e]).first().show():(this.handles[e].jquery||this.handles[e].nodeType)&&(this.handles[e]=V(this.handles[e]),this._on(this.handles[e],{mousedown:a._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=V(this.handles[e],this.element),s=/sw|ne|nw|se|n|s/.test(e)?s.outerHeight():s.outerWidth(),i=["padding",/ne|nw|n
vendor: 4,452 bytes, line 11124
11124/.test(e)?"Top":/se|sw|s/.test(e)?"Bottom":/^e$/.test(e)?"Right":"Left"].join(""),t.css(i,s),this._proportionallyResize()),this._handles=this._handles.add(this.handles[e])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){a.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),a.axis=n&&n[1]?n[1]:"se")}),o.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._addedHandles.remove()},_mouseCapture:function(t){var e,i,s=!1;for(e in this.handles)(i=V(this.handles[e])[0])!==t.target&&!V.contains(i,t.target)||(s=!0);return!this.options.disabled&&s},_mouseStart:function(t){var e,i,s,n=this.options,o=this.element;return this.resizing=!0,this._renderProxy(),e=this._num(this.helper.css("left")),i=this._num(this.helper.css("top")),n.containment&&(e+=V(n.containment).scrollLeft()||0,i+=V(n.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:e,top:i},this._helper||(s=this._calculateAdjustedElementDimensions(o)),this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:s.width,height:s.height},this.originalSize=this._helper?{width:o.outerWidth(),height:o.outerHeight()}:{width:s.width,height:s.height},this.sizeDiff={width:o.outerWidth()-o.width(),height:o.outerHeight()-o.height()},this.originalPosition={left:e,top:i},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio="number"==typeof n.aspectRatio?n.aspectRatio:this.originalSize.width/this.originalSize.height||1,s=V(".ui-resizable-"+this.axis).css("cursor"),V("body").css("cursor","auto"===s?this.axis+"-resize":s),this._addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(t){var e=this.originalMousePosition,i=this.axis,s=t.pageX-e.left||0,e=t.pageY-e.top||0,i=this._change[i];return this._updatePrevProperties(),i&&(i=i.apply(this,[t,s,e]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(i=this._updateRatio(i,t)),i=this._respectSize(i,t),this._updateCache(i),this._propagate("resize",t),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),V.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",t,this.ui()),this._applyChanges())),!1},_mouseStop:function(t){this.resizing=!1;var e,i,s,n=this.options,o=this;return this._helper&&(i=(e=(i=this._proportionallyResizeElements).length&&/textarea/i.test(i[0].nodeName))&&this._hasScroll(i[0],"left")?0:o.sizeDiff.height,e=e?0:o.sizeDiff.width,e={width:o.helper.width()-e,height:o.helper.height()-i},i=parseFloat(o.element.css("left"))+(o.position.left-o.originalPosition.left)||null,s=parseFloat(o.element.css("top"))+(o.position.top-o.originalPosition.top)||null,n.animate||this.element.css(V.extend(e,{top:s,left:i})),o.helper.height(o.size.height),o.helper.width(o.size.width),this._helper)&&!n.animate&&this._proportionallyResize(),V("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.helper.css(t),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px",this.helper.width(t.width)),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px",this.helper.height(t.height)),t},_updateVirtualBoundaries:function(t){var e,i,s,n=this.options,n={minWidth:this._isNumber(n.minWidth)?n.minWidth:0,maxWidth:this._isNumber(n.maxWidth)?n.maxWidth:1/0,minHeight:this._isNumber(n.minHeight)?n.minHeight:0,maxHeight:this._isNumber(n.maxHeight)?n.maxHeight:1/0};(this._aspectRatio||t)&&(t=n.minHeight*this.aspectRatio,i=n.minWidth/this.aspectRatio,e=n.maxHeight*this.aspectRatio,s=n.maxWidth/this.aspectRatio,n.minWidth<t&&(n.minWidth=t),n.minHeight<i&&(n.minHeight=i),e<n.maxWidth&&(n.maxWidth=e),s<n.maxHeight)&&(n.maxHeight=s),this._vBoundaries=n},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left
vendor: 6,375 bytes, line 11124
11124=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidth<t.width,n=this._isNumber(t.height)&&e.maxHeight&&e.maxHeight<t.height,o=this._isNumber(t.width)&&e.minWidth&&e.minWidth>t.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,l=this.originalPosition.top+this.originalSize.height,h=/sw|nw|w/.test(i),i=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&h&&(t.left=r-e.minWidth),s&&h&&(t.left=r-e.maxWidth),a&&i&&(t.top=l-e.minHeight),n&&i&&(t.top=l-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];e<4;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_calculateAdjustedElementDimensions:function(t){var e,i,s=t.get(0);return"content-box"!==t.css("box-sizing")||!this._hasScroll(s)&&!this._hasScroll(s,"left")?{height:parseFloat(t.css("height")),width:parseFloat(t.css("width"))}:(e=parseFloat(s.style.width),s=parseFloat(s.style.height),i=this._getPaddingPlusBorderDimensions(t),e=isNaN(e)?this._getElementTheoreticalSize(t,i,"width"):e,{height:isNaN(s)?this._getElementTheoreticalSize(t,i,"height"):s,width:e})},_getElementTheoreticalSize:function(t,e,i){return Math.max(0,Math.ceil(t.get(0)["offset"+i[0].toUpperCase()+i.slice(1)]-e[i]-.5))||0},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;e<this._proportionallyResizeElements.length;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var t=this.element,e=this.options;this.elementOffset=t.offset(),this._helper?(this.helper=this.helper||V("<div></div>").css({overflow:"hidden"}),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++e.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize;return{left:this.originalPosition.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize;return{top:this.originalPosition.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(t,e,i){return V.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},sw:function(t,e,i){return V.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,e,i]))},ne:function(t,e,i){return V.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},nw:function(t,e,i){return V.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,e,i]))}},_propagate:function(t,e){V.ui.plugin.call(this,t,[e,this.ui()]),"resize"!==t&&this._trigger(t,e,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),V.ui.plugin.add("resizable","animate",{stop:function(e){var i=V(this).resizable("instance"),t=i.options,s=i._proportionallyResizeElements,n=s.length&&/textarea/i.test(s[0].nodeName),o=n&&i._hasScroll(s[0],"left")?0:i.sizeDiff.height,n=n?0:i.sizeDiff.width,n={width:i.size.width-n,height:i.size.height-o},o=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,a=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(V.extend(n,a&&o?{top:a,left:o}:{}),{duration:t.animateDuration,easing:t.animateEasing,step:function(){var t={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};s&&s.length&&V(s[0]).css({width:t.width,height:t.height}),i._updateCache(t),i._propagate("resize",e)}})}}),V.ui.plugin.add("resizable","containment",{start:function(){var i,s,t,e,n=V(this).resizable("instance"),o=n.options,a=n.element,o=o.containment,a=o instanceof V?o.get(0):/parent/.test(o)?a.parent().get(0):o;a&&(n.containerElement=V(a),/document/.test(o)||o===document?(n.containerOffset={left:0,top:0},n.containerPosition={left:0,top:0},n.parentData={element:V(document),left:0,top:0,width:V(document).width(),height:V(document).height()||document.body.parentNode.scrollHeight}):(i=V(a),s=[],V(["Top","Right","Left","Bottom"]).each(function(t,e){s[t]=n._num(i.css("padding"+e))}),n.containerOffset=i.offset(),n.containerPosition=i.position(),n.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},o=n.containerOffset,e=n.containerSize.height,t=n.containerSize.width,t=n._hasScroll(a,"left")?a.scrollWidth:t,e=n._hasScroll(a)?a.scrollHeight:e,n.parentData={element:a,left:o.left,top:o.top,width:t,height:e}))},resize:function(t){var e=V(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.position,t=e._aspectRatio||t.shiftKey,o={top:0,left:0},a=e.containerElement,r=!0;a[0]!==document&&/static/.test(a.css("position"))&&(o=s),n.left<(e._helper?s.left:0)&&(e.size.width=e.size.width+(e._helper?e.position.left-s.left:e.position.left-o.left),t&&(e.size.height=e.size.width/e.aspectRatio,r=!1),e.position.left
vendor: 38,457 bytes, line 11124
11124=i.helper?s.left:0),n.top<(e._helper?s.top:0)&&(e.size.height=e.size.height+(e._helper?e.position.top-s.top:e.position.top),t&&(e.size.width=e.size.height*e.aspectRatio,r=!1),e.position.top=e._helper?s.top:0),a=e.containerElement.get(0)===e.element.parent().get(0),i=/relative|absolute/.test(e.containerElement.css("position")),a&&i?(e.offset.left=e.parentData.left+e.position.left,e.offset.top=e.parentData.top+e.position.top):(e.offset.left=e.element.offset().left,e.offset.top=e.element.offset().top),n=Math.abs(e.sizeDiff.width+(e._helper?e.offset.left-o.left:e.offset.left-s.left)),a=Math.abs(e.sizeDiff.height+(e._helper?e.offset.top-o.top:e.offset.top-s.top)),n+e.size.width>=e.parentData.width&&(e.size.width=e.parentData.width-n,t)&&(e.size.height=e.size.width/e.aspectRatio,r=!1),a+e.size.height>=e.parentData.height&&(e.size.height=e.parentData.height-a,t)&&(e.size.width=e.size.height*e.aspectRatio,r=!1),r||(e.position.left=e.prevPosition.left,e.position.top=e.prevPosition.top,e.size.width=e.prevSize.width,e.size.height=e.prevSize.height)},stop:function(){var t=V(this).resizable("instance"),e=t.options,i=t.containerOffset,s=t.containerPosition,n=t.containerElement,o=V(t.helper),a=o.offset(),r=o.outerWidth()-t.sizeDiff.width,o=o.outerHeight()-t.sizeDiff.height;t._helper&&!e.animate&&/relative/.test(n.css("position"))&&V(this).css({left:a.left-s.left-i.left,width:r,height:o}),t._helper&&!e.animate&&/static/.test(n.css("position"))&&V(this).css({left:a.left-s.left-i.left,width:r,height:o})}}),V.ui.plugin.add("resizable","alsoResize",{start:function(){var i=V(this).resizable("instance"),t=i.options;V(t.alsoResize).each(function(){var t=V(this),e=i._calculateAdjustedElementDimensions(t);t.data("ui-resizable-alsoresize",{width:e.width,height:e.height,left:parseFloat(t.css("left")),top:parseFloat(t.css("top"))})})},resize:function(t,i){var e=V(this).resizable("instance"),s=e.options,n=e.originalSize,o=e.originalPosition,a={height:e.size.height-n.height||0,width:e.size.width-n.width||0,top:e.position.top-o.top||0,left:e.position.left-o.left||0};V(s.alsoResize).each(function(){var t=V(this),s=V(this).data("ui-resizable-alsoresize"),n={},e=t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];V.each(e,function(t,e){var i=(s[e]||0)+(a[e]||0);i&&0<=i&&(n[e]=i||null)}),t.css(n)})},stop:function(){V(this).removeData("ui-resizable-alsoresize")}}),V.ui.plugin.add("resizable","ghost",{start:function(){var t=V(this).resizable("instance"),e=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}),t._addClass(t.ghost,"ui-resizable-ghost"),!0===V.uiBackCompat&&"string"==typeof t.options.ghost&&t.ghost.addClass(this.options.ghost),t.ghost.appendTo(t.helper)},resize:function(){var t=V(this).resizable("instance");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=V(this).resizable("instance");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),V.ui.plugin.add("resizable","grid",{resize:function(){var t,e=V(this).resizable("instance"),i=e.options,s=e.size,n=e.originalSize,o=e.originalPosition,a=e.axis,r="number"==typeof i.grid?[i.grid,i.grid]:i.grid,l=r[0]||1,h=r[1]||1,c=Math.round((s.width-n.width)/l)*l,s=Math.round((s.height-n.height)/h)*h,u=n.width+c,d=n.height+s,p=i.maxWidth&&i.maxWidth<u,f=i.maxHeight&&i.maxHeight<d,g=i.minWidth&&i.minWidth>u,m=i.minHeight&&i.minHeight>d;i.grid=r,g&&(u+=l),m&&(d+=h),p&&(u-=l),f&&(d-=h),/^(se|s|e)$/.test(a)?(e.size.width=u,e.size.height=d):/^(ne)$/.test(a)?(e.size.width=u,e.size.height=d,e.position.top=o.top-s):/^(sw)$/.test(a)?(e.size.width=u,e.size.height=d,e.position.left=o.left-c):((d-h<=0||u-l<=0)&&(t=e._getPaddingPlusBorderDimensions(this)),0<d-h?(e.size.height=d,e.position.top=o.top-s):(d=h-t.height,e.size.height=d,e.position.top=o.top+n.height-d),0<u-l?(e.size.width=u,e.position.left=o.left-c):(u=l-t.width,e.size.width=u,e.position.left=o.left+n.width-u))}}),V.ui.resizable,V.widget("ui.dialog",{version:"1.14.1",options:{appendTo:"body",autoOpen:!0,buttons:[],classes:{"ui-dialog":"ui-corner-all","ui-dialog-titlebar":"ui-corner-all"},closeOnEscape:!0,closeText:"Close",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(t){var e=V(this).css(t).offset().top;e<0&&V(this).css("top",t.top-e)}},resizable:!0,show:null,title:null,uiDialogTitleHeadingLevel:0,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),null==this.options.title&&null!=this.originalTitle&&(this.options.title=this.originalTitle),this.options.disabled&&(this.options.disabled=!1),this._createWrapper(),this.element.show().removeAttr("title").appendTo(this.uiDialog),this._addClass("ui-dialog-content","ui-widget-content"),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&V.fn.draggable&&this._makeDraggable(),this.options.resizable&&V.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var t=this.options.appendTo;return t&&(t.jquery||t.nodeType)?V(t):this.document.find(t||"body").eq(0)},_destroy:function(){var t,e=this.originalPosition;this._untrackInstance(),this._destroyOverlay(),this.element.removeUniqueId().css(this.originalCss).detach(),this.uiDialog.remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),(t=e.parent.children().eq(e.index)).length&&t[0]!==this.element[0]?t.before(this.element):e.parent.append(this.element)},widget:function(){return this.uiDialog},disable:V.noop,enable:V.noop,close:function(t){var e=this;this._isOpen&&!1!==this._trigger("beforeClose",t)&&(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),this.opener.filter(":focusable").trigger("focus").length||V(this.document[0].activeElement).trigger("blur"),this._hide(this.uiDialog,this.options.hide,function(){e._trigger("close",t)}))},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(t,e){var i=!1,s=this.uiDialog.siblings(".ui-front:visible").map(function(){return+V(this).css("z-index")}).get(),s=Math.max.apply(null,s);return s>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",s+1),i=!0),i&&!e&&this._trigger("focus",t),i},open:function(){var t=this;this._isOpen?this._moveToTop()&&this._focusTabbable():(this._isOpen=!0,this.opener=V(this.document[0].activeElement),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,function(){t._focusTabbable(),t._trigger("focus")}),this._makeFocusTarget(),this._trigger("open"))},_focusTabbable:function(){var t=this._focusedElement;(t=(t=(t=(t=(t=t||this.element.find("[autofocus]")).length?t:this.element.find(":tabbable")).length?t:this.uiDialogButtonPane.find(":tabbable")).length?t:this.uiDialogTitlebarClose.filter(":tabbable")).length?t:this.uiDialog).eq(0).trigger("focus")},_restoreTabbableFocus:function(){var t=this.document[0].activeElement;this.uiDialog[0]===t||V.contains(this.uiDialog[0],t)||this._focusTabbable()},_keepFocus:function(t){t.preventDefault(),this._restoreTabbableFocus()},_createWrapper:function(){this.uiDialog=V("<div>").hide().attr({tabIndex:-1,role:"dialog","aria-modal":this.options.modal?"true":null}).appendTo(this._appendTo()),this._addClass(this.uiDialog,"ui-dialog","ui-widget ui-widget-content ui-front"),this._on(this.uiDialog,{keydown:function(t){var e,i,s;this.options.closeOnEscape&&!t.isDefaultPrevented()&&t.keyCode&&t.keyCode===V.ui.keyCode.ESCAPE?(t.preventDefault(),this.close(t)):t.keyCode!==V.ui.keyCode.TAB||t.isDefaultPrevented()||(e=this.uiDialog.find(":tabbable"),i=e.first(),s=e.last(),t.target!==s[0]&&t.target!==this.uiDialog[0]||t.shiftKey?t.target!==i[0]&&t.target!==this.uiDialog[0]||!t.shiftKey||(this._delay(function(){s.trigger("focus")}),t.preventDefault()):(this._delay(function(){i.trigger("focus")}),t.preventDefault()))},mousedown:function(t){this._moveToTop(t)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){this.uiDialogTitlebar=V("<div>"),this._addClass(this.uiDialogTitlebar,"ui-dialog-titlebar","ui-widget-header ui-helper-clearfix"),this._on(this.uiDialogTitlebar,{mousedown:function(t){V(t.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.trigger("focus")}}),this.uiDialogTitlebarClose=V("<button type='button'></button>").button({label:V("<a>").text(this.options.closeText).html(),icon:"ui-icon-closethick",showLabel:!1}).appendTo(this.uiDialogTitlebar),this._addClass(this.uiDialogTitlebarClose,"ui-dialog-titlebar-close"),this._on(this.uiDialogTitlebarClose,{click:function(t){t.preventDefault(),this.close(t)}});var t=Number.isInteger(this.options.uiDialogTitleHeadingLevel)&&0<this.options.uiDialogTitleHeadingLevel&&this.options.uiDialogTitleHeadingLevel<=6?"h"+this.options.uiDialogTitleHeadingLevel:"span",t=V("<"+t+">").uniqueId().prependTo(this.uiDialogTitlebar);this._addClass(t,"ui-dialog-title"),this._title(t),this.uiDialogTitlebar.prependTo(this.uiDialog),this.uiDialog.attr({"aria-labelledby":t.attr("id")})},_title:function(t){this.options.title?t.text(this.options.title):t.html(" ")},_createButtonPane:function(){this.uiDialogButtonPane=V("<div>"),this._addClass(this.uiDialogButtonPane,"ui-dialog-buttonpane","ui-widget-content ui-helper-clearfix"),this.uiButtonSet=V("<div>").appendTo(this.uiDialogButtonPane),this._addClass(this.uiButtonSet,"ui-dialog-buttonset"),this._createButtons()},_createButtons:function(){var s=this,t=this.options.buttons;this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),V.isEmptyObject(t)||Array.isArray(t)&&!t.length?this._removeClass(this.uiDialog,"ui-dialog-buttons"):(V.each(t,function(t,e){var i;e=V.extend({type:"button"},e="function"==typeof e?{click:e,text:t}:e),i=e.click,t={icon:e.icon,iconPosition:e.iconPosition,showLabel:e.showLabel,icons:e.icons,text:e.text},delete e.click,delete e.icon,delete e.iconPosition,delete e.showLabel,delete e.icons,"boolean"==typeof e.text&&delete e.text,V("<button></button>",e).button(t).appendTo(s.uiButtonSet).on("click",function(){i.apply(s.element[0],arguments)})}),this._addClass(this.uiDialog,"ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog))},_makeDraggable:function(){var n=this,o=this.options;function a(t){return{position:t.position,offset:t.offset}}this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(t,e){n._addClass(V(this),"ui-dialog-dragging"),n._blockFrames(),n._trigger("dragStart",t,a(e))},drag:function(t,e){n._trigger("drag",t,a(e))},stop:function(t,e){var i=e.offset.left-n.document.scrollLeft(),s=e.offset.top-n.document.scrollTop();o.position={my:"left top",at:"left"+(0<=i?"+":"")+i+" top"+(0<=s?"+":"")+s,of:n.window},n._removeClass(V(this),"ui-dialog-dragging"),n._unblockFrames(),n._trigger("dragStop",t,a(e))}})},_makeResizable:function(){var n=this,o=this.options,t=o.resizable,e=this.uiDialog.css("position"),t="string"==typeof t?t:"n,e,s,w,se,sw,ne,nw";function a(t){return{originalPosition:t.originalPosition,originalSize:t.originalSize,position:t.position,size:t.size}}this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:o.maxWidth,maxHeight:o.maxHeight,minWidth:o.minWidth,minHeight:this._minHeight(),handles:t,start:function(t,e){n._addClass(V(this),"ui-dialog-resizing"),n._blockFrames(),n._trigger("resizeStart",t,a(e))},resize:function(t,e){n._trigger("resize",t,a(e))},stop:function(t,e){var i=n.uiDialog.offset(),s=i.left-n.document.scrollLeft(),i=i.top-n.document.scrollTop();o.height=n.uiDialog.height(),o.width=n.uiDialog.width(),o.position={my:"left top",at:"left"+(0<=s?"+":"")+s+" top"+(0<=i?"+":"")+i,of:n.window},n._removeClass(V(this),"ui-dialog-resizing"),n._unblockFrames(),n._trigger("resizeStop",t,a(e))}}).css("position",e)},_trackFocus:function(){this._on(this.widget(),{focusin:function(t){this._makeFocusTarget(),this._focusedElement=V(t.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var t=this._trackingInstances(),e=V.inArray(this,t);-1!==e&&t.splice(e,1)},_trackingInstances:function(){var t=this.document.data("ui-dialog-instances");return t||this.document.data("ui-dialog-instances",t=[]),t},_minHeight:function(){var t=this.options;return"auto"===t.height?t.minHeight:Math.min(t.minHeight,t.height)},_position:function(){var t=this.uiDialog.is(":visible");t||this.uiDialog.show(),this.uiDialog.position(this.options.position),t||this.uiDialog.hide()},_setOptions:function(t){var i=this,s=!1,n={};V.each(t,function(t,e){i._setOption(t,e),t in i.sizeRelatedOptions&&(s=!0),t in i.resizableRelatedOptions&&(n[t]=e)}),s&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",n)},_setOption:function(t,e){var i,s=this.uiDialog;"disabled"!==t&&(this._super(t,e),"appendTo"===t&&this.uiDialog.appendTo(this._appendTo()),"buttons"===t&&this._createButtons(),"closeText"===t&&this.uiDialogTitlebarClose.button({label:V("<a>").text(""+this.options.closeText).html()}),"draggable"===t&&((i=s.is(":data(ui-draggable)"))&&!e&&s.draggable("destroy"),!i)&&e&&this._makeDraggable(),"position"===t&&this._position(),"resizable"===t&&((i=s.is(":data(ui-resizable)"))&&!e&&s.resizable("destroy"),i&&"string"==typeof e&&s.resizable("option","handles",e),i||!1===e||this._makeResizable()),"title"===t&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")),"modal"===t)&&s.attr("aria-modal",e?"true":null)},_size:function(){var t,e,i,s=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),s.minWidth>s.width&&(s.width=s.minWidth),t=this.uiDialog.css({height:"auto",width:s.width}).outerHeight(),e=Math.max(0,s.minHeight-t),i="number"==typeof s.maxHeight?Math.max(0,s.maxHeight-t):"none","auto"===s.height?this.element.css({minHeight:e,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,s.height-t)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var t=V(this);return V("<div>").css({position:"absolute",width:t.outerWidth(),height:t.outerHeight()}).appendTo(t.parent()).offset(t.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(t){return!!V(t.target).closest(".ui-dialog").length||!!V(t.target).closest(".ui-datepicker").length},_createOverlay:function(){var i;this.options.modal&&(i=!0,this._delay(function(){i=!1}),this.document.data("ui-dialog-overlays")||this.document.on("focusin.ui-dialog",function(t){var e;i||(e=this._trackingInstances()[0])._allowInteraction(t)||(t.preventDefault(),e._focusTabbable())}.bind(this)),this.overlay=V("<div>").appendTo(this._appendTo()),this._addClass(this.overlay,null,"ui-widget-overlay ui-front"),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1))},_destroyOverlay:function(){var t;this.options.modal&&this.overlay&&((t=this.document.data("ui-dialog-overlays")-1)?this.document.data("ui-dialog-overlays",t):(this.document.off("focusin.ui-dialog"),this.document.removeData("ui-dialog-overlays")),this.overlay.remove(),this.overlay=null)}}),!0===V.uiBackCompat&&V.widget("ui.dialog",V.ui.dialog,{options:{dialogClass:""},_createWrapper:function(){this._super(),this.uiDialog.addClass(this.options.dialogClass)},_setOption:function(t,e){"dialogClass"===t&&this.uiDialog.removeClass(this.options.dialogClass).addClass(e),this._superApply(arguments)}}),V.ui.dialog;function rt(t,e,i){return e<=t&&t<e+i}V.widget("ui.droppable",{version:"1.14.1",widgetEventPrefix:"drop",options:{accept:"*",addClasses:!0,greedy:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var t,e=this.options,i=e.accept;this.isover=!1,this.isout=!0,this.accept="function"==typeof i?i:function(t){return t.is(i)},this.proportions=function(){if(!arguments.length)return t=t||{width:this.element[0].offsetWidth,height:this.element[0].offsetHeight};t=arguments[0]},this._addToManager(e.scope),e.addClasses&&this._addClass("ui-droppable")},_addToManager:function(t){V.ui.ddmanager.droppables[t]=V.ui.ddmanager.droppables[t]||[],V.ui.ddmanager.droppables[t].push(this)},_splice:function(t){for(var e=0;e<t.length;e++)t[e]===this&&t.splice(e,1)},_destroy:function(){var t=V.ui.ddmanager.droppables[this.options.scope];this._splice(t)},_setOption:function(t,e){var i;"accept"===t?this.accept="function"==typeof e?e:function(t){return t.is(e)}:"scope"===t&&(i=V.ui.ddmanager.droppables[this.options.scope],this._splice(i),this._addToManager(e)),this._super(t,e)},_activate:function(t){var e=V.ui.ddmanager.current;this._addActiveClass(),e&&this._trigger("activate",t,this.ui(e))},_deactivate:function(t){var e=V.ui.ddmanager.current;this._removeActiveClass(),e&&this._trigger("deactivate",t,this.ui(e))},_over:function(t){var e=V.ui.ddmanager.current;e&&(e.currentItem||e.element)[0]!==this.element[0]&&this.accept.call(this.element[0],e.currentItem||e.element)&&(this._addHoverClass(),this._trigger("over",t,this.ui(e)))},_out:function(t){var e=V.ui.ddmanager.current;e&&(e.currentItem||e.element)[0]!==this.element[0]&&this.accept.call(this.element[0],e.currentItem||e.element)&&(this._removeHoverClass(),this._trigger("out",t,this.ui(e)))},_drop:function(e,t){var i=t||V.ui.ddmanager.current,s=!1;return!(!i||(i.currentItem||i.element)[0]===this.element[0]||(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var t=V(this).droppable("instance");if(t.options.greedy&&!t.options.disabled&&t.options.scope===i.options.scope&&t.accept.call(t.element[0],i.currentItem||i.element)&&V.ui.intersect(i,V.extend(t,{offset:t.element.offset()}),t.options.tolerance,e))return!(s=!0)}),s)||!this.accept.call(this.element[0],i.currentItem||i.element))&&(this._removeActiveClass(),this._removeHoverClass(),this._trigger("drop",e,this.ui(i)),this.element)},ui:function(t){return{draggable:t.currentItem||t.element,helper:t.helper,position:t.position,offset:t.positionAbs}},_addHoverClass:function(){this._addClass("ui-droppable-hover")},_removeHoverClass:function(){this._removeClass("ui-droppable-hover")},_addActiveClass:function(){this._addClass("ui-droppable-active")},_removeActiveClass:function(){this._removeClass("ui-droppable-active")}}),V.ui.intersect=function(t,e,i,s){if(!e.offset)return!1;var n=(t.positionAbs||t.position.absolute).left+t.margins.left,o=(t.positionAbs||t.position.absolute).top+t.margins.top,a=n+t.helperProportions.width,r=o+t.helperProportions.height,l=e.offset.left,h=e.offset.top,c=l+e.proportions().width,u=h+e.proportions().height;switch(i){case"fit":return l<=n&&a<=c&&h<=o&&r<=u;case"intersect":return l<n+t.helperProportions.width/2&&a-t.helperProportions.width/2<c&&h<o+t.helperProportions.height/2&&r-t.helperProportions.height/2<u;case"pointer":return rt(s.pageY,h,e.proportions().height)&&rt(s.pageX,l,e.proportions().width);case"touch":return(h<=o&&o<=u||h<=r&&r<=u||o<h&&u<r)&&(l<=n&&n<=c||l<=a&&a<=c||n<l&&c<a);default:return!1}},V.ui.ddmanager={current:null,droppables:{default:[]},prepareOffsets:function(t,e){var i,s,n=V.ui.ddmanager.droppables[t.options.scope]||[],o=e?e.type:null,a=(t.currentItem||t.element).find(":data(ui-droppable)").addBack();t:for(i=0;i<n.length;i++)if(!(n[i].options.disabled||t&&!n[i].accept.call(n[i].element[0],t.currentItem||t.element))){for(s=0;s<a.length;s++)if(a[s]===n[i].element[0]){n[i].proportions().height=0;continue t}n[i].visible="none"!==n[i].element.css("display"),n[i].visible&&("mousedown"===o&&n[i]._activate.call(n[i],e),n[i].offset=n[i].element.offset(),n[i].proportions({width:n[i].element[0].offsetWidth,height:n[i].element[0].offsetHeight}))}},drop:function(t,e){var i=!1;return V.each((V.ui.ddmanager.droppables[t.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&V.ui.intersect(t,this,this.options.tolerance,e)&&(i=this._drop.call(this,e)||i),!this.options.disabled)&&this.visible&&this.accept.call(this.element[0],t.currentItem||t.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,e))}),i},dragStart:function(t,e){t.element.parentsUntil("body").on("scroll.droppable",function(){t.options.refreshPositions||V.ui.ddmanager.prepareOffsets(t,e)})},drag:function(n,o){n.options.refreshPositions&&V.ui.ddmanager.prepareOffsets(n,o),V.each(V.ui.ddmanager.droppables[n.options.scope]||[],function(){var t,e,i,s;this.options.disabled||this.greedyChild||!this.visible||(s=!(s=V.ui.intersect(n,this,this.options.tolerance,o))&&this.isover?"isout":s&&!this.isover?"isover":null)&&(this.options.greedy&&(e=this.options.scope,(i=this.element.parents(":data(ui-droppable)").filter(function(){return V(this).droppable("instance").options.scope===e})).length)&&((t=V(i[0]).droppable("instance")).greedyChild="isover"===s),t&&"isover"===s&&(t.isover=!1,t.isout=!0,t._out.call(t,o)),this[s]=!0,this["isout"===s?"isover":"isout"]=!1,this["isover"===s?"_over":"_out"].call(this,o),t)&&"isout"===s&&(t.isout=!1,t.isover=!0,t._over.call(t,o))})},dragStop:function(t,e){t.element.parentsUntil("body").off("scroll.droppable"),t.options.refreshPositions||V.ui.ddmanager.prepareOffsets(t,e)}},!0===V.uiBackCompat&&V.widget("ui.droppable",V.ui.droppable,{options:{hoverClass:!1,activeClass:!1},_addActiveClass:function(){this._super(),this.options.activeClass&&this.element.addClass(this.options.activeClass)},_removeActiveClass:function(){this._super(),this.options.activeClass&&this.element.removeClass(this.options.activeClass)},_addHoverClass:function(){this._super(),this.options.hoverClass&&this.element.addClass(this.options.hoverClass)},_removeHoverClass:function(){this._super(),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass)}});V.ui.droppable,V.widget("ui.progressbar",{version:"1.14.1",options:{classes:{"ui-progressbar":"ui-corner-all","ui-progressbar-value":"ui-corner-left","ui-progressbar-complete":"ui-corner-right"},max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.attr({role:"progressbar","aria-valuemin":this.min}),this._addClass("ui-progressbar","ui-widget ui-widget-content"),this.valueDiv=V("<div>").appendTo(this.element),this._addClass(this.valueDiv,"ui-progressbar-value","ui-widget-header"),this._refreshValue()},_destroy:function(){this.element.removeAttr("role aria-valuemin aria-valuemax aria-valuenow"),this.valueDiv.remove()},value:function(t){if(void 0===t)return this.options.value;this.options.value=this._constrainedValue(t),this._refreshValue()},_constrainedValue:function(t){return void 0===t&&(t=this.options.value),this.indeterminate=!1===t,"number"!=typeof t&&(t=0),!this.indeterminate&&Math.min(this.options.max,Math.max(this.min,t))},_setOptions:function(t){var e=t.value;delete t.value,this._super(t),this.options.value=this._constrainedValue(e),this._refreshValue()},_setOption:function(t,e){"max"===t&&(e=Math.max(this.min,e)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var t=this.options.value,e=this._percentage();this.valueDiv.toggle(this.indeterminate||t>this.min).width(e.toFixed(0)+"%"),this._toggleClass(this.valueDiv,"ui-progressbar-complete",null,t===this.options.max)._toggleClass("ui-progressbar-indeterminate",null,this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=V("<div>").appendTo(this.valueDiv),this._addClass(this.overlayDiv,"ui-progressbar-overlay"))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":t}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==t&&(this.oldValue=t,this._trigger("change")),t===this.options.max&&this._trigger("complete")}}),V.widget("ui.selectable",V.ui.mouse,{version:"1.14.1",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var i=this;this._addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){i.elementPos=V(i.element[0]).offset(),i.selectees=V(i.options.filter,i.element[0]),i._addClass(i.selectees,"ui-selectee"),i.selectees.each(function(){var t=V(this),e=t.offset(),e={left:e.left-i.elementPos.left,top:e.top-i.elementPos.top};V.data(this,"selectable-item",{element:this,$element:t,left:e.left,top:e.top,right:e.left+t.outerWidth(),bottom:e.top+t.outerHeight(),startselected:!1,selected:t.hasClass("ui-selected"),selecting:t.hasClass("ui-selecting"),unselecting:t.hasClass("ui-unselecting")})})},this.refresh(),this._mouseInit(),this.helper=V("<div>"),this._addClass(this.helper,"ui-selectable-helper")},_destroy:function(){this.selectees.removeData("selectable-item"),this._mouseDestroy()},_mouseStart:function(i){var s=this,t=this.options;this.opos=[i.pageX,i.pageY],this.elementPos=V(this.element[0]).offset(),this.options.disabled||(this.selectees=V(t.filter,this.element[0]),this._trigger("start",i),V(t.appendTo).append(this.helper),this.helper.css({left:i.pageX,top:i.pageY,width:0,height:0}),t.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var t=V.data(this,"selectable-item");t.startselected=!0,i.metaKey||i.ctrlKey||(s._removeClass(t.$element,"ui-selected"),t.selected=!1,s._addClass(t.$element,"ui-unselecting"),t.unselecting=!0,s._trigger("unselecting",i,{unselecting:t.element}))}),V(i.target).parents().addBack().each(function(){var t,e=V.data(this,"selectable-item");if(e)return t=!i.metaKey&&!i.ctrlKey||!e.$element.hasClass("ui-selected"),s._removeClass(e.$element,t?"ui-unselecting":"ui-selected")._addClass(e.$element,t?"ui-selecting":"ui-unselecting"),e.unselecting=!t,e.selecting=t,(e.selected=t)?s._trigger("selecting",i,{selecting:e.element}):s._trigger("unselecting",i,{unselecting:e.element}),!1}))},_mouseDrag:function(s){var t,n,o,a,r,l,h;if(this.dragged=!0,!this.options.disabled)return o=(n=this).options,a=this.opos[0],r=this.opos[1],(l=s.pageX)<a&&(t=l,l=a,a=t),(h=s.pageY)<r&&(t=h,h=r,r=t),this.helper.css({left:a,top:r,width:l-a,height:h-r}),this.selectees.each(function(){var t=V.data(this,"selectable-item"),e=!1,i={};t&&t.element!==n.element[0]&&(i.left=t.left+n.elementPos.left,i.right=t.right+n.elementPos.left,i.top=t.top+n.elementPos.top,i.bottom=t.bottom+n.elementPos.top,"touch"===o.tolerance?e=!(l<i.left||i.right<a||h<i.top||i.bottom<r):"fit"===o.tolerance&&(e=a<i.left&&i.right<l&&r<i.top&&i.bottom<h),e?(t.selected&&(n._removeClass(t.$element,"ui-selected"),t.selected=!1),t.unselecting&&(n._removeClass(t.$element,"ui-unselecting"),t.unselecting=!1),t.selecting||(n._addClass(t.$element,"ui-selecting"),t.selecting=!0,n._trigger("selecting",s,{selecting:t.element}))):(t.selecting&&((s.metaKey||s.ctrlKey)&&t.startselected?(n._removeClass(t.$element,"ui-selecting"),t.selecting=!1,n._addClass(t.$element,"ui-selected"),t.selected=!0):(n._removeClass(t.$element,"ui-selecting"),t.selecting=!1,t.startselected&&(n._addClass(t.$element,"ui-unselecting"),t.unselecting=!0),n._trigger("unselecting",s,{unselecting:t.element}))),!t.selected||s.metaKey||s.ctrlKey||t.startselected||(n._removeClass(t.$element,"ui-selected"),t.selected=!1,n._addClass(t.$element,"ui-unselecting"),t.unselecting=!0,n._trigger("unselecting",s,{unselecting:t.element}))))}),!1},_mouseStop:function(e){var i=this;return this.dragged=!1,V(".ui-unselecting",this.element[0]).each(function(){var t=V.data(this,"selectable-item");i._removeClass(t.$element,"ui-unselecting"),t.unselecting=!1,t.startselected=!1,i._trigger("unselected",e,{unselected:t.element})}),V(".ui-selecting",this.element[0]).each(function(){var t=V.data(this,"selectable-item");i._removeClass(t.$element,"ui-selecting")._addClass(t.$element,"ui-selected"),t.selecting=!1,t.selected=!0,t.startselected=!0,i._trigger("selected",e,{selected:t.element})}),this._trigger("stop",e),this.helper.remove(),!1}}),V.widget("ui.selectmenu",[V.ui.formResetMixin,{version:"1.14.1",defaultElement:"<select>",options:{appendTo:null,classes:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"},disabled:null,icons:{button:"ui-icon-triangle-1-s"},position:{my:"left top",at:"left bottom",collision:"none"},width:!1,change:null,close:null,focus:null,open:null,select:null},_create:function(){var t=this.element.uniqueId().attr("id");this.ids={element:t,button:t+"-button",menu:t+"-menu"},this._drawButton(),this._drawMenu(),this._bindFormResetHandler(),this._rendered=!1,this.menuItems=V()},_drawButton:function(){var t,e=this,i=this._parseOption(this.element.find("option:selected"),this.element[0].selectedIndex);this.labels=this.element.labels().attr("for",this.ids.button),this._on(this.labels,{click:function(t){this.button.trigger("focus"),t.preventDefault()}}),this.element.hide(),this.button=V("<span>",{tabindex:this.options.disabled?-1:0,id:this.ids.button,role:"combobox","aria-expanded":"false","aria-autocomplete":"list","aria-owns":this.ids.menu,"aria-haspopup":"true",title:this.element.attr("title")}).insertAfter(this.element),this._addClass(this.button,"ui-selectmenu-button ui-selectmenu-button-closed","ui-button ui-widget"),t=V("<span>").appendTo(this.button),this._addClass(t,"ui-selectmenu-icon","ui-icon "+this.options.icons.button),this.buttonItem=this._renderButtonItem(i).appendTo(this.button),!1!==this.options.width&&this._resizeButton(),this._on(this.button,this._buttonEvents),this.button.one("focusin",function(){e._rendered||e._refreshMenu()})},_drawMenu:function(){var i=this;this.menu=V("<ul>",{"aria-hidden":"true","aria-labelledby":this.ids.button,id:this.ids.menu}),this.menuWrap=V("<div>").append(this.menu),this._addClass(this.menuWrap,"ui-selectmenu-menu","ui-front"),this.menuWrap.appendTo(this._appendTo()),this.menuInstance=this.menu.menu({classes:{"ui-menu":"ui-corner-bottom"},role:"listbox",select:function(t,e){t.preventDefault(),i._select(e.item.data("ui-selectmenu-item"),t)},focus:function(t,e){e=e.item.data("ui-selectmenu-item");null!=i.focusIndex&&e.index!==i.focusIndex&&(i._trigger("focus",t,{item:e}),i.isOpen||i._select(e,t)),i.focusIndex=e.index,i.button.attr("aria-activedescendant",i.menuItems.eq(e.index).attr("id"))}}).menu("instance"),this.menuInstance._off(this.menu,"mouseleave"),this.menuInstance._closeOnDocumentClick=function(){return!1},this.menuInstance._isDivider=function(){return!1}},refresh:function(){this._refreshMenu(),this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(this._getSelectedItem().data("ui-selectmenu-item")||{})),null===this.options.width&&this._resizeButton()},_refreshMenu:function(){var t=this.element.find("option");this.menu.empty(),this._parseOptions(t),this._renderMenu(this.menu,this.items),this.menuInstance.refresh(),this.menuItems=this.menu.find("li").not(".ui-selectmenu-optgroup").find(".ui-menu-item-wrapper"),this._rendered=!0,t.length&&(t=this._getSelectedItem(),this.menuInstance.focus(null,t),this._setAria(t.data("ui-selectmenu-item")),this._setOption("disabled",this.element.prop("disabled")))},open:function(t){this.options.disabled||(this._rendered?(this._removeClass(this.menu.find(".ui-state-active"),null,"ui-state-active"),this.menuInstance.focus(null,this._getSelectedItem())):this._refreshMenu(),this.menuItems.length&&(this.isOpen=!0,this._toggleAttr(),this._resizeMenu(),this._position(),this._on(this.document,this._documentClick),this._trigger("open",t)))},_position:function(){this.menuWrap.position(V.extend({of:this.button},this.options.position))},close:function(t){this.isOpen&&(this.isOpen=!1,this._toggleAttr(),this.range=null,this._off(this.document),this._trigger("close",t))},widget:function(){return this.button},menuWidget:function(){return this.menu},_renderButtonItem:function(t){var e=V("<span>");return this._setText(e,t.label),this._addClass(e,"ui-selectmenu-text"),e},_renderMenu:function(s,t){var n=this,o="";V.each(t,function(t,e){var i;e.optgroup!==o&&(i=V("<li>",{text:e.optgroup}),n._addClass(i,"ui-selectmenu-optgroup","ui-menu-divider"+(e.element.parent("optgroup").prop("disabled")?" ui-state-disabled":"")),i.appendTo(s),o=e.optgroup),n._renderItemData(s,e)})},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-selectmenu-item",e)},_renderItem:function(t,e){var i=V("<li>"),s=V("<div>",{title:e.element.attr("title")});return e.disabled&&this._addClass(i,null,"ui-state-disabled"),e.hidden?i.prop("hidden",!0):this._setText(s,e.label),i.append(s).appendTo(t)},_setText:function(t,e){e?t.text(e):t.html(" ")},_move:function(t,e){var i,s=".ui-menu-item";this.isOpen?i=this.menuItems.eq(this.focusIndex).parent("li"):(i=this.menuItems.eq(this.element[0].selectedIndex).parent("li"),s+=":not(.ui-state-disabled)"),(i="first"===t||"last"===t?i["first"===t?"prevAll":"nextAll"](s).eq(-1):i[t+"All"](s).eq(0)).length&&this.menuInstance.focus(e,i)},_getSelectedItem:function(){return this.menuItems.eq(this.element[0].selectedIndex).parent("li")},_toggle:function(t){this[this.isOpen?"close":"open"](t)},_setSelection:function(){var t;this.range&&((t=window.getSelection()).removeAllRanges(),t.addRange(this.range))},_documentClick:{mousedown:function(t){!this.isOpen||V(t.target).closest(".ui-selectmenu-menu, #"+CSS.escape(this.ids.button)).length||this.close(t)}},_buttonEvents:{mousedown:function(){var t=window.getSelection();t.rangeCount&&(this.range=t.getRangeAt(0))},click:function(t){this._setSelection(),this._toggle(t)},keydown:function(t){var e=!0;switch(t.keyCode){case V.ui.keyCode.TAB:case V.ui.keyCode.ESCAPE:this.close(t),e=!1;break;case V.ui.keyCode.ENTER:this.isOpen&&this._selectFocusedItem(t);break;case V.ui.keyCode.UP:t.altKey?this._toggle(t):this._move("prev",t);break;case V.ui.keyCode.DOWN:t.altKey?this._toggle(t):this._move("next",t);break;case V.ui.keyCode.SPACE:this.isOpen?this._selectFocusedItem(t):this._toggle(t);break;case V.ui.keyCode.LEFT:this._move("prev",t);break;case V.ui.keyCode.RIGHT:this._move("next",t);break;case V.ui.keyCode.HOME:case V.ui.keyCode.PAGE_UP:this._move("first",t);break;case V.ui.keyCode.END:case V.ui.keyCode.PAGE_DOWN:this._move("last",t);break;default:this.menu.trigger(t),e=!1}e&&t.preventDefault()}},_selectFocusedItem:function(t){var e=this.menuItems.eq(this.focusIndex).parent("li");e.hasClass("ui-state-disabled")||this._select(e.data("ui-selectmenu-item"),t)},_select:function(t,e){var i=this.element[0].selectedIndex;this.element[0].selectedIndex=t.index,this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(t)),this._setAria(t),this._trigger("select",e,{item:t}),t.index!==i&&this._trigger("change",e,{item:t}),this.close(e)},_setAria:function(t){t=this.menuItems.eq(t.index).attr("id");this.button.attr({"aria-labelledby":t,"aria-activedescendant":t}),this.menu.attr("aria-activedescendant",t)},_setOption:function(t,e){var i;"icons"===t&&(i=this.button.find("span.ui-icon"),this._removeClass(i,null,this.options.icons.button)._addClass(i,null,e.button)),this._super(t,e),"appendTo"===t&&this.menuWrap.appendTo(this._appendTo()),"width"===t&&this._resizeButton()},_setOptionDisabled:function(t){this._super(t),this.menuInstance.option("disabled",t),this.button.attr("aria-disabled",t),this._toggleClass(this.button,null,"ui-state-disabled",t),this.element.prop("disabled",t),t?(this.button.attr("tabindex",-1),this.close()):this.button.attr("tabindex",0)},_appendTo:function(){var t=this.options.appendTo;return t=(t=(t=t&&(t.jquery||t.nodeType?V(t):this.document.find(t).eq(0)))&&t[0]?t:this.element.closest(".ui-front, dialog")).length?t:this.document[0].body},_toggleAttr:function(){this.button.attr("aria-expanded",this.isOpen),this._removeClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"closed":"open"))._addClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"open":"closed"))._toggleClass(this.menuWrap,"ui-selectmenu-open",null,this.isOpen),this.menu.attr("aria-hidden",!this.isOpen)},_resizeButton:function(){var t=this.options.width;!1===t?this.button.css("width",""):(null===t&&(t=this.element.show().outerWidth(),this.element.hide()),this.button.outerWidth(t))},_resizeMenu:function(){this.menu.outerWidth(Math.max(this.button.outerWidth(),this.menu.width("").outerWidth()))},_getCreateOptions:function(){var t=this._super();return t.disabled=this.element.prop("disabled"),t},_parseOptions:function(t){var i=this,s=[];t.each(function(t,e){s.push(i._parseOption(V(e),t))}),this.items=s},_parseOption:function(t,e){var i=t.parent("optgroup");return{element:t,index:e,value:t.val(),label:t.text(),hidden:i.prop("hidden")||t.prop("hidden"),optgroup:i.attr("label")||"",disabled:i.prop("disabled")||t.prop("disabled")}},_destroy:function(){this._unbindFormResetHandler(),this.menuWrap.remove(),this.button.remove(),this.element.show(),this.element.removeUniqueId(),this.labels.attr("for",this.ids.element)}}]),V.widget("ui.slider",V.ui.mouse,{version:"1.14.1
vendor: 10,399 bytes, line 11124
11124",widgetEventPrefix:"slide",options:{animate:!1,classes:{"ui-slider":"ui-corner-all","ui-slider-handle":"ui-corner-all","ui-slider-range":"ui-corner-all ui-widget-header"},distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this._addClass("ui-slider ui-slider-"+this.orientation,"ui-widget ui-widget-content"),this._refresh(),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var t,e=this.options,i=this.element.find(".ui-slider-handle"),s=[],n=e.values&&e.values.length||1;for(i.length>n&&(i.slice(n).remove(),i=i.slice(0,n)),t=i.length;t<n;t++)s.push("<span tabindex='0'></span>");this.handles=i.add(V(s.join("")).appendTo(this.element)),this._addClass(this.handles,"ui-slider-handle","ui-state-default"),this.handle=this.handles.eq(0),this.handles.each(function(t){V(this).data("ui-slider-handle-index",t).attr("tabIndex",0)})},_createRange:function(){var t=this.options;t.range?(!0===t.range&&(t.values?t.values.length&&2!==t.values.length?t.values=[t.values[0],t.values[0]]:Array.isArray(t.values)&&(t.values=t.values.slice(0)):t.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?(this._removeClass(this.range,"ui-slider-range-min ui-slider-range-max"),this.range.css({left:"",bottom:""})):(this.range=V("<div>").appendTo(this.element),this._addClass(this.range,"ui-slider-range")),"min"!==t.range&&"max"!==t.range||this._addClass(this.range,"ui-slider-range-"+t.range)):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this._mouseDestroy()},_mouseCapture:function(t){var i,s,n,o,e,a,r=this,l=this.options;return!l.disabled&&(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),e={x:t.pageX,y:t.pageY},i=this._normValueFromMouse(e),s=this._valueMax()-this._valueMin()+1,this.handles.each(function(t){var e=Math.abs(i-r.values(t));(e<s||s===e&&(t===r._lastChangedValue||r.values(t)===l.min))&&(s=e,n=V(this),o=t)}),!1!==this._start(t,o))&&(this._mouseSliding=!0,this._handleIndex=o,this._addClass(n,null,"ui-state-active"),n.trigger("focus"),e=n.offset(),a=!V(t.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=a?{left:0,top:0}:{left:t.pageX-e.left-n.width()/2,top:t.pageY-e.top-n.height()/2-(parseInt(n.css("borderTopWidth"),10)||0)-(parseInt(n.css("borderBottomWidth"),10)||0)+(parseInt(n.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(t,o,i),this._animateOff=!0)},_mouseStart:function(){return!0},_mouseDrag:function(t){var e={x:t.pageX,y:t.pageY},e=this._normValueFromMouse(e);return this._slide(t,this._handleIndex,e),!1},_mouseStop:function(t){return this._removeClass(this.handles,null,"ui-state-active"),this._mouseSliding=!1,this._stop(t,this._handleIndex),this._change(t,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(t){var e,t="horizontal"===this.orientation?(e=this.elementSize.width,t.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(e=this.elementSize.height,t.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),t=t/e;return(t=1<t?1:t)<0&&(t=0),"vertical"===this.orientation&&(t=1-t),e=this._valueMax()-this._valueMin(),t=this._valueMin()+t*e,this._trimAlignValue(t)},_uiHash:function(t,e,i){var s={handle:this.handles[t],handleIndex:t,value:void 0!==e?e:this.value()};return this._hasMultipleValues()&&(s.value=void 0!==e?e:this.values(t),s.values=i||this.values()),s},_hasMultipleValues:function(){return this.options.values&&this.options.values.length},_start:function(t,e){return this._trigger("start",t,this._uiHash(e))},_slide:function(t,e,i){var s,n=this.value(),o=this.values();this._hasMultipleValues()&&(s=this.values(e?0:1),n=this.values(e),2===this.options.values.length&&!0===this.options.range&&(i=0===e?Math.min(s,i):Math.max(s,i)),o[e]=i),i!==n&&!1!==this._trigger("slide",t,this._uiHash(e,i,o))&&(this._hasMultipleValues()?this.values(e,i):this.value(i))},_stop:function(t,e){this._trigger("stop",t,this._uiHash(e))},_change:function(t,e){this._keySliding||this._mouseSliding||(this._lastChangedValue=e,this._trigger("change",t,this._uiHash(e)))},value:function(t){if(!arguments.length)return this._value();this.options.value=this._trimAlignValue(t),this._refreshValue(),this._change(null,0)},values:function(t,e){var i,s,n;if(1<arguments.length)this.options.values[t]=this._trimAlignValue(e),this._refreshValue(),this._change(null,t);else{if(!arguments.length)return this._values();if(!Array.isArray(t))return this._hasMultipleValues()?this._values(t):this.value();for(i=this.options.values,s=t,n=0;n<i.length;n+=1)i[n]=this._trimAlignValue(s[n]),this._change(null,n);this._refreshValue()}},_setOption:function(t,e){var i,s=0;switch("range"===t&&!0===this.options.range&&("min"===e?(this.options.value=this._values(0),this.options.values=null):"max"===e&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),Array.isArray(this.options.values)&&(s=this.options.values.length),this._super(t,e),t){case"orientation":this._detectOrientation(),this._removeClass("ui-slider-horizontal ui-slider-vertical")._addClass("ui-slider-"+this.orientation),this._refreshValue(),this.options.range&&this._refreshRange(e),this.handles.css("horizontal"===e?"bottom":"left","");break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),i=s-1;0<=i;i--)this._change(null,i);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_setOptionDisabled:function(t){this._super(t),this._toggleClass(null,"ui-state-disabled",!!t)},_value:function(){var t=this.options.value;return this._trimAlignValue(t)},_values:function(t){var e,i;if(arguments.length)return t=this.options.values[t],this._trimAlignValue(t);if(this._hasMultipleValues()){for(e=this.options.values.slice(),i=0;i<e.length;i+=1)e[i]=this._trimAlignValue(e[i]);return e}return[]},_trimAlignValue:function(t){var e,i;return t<=this._valueMin()?this._valueMin():t>=this._valueMax()?this._valueMax():(e=0<this.options.step?this.options.step:1,i=t-(t=(t-this._valueMin())%e),2*Math.abs(t)>=e&&(i+=0<t?e:-e),parseFloat(i.toFixed(5)))},_calculateNewMax:function(){var t=this.options.max,e=this._valueMin(),i=this.options.step;(t=Math.round((t-e)/i)*i+e)>this.options.max&&(t-=i),this.max=parseFloat(t.toFixed(this._precision()))},_precision:function(){var t=this._precisionOf(this.options.step);return t=null!==this.options.min?Math.max(t,this._precisionOf(this.options.min)):t},_precisionOf:function(t){var t=t.toString(),e=t.indexOf(".");return-1===e?0:t.length-e-1},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshRange:function(t){"vertical"===t&&this.range.css({width:"",left:""}),"horizontal"===t&&this.range.css({height:"",bottom:""})},_refreshValue:function(){var e,i,t,s,n,o=this.options.range,a=this.options,r=this,l=!this._animateOff&&a.animate,h={};this._hasMultipleValues()?this.handles.each(function(t){i=(r.values(t)-r._valueMin())/(r._valueMax()-r._valueMin())*100,h["horizontal"===r.orientation?"left":"bottom"]=i+"%",V(this).stop(1,1)[l?"animate":"css"](h,a.animate),!0===r.options.range&&("horizontal"===r.orientation?(0===t&&r.range.stop(1,1)[l?"animate":"css"]({left:i+"%"},a.animate),1===t&&r.range[l?"animate":"css"]({width:i-e+"%"},{queue:!1,duration:a.animate})):(0===t&&r.range.stop(1,1)[l?"animate":"css"]({bottom:i+"%"},a.animate),1===t&&r.range[l?"animate":"css"]({height:i-e+"%"},{queue:!1,duration:a.animate}))),e=i}):(t=this.value(),s=this._valueMin(),n=this._valueMax(),i=n!==s?(t-s)/(n-s)*100:0,h["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[l?"animate":"css"](h,a.animate),"min"===o&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:i+"%"},a.animate),"max"===o&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:100-i+"%"},a.animate),"min"===o&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:i+"%"},a.animate),"max"===o&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:100-i+"%"},a.animate))},_handleEvents:{keydown:function(t){var e,i,s,n=V(t.target).data("ui-slider-handle-index");switch(t.keyCode){case V.ui.keyCode.HOME:case V.ui.keyCode.END:case V.ui.keyCode.PAGE_UP:case V.ui.keyCode.PAGE_DOWN:case V.ui.keyCode.UP:case V.ui.keyCode.RIGHT:case V.ui.keyCode.DOWN:case V.ui.keyCode.LEFT:if(t.preventDefault(),this._keySliding||(this._keySliding=!0,this._addClass(V(t.target),null,"ui-state-active"),!1!==this._start(t,n)))break;return}switch(s=this.options.step,e=i=this._hasMultipleValues()?this.values(n):this.value(),t.keyCode){case V.ui.keyCode.HOME:i=this._valueMin();break;case V.ui.keyCode.END:i=this._valueMax();break;case V.ui.keyCode.PAGE_UP:i=this._trimAlignValue(e+(this._valueMax()-this._valueMin())/this.numPages);break;case V.ui.keyCode.PAGE_DOWN:i=this._trimAlignValue(e-(this._valueMax()-this._valueMin())/this.numPages);break;case V.ui.keyCode.UP:case V.ui.keyCode.RIGHT:if(e===this._valueMax())return;i=this._trimAlignValue(e+s);break;case V.ui.keyCode.DOWN:case V.ui.keyCode.LEFT:if(e===this._valueMin())return;i=this._trimAlignValue(e-s)}this._slide(t,n,i)},keyup:function(t){var e=V(t.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(t,e),this._change(t,e),this._removeClass(V(t.target),null,"ui-state-active"))}}}),V.widget("ui.sortable",V.ui.mouse,{version:"1.1
111244.1",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(t,e,i){return e<=t&&t<e+i},_isFloating:function(t){return/left|right/.test(t.css("float"))||/inline|table-cell/.test(t.css("display"))},_create:function(){this.containerCache={},this._addClass("ui-sortable"),this.refresh(),this.offset=this.element.offset(),this._mouseInit(),this._setHandleClassName(),this.ready=!0},_setOption:function(t,e){this._super(t,e),"handle"===t&&this._setHandleClassName()},_setHandleClassName:function(){var t=this;this._removeClass(this.element.find(".ui-sortable-handle"),"ui-sortable-handle"),V.each(this.items,function(){t._addClass(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item,"ui-sortable-handle")})},_destroy:function(){this._mouseDestroy();for(var t=this.items.length-1;0<=t;t--)this.items[t].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(t,e){var i=null,s=!1,n=this;return!(this.reverting||this.options.disabled||"static"===this.options.type||(this._refreshItems(t),V(t.target).parents().each(function(){if(V.data(this,n.widgetName+"-item")===n)return i=V(this),!1}),!(i=V.data(t.target,n.widgetName+"-item")===n?V(t.target):i))||(this.options.handle&&!e&&(V(this.options.handle,i).find("*").addBack().each(function(){this===t.target&&(s=!0)}),!s)||(this.currentItem=i,this._removeCurrentsFromItems(),0)))},_mouseStart:function(t,e,i){var s,n,o=this.options;if((this.currentContainer=this).refreshPositions(),this.appendTo=V("parent"!==o.appendTo?o.appendTo:this.currentItem.parent()),this.helper=this._createHelper(t),this._cacheHelperProportions(),this._cacheMargins(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},V.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),o.cursorAt&&this._adjustOffsetFromHelper(o.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),this.scrollParent=this.placeholder.scrollParent(),V.extend(this.offset,{parent:this._getParentOffset()}),o.containment&&this._setContainment(),o.cursor&&"auto"!==o.cursor&&(n=this.document.find("body"),this._
vendor: 21,090 bytes, line 11124
11124storedStylesheet=V("<style>*{ cursor: "+o.cursor+" !important; }</style>").appendTo(n)),o.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",o.zIndex)),o.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",o.opacity)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",t,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!i)for(s=this.containers.length-1;0<=s;s--)this.containers[s]._trigger("activate",t,this._uiHash(this));return V.ui.ddmanager&&(V.ui.ddmanager.current=this),V.ui.ddmanager&&!o.dropBehaviour&&V.ui.ddmanager.prepareOffsets(this,t),this.dragging=!0,this._addClass(this.helper,"ui-sortable-helper"),this.helper.parent().is(this.appendTo)||(this.helper.detach().appendTo(this.appendTo),this.offset.parent=this._getParentOffset()),this.position=this.originalPosition=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,this.lastPositionAbs=this.positionAbs=this._convertPositionTo("absolute"),this._mouseDrag(t),!0},_scroll:function(t){var e=this.options,i=!1;return this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-t.pageY<e.scrollSensitivity?this.scrollParent[0].scrollTop=i=this.scrollParent[0].scrollTop+e.scrollSpeed:t.pageY-this.overflowOffset.top<e.scrollSensitivity&&(this.scrollParent[0].scrollTop=i=this.scrollParent[0].scrollTop-e.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-t.pageX<e.scrollSensitivity?this.scrollParent[0].scrollLeft=i=this.scrollParent[0].scrollLeft+e.scrollSpeed:t.pageX-this.overflowOffset.left<e.scrollSensitivity&&(this.scrollParent[0].scrollLeft=i=this.scrollParent[0].scrollLeft-e.scrollSpeed)):(t.pageY-this.document.scrollTop()<e.scrollSensitivity?i=this.document.scrollTop(this.document.scrollTop()-e.scrollSpeed):this.window.height()-(t.pageY-this.document.scrollTop())<e.scrollSensitivity&&(i=this.document.scrollTop(this.document.scrollTop()+e.scrollSpeed)),t.pageX-this.document.scrollLeft()<e.scrollSensitivity?i=this.document.scrollLeft(this.document.scrollLeft()-e.scrollSpeed):this.window.width()-(t.pageX-this.document.scrollLeft())<e.scrollSensitivity&&(i=this.document.scrollLeft(this.document.scrollLeft()+e.scrollSpeed))),i},_mouseDrag:function(t){var e,i,s,n,o=this.options;for(this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),o.scroll&&!1!==this._scroll(t)&&(this._refreshItemPositions(!0),V.ui.ddmanager)&&!o.dropBehaviour&&V.ui.ddmanager.prepareOffsets(this,t),this.dragDirection={vertical:this._getDragVerticalDirection(),horizontal:this._getDragHorizontalDirection()},e=this.items.length-1;0<=e;e--)if(s=(i=this.items[e]).item[0],(n=this._intersectsWithPointer(i))&&i.instance===this.currentContainer&&!(s===this.currentItem[0]||this.placeholder[1===n?"next":"prev"]()[0]===s||V.contains(this.placeholder[0],s)||"semi-dynamic"===this.options.type&&V.contains(this.element[0],s))){if(this.direction=1===n?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(i))break;this._rearrange(t,i),this._trigger("change",t,this._uiHash());break}return this._contactContainers(t),V.ui.ddmanager&&V.ui.ddmanager.drag(this,t),this._trigger("sort",t,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(t,e){var i,s,n,o;if(t)return V.ui.ddmanager&&!this.options.dropBehaviour&&V.ui.ddmanager.drop(this,t),this.options.revert?(s=(i=this).placeholder.offset(),o={},(n=this.options.axis)&&"x"!==n||(o.left=s.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),n&&"y"!==n||(o.top=s.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,V(this.helper).animate(o,parseInt(this.options.revert,10)||500,function(){i._clear(t)})):this._clear(t,e),!1},cancel:function(){if(this.dragging){this._mouseUp(new V.Event("mouseup",{target:null})),"original"===this.options.helper?(this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")):this.currentItem.show();for(var t=this.containers.length-1;0<=t;t--)this.containers[t]._trigger("deactivate",null,this._uiHash(this)),this.containers[t].containerCache.over&&(this.containers[t]._trigger("out",null,this._uiHash(this)),this.containers[t].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),V.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?V(this.domPosition.prev).after(this.currentItem):V(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(e){var t=this._getItemsAsjQuery(e&&e.connected),i=[];return e=e||{},V(t).each(function(){var t=(V(e.item||this).attr(e.attribute||"id")||"").match(e.expression||/(.+)[\-=_](.+)/);t&&i.push((e.key||t[1]+"[]")+"="+(e.key&&e.expression?t[1]:t[2]))}),!i.length&&e.key&&i.push(e.key+"="),i.join("&")},toArray:function(t){var e=this._getItemsAsjQuery(t&&t.connected),i=[];return t=t||{},e.each(function(){i.push(V(t.item||this).attr(t.attribute||"id")||"")}),i},_intersectsWith:function(t){var e=this.positionAbs.left,i=e+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,o=t.left,a=o+t.width,r=t.top,l=r+t.height,h=this.offset.click.top,c=this.offset.click.left,h="x"===this.options.axis||r<s+h&&s+h<l,c="y"===this.options.axis||o<e+c&&e+c<a;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>t[this.floating?"width":"height"]?h&&c:o<e+this.helperProportions.width/2&&i-this.helperProportions.width/2<a&&r<s+this.helperProportions.height/2&&n-this.helperProportions.height/2<l},_intersectsWithPointer:function(t){var e="x"===this.options.axis||this._isOverAxis(this.positionAbs.top+this.offset.click.top,t.top,t.height),t="y"===this.options.axis||this._isOverAxis(this.positionAbs.left+this.offset.click.left,t.left,t.width);return!(!e||!t)&&(e=this.dragDirection.vertical,t=this.dragDirection.horizontal,this.floating?"right"===t||"down"===e?2:1:e&&("down"===e?2:1))},_intersectsWithSides:function(t){var e=this._isOverAxis(this.positionAbs.top+this.offset.click.top,t.top+t.height/2,t.height),t=this._isOverAxis(this.positionAbs.left+this.offset.click.left,t.left+t.width/2,t.width),i=this.dragDirection.vertical,s=this.dragDirection.horizontal;return this.floating&&s?"right"===s&&t||"left"===s&&!t:i&&("down"===i&&e||"up"===i&&!e)},_getDragVerticalDirection:function(){var t=this.positionAbs.top-this.lastPositionAbs.top;return 0!=t&&(0<t?"down":"up")},_getDragHorizontalDirection:function(){var t=this.positionAbs.left-this.lastPositionAbs.left;return 0!=t&&(0<t?"right":"left")},refresh:function(t){return this._refreshItems(t),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var t=this.options;return t.connectWith.constructor===String?[t.connectWith]:t.connectWith},_getItemsAsjQuery:function(t){var e,i,s,n,o=[],a=[],r=this._connectWith();if(r&&t)for(e=r.length-1;0<=e;e--)for(i=(s=V(r[e],this.document[0])).length-1;0<=i;i--)(n=V.data(s[i],this.widgetFullName))&&n!==this&&!n.options.disabled&&a.push(["function"==typeof n.options.items?n.options.items.call(n.element):V(n.options.items,n.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),n]);function l(){o.push(this)}for(a.push(["function"==typeof this.options.items?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):V(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),e=a.length-1;0<=e;e--)a[e][0].each(l);return V(o)},_removeCurrentsFromItems:function(){var i=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=V.grep(this.items,function(t){for(var e=0;e<i.length;e++)if(i[e]===t.item[0])return!1;return!0})},_refreshItems:function(t){this.items=[],this.containers=[this];var e,i,s,n,o,a,r,l,h=this.items,c=[["function"==typeof this.options.items?this.options.items.call(this.element[0],t,{item:this.currentItem}):V(this.options.items,this.element),this]],u=this._connectWith();if(u&&this.ready)for(e=u.length-1;0<=e;e--)for(i=(s=V(u[e],this.document[0])).length-1;0<=i;i--)(n=V.data(s[i],this.widgetFullName))&&n!==this&&!n.options.disabled&&(c.push(["function"==typeof n.options.items?n.options.items.call(n.element[0],t,{item:this.currentItem}):V(n.options.items,n.element),n]),this.containers.push(n));for(e=c.length-1;0<=e;e--)for(o=c[e][1],l=(a=c[e][i=0]).length;i<l;i++)(r=V(a[i])).data(this.widgetName+"-item",o),h.push({item:r,instance:o,width:0,height:0,left:0,top:0})},_refreshItemPositions:function(t){for(var e,i,s=this.items.length-1;0<=s;s--)e=this.items[s],this.currentContainer&&e.instance!==this.currentContainer&&e.item[0]!==this.currentItem[0]||(i=this.options.toleranceElement?V(this.options.toleranceElement,e.item):e.item,t||(e.width=i.outerWidth(),e.height=i.outerHeight()),i=i.offset(),e.left=i.left,e.top=i.top)},refreshPositions:function(t){var e,i;if(this.floating=!!this.items.length&&("x"===this.options.axis||this._isFloating(this.items[0].item)),this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset()),this._refreshItemPositions(t),this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(e=this.containers.length-1;0<=e;e--)i=this.containers[e].element.offset(),this.containers[e].containerCache.left=i.left,this.containers[e].containerCache.top=i.top,this.containers[e].containerCache.width=this.containers[e].element.outerWidth(),this.containers[e].containerCache.height=this.containers[e].element.outerHeight();return this},_createPlaceholder:function(i){var s,n,o=(i=i||this).options;o.placeholder&&o.placeholder.constructor!==String||(s=o.placeholder,n=i.currentItem[0].nodeName.toLowerCase(),o.placeholder={element:function(){var t=V("<"+n+">",i.document[0]);return i._addClass(t,"ui-sortable-placeholder",s||i.currentItem[0].className)._removeClass(t,"ui-sortable-helper"),"tbody"===n?i._createTrPlaceholder(i.currentItem.find("tr").eq(0),V("<tr>",i.document[0]).appendTo(t)):"tr"===n?i._createTrPlaceholder(i.currentItem,t):"img"===n&&t.attr("src",i.currentItem.attr("src")),s||t.css("visibility","hidden"),t},update:function(t,e){s&&!o.forcePlaceholderSize||(e.height()&&(!o.forcePlaceholderSize||"tbody"!==n&&"tr"!==n)||e.height(i.currentItem.innerHeight()-parseInt(i.currentItem.css("paddingTop")||0,10)-parseInt(i.currentItem.css("paddingBottom")||0,10)),e.width())||e.width(i.currentItem.innerWidth()-parseInt(i.currentItem.css("paddingLeft")||0,10)-parseInt(i.currentItem.css("paddingRight")||0,10))}}),i.placeholder=V(o.placeholder.element.call(i.element,i.currentItem)),i.currentItem.after(i.placeholder),o.placeholder.update(i,i.placeholder)},_createTrPlaceholder:function(t,e){var i=this;t.children().each(function(){V("<td> </td>",i.document[0]).attr("colspan",V(this).attr("colspan")||1).appendTo(e)})},_contactContainers:function(t){for(var e,i,s,n,o,a,r,l,h,c=null,u=null,d=this.containers.length-1;0<=d;d--)V.contains(this.currentItem[0],this.containers[d].element[0])||(this._intersectsWith(this.containers[d].containerCache)?c&&V.contains(this.containers[d].element[0],c.element[0])||(c=this.containers[d],u=d):this.containers[d].containerCache.over&&(this.containers[d]._trigger("out",t,this._uiHash(this)),this.containers[d].containerCache.over=0));if(c)if(1===this.containers.length)this.containers[u].containerCache.over||(this.containers[u]._trigger("over",t,this._uiHash(this)),this.containers[u].containerCache.over=1);else{for(i=1e4,s=null,n=(l=c.floating||this._isFloating(this.currentItem))?"left":"top",o=l?"width":"height",h=l?"pageX":"pageY",e=this.items.length-1;0<=e;e--)V.contains(this.containers[u].element[0],this.items[e].item[0])&&this.items[e].item[0]!==this.currentItem[0]&&(a=this.items[e].item.offset()[n],r=!1,t[h]-a>this.items[e][o]/2&&(r=!0),Math.abs(t[h]-a)<i)&&(i=Math.abs(t[h]-a),s=this.items[e],this.direction=r?"up":"down");(s||this.options.dropOnEmpty)&&(this.currentContainer===this.containers[u]?this.currentContainer.containerCache.over||(this.containers[u]._trigger("over",t,this._uiHash()),this.currentContainer.containerCache.over=1):(s?this._rearrange(t,s,null,!0):this._rearrange(t,null,this.containers[u].element,!0),this._trigger("change",t,this._uiHash()),this.containers[u]._trigger("change",t,this._uiHash(this)),this.currentContainer=this.containers[u],this.options.placeholder.update(this.currentContainer,this.placeholder),this.scrollParent=this.placeholder.scrollParent(),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this.containers[u]._trigger("over",t,this._uiHash(this)),this.containers[u].containerCache.over=1))}},_createHelper:function(t){var e=this.options,t="function"==typeof e.helper?V(e.helper.apply(this.element[0],[t,this.currentItem])):"clone"===e.helper?this.currentItem.clone():this.currentItem;return t.parents("body").length||this.appendTo[0].appendChild(t[0]),t[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),t[0].style.width&&!e.forceHelperSize||t.width(this.currentItem.width()),t[0].style.height&&!e.forceHelperSize||t.height(this.currentItem.height()),t},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),"left"in(t=Array.isArray(t)?{left:+t[0],top:+t[1]||0}:t)&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var t=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==this.document[0]&&V.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),{top:(t=this.offsetParent[0]===this.document[0].body?{top:0,left:0}:t).top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){var t;return"relative"===this.cssPosition?{top:(t=this.currentItem.position()).top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:t.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}:{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,e,i=this.options;"parent"===i.containment&&(i.containment=this.helper[0].parentNode),"document"!==i.containment&&"window"!==i.containment||(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,"document"===i.containment?this.document.width():this.window.width()-this.helperProportions.width-this.margins.left,("document"===i.containment?this.document.height()||document.body.parentNode.scrollHeight:this.window.height()||this.document[0].body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(i.containment)||(t=V(i.containment)[0],i=V(i.containment).offset(),e="hidden"!==V(t).css("overflow"),this.containment=[i.left+(parseInt(V(t).css("borderLeftWidth"),10)||0)+(parseInt(V(t).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(V(t).css("borderTopWidth"),10)||0)+(parseInt(V(t).css("paddingTop"),10)||0)-this.margins.top,i.left+(e?Math.max(t.scrollWidth,t.offsetWidth):t.offsetWidth)-(parseInt(V(t).css("borderLeftWidth"),10)||0)-(parseInt(V(t).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(e?Math.max(t.scrollHeight,t.offsetHeight):t.offsetHeight)-(parseInt(V(t).css("borderTopWidth"),10)||0)-(parseInt(V(t).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(t,e){e=e||this.position;var t="absolute"===t?1:-1,i="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&V.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,s=/(html|body)/i.test(i[0].tagName);return{top:e.top+this.offset.relative.top*t+this.offset.parent.top*t-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():s?0:i.scrollTop())*t,left:e.left+this.offset.relative.left*t+this.offset.parent.left*t-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():s?0:i.scrollLeft())*t}},_generatePosition:function(t){var e=this.options,i=t.pageX,s=t.pageY,n="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&V.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,o=/(html|body)/i.test(n[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(t.pageX-this.offset.click.left<this.containment[0]&&(i=this.containment[0]+this.offset.click.left),t.pageY-this.offset.click.top<this.containment[1]&&(s=this.containment[1]+this.offset.click.top),t.pageX-this.offset.click.left>this.containment[2]&&(i=this.containment[2]+this.offset.click.left),t.pageY-this.offset.click.top>this.containment[3])&&(s=this.containment[3]+this.offset.click.top),e.grid)&&(t=this.originalPageY+Math.round((s-this.originalPageY)/e.grid[1])*e.grid[1],s=!this.containment||t-this.offset.click.top>=this.containment[1]&&t-this.offset.click.top<=this.containment[3]?t:t-this.offset.click.top>=this.containment[1]?t-e.grid[1]:t+e.grid[1],t=this.originalPageX+Math.round((i-this.originalPageX)/e.grid[0])*e.grid[0],i=!this.containment||t-this.offset.click.left>=this.containment[0]&&t-this.offset.click.left<=this.containment[2]?t:t-this.offset.click.left>=this.containment[0]?t-e.grid[0]:t+e.grid[0]),{top:s-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():o?0:n.scrollTop()),left:i-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():o?0:n.scrollLeft())}},_rearrange:function(t,e,i,s){i?i[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?e.item[0]:e.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(t,e){this.reverting=!1;var i,s=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(i in this._storedCSS)"auto"!==this._storedCSS[i]&&"static"!==this._storedCSS[i]||(this._storedCSS[i]="");this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")}else this.currentItem.show();function n(e,i,s){return function(t){s._trigger(e,t,i._uiHash(i))}}for(this.fromOutside&&!e&&s.push(function(t){this._trigger("receive",t,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||e||s.push(function(t){this._trigger("update",t,this._uiHash())}),this===this.currentContainer||e||(s.push(function(t){this._trigger("remove",t,this._uiHash())}),s.push(function(e){return function(t){e._trigger("receive",t,this._uiHash(this))}}.call(this,this.currentContainer)),s.push(function(e){return function(t){e._trigger("update",t,this._uiHash(this))}}.call(this,this.currentContainer))),i=this.containers.length-1;0<=i;i--)e||s.push(n("deactivate",this,this.containers[i])),this.containers[i].containerCache.over&&(s.push(n("out",this,this.containers[i])),this.containers[i].containerCache.over=0);if(this.
vendor: 22,953 bytes, line 11124
11124_storedStylesheet&&(this._storedStylesheet.remove(),this._storedStylesheet=null),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,e||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!e){for(i=0;i<s.length;i++)s[i].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!this.cancelHelperRemoval},_trigger:function(){!1===V.Widget.prototype._trigger.apply(this,arguments)&&this.cancel()},_uiHash:function(t){var e=t||this;return{helper:e.helper,placeholder:e.placeholder||V([]),position:e.position,originalPosition:e.originalPosition,offset:e.positionAbs,item:e.currentItem,sender:t?t.element:null}}});function O(e){return function(){var t=this.element.val();e.apply(this,arguments),this._refresh(),t!==this.element.val()&&this._trigger("change")}}V.widget("ui.spinner",{version:"1.14.1",defaultElement:"<input>",widgetEventPrefix:"spin",options:{classes:{"ui-spinner":"ui-corner-all","ui-spinner-down":"ui-corner-br","ui-spinner-up":"ui-corner-tr"},culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var s=this._super(),n=this.element;return V.each(["min","max","step"],function(t,e){var i=n.attr(e);null!=i&&i.length&&(s[e]=i)}),s},_events:{keydown:function(t){this._start(t)&&this._keydown(t)&&t.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(t){this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",t)},mousewheel:function(t,e){var i=this.document[0].activeElement;if(this.element[0]===i&&e){if(!this.spinning&&!this._start(t))return!1;this._spin((0<e?1:-1)*this.options.step,t),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(t)},100),t.preventDefault()}},"mousedown .ui-spinner-button":function(t){var e;e=this.element[0]===this.document[0].activeElement?this.previous:this.element.val(),t.preventDefault(),function(){this.element[0]!==this.document[0].activeElement&&(this.element.trigger("focus"),this.previous=e)}.call(this),!1!==this._start(t)&&this._repeat(null,V(t.currentTarget).hasClass("ui-spinner-up")?1:-1,t)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(t){if(V(t.currentTarget).hasClass("ui-state-active"))return!1!==this._start(t)&&void this._repeat(null,V(t.currentTarget).hasClass("ui-spinner-up")?1:-1,t)},"mouseleave .ui-spinner-button":"_stop"},_enhance:function(){this.uiSpinner=this.element.attr("autocomplete","off").wrap("<span>").parent().append("<a></a><a></a>")},_draw:function(){this._enhance(),this._addClass(this.uiSpinner,"ui-spinner","ui-widget ui-widget-content"),this._addClass("ui-spinner-input"),this.element.attr("role","spinbutton"),this.buttons=this.uiSpinner.children("a").attr("tabIndex",-1).attr("aria-hidden",!0).button({classes:{"ui-button":""}}),this._removeClass(this.buttons,"ui-corner-all"),this._addClass(this.buttons.first(),"ui-spinner-button ui-spinner-up"),this._addClass(this.buttons.last(),"ui-spinner-button ui-spinner-down"),this.buttons.first().button({icon:this.options.icons.up,showLabel:!1}),this.buttons.last().button({icon:this.options.icons.down,showLabel:!1}),this.buttons.height()>Math.ceil(.5*this.uiSpinner.height())&&0<this.uiSpinner.height()&&this.uiSpinner.height(this.uiSpinner.height())},_keydown:function(t){var e=this.options,i=V.ui.keyCode;switch(t.keyCode){case i.UP:return this._repeat(null,1,t),!0;case i.DOWN:return this._repeat(null,-1,t),!0;case i.PAGE_UP:return this._repeat(null,e.page,t),!0;case i.PAGE_DOWN:return this._repeat(null,-e.page,t),!0}return!1},_start:function(t){return!(!this.spinning&&!1===this._trigger("start",t))&&(this.counter||(this.counter=1),this.spinning=!0)},_repeat:function(t,e,i){t=t||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,e,i)},t),this._spin(e*this.options.step,i)},_spin:function(t,e){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+t*this._increment(this.counter)),this.spinning&&!1===this._trigger("spin",e,{value:i})||(this._value(i),this.counter++)},_increment:function(t){var e=this.options.incremental;return e?"function"==typeof e?e(t):Math.floor(t*t*t/5e4-t*t/500+17*t/200+1):1},_precision:function(){var t=this._precisionOf(this.options.step);return t=null!==this.options.min?Math.max(t,this._precisionOf(this.options.min)):t},_precisionOf:function(t){var t=t.toString(),e=t.indexOf(".");return-1===e?0:t.length-e-1},_adjustValue:function(t){var e=this.options,i=null!==e.min?e.min:0,s=t-i;return t=i+Math.round(s/e.step)*e.step,t=parseFloat(t.toFixed(this._precision())),null!==e.max&&t>e.max?e.max:null!==e.min&&t<e.min?e.min:t},_stop:function(t){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",t))},_setOption:function(t,e){var i;"culture"===t||"numberFormat"===t?(i=this._parse(this.element.val()),this.options[t]=e,this.element.val(this._format(i))):("max"!==t&&"min"!==t&&"step"!==t||"string"==typeof e&&(e=this._parse(e)),"icons"===t&&(i=this.buttons.first().find(".ui-icon"),this._removeClass(i,null,this.options.icons.up),this._addClass(i,null,e.up),i=this.buttons.last().find(".ui-icon"),this._removeClass(i,null,this.options.icons.down),this._addClass(i,null,e.down)),this._super(t,e))},_setOptionDisabled:function(t){this._super(t),this._toggleClass(this.uiSpinner,null,"ui-state-disabled",!!t),this.element.prop("disabled",!!t),this.buttons.button(t?"disable":"enable")},_setOptions:O(function(t){this._super(t)}),_parse:function(t){return""===(t="string"==typeof t&&""!==t?window.Globalize&&this.options.numberFormat?Globalize.parseFloat(t,10,this.options.culture):+t:t)||isNaN(t)?null:t},_format:function(t){return""===t?"":window.Globalize&&this.options.numberFormat?Globalize.format(t,this.options.numberFormat,this.options.culture):t},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},isValid:function(){var t=this.value();return null!==t&&t===this._adjustValue(t)},_value:function(t,e){var i;""!==t&&null!==(i=this._parse(t))&&(e||(i=this._adjustValue(i)),t=this._format(i)),this.element.val(t),this._refresh()},_destroy:function(){this.element.prop("disabled",!1).removeAttr("autocomplete role aria-valuemin aria-valuemax aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:O(function(t){this._stepUp(t)}),_stepUp:function(t){this._start()&&(this._spin((t||1)*this.options.step),this._stop())},stepDown:O(function(t){this._stepDown(t)}),_stepDown:function(t){this._start()&&(this._spin((t||1)*-this.options.step),this._stop())},pageUp:O(function(t){this._stepUp((t||1)*this.options.page)}),pageDown:O(function(t){this._stepDown((t||1)*this.options.page)}),value:function(t){if(!arguments.length)return this._parse(this.element.val());O(this._value).call(this,t)},widget:function(){return this.uiSpinner}}),!0===V.uiBackCompat&&V.widget("ui.spinner",V.ui.spinner,{_enhance:function(){this.uiSpinner=this.element.attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml())},_uiSpinnerHtml:function(){return"<span>"},_buttonHtml:function(){return"<a></a><a></a>"}});var A;V.ui.spinner,V.widget("ui.tabs",{version:"1.14.1",delay:300,options:{active:null,classes:{"ui-tabs":"ui-corner-all","ui-tabs-nav":"ui-corner-all","ui-tabs-panel":"ui-corner-bottom","ui-tabs-tab":"ui-corner-top"},collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:(A=/#.*$/,function(t){var e=t.href.replace(A,""),i=location.href.replace(A,"");try{e=decodeURIComponent(e)}catch(t){}try{i=decodeURIComponent(i)}catch(t){}return 1<t.hash.length&&e===i}),_create:function(){var e=this,t=this.options;this.running=!1,this._addClass("ui-tabs","ui-widget ui-widget-content"),this._toggleClass("ui-tabs-collapsible",null,t.collapsible),this._processTabs(),t.active=this._initialActive(),Array.isArray(t.disabled)&&(t.disabled=V.uniqueSort(t.disabled.concat(V.map(this.tabs.filter(".ui-state-disabled"),function(t){return e.tabs.index(t)}))).sort()),!1!==this.options.active&&this.anchors.length?this.active=this._findActive(t.active):this.active=V(),this._refresh(),this.active.length&&this.load(t.active)},_initialActive:function(){var i=this.options.active,t=this.options.collapsible,s=decodeURIComponent(location.hash.substring(1));return null===i&&(s&&this.tabs.each(function(t,e){if(V(e).attr("aria-controls")===s)return i=t,!1}),null!==(i=null===i?this.tabs.index(this.tabs.filter(".ui-tabs-active")):i)&&-1!==i||(i=!!this.tabs.length&&0)),!1!==i&&-1===(i=this.tabs.index(this.tabs.eq(i)))&&(i=!t&&0),i=!t&&!1===i&&this.anchors.length?0:i},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):V()}},_tabKeydown:function(t){var e=V(this.document[0].activeElement).closest("li"),i=this.tabs.index(e),s=!0;if(!this._handlePageNav(t)){switch(t.keyCode){case V.ui.keyCode.RIGHT:case V.ui.keyCode.DOWN:i++;break;case V.ui.keyCode.UP:case V.ui.keyCode.LEFT:s=!1,i--;break;case V.ui.keyCode.END:i=this.anchors.length-1;break;case V.ui.keyCode.HOME:i=0;break;case V.ui.keyCode.SPACE:return t.preventDefault(),clearTimeout(this.activating),void this._activate(i);case V.ui.keyCode.ENTER:return t.preventDefault(),clearTimeout(this.activating),void this._activate(i!==this.options.active&&i);default:return}t.preventDefault(),clearTimeout(this.activating),i=this._focusNextTab(i,s),t.ctrlKey||t.metaKey||(e.attr("aria-selected","false"),this.tabs.eq(i).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",i)},this.delay))}},_panelKeydown:function(t){this._handlePageNav(t)||t.ctrlKey&&t.keyCode===V.ui.keyCode.UP&&(t.preventDefault(),this.active.trigger("focus"))},_handlePageNav:function(t){return t.altKey&&t.keyCode===V.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):t.altKey&&t.keyCode===V.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(t,e){var i=this.tabs.length-1;for(;-1!==V.inArray(t=(t=i<t?0:t)<0?i:t,this.options.disabled);)t=e?t+1:t-1;return t},_focusNextTab:function(t,e){return t=this._findNextTab(t,e),this.tabs.eq(t).trigger("focus"),t},_setOption:function(t,e){"active"===t?this._activate(e):(this._super(t,e),"collapsible"===t&&(this._toggleClass("ui-tabs-collapsible",null,e),e||!1!==this.options.active||this._activate(0)),"event"===t&&this._setupEvents(e),"heightStyle"===t&&this._setupHeightStyle(e))},refresh:function(){var t=this.options,e=this.tablist.children(":has(a[href])");t.disabled=V.map(e.filter(".ui-state-disabled"),function(t){return e.index(t)}),this._processTabs(),!1!==t.active&&this.anchors.length?this.active.length&&!V.contains(this.tablist[0],this.active[0])?this.tabs.length===t.disabled.length?(t.active=!1,this.active=V()):this._activate(this._findNextTab(Math.max(0,t.active-1),!1)):t.active=this.tabs.index(this.active):(t.active=!1,this.active=V()),this._refresh()},_refresh:function(){this._setOptionDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._addClass(this.active,"ui-tabs-active","ui-state-active"),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var r=this,t=this.tabs,e=this.anchors,i=this.panels;this.tablist=this._getList().attr("role","tablist"),this._addClass(this.tablist,"ui-tabs-nav","ui-helper-reset ui-helper-clearfix ui-widget-header"),this.tablist.on("mousedown"+this.eventNamespace,"> li",function(t){V(this).is(".ui-state-disabled")&&t.preventDefault()}),this.tabs=this.tablist.find("> li:has(a[href])").attr({role:"tab",tabIndex:-1}),this._addClass(this.tabs,"ui-tabs-tab","ui-state-default"),this.anchors=this.tabs.map(function(){return V("a",this)[0]}).attr({tabIndex:-1}),this._addClass(this.anchors,"ui-tabs-anchor"),this.panels=V(),this.anchors.each(function(t,e){var i,s,n=V(e).uniqueId().attr("id"),o=V(e).closest("li"),a=o.attr("aria-controls");r._isLocal(e)?(s=decodeURIComponent(e.hash).substring(1),i=r.element.find("#"+CSS.escape(s))):(s=o.attr("aria-controls")||V({}).uniqueId()[0].id,(i=r.element.find("#"+s)).length||(i=r._createPanel(s)).insertAfter(r.panels[t-1]||r.tablist),i.attr("aria-live","polite")),i.length&&(r.panels=r.panels.add(i)),a&&o.data("ui-tabs-aria-controls",a),o.attr({"aria-controls":s,"aria-labelledby":n}),i.attr("aria-labelledby",n)}),this.panels.attr("role","tabpanel"),this._addClass(this.panels,"ui-tabs-panel","ui-widget-content"),t&&(this._off(t.not(this.tabs)),this._off(e.not(this.anchors)),this._off(i.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol, ul").eq(0)},_createPanel:function(t){return V("<div>").attr("id",t).data("ui-tabs-destroy",!0)},_setOptionDisabled:function(t){var e,i;for(Array.isArray(t)&&(t.length?t.length===this.anchors.length&&(t=!0):t=!1),i=0;e=this.tabs[i];i++)e=V(e),!0===t||-1!==V.inArray(i,t)?(e.attr("aria-disabled","true"),this._addClass(e,null,"ui-state-disabled")):(e.removeAttr("aria-disabled"),this._removeClass(e,null,"ui-state-disabled"));this.options.disabled=t,this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!0===t)},_setupEvents:function(t){var i={};t&&V.each(t.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(t){t.preventDefault()}}),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(t){var i,e=this.element.parent();"fill"===t?(i=e.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var t=V(this),e=t.css("position");"absolute"!==e&&"fixed"!==e&&(i-=t.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=V(this).outerHeight(!0)}),this.panels.each(function(){V(this).height(Math.max(0,i-V(this).innerHeight()+V(this).height()))}).css("overflow","auto")):"auto"===t&&(i=0,this.panels.each(function(){i=Math.max(i,V(this).height("").height())}).height(i))},_eventHandler:function(t){var e=this.options,i=this.active,s=V(t.currentTarget).closest("li"),n=s[0]===i[0],o=n&&e.collapsible,a=o?V():this._getPanelForTab(s),r=i.length?this._getPanelForTab(i):V(),i={oldTab:i,oldPanel:r,newTab:o?V():s,newPanel:a};t.preventDefault(),s.hasClass("ui-state-disabled")||s.hasClass("ui-tabs-loading")||this.running||n&&!e.collapsible||!1===this._trigger("beforeActivate",t,i)||(e.active=!o&&this.tabs.index(s),this.active=n?V():s,this.xhr&&this.xhr.abort(),r.length||a.length||V.error("jQuery UI Tabs: Mismatching fragment identifier."),a.length&&this.load(this.tabs.index(s),t),this._toggle(t,i))},_toggle:function(t,e){var i=this,s=e.newPanel,n=e.oldPanel;function o(){i.running=!1,i._trigger("activate",t,e)}function a(){i._addClass(e.newTab.closest("li"),"ui-tabs-active","ui-state-active"),s.length&&i.options.show?i._show(s,i.options.show,o):(s.show(),o())}this.running=!0,n.length&&this.options.hide?this._hide(n,this.options.hide,function(){i._removeClass(e.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),a()}):(this._removeClass(e.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),n.hide(),a()),n.attr("aria-hidden","true"),e.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),s.length&&n.length?e.oldTab.attr("tabIndex",-1):s.length&&this.tabs.filter(function(){return 0===V(this).attr("tabIndex")}).attr("tabIndex",-1),s.attr("aria-hidden","false"),e.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(t){var t=this._findActive(t);t[0]!==this.active[0]&&(t=(t=t.length?t:this.active).find(".ui-tabs-anchor")[0],this._eventHandler({target:t,currentTarget:t,preventDefault:V.noop}))},_findActive:function(t){return!1===t?V():this.tabs.eq(t)},_getIndex:function(t){return t="string"==typeof t?this.anchors.index(this.anchors.filter("[href$='"+CSS.escape(t)+"']")):t},_destroy:function(){this.xhr&&this.xhr.abort(),this.tablist.removeAttr("role").off(this.eventNamespace),this.anchors.removeAttr("role tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){V.data(this,"ui-tabs-destroy")?V(this).remove():V(this).removeAttr("role tabIndex aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded")}),this.tabs.each(function(){var t=V(this),e=t.data("ui-tabs-aria-controls");e?t.attr("aria-controls",e).removeData("ui-tabs-aria-controls"):t.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(i){var t=this.options.disabled;!1!==t&&(t=void 0!==i&&(i=this._getIndex(i),Array.isArray(t)?V.map(t,function(t){return t!==i?t:null}):V.map(this.tabs,function(t,e){return e!==i?e:null})),this._setOptionDisabled(t))},disable:function(t){var e=this.options.disabled;if(!0!==e){if(void 0===t)e=!0;else{if(t=this._getIndex(t),-1!==V.inArray(t,e))return;e=Array.isArray(e)?V.merge([t],e).sort():[t]}this._setOptionDisabled(e)}},load:function(t,s){t=this._getIndex(t);function n(t,e){"abort"===e&&o.panels.stop(!1,!0),o._removeClass(i,"ui-tabs-loading"),a.removeAttr("aria-busy"),t===o.xhr&&delete o.xhr}var o=this,i=this.tabs.eq(t),t=i.find(".ui-tabs-anchor"),a=this._getPanelForTab(i),r={tab:i,panel:a};this._isLocal(t[0])||(this.xhr=V.ajax(this._ajaxSettings(t,s,r)),"canceled"!==this.xhr.statusText&&(this._addClass(i,"ui-tabs-loading"),a.attr("aria-busy","true"),this.xhr.done(function(t,e,i){a.html(t),o._trigger("load",s,r),n(i,e)}).fail(function(t,e){n(t,e)})))},_ajaxSettings:function(t,i,s){var n=this;return{url:t.attr("href"),beforeSend:function(t,e){return n._trigger("beforeLoad",i,V.extend({jqXHR:t,ajaxSettings:e},s))}}},_getPanelForTab:function(t){t=V(t).attr("aria-controls");return this.element.find("#"+CSS.escape(t))}}),!0===V.uiBackCompat&&V.widget("ui.tabs",V.ui.tabs,{_processTabs:function(){this._superApply(arguments),this._addClass(this.tabs,"ui-tab")}}),V.ui.tabs,V.widget("ui.tooltip",{version:"1.14.1",options:{classes:{"ui-tooltip":"ui-corner-all ui-widget-shadow"},content:function(){var t=V(this).attr("title");return V("<a>").text(t).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,track:!1,close:null,open:null},_addDescribedBy:function(t,e){var i=(t.attr("aria-describedby")||"").split(/\s+/);i.push(e),t.data("ui-tooltip-id",e).attr("aria-describedby",String.prototype.trim.call(i.join(" ")))},_removeDescribedBy:function(t){var e=t.data("ui-tooltip-id"),i=(t.attr("aria-describedby")||"").split(/\s+/),e=V.inArray(e,i);-1!==e&&i.splice(e,1),t.removeData("ui-tooltip-id"),(i=String.prototype.trim.call(i.join(" ")))?t.attr("aria-describedby",i):t.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.liveRegion=V("<div>").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this.disabledTitles=V([])},_setOption:function(t,e){var i=this;this._super(t,e),"content"===t&&V.each(this.tooltips,function(t,e){i._updateContent(e.element)})},_setOptionDisabled:function(t){this[t?"_disable":"_enable"]()},_disable:function(){var s=this;V.each(this.tooltips,function(t,e){var i=V.Event("blur");i.target=i.currentTarget=e.element[0],s.close(i,!0)}),this.disabledTitles=this.disabledTitles.add(this.element.find(this.options.items).addBack().filter(function(){var t=V(this);if(t.is("[title]"))return t.data("ui-tooltip-title",t.attr("title")).removeAttr("title")}))},_enable:function(){this.disabledTitles.each(function(){var t=V(this);t.data("ui-tooltip-title")&&t.attr("title",t.data("ui-tooltip-title"))}),this.disabledTitles=V([])},open:function(t){var i=this,e=V(t?t.target:this.element).closest(this.options.items);e.length&&!e.data("ui-tooltip-id")&&(e.attr("title")&&e.data("ui-tooltip-title",e.attr("title")),e.data("ui-tooltip-open",!0),t&&"mouseover"===t.type&&e.parents().each(function(){var t,e=V(this);e.data("ui-tooltip-open")&&((t=V.Event("blur")).target=t.currentTarget=this,i.close(t,!0)),e.attr("title")&&(e.uniqueId(),i.parents[this.id]={element:this,title:e.attr("title")},e.attr("title",""))}),this._registerCloseHandlers(t,e),this._updateContent(e,t))},_updateContent:function(e,i){var t=this.options.content,s=this,n=i?i.type:null;if("string"==typeof t||t.nodeType||t.jquery)return this._open(i,e,t);(t=t.call(e[0],function(t){e.data("ui-tooltip-open")&&(i&&(i.type=n),s._open(i,e,t))}))&&this._open(i,e,t)},_open:function(t,e,i){var s,n,o,a=V.extend({},this.options.position);function r(t){a.of=t,s.is(":hidden")||s.position(a)}i&&((o=this._find(e))?o.tooltip.find(".ui-tooltip-content").html(i):(e.is("[title]")&&(t&&"mouseover"===t.type?e.attr("title",""):e.removeAttr("title")),o=this._tooltip(e),s=o.tooltip,this._addDescribedBy(e,s.attr("id")),s.find(".ui-tooltip-content").html(i),this.liveRegion.children().hide(),(o=V("<div>").html(s.find(".ui-tooltip-content").html())).removeAttr("name").find("[name]").removeAttr("name"),o.removeAttr("id").find("[id]").removeAttr("id"),o.appendTo(this.liveRegion),this.options.track&&t&&/^mouse/.test(t.type)?(this._on(this.document,{mousemove:r}),r(t)):s.position(V.extend({of:e},this.options.position)),s.hide(),this._show(s,this.options.show),this.options.track&&this.options.show&&this.options.show.delay&&(n=this.delayedShow=setInterval(function(){s.is(":visible")&&(r(a.of),clearInterval(n))},13)),this._trigger("open",t,{tooltip:s}
11124)))},_registerCloseHandlers:function(t,e){var i={keyup:function(t){t.keyCode===V.ui.keyCode.ESCAPE&&((t=V.Event(t)).currentTarget=e[0],this.close(t,!0))}};e[0]!==this.element[0]&&(i.remove=function(){var t=this._find(e);t&&this._removeTooltip(t.tooltip)}),t&&"mouseover"!==t.type||(i.mouseleave="close"),t&&"focusin"!==t.type||(i.focusout="close"),this._on(!0,e,i)},close:function(t){var e,i=this,s=V(t?t.currentTarget:this.element),n=this._find(s);n?(e=n.tooltip,n.closing||(clearInterval(this.delayedShow),s.data("ui-tooltip-title")&&!s.attr("title")&&s.attr("title",s.data("ui-tooltip-title")),this._removeDescribedBy(s),n.hiding=!0,e.stop(!0),this._hide(e,this.options.hide,function(){i._removeTooltip(V(this))}),s.removeData("ui-tooltip-open"),this._off(s,"mouseleave focusout keyup"),s[0]!==this.element[0]&&this._off(s,"remove"),this._off(this.document,"mousemove"),t&&"mouseleave"===t.type&&V.each(this.parents,function(t,e){V(e.element).attr("title",e.title),delete i.parents[t]}),n.closing=!0,this._trigger("close",t,{tooltip:e}),n.hiding)||(n.closing=!1)):s.removeData("ui-tooltip-open")},_tooltip:function(t){var e=V("<div>").attr("role","tooltip"),i=V("<div>").appendTo(e),s=e.uniqueId().attr("id");return this._addClass(i,"ui-tooltip-content"),this._addClass(e,"ui-tooltip","ui-widget ui-widget-content"),e.appendTo(this._appendTo(t)),this.tooltips[s]={element:t,tooltip:e}},_find:function(t){t=t.data("ui-tooltip-id");return t?this.tooltips[t]:null},_removeTooltip:function(t){clearInterval(this.delayedShow),t.remove(),delete this.tooltips[t.attr("id")]},_appendTo:function(t){t=t.closest(".ui-front, dialog");return t=t.length?t:this.document[0].body},_destroy:function(){var s=this;V.each(this.tooltips,function(t,e){var i=V.Event("blur"),e=e.element;i.target=i.currentTarget=e[0],s.close(i,!0),V("#"+t).remove(),e.data("ui-tooltip-title")&&(e.attr("title")||e.attr("title",e.data("ui-tooltip-title")),e.removeData("ui-tooltip-title"))}),this.liveRegion.remove()}}),!0===V.uiBackCompat&&V.widget("ui.tooltip",V.ui.tooltip,{options:{tooltipClass:null},_tooltip:function(){var t=this._superApply(arguments);return this.options.tooltipClass&&t.tooltip.addClass(this.options.tooltipClass),t}}),V.ui.tooltip}); 11125�/*! 11126* Bootstrap.js by @fat & @mdo 11127* Copyright 2012 Twitter, Inc. 11128* http://www.apache.org/licenses/LICENSE-2.0.txt 11129*/ 11130!function(e){"use strict";e(function(){e.support.transition=function(){var e=function(){var e=document.createElement("bootstrap"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},n;for(n in t)if(e.style[n]!==undefined)return t[n]}();return e&&{end:e}}()})}(window.jQuery),!function(e){"use strict";var t='[data-dismiss="alert"]',n=function(n){e(n).on("click",t,this.close)};n.prototype.close=function(t){function s(){i.trigger("closed").remove()}var n=e(this),r=n.attr("data-target"),i;r||(r=n.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,"")),i=e(r),t&&t.preventDefault(),i.length||(i=n.hasClass("alert")?n:n.parent()),i.trigger(t=e.Event("close"));if(t.isDefaultPrevented())return;i.removeClass("in"),e.support.transition&&i.hasClass("fade")?i.on(e.support.transition.end,s):s()};var r=e.fn.alert;e.fn.alert=function(t){return this.each(function(){var r=e(this),i=r.data("alert");i||r.data("alert",i=new n(this)),typeof t=="string"&&i[t].call(r)})},e.fn.alert.Constructor=n,e.fn.alert.noConflict=function(){return e.fn.alert=r,this},e(document).on("click.alert.data-api",t,n.prototype.close)}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.button.defaults,n)};t.prototype.setState=function(e){var t="disabled",n=this.$element,r=n.data(),i=n.is("input")?"val":"html";e+="Text",r.resetText||n.data("resetText",n[i]()),n[i](r[e]||this.options[e]),setTimeout(function(){e=="loadingText"?n.addClass(t).attr(t,t):n.removeClass(t).removeAttr(t)},0)},t.prototype.toggle=function(){var e=this.$element.closest('[data-toggle="buttons-radio"]');e&&e.find(".active").removeClass("active"),this.$element.toggleClass("active")};var n=e.fn.button;e.fn.button=function(n){return this.each(function(){var r=e(this),i=r.data("button"),s=typeof n=="object"&&n;i||r.data("button",i=new t(this,s)),n=="toggle"?i.toggle():n&&i.setState(n)})},e.fn.button.defaults={loadingText:"loading..."},e.fn.button.Constructor=t,e.fn.button.noConflict=function(){return e.fn.button=n,this},e(document).on("click.button.data-api","[data-toggle^=button]",function(t){var n=e(t.target);n.hasClass("btn")||(n=n.closest(".btn")),n.button("toggle")})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.$indicators=this.$element.find(".carousel-indicators"),this.options=n,this.options.pause=="hover"&&this.$element.on("mouseenter",e.proxy(this.pause,this)).on("mouseleave",e.proxy(this.cycle,this))};t.prototype={cycle:function(t){return t||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},getActiveIndex:function(){return this.$active=this.$element.find(".
11130item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},to:function(t){var n=this.getActiveIndex(),r=this;if(t>this.$items.length-1||t<0)return;return this.sliding?this.$element.one("slid",function(){r.to(t)}):n==t?this.pause().cycle():this.slide(t>n?"next":"prev",e(this.$items[t]))},pause:function(t){return t||(this.paused=!0),this.$element.find(".next, .prev").length&&e.support.transition.end&&(this.$element.trigger(e.support.transition.end),this.cycle(!0)),clearInterval(this.interval),this.interval=null,this},next:function(){if(this.sliding)return;return this.slide("next")},prev:function(){if(this.sliding)return;return this.slide("prev")},slide:function(t,n){var r=this.$element.find(".item.active"),i=n||r[t](),s=this.interval,o=t=="next"?"left":"right",u=t=="next"?"first":"last",a=this,f;this.sliding=!0,s&&this.pause(),i=i.length?i:this.$element.find(".item")[u](),f=e.Event("slide",{relatedTarget:i[0],direction:o});if(i.hasClass("active"))return;this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var t=e(a.$indicators.children()[a.getActiveIndex()]);t&&t.addClass("active")}));if(e.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(f);if(f.isDefaultPrevented())return;i.addClass(t),i[0].offsetWidth,r.addClass(o),i.addClass(o),this.$element.one(e.support.transition.end,function(){i.removeClass([t,o].join(" ")).addClass("active"),r.removeClass(["active",o].join(" ")),a.sliding=!1,setTimeout(function(){a.$element.trigger("slid")},0)})}else{this.$element.trigger(f);if(f.isDefaultPrevented())return;r.removeClass("active"),i.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return s&&this.cycle(),this}};var n=e.fn.carousel;e.fn.carousel=function(n){return this.each(function(){var r=e(this),i=r.data("carousel"),s=e.extend({},e.fn.carousel.defaults,typeof n=="object"&&n),o=typeof n=="string"?n:s.slide;i||r.data("carousel",i=new t(this,s)),typeof n=="number"?i.to(n):o?i[o]():s.interval&&i.pause().cycle()})},e.fn.carousel.defaults={interval:5e3,pause:"hover"},e.fn.carousel.Constructor=t,e.fn.carousel.noConflict=function(){return e.fn.carousel=n,this},e(document).on("click.carousel.data-api","[data-slide], [data-slide-to]",function(t){var n=e(this),r,i=e(n.attr("data-target")||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,"")),s=e.extend({},i.data(),n.data()),o;i.carousel(s),(o=n.attr("data-slide-to"))&&i.data("carousel").pause().to(o).cycle(),t.preventDefault()})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.collapse.defaults,n),this.options.parent&&(this.$parent=e(this.options.parent)),this.options.toggle&&this.toggle()};t.prototype={constructor:t,dimension:function(){var e=this.$element.hasClass("width");return e?"width":"height"},show:function(){var t,n,r,i;if(this.transitioning||this.$element.hasClass("in"))return;t=this.dimension(),n=e.camelCase(["scroll",t].join("-")),r=this.$parent&&this.$parent.find("> .accordion-group > .in");if(r&&r.length){i=r.data("collapse");if(i&&i.transitioning)return;r.collapse("hide"),i||r.data("collapse",null)}this.$element[t](0),this.transition("addClass",e.Event("show"),"shown"),e.support.transition&&this.$element[t](this.$element[0][n])},hide:function(){var t;if(this.transitioning||!this.$element.hasClass("in"))return;t=this.dimension(),this.reset(this.$element[t]()),this.transition("removeClass",e.Event("hide"),"hidden"),this.$element[t](0)},reset:function(e){var t=this.dimension();return this.$element.removeClass("collapse")[t](e||"auto")[0].offsetWidth,this.$element[e!==null?"addClass":"removeClass"]("collapse"),this},transition:function(t,n,r){var i=this,s=function(){n.type=="show"&&i.reset(),i.transitioning=0,i.$element.trigger(r)};this.$element.trigger(n);if(n.isDefaultPrevented())return;this.transitioning=1,this.$element[t]("in"),e.support.transition&&this.$element.hasClass("collapse")?this.$element.one(e.support.transition.end,s):s()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}};var n=e.fn.collapse;e.fn.collapse=function(n){return this.each(function(){var r=e(this),i=r.data("collapse"),s=e.extend({},e.fn.collapse.defaults,r.data(),typeof n=="object"&&n);i||r.data("collapse",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.collapse.defaults={toggle:!0},e.fn.collapse.Constructor=t,e.fn.collapse.noConflict=function(){return e.fn.collapse=n,this},e(document).on("click.collapse.data-api","[data-toggle=collapse]",function(t){var n=e(this),r,i=n.attr("data-target")||t.preventDefault()||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,""),s=e(i).data("c
11130ollapse")?"toggle":n.data();n[e(i).hasClass("in")?"addClass":"removeClass"]("collapsed"),e(i).collapse(s)})}(window.jQuery),!function(e){"use strict";function r(){e(".dropdown-backdrop").remove(),e(t).each(function(){i(e(this)).removeClass("open")})}function i(t){var n=t.attr("data-target"),r;n||(n=t.attr("href"),n=n&&/#/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,"")),r=n&&e(n);if(!r||!r.length)r=t.parent();return r}var t="[data-toggle=dropdown]",n=function(t){var n=e(t).on("click.dropdown.data-api",this.toggle);e("html").on("click.dropdown.data-api",function(){n.parent().removeClass("open")})};n.prototype={constructor:n,toggle:function(t){var n=e(this),s,o;if(n.is(".disabled, :disabled"))return;return s=i(n),o=s.hasClass("open"),r(),o||("ontouchstart"in document.documentElement&&e('<div class="dropdown-backdrop"/>').insertBefore(e(this)).on("click",r),s.toggleClass("open")),n.focus(),!1},keydown:function(n){var r,s,o,u,a,f;if(!/(38|40|27)/.test(n.keyCode))return;r=e(this),n.preventDefault(),n.stopPropagation();if(r.is(".disabled, :disabled"))return;u=i(r),a=u.hasClass("open");if(!a||a&&n.keyCode==27)return n.which==27&&u.find(t).focus(),r.click();s=e("[role=menu] li:not(.divider):visible a",u);if(!s.length)return;f=s.index(s.filter(":focus")),n.keyCode==38&&f>0&&f--,n.keyCode==40&&f<s.length-1&&f++,~f||(f=0),s.eq(f).focus()}};var s=e.fn.dropdown;e.fn.dropdown=function(t){return this.each(function(){var r=e(this),i=r.data("dropdown");i||r.data("dropdown",i=new n(this)),typeof t=="string"&&i[t].call(r)})},e.fn.dropdown.Constructor=n,e.fn.dropdown.noConflict=function(){return e.fn.dropdown=s,this},e(document).on("click.dropdown.data-api",r).on("click.dropdown.data-api",".dropdown form",function(e){e.stopPropagation()}).on("click.dropdown.data-api",t,n.prototype.toggle).on("keydown.dropdown.data-api",t+", [role=menu]",n.prototype.keydown)}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.options=n,this.$element=e(t).delegate('[data-dismiss="modal"]',"click.dismiss.modal",e.proxy(this.hide,this)),this.options.remote&&this.$element.find(".modal-body").load(this.options.remote)};t.prototype={constructor:t,toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var t=this,n=e.Event("show");this.$element.trigger(n);if(this.isShown||n.isDefaultPrevented())return;this.isShown=!0,this.escape(),this.backdrop(function(){var n=e.support.transition&&t.$element.hasClass("fade");t.$element.parent().length||t.$element.appendTo(document.body),t.$element.show(),n&&t.$element[0].offsetWidth,t.$element.addClass("in"),t.enforceFocus(),n?t.$element.one(e.support.transition.end,function(){t.$element.focus().trigger("shown")}):t.$element.focus().trigger("shown")})},hide:function(t){t&&t.preventDefault();var n=this;t=e.Event("hide"),this.$element.trigger(t);if(!this.isShown||t.isDefaultPrevented())return;this.isShown=!1,this.escape(),e(document).off("focusin.modal"),this.$element.removeClass("in"
vendor: 17,976 bytes, line 11130
11130),e.support.transition&&this.$element.hasClass("fade")?this.hideWithTransition():this.hideModal()},enforceFocus:function(){var t=this;e(document).on("focusin.modal",function(e){t.$element[0]!==e.target&&!t.$element.has(e.target).length&&t.$element.focus()})},escape:function(){var e=this;this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.modal",function(t){t.which==27&&e.hide()}):this.isShown||this.$element.off("keyup.dismiss.modal")},hideWithTransition:function(){var t=this,n=setTimeout(function(){t.$element.off(e.support.transition.end),t.hideModal()},500);this.$element.one(e.support.transition.end,function(){clearTimeout(n),t.hideModal()})},hideModal:function(){var e=this;this.$element.hide(),this.backdrop(function(){e.removeBackdrop(),e.$element.trigger("hidden")})},removeBackdrop:function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},backdrop:function(t){var n=this,r=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var i=e.support.transition&&r;this.$backdrop=e('<div class="modal-backdrop '+r+'" />').appendTo(document.body),this.$backdrop.click(this.options.backdrop=="static"?e.proxy(this.$element[0].focus,this.$element[0]):e.proxy(this.hide,this)),i&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in");if(!t)return;i?this.$backdrop.one(e.support.transition.end,t):t()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),e.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(e.support.transition.end,t):t()):t&&t()}};var n=e.fn.modal;e.fn.modal=function(n){return this.each(function(){var r=e(this),i=r.data("modal"),s=e.extend({},e.fn.modal.defaults,r.data(),typeof n=="object"&&n);i||r.data("modal",i=new t(this,s)),typeof n=="string"?i[n]():s.show&&i.show()})},e.fn.modal.defaults={backdrop:!0,keyboard:!0,show:!0},e.fn.modal.Constructor=t,e.fn.modal.noConflict=function(){return e.fn.modal=n,this},e(document).on("click.modal.data-api",'[data-toggle="modal"]',function(t){var n=e(this),r=n.attr("href"),i=e(n.attr("data-target")||r&&r.replace(/.*(?=#[^\s]+$)/,"")),s=i.data("modal")?"toggle":e.extend({remote:!/#/.test(r)&&r},i.data(),n.data());t.preventDefault(),i.modal(s).one("hide",function(){n.focus()})})}(window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("tooltip",e,t)};t.prototype={constructor:t,init:function(t,n,r){var i,s,o,u,a;this.type=t,this.$element=e(n),this.options=this.getOptions(r),this.enabled=!0,o=this.options.trigger.split(" ");for(a=o.length;a--;)u=o[a],u=="click"?this.$element.on("click."+this.type,this.options.selector,e.proxy(this.toggle,this)):u!="manual"&&(i=u=="hover"?"mouseenter":"focus",s=u=="hover"?"mouseleave":"blur",this.$element.on(i+"."+this.type,this.options.selector,e.proxy(this.enter,this)),this.$element.on(s+"."+this.type,this.options.selector,e.proxy(this.leave,this)));this.options.selector?this._options=e.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(t){return t=e.extend({},e.fn[this.type].defaults,this.$element.data(),t),t.delay&&typeof t.delay=="number"&&(t.delay={show:t.delay,hide:t.delay}),t},enter:function(t){var n=e.fn[this.type].defaults,r={},i;this._options&&e.each(this._options,function(e,t){n[e]!=t&&(r[e]=t)},this),i=e(t.currentTarget)[this.type](r).data(this.type);if(!i.options.delay||!i.options.delay.show)return i.show();clearTimeout(this.timeout),i.hoverState="in",this.timeout=setTimeout(function(){i.hoverState=="in"&&i.show()},i.options.delay.show)},leave:function(t){var n=e(t.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!n.options.delay||!n.options.delay.hide)return n.hide();n.hoverState="out",this.timeout=setTimeout(function(){n.hoverState=="out"&&n.hide()},n.options.delay.hide)},show:function(){var t,n,r,i,s,o,u=e.Event("show");if(this.hasContent()&&this.enabled){this.$element.trigger(u);if(u.isDefaultPrevented())return;t=this.tip(),this.setContent(),this.options.animation&&t.addClass("fade"),s=typeof this.options.placement=="function"?this.options.placement.call(this,t[0],this.$element[0]):this.options.placement,t.detach().css({top:0,left:0,display:"block"}),this.options.container?t.appendTo(this.options.container):t.insertAfter(this.$element),n=this.getPosition(),r=t[0].offsetWidth,i=t[0].offsetHeight;switch(s){case"bottom":o={top:n.top+n.height,left:n.left+n.width/2-r/2};break;case"top":o={top:n.top-i,left:n.left+n.width/2-r/2};break;case"left":o={top:n.top+n.height/2-i/2,left:n.left-r};break;case"right":o={top:n.top+n.height/2-i/2,left:n.left+n.width}}this.applyPlacement(o,s),this.$element.trigger("shown")}},applyPlacement:function(e,t){var n=this.tip(),r=n[0].offsetWidth,i=n[0].offsetHeight,s,o,u,a;n.offset(e).addClass(t).addClass("in"),s=n[0].offsetWidth,o=n[0].offsetHeight,t=="top"&&o!=i&&(e.top=e.top+i-o,a=!0),t=="bottom"||t=="top"?(u=0,e.left<0&&(u=e.left*-2,e.left=0,n.offset(e),s=n[0].offsetWidth,o=n[0].offsetHeight),this.replaceArrow(u-r+s,s,"left")):this.replaceArrow(o-i,o,"top"),a&&n.offset(e)},replaceArrow:function(e,t,n){this.arrow().css(n,e?50*(1-e/t)+"%":"")},setContent:function(){var e=this.tip(),t=this.getTitle();e.find(".tooltip-inner")[this.options.html?"html":"text"](t),e.removeClass("fade in top bottom left right")},hide:function(){function i(){var t=setTimeout(function(){n.off(e.support.transition.end).detach()},500);n.one(e.support.transition.end,function(){clearTimeout(t),n.detach()})}var t=this,n=this.tip(),r=e.Event("hide");this.$element.trigger(r);if(r.isDefaultPrevented())return;return n.removeClass("in"),e.support.transition&&this.$tip.hasClass("fade")?i():n.detach(),this.$element.trigger("hidden"),this},fixTitle:function(){var e=this.$element;(e.attr("title")||typeof e.attr("data-original-title")!="string")&&e.attr("data-original-title",e.attr("title")||"").attr("title","")},hasContent:function(){return this.getTitle()},getPosition:function(){var t=this.$element[0];return e.extend({},typeof t.getBoundingClientRect=="function"?t.getBoundingClientRect():{width:t.offsetWidth,height:t.offsetHeight},this.$element.offset())},getTitle:function(){var e,t=this.$element,n=this.options;return e=t.attr("data-original-title")||(typeof n.title=="function"?n.title.call(t[0]):n.title),e},tip:function(){return this.$tip=this.$tip||e(this.options.template)},arrow:function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(t){var n=t?e(t.currentTarget)[this.type](this._options).data(this.type):this;n.tip().hasClass("in")?n.hide():n.show()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}};var n=e.fn.tooltip;e.fn.tooltip=function(n){return this.each(function(){var r=e(this),i=r.data("tooltip"),s=typeof n=="object"&&n;i||r.data("tooltip",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.tooltip.Constructor=t,e.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},e.fn.tooltip.noConflict=function(){return e.fn.tooltip=n,this}}(window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("popover",e,t)};t.prototype=e.extend({},e.fn.tooltip.Constructor.prototype,{constructor:t,setContent:function(){var e=this.tip(),t=this.getTitle(),n=this.getContent();e.find(".popover-title")[this.options.html?"html":"text"](t),e.find(".popover-content")[this.options.html?"html":"text"](n),e.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var e,t=this.$element,n=this.options;return e=(typeof n.content=="function"?n.content.call(t[0]):n.content)||t.attr("data-content"),e},tip:function(){return this.$tip||(this.$tip=e(this.options.template)),this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}});var n=e.fn.popover;e.fn.popover=function(n){return this.each(function(){var r=e(this),i=r.data("popover"),s=typeof n=="object"&&n;i||r.data("popover",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.popover.Constructor=t,e.fn.popover.defaults=e.extend({},e.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),e.fn.popover.noConflict=function(){return e.fn.popover=n,this}}(window.jQuery),!function(e){"use strict";function t(t,n){var r=e.proxy(this.process,this),i=e(t).is("body")?e(window):e(t),s;this.options=e.extend({},e.fn.scrollspy.defaults,n),this.$scrollElement=i.on("scroll.scroll-spy.data-api",r),this.selector=(this.options.target||(s=e(t).attr("href"))&&s.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.$body=e("body"),this.refresh(),this.process()}t.prototype={constructor:t,refresh:function(){var t=this,n;this.offsets=e([]),this.targets=e([]),n=this.$body.find(this.selector).map(function(){var n=e(this),r=n.data("target")||n.attr("href"),i=/^#\w/.test(r)&&e(r);return i&&i.length&&[[i.position().top+(!e.isWindow(t.$scrollElement.get(0))&&t.$scrollElement.scrollTop()),r]]||null}).sort(function(e,t){return e[0]-t[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},process:function(){var e=this.$scrollElement.scrollTop()+this.options.offset,t=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,n=t-this.$scrollElement.height(),r=this.offsets,i=this.targets,s=this.activeTarget,o;if(e>=n)return s!=(o=i.last()[0])&&this.activate(o);for(o=r.length;o--;)s!=i[o]&&e>=r[o]&&(!r[o+1]||e<=r[o+1])&&this.activate(i[o])},activate:function(t){var n,r;this.activeTarget=t,e(this.selector).parent(".active").removeClass("active"),r=this.selector+'[data-target="'+t+'"],'+this.selector+'[href="'+t+'"]',n=e(r).parent("li").addClass("active"),n.parent(".dropdown-menu").length&&(n=n.closest("li.dropdown").addClass("active")),n.trigger("activate")}};var n=e.fn.scrollspy;e.fn.scrollspy=function(n){return this.each(function(){var r=e(this),i=r.data("scrollspy"),s=typeof n=="object"&&n;i||r.data("scrollspy",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.scrollspy.Constructor=t,e.fn.scrollspy.defaults={offset:10},e.fn.scrollspy.noConflict=function(){return e.fn.scrollspy=n,this},e(window).on("load",function(){e('[data-spy="scroll"]').each(function(){var t=e(this);t.scrollspy(t.data())})})}(window.jQuery),!function(e){"use strict";var t=function(t){this.element=e(t)};t.prototype={constructor:t,show:function(){var t=this.element,n=t.closest("ul:not(.dropdown-menu)"),r=t.attr("data-target"),i,s,o;r||(r=t.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,""));if(t.parent("li").hasClass("active"))return;i=n.find(".active:last a")[0],o=e.Event("show",{relatedTarget:i}),t.trigger(o);if(o.isDefaultPrevented())return;s=e(r),this.activate(t.parent("li"),n),this.activate(s,s.parent(),function(){t.trigger({type:"shown",relatedTarget:i})})},activate:function(t,n,r){function o(){i.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),t.addClass("active"),s?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu")&&t.closest("li.dropdown").addClass("active"),r&&r()}var i=n.find("> .active"),s=r&&e.support.transition&&i.hasClass("fade");s?i.one(e.support.transition.end,o):o(),i.removeClass("in")}};var n=e.fn.tab;e.fn.tab=function(n){return this.each(function(){var r=e(this),i=r.data("tab");i||r.data("tab",i=new t(this)),typeof n=="string"&&i[n]()})},e.fn.tab.Constructor=t,e.fn.tab.noConflict=function(){return e.fn.tab=n,this},e(document).on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(t){t.preventDefault(),e(this).tab("show")})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.typeahead.defaults,n),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.highlighter=this.options.highlighter||this.highlighter,this.updater=this.options.updater||this.updater,this.source=this.options.source,this.$menu=e(this.options.menu),this.shown=!1,this.listen()};t.prototype={constructor:t,select:function(){var e=this.$menu.find(".active").attr("data-value");return this.$element.val(this.updater(e)).change(),this.hide()},updater:function(e){return e},show:function(){var t=e.extend({},this.$element.position(),{height:this.$element[0].offsetHeight});return this.$menu.insertAfter(this.$element).css({top:t.top+t.height,left:t.left}).show(),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.shown=!1,this},lookup:function(t){var n;return this.query=this.$element.val(),!this.query||this.query.length<this.options.minLength?this.shown?this.hide():this:(n=e.isFunction(this.source)?this.source(this.query,e.proxy(this.process,this)):this.source,n?this.process(n):this)},process:function(t){var n=this;return t=e.grep(t,function(e){return n.matcher(e)}),t=this.sorter(t),t.length?this.render(t.slice(0,this.options.items)).show():this.shown?this.hide():this},matcher:function(e){return~e.toLowerCase().indexOf(this.query.toLowerCase())},sorter:function(e){var t=[],n=[],r=[],i;while(i=e.shift())i.toLowerCase().indexOf(this.query.toLowerCase())?~i.indexOf(this.query)?n.push(i):r.push(i):t.push(i);return t.concat(n,r)},highlighter:function(e){var t=this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&");return e.replace(new RegExp("("+t+")","ig"),function(e,t){return"<strong>"+t+"</strong>"})},render:function(t){var n=this;return t=e(t).map(function(t,r){return t=e(n.options.item).attr("data-value",r),t.find("a").html(n.highlighter(r)),t[0]}),t.first().addClass("active"),this.$menu.html(t),this},next:function(t){var n=this.$menu.find(".active").removeClass("active"),r=n.next();r.length||(r=e(this.$menu.find("li")[0])),r.addClass("active")},prev:function(e){var t=this.$menu.find(".active").removeClass("active"),n=t.prev();n.length||(n=this.$menu.find("li").last()),n.addClass("active")},listen:function(){this.$element.on("focus",e.proxy(this.focus,this)).on("blur",e.proxy(this.blur,this)).on("keypress",e.proxy(this.keypress,this)).on("keyup",e.proxy(this.keyup,this)),this.eventSupported("keydown")&&this.$element.on("keydown",e.proxy(this.keydown,this)),this.$menu.on("click",e.proxy(this.click,this)).on("mouseenter","li",e.proxy(this.mouseenter,this)).on("mouseleave","li",e.proxy(this.mouseleave,this))},eventSupported:function(e){var t=e in this.$element;return t||(this.$element.setAttribute(e,"return;"),t=typeof this.$element[e]=="function"),t},move:function(e){if(!this.shown)return;switch(e.keyCode){case 9:case 13:case 27:e.preventDefault();break;case 38:e.preventDefault(),this.prev();break;case 40:e.preventDefault(),this.next()}e.stopPropagation()},keydown:function(t){this.suppressKeyPressRepeat=~e.inArray(t.keyCode,[40,38,9,13,27]),this.move(t)},keypress:function(e){if(this.suppressKeyPressRepeat)return;this.move(e)},keyup:function(e){switch(e.keyCode){case 40:case 38:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown)return;this.select();break;case 27:if(!this.shown)return;this.hide();break;default:this.lookup()}e.stopPropagation(),e.preventDefault()},focus:function(e){this.focused=!0},blur:function(e){this.focused=!1,!this.mousedover&&this.shown&&this.hide()},click:function(e){e.stopPropagation(),e.preventDefault(),this.select(),this.$element.focus()},mouseenter:function(t){this.mousedover=!0,this.$menu.find(".active").removeClass("active"),e(t.currentTarget).addClass("active")},mouseleave:function(e){this.mousedover=!1,!this.focused&&this.shown&&this.hide()}};var n=e.fn.typeahead;e.fn.typeahead=function(n){return this.each(function(){var r=e(this),i=r.data("typeahead"),s=typeof n=="object"&&n;i||r.data("typeahead",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.typeahead.defaults={source:[],items:8,menu:'<ul class="typeahead dropdown-menu"></ul>',item:'<li><a href="#"></a></li>',minLength:1},e.fn.typeahead.Constructor=t,e.fn.typeahead.noConflict=function(){return e.fn.typeahead=n,this},e(document).on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(t){var n=e(this);if(n.data("typeahead"))return;n.typeahead(n.data())})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.options=e.extend({},e.fn.affix.defaults,n),this.$window=e(window).on("scroll.affix.data-api",e.proxy(this.checkPosition,this)).on("click.affix.data-api",e.proxy(function(){setTimeout(e.proxy(this.checkPosition,this),1)},this)),this.$element=e(t),this.checkPosition()};t.prototype.checkPosition=function(){if(!this.$element.is(":visible"))return;var t=e(document).height(),n=this.$window.scrollTop(),r=this.$element.offset(),i=this.options.offset,s=i.bottom,o=i.top,u="affix affix-top affix-bottom",a;typeof i!="object"&&(s=o=i),typeof o=="function"&&(o=i.top()),typeof s=="function"&&(s=i.bottom()),a=this.unpin!=null&&n+this.unpin<=r.top?!1:s!=null&&r.top+this.$element.height()>=t-s?"bottom":o!=null&&n<=o?"top":!1;if(this.affixed===a)return;this.affixed=a,this.unpin=a=="bottom"?r.top-n:null,this.$element.removeClass(u).addClass("affix"+(a?"-"+a:""))};var n=e.fn.affix;e.fn.affix=function(n){return this.each(function(){var r=e(this),i=r.data("affix"),s=typeof n=="object"&&n;i||r.data("affix",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.affix.Constructor=t,e.fn.affix.defaults={offset:0},e.fn.affix.noConflict=function(){return e.fn.affix=n,this},e(window).on("load",function(){e('[data-spy="affix"]').each(function(){var t=e(this),n=t.data();n.offset=n.offset||{},n.offsetBottom&&(n.offset.bottom=n.offsetBottom),n.offsetTop&&(n.offset.top=n.offsetTop),t.affix(n)})})}(window.jQuery);
11130 11131�/* ======================================================================== 11132 * bootstrap-switch - v3.0.2 11133 * http://www.bootstrap-switch.org 11134 * ======================================================================== 11135 * Copyright 2012-2013 Mattia Larentis 11136 * 11137 * ======================================================================== 11138 * Licensed under the Apache License, Version 2.0 (the "License"); 11139 * you may not use this file except in compliance with the License. 11140 * You may obtain a copy of the License at 11141 * 11142 * http://www.apache.org/licenses/LICENSE-2.0 11143 * 11144 * Unless required by applicable law or agreed to in writing, software 11145 * distributed under the License is distributed on an "AS IS" BASIS, 11146 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11147 * See the License for the specific language governing permissions and 11148 * limitations under the License. 11149 * ======================================================================== 11150 */ 11151 11152(function(){var t=[].slice;!function(e,s){"use strict";var o;return o=function(){function t(t,s){null==s&&(s={}),this.$element=e(t),this.options=e.extend({},e.fn.bootstrapSwitch.defaults,{state:this.$element.is(":checked"),size:this.$element.data("size"),animate:this.$element.data("animate"),disabled:this.$element.is(":disabled"),readonly:this.$element.is("[readonly]"),indeterminate:this.$element.data("indeterminate"),onColor:this.$element.data("on-color"),offColor:this.$element.data("off-color"),onText:this.$element.data("on-text"),offText:this.$element.data("off-text"),labelText:this.$element.data("label-text"),baseClass:this.$element.data("base-class"),wrapperClass:this.$element.data("wrapper-class"),radioAllOff:this.$element.data("radio-all-off")},s),this.$wrapper=e("<div>",{"class":function(t){return function(){var e;return e=[""+t.options.baseClass].concat(t._getClasses(t.options.wrapperClass)),e.push(t.options.state?""+t.options.baseClass+"-on":""+t.options.baseClass+"-off"),null!=t.options.size&&e.push(""+t.options.baseClass+"-"+t.options.size),t.options.animate&&e.push(""+t.options.baseClass+"-animate"),t.options.disabled&&e.push(""+t.options.baseClass+"-disabled"),t.options.readonly&&e.push(""+t.options.baseClass+"-readonly"),t.options.indeterminate&&e.push(""+t.options.baseClass+"-indeterminate"),t.$element.attr("id")&&e.push(""+t.options.baseClass+"-id-"+t.$element.attr("id")),e.join(" ")}}(this)()}),this.$container=e("<div>",{"class":""+this.options.baseClass+"-container"}),this.$on=e("<span>",{html:this.options.onText,"class":""+this.options.baseClass+"-handle-on "+this.options.baseClass+"-"+this.options.onColor}),this.$off=e("<span>",{html:this.options.offText,"class":""+this.options.baseClass+"-handle-off "+this.options.baseClass+"-"+this.options.offColor}),this.$label=e("<label>",{html:this.options.labelText,"class":""+this.options.baseClass+"-label"}),this.options.indeterminate&&this.$element.prop("indeterminate",!0),this.$element.on("init.bootstrapSwitch",function(e){return function(){return e.options.onInit.apply(t,arguments)}}(this)),this.$element.on("switchChange.bootstrapSwitch",function(e){return function(){return e.options.onSwitchChange.apply(t,arguments)}}(this)),this.$container=this.$element.wrap(this.$container).parent(),this.$wrapper=this.$container.wrap(this.$wrapper).parent(),this.$element.before(this.$on).before(this.$label).before(this.$off).trigger("init.bootstrapSwitch"),this._elementHandlers(),this._handleHandlers(),this._labelHandlers(),this._formHandler()}return t.prototype._constructor=t,t.prototype.state=function(t,e){return"undefined"==typeof t?this.options.state:this.options.disabled||this.options.readonly||this.options.indeterminate?this.$element:this.options.state&&!this.options.radioAllOff&&this.$element.is(":radio")?this.$element:(t=!!t,this.$element.prop("checked",t).trigger("change.bootstrapSwitch",e),this.$element)},t.prototype.toggleState=function(t){return this.options.disabled||this.options.readonly||this.options.indeterminate?this.$element:this.$element.prop("checked",!this.options.state).trigger("change.bootstrapSwitch",t)},t.prototype.size=function(t){return"undefined"==typeof t?this.options.size:(null!=this.options.size&&this.$wrapper.removeClass(""+this.options.baseClass+"-"+this.options.size),t&&this.$wrapper.addClass(""+this.options.baseClass+"-"+t),this.options.size=t,this.$element)},t.prototype.animate=function(t){return"undefined"==typeof t?this.options.animate:(t=!!t,this.$wrapper[t?"addClass":"removeClass"](""+this.options.baseClass+"-animate"),this.options.animate=t,this.$element)},t.prototype.disabled=function(t){return"undefined"==typeof t?this.options.disabled:(t=!!t,this.$wrapper[t?"addClass":"removeClass"](""+this.options.baseClass+"-disabled"),this.$element.prop("disabled",t),this.options.disabled=t,this.$element)},t.prototype.toggleDisabled=function(){return this.$element.prop("disabled",!this.options.disabled),this.$wrapper.toggleClass(""+this.options.baseClass+"-disabled"),this.options.disabled=!this.options.disabled,this.$element},t.prototype.readonly=function(t){return"undefined"==typeof t?this.options.readonly:(t=!!t,this.$wrapper[t?"addClass":"removeClass"](""+this.options.baseClass+"-readonly"),this.$element.prop("readonly",t),this.options.readonly=t,this.$element)},t.prototype.toggleReadonly=function(){return this.$element.prop("readonly",!this.options.readonly),this.$wrapper.toggleClass(""+this.options.baseClass+"-readonly"),this.options.readonly=!this.options.readonly,this.$element},t.prototype.indeterminate=function(t){return"undefined"==typeof t?this.options.indeterminate:(t=!!t,this.$wrapper[t?"addClass":"removeClass"](""+this.options.baseClass+"-indeterminate"),this.$element.prop("indeterminate",t),this.options.indeterminate=t,this.$element)},t.prototype.toggleIndeterminate=function(){return this.$element.prop("indeterminate",!this.options.indeterminate),this.$wrapper.toggleClass(""+this.options.baseClass+"-indeterminate"),this.options.indeterminate=!this.options.indeterminate,this.$element},t.prototype.onColor=function(t){var e;return e=this.options.onColor,"undefined"==typeof t?e:(null!=e&&this.$on.removeClass(""+this.options.baseClass+"-"+e),this.$on.addClass(""+this.options.baseClass+"-"+t),this.options.onColor=t,this.$element)},t.prototype.offColor=function(t){var e;return e=this.options.offColor,"undefined"==typeof t?e:(null!=e&&this.$off.removeClass(""+this.options.baseClass+"-"+e),this.$off.addClass(""+this.options.baseClass+"-"+t),this.options.offColor=t,this.$element)},t.prototype.onText=function(t){return"undefined"==typeof t?this.options.onText:(this.$on.html(t),this.options.onText=t,this.$element)},t.prototype.offText=function(t){return"undefined"==typeof t?this.options.offText:(this.$off.html(t),this.options.offText=t,this.$element)},t.prototype.labelText=function(t){return"undefined"==typeof t?this.options.labelText:(this.$label.html(t),this.options.labelText=t,this.$element)},t.prototype.baseClass=function(){return this.options.baseClass},t.prototype.wrapperClass=function(t){return"undefined"==typeof t?this.options.wrapperClass:(t||(t=e.fn.bootstrapSwitch.defaults.wrapperClass),this.$wrapper.removeClass(this._getClasses(this.options.wrapperClass).join(" ")),this.$wrapper.addClass(this._getClasses(t).join(" ")),this.options.wrapperClass=t,this.$element)},t.prototype.radioAllOff=function(t){return"undefined"==typeof t?this.options.radioAllOff:(this.options.radioAllOff=t,this.$element)},t.prototype.onInit=function(t){return"undefined"==typeof t?this.options.onInit:(t||(t=e.fn.bootstrapSwitch.defaults.onInit),this.options.onInit=t,this.$element)},t.prototype.onSwitchChange=function(t){return"undefined"==typeof t?this.options.onSwitchChange:(t||(t=e.fn.bootstrapSwitch.defaults.onSwitchChange),this.options.onSwitchChange=t,this.$element)},t.prototype.destroy=function(){var t;return t=this.$element.closest("form"),t.length&&t.off("reset.bootstrapSwitch").removeData("bootstrap-switch"),this.$container.children().not(this.$element).remove(),this.$element.unwrap().unwrap().off(".bootstrapSwitch").removeData("bootstrap-switch"),this.$element},t.prototype._elementHandlers=function(){return this.$element.on({"change.bootstrapSwitch":function(t){return function(s,o){var n;return s.preventDefault(),s.stopImmediatePropagation(),n=t.$element.is(":checked"),n!==t.options.state?(t.options.state=n,t.$wrapper.removeClass(n?""+t.options.baseClass+"-off":""+t.options.baseClass+"-on").addClass(n?""+t.options.baseClass+"-on":""+t.options.baseClass+"-off"),o?void 0:(t.$element.is(":radio")&&e("[name='"+t.$element.attr("name")+"']").not(t.$element).prop("checked",!1).trigger("change.bootstrapSwitch",!0),t.$element.trigger("switchChange.bootstrapSwitch",[n]))):void 0}}(this),"focus.bootstrapSwitch":function(t){return function(e){return e.preventDefault(),t.$wrapper.addClass(""+t.options.baseClass+"-focused")}}(this),"blur.bootstrapSwitch":function(t){return function(e){return e.preventDefault(),t.$wrapper.removeClass(""+t.options.baseClass+"-focused")}}
11152(this),"keydown.bootstrapSwitch":function(t){return function(e){if(e.which&&!t.options.disabled&&!t.options.readonly&&!t.options.indeterminate)switch(e.which){case 37:return e.preventDefault(),e.stopImmediatePropagation(),t.state(!1);case 39:return e.preventDefault(),e.stopImmediatePropagation(),t.state(!0)}}}(this)})},t.prototype._handleHandlers=function(){return this.$on.on("click.bootstrapSwitch",function(t){return function(){return t.state(!1),t.$element.trigger("focus.bootstrapSwitch")}}(this)),this.$off.on("click.bootstrapSwitch",function(t){return function(){return t.state(!0),t.$element.trigger("focus.bootstrapSwitch")}}(this))},t.prototype._labelHandlers=function(){return this.$label.on({"mousemove.bootstrapSwitch touchmove.bootstrapSwitch":function(t){return function(e){var s,o,n,i;if(t.isLabelDragging)return e.preventDefault(),t.isLabelDragged=!0,o=e.pageX||e.originalEvent.touches[0].pageX,n=(o-t.$wrapper.offset().left)/t.$wrapper.width()*100,s=25,i=75,t.options.animate&&t.$wrapper.removeClass(""+t.options.baseClass+"-animate"),s>n?n=s:n>i&&(n=i),t.$container.css("margin-left",""+(n-i)+"%"),t.$element.trigger("focus.bootstrapSwitch")}}(this),"mousedown.bootstrapSwitch touchstart.bootstrapSwitch":function(t){return function(e){return t.isLabelDragging||t.options.disabled||t.options.readonly||t.options.indeterminate?void 0:(e.preventDefault(),t.isLabelDragging=!0,t.$element.trigger("focus.bootstrapSwitch"))}}(this),"mouseup.bootstrapSwitch touchend.bootstrapSwitch":function(t){return function(e){return t.isLabelDragging?(e.preventDefault(),t.isLabelDragged?(t.isLabelDragged=!1,t.state(parseInt(t.$container.css("margin-left"),10)>-(t.$container.width()/6)),t.options.animate&&t.$wrapper.addClass(""+t.options.baseClass+"-animate"),t.$container.css("margin-left","")):t.state(!t.options.state),t.isLabelDragging=!1):void 0}}(this),"mouseleave.bootstrapSwitch":function(t){return function(){return t.$label.trigger("mouseup.bootstrapSwitch")}}(this)})},t.prototype._formHandler=function(){var t;return t=this.$element.closest("form"),t.data("bootstrap-switch")?void 0:t.on("reset.bootstrapSwitch",function(){return s.setTimeout(function(){return t.find("input").filter(function(){return e(this).data("bootstrap-switch")}).each(function(){return e(this).bootstrapSwitch("state",this.checked)})},1)}).data("bootstrap-switch",!0)},t.prototype._getClasses=function(t){var s,o,n,i;if(!e.isArray(t))return[""+this.options.baseClass+"-"+t];for(o=[],n=0,i=t.length;i>n;n++)s=t[n],o.push(""+this.options.baseClass+"-"+s);return o},t}(),e.fn.bootstrapSwitch=function(){var s,n,i;return n=arguments[0],s=2<=arguments.length?t.call(arguments,1):[],i=this,this.each(function(){var t,a;return t=e(this),a=t.data("bootstrap-switch"),a||t.data("bootstrap-switch",a=new o(this,n)),"string"==typeof n?i=a[n].apply(a,s):void 0}),i},e.fn.bootstrapSwitch.Constructor=o,e.fn.bootstrapSwitch.defaults={state:!0,size:null,animate:!0,disabled:!1,readonly:!1,indeterminate:!1,onColor:"primary",offColor:"default",onText:_("ON"),offText:_("OFF"),labelText:" ",baseClass:"bootstrap-switch",wrapperClass:"wrapper",radioAllOff:!1,onInit:function(){},onSwitchChange:function(){}}}(window.jQuery,window)}).call(this); 11153�/* 11154* jQuery timepicker addon 11155* By: Trent Richardson [http://trentrichardson.com] 11156* Version 0.9.8 11157* Last Modified: 12/03/2011 11158* 11159* Copyright 2011 Trent Richardson 11160* Dual licensed under the MIT and GPL licenses. 11161* http://trentrichardson.com/Impromptu/GPL-LICENSE.txt 11162* http://trentrichardson.com/Impromptu/MIT-LICENSE.txt 11163* 11164* HERES THE CSS: 11165* .ui-timepicker-div .ui-widget-header { margin-bottom: 8px; } 11166* .ui-timepicker-div dl { text-align: left; } 11167* .ui-timepicker-div dl dt { height: 25px; margin-bottom: -25px; } 11168* .ui-timepicker-div dl dd { margin: 0 10px 10px 65px; } 11169* .ui-timepicker-div td { font-size: 90%; } 11170* .ui-tpicker-grid-label { background: none; border: none; margin: 0; padding: 0; } 11171*/ 11172 11173(function($) { 11174 11175$.extend($.ui, { timepicker: { version: "0.9.8" } }); 11176 11177/* Time picker manager. 11178 Use the singleton instance of this class, $.timepicker, to interact with the time picker. 11179 Settings for (groups of) time pickers are maintained in an instance object, 11180 allowing multiple different settings on the same page. */ 11181 11182function Timepicker() { 11183 this.regional = []; // Available regional settings, indexed by language code 11184 this.regional[''] = { // Default regional settings 11185 currentText: 'Now',
11186 closeText: 'Done', 11187 ampm: false, 11188 amNames: ['AM', 'A'], 11189 pmNames: ['PM', 'P'], 11190 timeFormat: 'hh:mm tt', 11191 timeSuffix: '', 11192 timeOnlyTitle: _('Choose Time'), 11193 timeText: _('Time'), 11194 hourText: _('Hour'), 11195 minuteText: _('Minute'), 11196 secondText: _('Second'), 11197 millisecText: _('Millisecond'), 11198 timezoneText: _('Time Zone'), 11199 monthNames: [ _("January"), _("February"), _("March"), _("April"), _("May"), _("June"), _("July"), _("August"), _("September"), _("October"), _("November"), _("December")], 11200 dayNamesShort: [ _("Su"), _("Mo"), _("Tu"), _("We"), _("Th"), _("Fr"), _("Sa")] 11201 }; 11202 this._defaults = { // Global defaults for all the datetime picker instances 11203 showButtonPanel: true, 11204 timeOnly: false, 11205 showHour: true, 11206 showMinute: true, 11207 showSecond: false, 11208 showMillisec: false, 11209 showTimezone: false, 11210 showTime: true, 11211 stepHour: 1, 11212 stepMinute: 1, 11213 stepSecond: 1, 11214 stepMillisec: 1, 11215 hour: 0, 11216 minute: 0, 11217 second: 0, 11218 millisec: 0, 11219 timezone: '+0000', 11220 hourMin: 0, 11221 minuteMin: 0, 11222 secondMin: 0, 11223 millisecMin: 0, 11224 hourMax: 23, 11225 minuteMax: 59, 11226 secondMax: 59, 11227 millisecMax: 999, 11228 minDateTime: null, 11229 maxDateTime: null, 11230 onSelect: null, 11231 hourGrid: 0, 11232 minuteGrid: 0, 11233 secondGrid: 0, 11234 millisecGrid: 0, 11235 alwaysSetTime: true, 11236 separator: ' ', 11237 altFieldTimeOnly: true, 11238 showTimepicker: true, 11239 timezoneIso8609: false, 11240 timezoneList: null, 11241 addSliderAccess: false, 11242 sliderAccessArgs: null 11243 }; 11244 $.extend(this._defaults, this.regional['']); 11245} 11246 11247$.extend(Timepicker.prototype, { 11248 $input: null, 11249 $altInput: null, 11250 $timeObj: null, 11251 inst: null, 11252 hour_slider: null, 11253 minute_slider: null, 11254 second_slider: null, 11255 millisec_slider: null, 11256 timezone_select: null, 11257 hour: 0, 11258 minute: 0, 11259 second: 0, 11260 millisec: 0, 11261 timezone: '+0000', 11262 hourMinOriginal: null, 11263 minuteMinOriginal: null, 11264 secondMinOriginal: null, 11265 millisecMinOriginal: null, 11266 hourMaxOriginal: null, 11267 minuteMaxOriginal: null, 11268 secondMaxOriginal: null, 11269 millisecMaxOriginal: null,
11270 ampm: '', 11271 formattedDate: '', 11272 formattedTime: '', 11273 formattedDateTime: '', 11274 timezoneList: null, 11275 11276 /* Override the default settings for all instances of the time picker. 11277 @param settings object - the new settings to use as defaults (anonymous object) 11278 @return the manager object */ 11279 setDefaults: function(settings) { 11280 extendRemove(this._defaults, settings || {}); 11281 return this; 11282 }, 11283 11284 //######################################################################## 11285 // Create a new Timepicker instance 11286 //######################################################################## 11287 _newInst: function($input, o) { 11288 var tp_inst = new Timepicker(), 11289 inlineSettings = {}; 11290 11291 for (var attrName in this._defaults) { 11292 var attrValue = $input.attr('time:' + attrName); 11293 if (attrValue) { 11294 try { 11295 inlineSettings[attrName] = eval(attrValue); 11296 } catch (err) { 11297 inlineSettings[attrName] = attrValue; 11298 } 11299 } 11300 } 11301 tp_inst._defaults = $.extend({}, this._defaults, inlineSettings, o, { 11302 beforeShow: function(input, dp_inst) { 11303 if ($.isFunction(o.beforeShow)) 11304 o.beforeShow(input, dp_inst, tp_inst); 11305 }, 11306 onChangeMonthYear: function(year, month, dp_inst) { 11307 // Update the time as well : this prevents the time from disappearing from the $input field. 11308 tp_inst._updateDateTime(dp_inst); 11309 if ($.isFunction(o.onChangeMonthYear)) 11310 o.onChangeMonthYear.call($input[0], year, month, dp_inst, tp_inst); 11311 }, 11312 onClose: function(dateText, dp_inst) { 11313 if (tp_inst.timeDefined === true && $input.val() != '') 11314 tp_inst._updateDateTime(dp_inst); 11315 if ($.isFunction(o.onClose)) 11316 o.onClose.call($input[0], dateText, dp_inst, tp_inst); 11317 }, 11318 timepicker: tp_inst // add timepicker as a property of datepicker: $.datepicker._get(dp_inst, 'timepicker'); 11319 }); 11320 tp_inst.amNames = $.map(tp_inst._defaults.amNames, function(val) { return val.toUpperCase() }); 11321 tp_inst.pmNames = $.map(tp_inst._defaults.pmNames, function(val) { return val.toUpperCase() }); 11322 11323 if (tp_inst._defaults.timezoneList === null) { 11324 var timezoneList = []; 11325 for (var i = -11; i <= 12; i++) 11326 timezoneList.push((i >= 0 ? '+' : '-') + ('0' + Math.abs(i).toString()).slice(-2) + '00'); 11327 if (tp_inst._defaults.timezoneIso8609) 11328 timezoneList = $.map(timezoneList, function(val) { 11329 return val == '+0000' ? 'Z' : (val.substring(0, 3) + ':' + val.substring(3)); 11330 }); 11331 tp_inst._defaults.timezoneList = timezoneList; 11332 } 11333 11334 tp_inst.hour = tp_inst._defaults.hour; 11335 tp_inst.minute = tp_inst._defaults.minute; 11336 tp_inst.second = tp_inst._defaults.second; 11337 tp_inst.millisec = tp_inst._defaults.millisec; 11338 tp_inst.ampm = ''; 11339 tp_inst.$input = $input; 11340 11341 if (o.altField) 11342 tp_inst.$altInput = $(o.altField) 11343 .css({ cursor: 'pointer' }) 11344 .focus(function(){ $input.trigger("focus"); }); 11345 11346 if(tp_inst._defaults.minDate==0 || tp_inst._defaults.minDateTime==0) 11347 { 11348 tp_inst._defaults.minDate=new Date(); 11349 } 11350 if(tp_inst._defaults.maxDate==0 || tp_inst._defaults.maxDateTime==0) 11351 { 11352 tp_inst._defaults.maxDate=new Date(); 11353 } 11354 11355 // datepicker needs minDate/maxDate, timepicker needs minDateTime/maxDateTime.. 11356 if(tp_inst._defaults.minDate !== undefined && tp_inst._defaults.minDate instanceof Date) 11357 tp_inst._defaults.minDateTime = new Date(tp_inst._defaults.minDate.getTime()); 11358 if(tp_inst._defaults.minDateTime !== undefined && tp_inst._defaults.minDateTime instanceof Date) 11359 tp_inst._defaults.minDate = new Date(tp_inst._defaults.minDateTime.getTime()); 11360 if(tp_inst._defaults.maxDate !== undefined && tp_inst._defaults.maxDate instanceof Date) 11361 tp_inst._defaults.maxDateTime = new Date(tp_inst._defaults.maxDate.getTime()); 11362 if(tp_inst._defaults.maxDateTime !== undefined && tp_inst._defaults.maxDateTime instanceof Date) 11363 tp_inst._defaults.maxDate = new Date(tp_inst._defaults.maxDateTime.getTime()); 11364 return tp_inst; 11365 }, 11366 11367 //######################################################################## 11368 // add our sliders to the calendar 11369 //######################################################################## 11370 _addTimePicker: function(dp_inst) { 11371 var currDT = (this.$altInput && this._defaults.altFieldTimeOnly) ? 11372 this.$input.val() + ' ' + this.$altInput.val() : 11373 this.$input.val(); 11374 11375 this.timeDefined = this._parseTime(currDT); 11376 this._limitMinMaxDateTime(dp_inst, false); 11377 this._injectTimePicker(); 11378 }, 11379 11380 //######################################################################## 11381 // parse the time string from input value or _setTime 11382 //######################################################################## 11383 _parseTime: function(timeString, withDate) { 11384 var regstr = this._defaults.timeFormat.toString() 11385 .replace(/h{1,2}/ig, '(\\d?\\d)') 11386 .replace(/m{1,2}/ig, '(\\d?\\d)') 11387 .replace(/s{1,2}/ig, '(\\d?\\d)') 11388 .replace(/l{1}/ig, '(\\d?\\d?\\d)') 11389 .replace(/t{1,2}/ig, this._getPatternAmpm()) 11390 .replace(/z{1}/ig, '(z|[-+]\\d\\d:?\\d\\d)?') 11391 .replace(/\s/g, '\\s?') + this._defaults.timeSuffix + '$', 11392 order = this._getFormatPositions(), 11393 ampm = '', 11394 treg; 11395 11396 if (!this.inst) this.inst = $.datepicker._getInst(this.$input[0]); 11397 11398 if (withDate || !this._defaults.timeOnly) { 11399 // the time should come after x number of characters and a space. 11400 // x = at least the length of text specified by the date format 11401 var dp_dateFormat = $.datepicker._get(this.inst, 'dateFormat'); 11402 // escape special regex characters in the seperator 11403 var specials = new RegExp("[.*+?|()\\[\\]{}\\\\]", "g"); 11404 regstr = '.{' + dp_dateFormat.length + ',}' + this._defaults.separator.replace(specials, "\\$&") + regstr; 11405 } 11406
11407 treg = timeString.match(new RegExp(regstr, 'i')); 11408 11409 if (treg) { 11410 if (order.t !== -1) { 11411 if (treg[order.t] === undefined || treg[order.t].length === 0) { 11412 ampm = ''; 11413 this.ampm = ''; 11414 } else { 11415 ampm = $.inArray(treg[order.t].toUpperCase(), this.amNames) !== -1 ? 'AM' : 'PM'; 11416 this.ampm = this._defaults[ampm == 'AM' ? 'amNames' : 'pmNames'][0]; 11417 } 11418 } 11419 11420 if (order.h !== -1) { 11421 if (ampm == 'AM' && treg[order.h] == '12') 11422 this.hour = 0; // 12am = 0 hour 11423 else if (ampm == 'PM' && treg[order.h] != '12') 11424 this.hour = (parseFloat(treg[order.h]) + 12).toFixed(0); // 12pm = 12 hour, any other pm = hour + 12 11425 else this.hour = Number(treg[order.h]); 11426 } 11427 11428 if (order.m !== -1) this.minute = Number(treg[order.m]); 11429 if (order.s !== -1) this.second = Number(treg[order.s]); 11430 if (order.l !== -1) this.millisec = Number(treg[order.l]); 11431 if (order.z !== -1 && treg[order.z] !== undefined) { 11432 var tz = treg[order.z].toUpperCase(); 11433 switch (tz.length) { 11434 case 1: // Z 11435 tz = this._defaults.timezoneIso8609 ? 'Z' : '+0000'; 11436 break; 11437 case 5: // +hhmm 11438 if (this._defaults.timezoneIso8609) 11439 tz = tz.substring(1) == '0000' 11440 ? 'Z' 11441 : tz.substring(0, 3) + ':' + tz.substring(3); 11442 break; 11443 case 6: // +hh:mm 11444 if (!this._defaults.timezoneIso8609) 11445 tz = tz == 'Z' || tz.substring(1) == '00:00' 11446 ? '+0000' 11447 : tz.replace(/:/, ''); 11448 else if (tz.substring(1) == '00:00') 11449 tz = 'Z'; 11450 break; 11451 } 11452 this.timezone = tz; 11453 } 11454 11455 return true; 11456 11457 } 11458 return false; 11459 }, 11460 11461 //######################################################################## 11462 // pattern for standard and localized AM/PM markers 11463 //######################################################################## 11464 _getPatternAmpm: function() { 11465 var markers = []; 11466 o = this._defaults; 11467 if (o.amNames) 11468 $.merge(markers, o.amNames); 11469 if (o.pmNames) 11470 $.merge(markers, o.pmNames); 11471 markers = $.map(markers, function(val) { return val.replace(/[.*+?|()\[\]{}\\]/g, '\\$&') }); 11472 return '(' + markers.join('|') + ')?'; 11473 }, 11474 11475 //######################################################################## 11476 // figure out position of time elements.. cause js cant do named captures 11477 //######################################################################## 11478 _getFormatPositions: function() { 11479 var finds = this._defaults.timeFormat.toLowerCase().match(/(h{1,2}|m{1,2}|s{1,2}|l{1}|t{1,2}|z)/g), 11480 orders = { h: -1, m: -1, s: -1, l: -1, t: -1, z: -1 }; 11481 11482 if (finds) 11483 for (var i = 0; i < finds.length; i++) 11484 if (orders[finds[i].toString().charAt(0)] == -1) 11485 orders[finds[i].toString().charAt(0)] = i + 1; 11486 11487 return orders; 11488 }, 11489 11490 //######################################################################## 11491 // generate and inject html for timepicker into ui datepicker 11492 //######################################################################## 11493 _injectTimePicker: function() { 11494 var $dp = this.inst.dpDiv, 11495 o = this._defaults, 11496 tp_inst = this, 11497 // Added by Peter Medeiros: 11498 // - Figure out what the hour/minute/second max should be based on the step values. 11499 // - Example: if stepMinute is 15, then minMax is 45. 11500 hourMax = parseInt((o.hourMax - ((o.hourMax - o.hourMin) % o.stepHour)) ,10), 11501 minMax = parseInt((o.minuteMax - ((o.minuteMax - o.minuteMin) % o.stepMinute)) ,10), 11502 secMax = parseInt((o.secondMax - ((o.secondMax - o.secondMin) % o.stepSecond)) ,10), 11503 millisecMax = parseInt((o.millisecMax - ((o.millisecMax - o.millisecMin) % o.stepMillisec)) ,10), 11504 dp_id = this.inst.id.toString().replace(/([^A-Za-z0-9_])/g, ''); 11505 11506 // Prevent displaying twice 11507 //if ($dp.find("div#ui-timepicker-div-"+ dp_id).length === 0) { 11508 if ($dp.find("div#ui-timepicker-div-"+ dp_id).length === 0 && o.showTimepicker) { 11509 var noDisplay = ' style="display:none;"', 11510 html = '<div class="ui-timepicker-div" id="ui-timepicker-div-' + dp_id + '"><dl>' + 11511 '<dt class="ui_tpicker_time_label" id="ui_tpicker_time_label_' + dp_id + '"' + 11512 ((o.showTime) ? '' : noDisplay) + '>' + o.timeText + '</dt>' + 11513 '<dd class="ui_tpicker_time" id="ui_tpicker_time_' + dp_id + '"' + 11514 ((o.showTime) ? '' : noDisplay) + '></dd>' + 11515 '<dt class="ui_tpicker_hour_label" id="ui_tpicker_hour_label_' + dp_id + '"' + 11516 ((o.showHour) ? '' : noDisplay) + '>' + o.hourText + '</dt>', 11517 hourGridSize = 0, 11518 minuteGridSize = 0, 11519 secondGridSize = 0, 11520 millisecGridSize = 0, 11521 size; 11522 11523 // Hours 11524 html += '<dd class="ui_tpicker_hour"><div id="ui_tpicker_hour_' + dp_id + '"' + 11525 ((o.showHour) ? '' : noDisplay) + '></div>'; 11526 if (o.showHour && o.hourGrid > 0) { 11527 html += '<div style="padding-left: 1px"><table class="ui-tpicker-grid-label"><tr>'; 11528 11529 for (var h = o.hourMin; h <= hourMax; h += parseInt(o.hourGrid,10)) { 11530 hourGridSize++; 11531 var tmph = (o.ampm && h > 12) ? h-12 : h; 11532 if (tmph < 10) tmph = '0' + tmph; 11533 if (o.ampm) { 11534 if (h == 0) tmph = 12 +'a'; 11535 else if (h < 12) tmph += 'a'; 11536 else tmph += 'p'; 11537 } 11538 html += '<td>' + tmph + '</td>'; 11539 } 11540 11541 html += '</tr></table></div>'; 11542 } 11543 html += '</dd>'; 11544 11545 // Minutes 11546 html += '<dt class="ui_tpicker_minute_label" id="ui_tpicker_minute_label_' + dp_id + '"' + 11547 ((o.showMinute) ? '' : noDisplay) + '>' + o.minuteText + '</dt>'+ 11548 '<dd class="ui_tpicker_minute"><div id="ui_tpicker_minute_' + dp_id + '"' + 11549 ((o.showMinute) ? '' : noDisplay) + '></div>'; 11550 11551 if (o.showMinute && o.minuteGrid > 0) { 11552 html += '<div style="padding-left: 1px"><table class="ui-tpicker-grid-label"><tr>'; 11553 11554 for (var m = o.minuteMin; m <= minMax; m += parseInt(o.minuteGrid,10)) { 11555 minuteGridSize++; 11556 html += '<td>' + ((m < 10) ? '0' : '') + m + '</td>'; 11557 } 11558 11559 html += '</tr></table></div>'; 11560 } 11561 html += '</dd>'; 11562 11563 // Seconds 11564 html += '<dt class="ui_tpicker_second_label" id="ui_tpicker_second_label_' + dp_id + '"' + 11565 ((o.showSecond) ? '' : noDisplay) + '>' + o.secondText + '</dt>'+ 11566 '<dd class="ui_tpicker_second"><div id="ui_tpicker_second_' + dp_id + '"'+ 11567 ((o.showSecond) ? '' : noDisplay) + '></div>'; 11568 11569 if (o.showSecond && o.secondGrid > 0) { 11570 html += '<div style="padding-left: 1px"><table><tr>'; 11571 11572 for (var s = o.secondMin; s <= secMax; s += parseInt(o.secondGrid,10)) { 11573 secondGridSize++; 11574 html += '<td>' + ((s < 10) ? '0' : '') + s + '</td>'; 11575 } 11576 11577 html += '</tr></table></div>'; 11578 } 11579 html += '</dd>'; 11580 11581 // Milliseconds 11582 html += '<dt class="ui_tpicker_millisec_label" id="ui_tpicker_millisec_label_' + dp_id + '"' + 11583 ((o.showMillisec) ? '' : noDisplay) + '>' + o.millisecText + '</dt>'+ 11584 '<dd class="ui_tpicker_millisec"><div id="ui_tpicker_millisec_' + dp_id + '"'+ 11585 ((o.showMillisec) ? '' : noDisplay) + '></div>'; 11586 11587 if (o.showMillisec && o.millisecGrid > 0) { 11588 html += '<div style="padding-left: 1px"><table><tr>'; 11589 11590 for (var l = o.millisecMin; l <= millisecMax; l += parseInt(o.millisecGrid,10)) { 11591 millisecGridSize++; 11592 html += '<td>' + ((l < 10) ? '0' : '') + l + '</td>'; 11593 } 11594 11595 html += '</tr></table></div>'; 11596 } 11597 html += '</dd>'; 11598 11599 // Timezone 11600 html += '<dt class="ui_tpicker_timezone_label" id="ui_tpicker_timezone_label_' + dp_id + '"' + 11601 ((o.showTimezone) ? '' : noDisplay) + '>' + o.timezoneText + '</dt>'; 11602 html += '<dd class="ui_tpicker_timezone" id="ui_tpicker_timezone_' + dp_id + '"' + 11603 ((o.showTimezone) ? '' : noDisplay) + '></dd>'; 11604 11605 html += '</dl></div>'; 11606 $tp = $(html); 11607 11608 // if we only want time picker... 11609 if (o.timeOnly === true) { 11610 $tp.prepend( 11611 '<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix ui-corner-all">' + 11612 '<div class="ui-datepicker-title">' + o.timeOnlyTitle + '</div>' + 11613 '</div>'); 11614 $dp.find('.ui-datepicker-header, .ui-datepicker-calendar').hide(); 11615 } 11616 11617 this.hour_slider = $tp.find('#ui_tpicker_hour_'+ dp_id).slider({ 11618 orientation: "horizontal", 11619 value: this.hour, 11620 min: o.hourMin, 11621 max: hourMax, 11622 step: o.stepHour, 11623 slide: function(event, ui) { 11624 tp_inst.hour_slider.slider( "option", "value", ui.value); 11625 tp_inst._onTimeChange(); 11626 } 11627 }); 11628 11629 11630 // Updated by Peter Medeiros: 11631 // - Pass in Event and UI instance into slide function 11632 this.minute_slider = $tp.find('#ui_tpicker_minute_'+ dp_id).slider({ 11633 orientation: "horizontal", 11634 value: this.minute, 11635 min: o.minuteMin, 11636 max: minMax, 11637 step: o.stepMinute, 11638 slide: function(event, ui) { 11639 tp_inst.minute_slider.slider( "option", "value", ui.value); 11640 tp_inst._onTimeChange(); 11641 } 11642 }); 11643 11644 this.second_slider = $tp.find('#ui_tpicker_second_'+ dp_id).slider({ 11645 orientation: "horizontal", 11646 value: this.second, 11647 min: o.secondMin, 11648 max: secMax, 11649 step: o.stepSecond, 11650 slide: function(event, ui) { 11651 tp_inst.second_slider.slider( "option", "value", ui.value); 11652 tp_inst._onTimeChange(); 11653 } 11654 }); 11655 11656 this.millisec_slider = $tp.find('#ui_tpicker_millisec_'+ dp_id).slider({ 11657 orientation: "horizontal", 11658 value: this.millisec, 11659 min: o.millisecMin, 11660 max: millisecMax, 11661 step: o.stepMillisec, 11662 slide: function(event, ui) { 11663 tp_inst.millisec_slider.slider( "option", "value", ui.value); 11664 tp_inst._onTimeChange(); 11665 } 11666 }); 11667 11668 this.timezone_select = $tp.find('#ui_tpicker_timezone_'+ dp_id).append('<select></select>').find("select"); 11669 $.fn.append.apply(this.timezone_select, 11670 $.map(o.timezoneList, function(val, idx) { 11671 return $("<option />") 11672 .val(typeof val == "object" ? val.value : val) 11673 .text(typeof val == "object" ? val.label : val); 11674 }) 11675 ); 11676 this.timezone_select.val((typeof this.timezone != "undefined" && this.timezone != null && this.timezone != "") ? this.timezone : o.timezone); 11677 this.timezone_select.change(function() { 11678 tp_inst._onTimeChange(); 11679 }); 11680 11681 // Add grid functionality 11682 if (o.showHour && o.hourGrid > 0) { 11683 size = 100 * hourGridSize * o.hourGrid / (hourMax - o.hourMin); 11684 11685 $tp.find(".ui_tpicker_hour table").css({ 11686 width: size + "%", 11687 marginLeft: (size / (-2 * hourGridSize)) + "%", 11688 borderCollapse: 'collapse' 11689 }).find("td").each( function(index) { 11690 $(this).click(function() { 11691 var h = $(this).html(); 11692 if(o.ampm) { 11693 var ap = h.substring(2).toLowerCase(), 11694 aph = parseInt(h.substring(0,2), 10); 11695 if (ap == 'a') { 11696 if (aph == 12) h = 0; 11697 else h = aph; 11698 } else if (aph == 12) h = 12; 11699 else h = aph + 12; 11700 } 11701 tp_inst.hour_slider.slider("option", "value", h); 11702 tp_inst._onTimeChange(); 11703 tp_inst._onSelectHandler(); 11704 }).css({ 11705 cursor: 'pointer', 11706 width: (100 / hourGridSize) + '%', 11707 textAlign: 'center', 11708 overflow: 'hidden' 11709 }); 11710 }); 11711 } 11712 11713 if (o.showMinute && o.minuteGrid > 0) { 11714 size = 100 * minuteGridSize * o.minuteGrid / (minMax - o.minuteMin); 11715 $tp.find(".ui_tpicker_minute table").css({ 11716 width: size + "%", 11717 marginLeft: (size / (-2 * minuteGridSize)) + "%", 11718 borderCollapse: 'collapse' 11719 }).find("td").each(function(index) { 11720 $(this).click(function() { 11721 tp_inst.minute_slider.slider("option", "value", $(this).html()); 11722 tp_inst._onTimeChange(); 11723 tp_inst._onSelectHandler(); 11724 }).css({ 11725 cursor: 'pointer', 11726 width: (100 / minuteGridSize) + '%', 11727 textAlign: 'center', 11728 overflow: 'hidden' 11729 }); 11730 }); 11731 } 11732 11733 if (o.showSecond && o.secondGrid > 0) { 11734 $tp.find(".ui_tpicker_second table").css({ 11735 width: size + "%", 11736 marginLeft: (size / (-2 * secondGridSize)) + "%", 11737 borderCollapse: 'collapse' 11738 }).find("td").each(function(index) { 11739 $(this).click(function() { 11740 tp_inst.second_slider.slider("option", "value", $(this).html()); 11741 tp_inst._onTimeChange(); 11742 tp_inst._onSelectHandler(); 11743 }).css({ 11744 cursor: 'pointer', 11745 width: (100 / secondGridSize) + '%', 11746 textAlign: 'center', 11747 overflow: 'hidden' 11748 }); 11749 }); 11750 } 11751 11752 if (o.showMillisec && o.millisecGrid > 0) { 11753 $tp.find(".ui_tpicker_millisec table").css({ 11754 width: size + "%", 11755 marginLeft: (size / (-2 * millisecGridSize)) + "%", 11756 borderCollapse: 'collapse' 11757 }).find("td").each(function(index) { 11758 $(this).click(function() { 11759 tp_inst.millisec_slider.slider("option", "value", $(this).html()); 11760 tp_inst._onTimeChange(); 11761 tp_inst._onSelectHandler(); 11762 }).css({ 11763 cursor: 'pointer', 11764 width: (100 / millisecGridSize) + '%', 11765 textAlign: 'center', 11766 overflow: 'hidden' 11767 }); 11768 }); 11769 } 11770 11771 var $buttonPanel = $dp.find('.ui-datepicker-buttonpane'); 11772 if ($buttonPanel.length) $buttonPanel.before($tp); 11773 else $dp.append($tp); 11774 11775 this.$timeObj = $tp.find('#ui_tpicker_time_'+ dp_id); 11776 11777 if (this.inst !== null) { 11778 var timeDefined = this.timeDefined; 11779 this._onTimeChange(); 11780 this.timeDefined = timeDefined; 11781 } 11782 11783 //Emulate datepicker onSelect behavior. Call on slidestop. 11784 var onSelectDelegate = function() { 11785 tp_inst._onSelectHandler(); 11786 }; 11787 this.hour_slider.bind('slidestop',onSelectDelegate); 11788 this.minute_slider.bind('slidestop',onSelectDelegate); 11789 this.second_slider.bind('slidestop',onSelectDelegate); 11790 this.millisec_slider.bind('slidestop',onSelectDelegate); 11791 11792 // slideAccess integration: http://trentrichardson.com/2011/11/11/jquery-ui-sliders-and-touch-accessibility/ 11793 if (this._defaults.addSliderAccess){ 11794 var sliderAccessArgs = this._defaults.sliderAccessArgs; 11795 setTimeout(function(){ // fix for inline mode 11796 if($tp.find('.ui-slider-access').length == 0){ 11797 $tp.find('.ui-slider:visible').sliderAccess(sliderAccessArgs); 11798 11799 // fix any grids since sliders are shorter 11800 var sliderAccessWidth = $tp.find('.ui-slider-access:eq(0)').outerWidth(true); 11801 if(sliderAccessWidth){ 11802 $tp.find('table:visible').each(function(){ 11803 var $g = $(this), 11804 oldWidth = $g.outerWidth(), 11805 oldMarginLeft = $g.css('marginLeft').toString().replace('%',''), 11806 newWidth = oldWidth - sliderAccessWidth, 11807 newMarginLeft = ((oldMarginLeft * newWidth)/oldWidth) + '%'; 11808 11809 $g.css({ width: newWidth, marginLeft: newMarginLeft }); 11810 }); 11811 } 11812 } 11813 },0); 11814 } 11815 // end slideAccess integration 11816 11817 } 11818 }, 11819 11820 //######################################################################## 11821 // This function tries to limit the ability to go outside the 11822 // min/max date range 11823 //######################################################################## 11824 _limitMinMaxDateTime: function(dp_inst, adjustSliders){ 11825 var o = this._defaults, 11826 dp_date = new Date(dp_inst.selectedYear, dp_inst.selectedMonth, dp_inst.selectedDay); 11827 11828 if(!this._defaults.showTimepicker) return; // No time so nothing to check here 11829 11830 if($.datepicker._get(dp_inst, 'minDateTime') !== null && $.datepicker._get(dp_inst, 'minDateTime') !== undefined && dp_date){ 11831 var minDateTime = $.datepicker._get(dp_inst, 'minDateTime'), 11832 minDateTimeDate = new Date(minDateTime.getFullYear(), minDateTime.getMonth(), minDateTime.getDate(), 0, 0, 0, 0); 11833
11834 if(this.hourMinOriginal === null || this.minuteMinOriginal === null || this.secondMinOriginal === null || this.millisecMinOriginal === null){ 11835 this.hourMinOriginal = o.hourMin; 11836 this.minuteMinOriginal = o.minuteMin; 11837 this.secondMinOriginal = o.secondMin; 11838 this.millisecMinOriginal = o.millisecMin; 11839 } 11840 11841 if(dp_inst.settings.timeOnly || minDateTimeDate.getTime() == dp_date.getTime()) { 11842 this._defaults.hourMin = minDateTime.getHours(); 11843 if (this.hour <= this._defaults.hourMin) { 11844 this.hour = this._defaults.hourMin; 11845 this._defaults.minuteMin = minDateTime.getMinutes(); 11846 if (this.minute <= this._defaults.minuteMin) { 11847 this.minute = this._defaults.minuteMin; 11848 this._defaults.secondMin = minDateTime.getSeconds(); 11849 } else if (this.second <= this._defaults.secondMin){ 11850 this.second = this._defaults.secondMin; 11851 this._defaults.millisecMin = minDateTime.getMilliseconds(); 11852 } else { 11853 if(this.millisec < this._defaults.millisecMin) 11854 this.millisec = this._defaults.millisecMin; 11855 this._defaults.millisecMin = this.millisecMinOriginal; 11856 } 11857 } else { 11858 this._defaults.minuteMin = this.minuteMinOriginal; 11859 this._defaults.secondMin = this.secondMinOriginal; 11860 this._defaults.millisecMin = this.millisecMinOriginal; 11861 } 11862 }else{ 11863 this._defaults.hourMin = this.hourMinOriginal; 11864 this._defaults.minuteMin = this.minuteMinOriginal; 11865 this._defaults.secondMin = this.secondMinOriginal; 11866 this._defaults.millisecMin = this.millisecMinOriginal; 11867 } 11868 } 11869 11870 if($.datepicker._get(dp_inst, 'maxDateTime') !== null && $.datepicker._get(dp_inst, 'maxDateTime') !== undefined && dp_date){ 11871 var maxDateTime = $.datepicker._get(dp_inst, 'maxDateTime'), 11872 maxDateTimeDate = new Date(maxDateTime.getFullYear(), maxDateTime.getMonth(), maxDateTime.getDate(), 0, 0, 0, 0); 11873 11874 if(this.hourMaxOriginal === null || this.minuteMaxOriginal === null || this.secondMaxOriginal === null){ 11875 this.hourMaxOriginal = o.hourMax; 11876 this.minuteMaxOriginal = o.minuteMax; 11877 this.secondMaxOriginal = o.secondMax; 11878 this.millisecMaxOriginal = o.millisecMax; 11879 } 11880 11881 if(dp_inst.settings.timeOnly || maxDateTimeDate.getTime() == dp_date.getTime()){ 11882 this._defaults.hourMax = maxDateTime.getHours(); 11883 if (this.hour >= this._defaults.hourMax) { 11884 this.hour = this._defaults.hourMax; 11885 this._defaults.minuteMax = maxDateTime.getMinutes(); 11886 if (this.minute >= this._defaults.minuteMax) { 11887 this.minute = this._defaults.minuteMax; 11888 this._defaults.secondMax = maxDateTime.getSeconds(); 11889 } else if (this.second >= this._defaults.secondMax) { 11890 this.second = this._defaults.secondMax; 11891 this._defaults.millisecMax = maxDateTime.getMilliseconds(); 11892 } else { 11893 if(this.millisec > this._defaults.millisecMax) this.millisec = this._defaults.millisecMax; 11894 this._defaults.millisecMax = this.millisecMaxOriginal; 11895 } 11896 } else { 11897 this._defaults.minuteMax = this.minuteMaxOriginal; 11898 this._defaults.secondMax = this.secondMaxOriginal; 11899 this._defaults.millisecMax = this.millisecMaxOriginal; 11900 } 11901 }else{ 11902 this._defaults.hourMax = this.hourMaxOriginal; 11903 this._defaults.minuteMax = this.minuteMaxOriginal; 11904 this._defaults.secondMax = this.secondMaxOriginal; 11905 this._defaults.millisecMax = this.millisecMaxOriginal; 11906 } 11907 } 11908 11909 if(adjustSliders !== undefined && adjustSliders === true){ 11910 var hourMax = parseInt((this._defaults.hourMax - ((this._defaults.hourMax - this._defaults.hourMin) % this._defaults.stepHour)) ,10), 11911 minMax = parseInt((this._defaults.minuteMax - ((this._defaults.minuteMax - this._defaults.minuteMin) % this._defaults.stepMinute)) ,10), 11912 secMax = parseInt((this._defaults.secondMax - ((this._defaults.secondMax - this._defaults.secondMin) % this._defaults.stepSecond)) ,10), 11913 millisecMax = parseInt((this._defaults.millisecMax - ((this._defaults.millisecMax - this._defaults.millisecMin) % this._defaults.stepMillisec)) ,10); 11914 11915 if(this.hour_slider) 11916 this.hour_slider.slider("option", { min: this._defaults.hourMin, max: hourMax }).slider('value', this.hour); 11917 if(this.minute_slider) 11918 this.minute_slider.slider("option", { min: this._defaults.minuteMin, max: minMax }).slider('value', this.minute); 11919 if(this.second_slider) 11920 this.second_slider.slider("option", { min: this._defaults.secondMin, max: secMax }).slider('value', this.second); 11921 if(this.millisec_slider) 11922 this.millisec_slider.slider("option", { min: this._defaults.millisecMin, max: millisecMax }).slider('value', this.millisec); 11923 } 11924 11925 }, 11926 11927 11928 //######################################################################## 11929 // when a slider moves, set the internal time... 11930 // on time change is also called when the time is updated in the text field 11931 //######################################################################## 11932 _onTimeChange: function() { 11933 var hour = (this.hour_slider) ? this.hour_slider.slider('value') : false, 11934 minute = (this.minute_slider) ? this.minute_slider.slider('value') : false, 11935 second = (this.second_slider) ? this.second_slider.slider('value') : false, 11936 millisec = (this.millisec_slider) ? this.millisec_slider.slider('value') : false, 11937 timezone = (this.timezone_select) ? this.timezone_select.val() : false, 11938 o = this._defaults; 11939 11940 if (typeof(hour) == 'object') hour = false;
11941 if (typeof(minute) == 'object') minute = false; 11942 if (typeof(second) == 'object') second = false; 11943 if (typeof(millisec) == 'object') millisec = false; 11944 if (typeof(timezone) == 'object') timezone = false; 11945 11946 if (hour !== false) hour = parseInt(hour,10); 11947 if (minute !== false) minute = parseInt(minute,10); 11948 if (second !== false) second = parseInt(second,10); 11949 if (millisec !== false) millisec = parseInt(millisec,10); 11950 11951 var ampm = o[hour < 12 ? 'amNames' : 'pmNames'][0]; 11952 11953 var tmptime = (this._defaults.timeFormat).toString(); 11954 11955 // tmptime is the format, if it contains tt, then ampm is true 11956 if (tmptime == 'h:mm tt') { 11957 ampm = true; 11958 } 11959 11960 // If the update was done in the input field, the input field should not be updated. 11961 // If the update was done using the sliders, update the input field. 11962 var hasChanged = (hour != this.hour || minute != this.minute 11963 || second != this.second || millisec != this.millisec 11964 || (this.ampm.length > 0 11965 && (hour < 12) != ($.inArray(this.ampm.toUpperCase(), this.amNames) !== -1)) 11966 || timezone != this.timezone); 11967 11968 if (hasChanged) { 11969 11970 if (hour !== false)this.hour = hour; 11971 if (minute !== false) this.minute = minute; 11972 if (second !== false) this.second = second; 11973 if (millisec !== false) this.millisec = millisec; 11974 if (timezone !== false) this.timezone = timezone; 11975 11976 if (!this.inst) this.inst = $.datepicker._getInst(this.$input[0]); 11977 11978 this._limitMinMaxDateTime(this.inst, true); 11979 } 11980 if (o.ampm) this.ampm = ampm; 11981 11982 this._formatTime(); 11983 if (this.$timeObj) this.$timeObj.text(this.formattedTime + o.timeSuffix); 11984 this.timeDefined = true; 11985 if (hasChanged) this._updateDateTime(); 11986 }, 11987 11988 //######################################################################## 11989 // call custom onSelect. 11990 // bind to sliders slidestop, and grid click. 11991 //######################################################################## 11992 _onSelectHandler: function() { 11993 var onSelect = this._defaults.onSelect; 11994 var inputEl = this.$input ? this.$input[0] : null; 11995 if (onSelect && inputEl) { 11996 onSelect.apply(inputEl, [this.formattedDateTime, this]); 11997 } 11998 }, 11999 12000 //######################################################################## 12001 // format the time all pretty... 12002 //######################################################################## 12003 _formatTime: function(time, format, ampm) { 12004 if (ampm == undefined) ampm = this._defaults.ampm; 12005 time = time || { hour: this.hour, minute: this.minute, second: this.second, millisec: this.millisec, ampm: this.ampm, timezone: this.timezone }; 12006 var tmptime = (format || this._defaults.timeFormat).toString(); 12007 12008 // tmptime is the format, if it contains tt, then ampm is true 12009 if (tmptime == 'h:mm tt') { 12010 ampm = true; 12011 } 12012 12013 var hour = parseInt(time.hour, 10); 12014 if (ampm) { 12015 if (!$.inArray(time.ampm.toUpperCase(), this.amNames) !== -1) 12016 hour = hour % 12; 12017 if (hour === 0) 12018 hour = 12; 12019 } 12020 tmptime = tmptime.replace(/(?:hh?|HH?|mm?|ss?|[tT]{1,2}|[lz])/g, function(match) { 12021 switch (match.toLowerCase()) { 12022 case 'hh': return ('0' + hour).slice(-2); 12023 case 'h': return hour; 12024 case 'HH': return hour; 12025 case 'mm': return ('0' + time.minute).slice(-2); 12026 case 'm': return time.minute; 12027 case 'ss': return ('0' + time.second).slice(-2); 12028 case 's': return time.second; 12029 case 'l': return ('00' + time.millisec).slice(-3); 12030 case 'z': return time.timezone; 12031 case 't': case 'tt': 12032 if (ampm) { 12033 var _ampm = time.ampm; 12034 if (match.length == 1) 12035 _ampm = _ampm.charAt(0); 12036 if (tmptime == 'h:mm tt') { 12037 // return am if the hour is less than 12 12038 return time.hour < 12 ? 'am' : 'pm'; 12039 } 12040 return match.charAt(0) == 'T' ? _ampm.toUpperCase() : _ampm.toLowerCase(); 12041 } 12042 return ''; 12043 } 12044 }); 12045 12046 if (arguments.length) return tmptime; 12047 else this.formattedTime = tmptime; 12048 }, 12049 12050 //######################################################################## 12051 // update our input with the new date time.. 12052 //######################################################################## 12053 _updateDateTime: function(dp_inst) { 12054 dp_inst = this.inst || dp_inst; 12055 var dt = $.datepicker._daylightSavingAdjust(new Date(dp_inst.selectedYear, dp_inst.selectedMonth, dp_inst.selectedDay)), 12056 dateFmt = $.datepicker._get(dp_inst, 'dateFormat'), 12057 formatCfg = $.datepicker._getFormatConfig(dp_inst),
12058 timeAvailable = dt !== null && this.timeDefined; 12059 this.formattedDate = $.datepicker.formatDate(dateFmt, (dt === null ? new Date() : dt), formatCfg); 12060 var formattedDateTime = this.formattedDate; 12061 if (dp_inst.lastVal !== undefined && (dp_inst.lastVal.length > 0 && this.$input.val().length === 0)) 12062 return; 12063 12064 if (this._defaults.timeOnly === true) { 12065 formattedDateTime = this.formattedTime; 12066 } else if (this._defaults.timeOnly !== true && (this._defaults.alwaysSetTime || timeAvailable)) { 12067 formattedDateTime += this._defaults.separator + this.formattedTime + this._defaults.timeSuffix; 12068 } 12069 12070 this.formattedDateTime = formattedDateTime; 12071 12072 if(!this._defaults.showTimepicker) { 12073 this.$input.val(this.formattedDate); 12074 } else if (this.$altInput && this._defaults.altFieldTimeOnly === true) { 12075 this.$altInput.val(this.formattedTime); 12076 this.$input.val(this.formattedDate); 12077 } else if(this.$altInput) { 12078 this.$altInput.val(formattedDateTime); 12079 this.$input.val(formattedDateTime); 12080 } else { 12081 this.$input.val(formattedDateTime); 12082 } 12083 12084 this.$input.trigger("change"); 12085 } 12086 12087}); 12088 12089$.fn.extend({ 12090 //######################################################################## 12091 // shorthand just to use timepicker.. 12092 //######################################################################## 12093 timepicker: function(o) { 12094 o = o || {}; 12095 var tmp_args = arguments; 12096 12097 if (typeof o == 'object') tmp_args[0] = $.extend(o, { timeOnly: true }); 12098 12099 return $(this).each(function() { 12100 $.fn.datetimepicker.apply($(this), tmp_args); 12101 }); 12102 }, 12103 12104 //######################################################################## 12105 // extend timepicker to datepicker 12106 //######################################################################## 12107 datetimepicker: function(o) { 12108 o = o || {}; 12109 var $input = this, 12110 tmp_args = arguments; 12111 12112 if (typeof(o) == 'string'){ 12113 if(o == 'getDate') 12114 return $.fn.datepicker.apply($(this[0]), tmp_args); 12115 else 12116 return this.each(function() { 12117 var $t = $(this); 12118 $t.datepicker.apply($t, tmp_args); 12119 }); 12120 } 12121 else 12122 return this.each(function() { 12123 var $t = $(this); 12124 $t.datepicker($.timepicker._newInst($t, o)._defaults); 12125 }); 12126 } 12127}); 12128 12129//######################################################################## 12130// the bad hack :/ override datepicker so it doesnt close on select 12131// inspired: http://stackoverflow.com/questions/1252512/jquery-datepicker-prevent-closing-picker-when-clicking-a-date/1762378#1762378 12132//######################################################################## 12133$.datepicker._base_selectDate = $.datepicker._selectDate; 12134$.datepicker._selectDate = function (id, dateStr) { 12135 var inst = this._getInst($(id)[0]), 12136 tp_inst = this._get(inst, 'timepicker'); 12137 12138 if (tp_inst) { 12139 tp_inst._limitMinMaxDateTime(inst, true); 12140 inst.inline = inst.stay_open = true; 12141 //This way the onSelect handler called from calendarpicker get the full dateTime 12142 this._base_selectDate(id, dateStr); 12143 inst.inline = inst.stay_open = false; 12144 this._notifyChange(inst); 12145 this._updateDatepicker(inst); 12146 } 12147 else this._base_selectDate(id, dateStr); 12148}; 12149 12150//############################################################################################# 12151// second bad hack :/ override datepicker so it triggers an event when changing the input field 12152// and does not redraw the datepicker on every selectDate event 12153//############################################################################################# 12154$.datepicker._base_updateDatepicker = $.datepicker._updateDatepicker; 12155$.datepicker._updateDatepicker = function(inst) { 12156 12157 // don't popup the datepicker if there is another instance already opened 12158 var input = inst.input[0]; 12159 if($.datepicker._curInst && 12160 $.datepicker._curInst != inst && 12161 $.datepicker._datepickerShowing && 12162 $.datepicker._lastInput != input) { 12163 return; 12164 } 12165 12166 if (typeof(inst.stay_open) !== 'boolean' || inst.stay_open === false) { 12167 12168 this._base_updateDatepicker(inst); 12169 12170 // Reload the time control when changing something in the input text field. 12171 var tp_inst = this._get(inst, 'timepicker'); 12172 if(tp_inst) tp_inst._addTimePicker(inst); 12173 } 12174}; 12175 12176//####################################################################################### 12177// third bad hack :/ override datepicker so it allows spaces and colon in the input field 12178//####################################################################################### 12179$.datepicker._base_doKeyPress = $.datepicker._doKeyPress; 12180$.datepicker._doKeyPress = function(event) { 12181 var inst = $.datepicker._getInst(event.target),
vendor: 1,508 bytes, lines 12182-12216
12182 tp_inst = $.datepicker._get(inst, 'timepicker'); 12183 12184 if (tp_inst) { 12185 if ($.datepicker._get(inst, 'constrainInput')) { 12186 var ampm = tp_inst._defaults.ampm, 12187 dateChars = $.datepicker._possibleChars($.datepicker._get(inst, 'dateFormat')), 12188 datetimeChars = tp_inst._defaults.timeFormat.toString() 12189 .replace(/[hms]/g, '') 12190 .replace(/TT/g, ampm ? 'APM' : '') 12191 .replace(/Tt/g, ampm ? 'AaPpMm' : '') 12192 .replace(/tT/g, ampm ? 'AaPpMm' : '') 12193 .replace(/T/g, ampm ? 'AP' : '') 12194 .replace(/tt/g, ampm ? 'apm' : '') 12195 .replace(/t/g, ampm ? 'ap' : '') + 12196 " " + 12197 tp_inst._defaults.separator + 12198 tp_inst._defaults.timeSuffix + 12199 (tp_inst._defaults.showTimezone ? tp_inst._defaults.timezoneList.join('') : '') + 12200 (tp_inst._defaults.amNames.join('')) + 12201 (tp_inst._defaults.pmNames.join('')) + 12202 dateChars, 12203 chr = String.fromCharCode(event.charCode === undefined ? event.keyCode : event.charCode); 12204 return event.ctrlKey || (chr < ' ' || !dateChars || datetimeChars.indexOf(chr) > -1); 12205 } 12206 } 12207 12208 return $.datepicker._base_doKeyPress(event); 12209}; 12210 12211//####################################################################################### 12212// Override key up event to sync manual input changes. 12213//####################################################################################### 12214$.datepicker._base_doKeyUp = $.datepicker._doKeyUp; 12215$.datepicker._doKeyUp = function (event) { 12216 var inst = $.datepicker._getInst(event.target),
12217 tp_inst = $.datepicker._get(inst, 'timepicker'); 12218 12219 if (tp_inst) { 12220 if (tp_inst._defaults.timeOnly && (inst.input.val() != inst.lastVal)) { 12221 try { 12222 $.datepicker._updateDatepicker(inst); 12223 } 12224 catch (err) { 12225 $.datepicker.log(err); 12226 } 12227 } 12228 } 12229 12230 return $.datepicker._base_doKeyUp(event); 12231}; 12232 12233//####################################################################################### 12234// override "Today" button to also grab the time. 12235//####################################################################################### 12236$.datepicker._base_gotoToday = $.datepicker._gotoToday; 12237$.datepicker._gotoToday = function(id) { 12238 var inst = this._getInst($(id)[0]), 12239 $dp = inst.dpDiv; 12240 this._base_gotoToday(id); 12241 var now = new Date(); 12242 var tp_inst = this._get(inst, 'timepicker'); 12243 if (tp_inst._defaults.showTimezone && tp_inst.timezone_select) { 12244 var tzoffset = now.getTimezoneOffset(); // If +0100, returns -60 12245 var tzsign = tzoffset > 0 ? '-' : '+'; 12246 tzoffset = Math.abs(tzoffset); 12247 var tzmin = tzoffset % 60 12248 tzoffset = tzsign + ('0' + (tzoffset - tzmin) / 60).slice(-2) + ('0' + tzmin).slice(-2); 12249 if (tp_inst._defaults.timezoneIso8609) 12250 tzoffset = tzoffset.substring(0, 3) + ':' + tzoffset.substring(3); 12251 tp_inst.timezone_select.val(tzoffset); 12252 } 12253 this._setTime(inst, now); 12254 $( '.ui-datepicker-today', $dp).click(); 12255}; 12256 12257//####################################################################################### 12258// Disable & enable the Time in the datetimepicker 12259//####################################################################################### 12260$.datepicker._disableTimepickerDatepicker = function(target, date, withDate) { 12261 var inst = this._getInst(target), 12262 tp_inst = this._get(inst, 'timepicker'); 12263 $(target).datepicker('getDate'); // Init selected[Year|Month|Day] 12264 if (tp_inst) { 12265 tp_inst._defaults.showTimepicker = false; 12266 tp_inst._updateDateTime(inst); 12267 } 12268}; 12269 12270$.datepicker._enableTimepickerDatepicker = function(target, date, withDate) { 12271 var inst = this._getInst(target), 12272 tp_inst = this._get(inst, 'timepicker'); 12273 $(target).datepicker('getDate'); // Init selected[Year|Month|Day] 12274 if (tp_inst) { 12275 tp_inst._defaults.showTimepicker = true; 12276 tp_inst._addTimePicker(inst); // Could be disabled on page load 12277 tp_inst._updateDateTime(inst); 12278 } 12279}; 12280 12281//####################################################################################### 12282// Create our own set time function 12283//####################################################################################### 12284$.datepicker._setTime = function(inst, date) { 12285 var tp_inst = this._get(inst, 'timepicker'); 12286 if (tp_inst) { 12287 var defaults = tp_inst._defaults, 12288 // calling _setTime with no date sets time to defaults 12289 hour = date ? date.getHours() : defaults.hour, 12290 minute = date ? date.getMinutes() : defaults.minute, 12291 second = date ? date.getSeconds() : defaults.second, 12292 millisec = date ? date.getMilliseconds() : defaults.millisec; 12293 12294 //check if within min/max times.. 12295 if ((hour < defaults.hourMin || hour > defaults.hourMax) || (minute < defaults.minuteMin || minute > defaults.minuteMax) || (second < defaults.secondMin || second > defaults.secondMax) || (millisec < defaults.millisecMin || millisec > defaults.millisecMax)) { 12296 hour = defaults.hourMin; 12297 minute = defaults.minuteMin; 12298 second = defaults.secondMin; 12299 millisec = defaults.millisecMin; 12300 } 12301 12302 tp_inst.hour = hour; 12303 tp_inst.minute = minute; 12304 tp_inst.second = second; 12305 tp_inst.millisec = millisec; 12306 12307 if (tp_inst.hour_slider) tp_inst.hour_slider.slider('value', hour); 12308 if (tp_inst.minute_slider) tp_inst.minute_slider.slider('value', minute); 12309 if (tp_inst.second_slider) tp_inst.second_slider.slider('value', second); 12310 if (tp_inst.millisec_slider) tp_inst.millisec_slider.slider('value', millisec); 12311 12312 tp_inst._onTimeChange(); 12313 tp_inst._updateDateTime(inst); 12314 } 12315}; 12316 12317//####################################################################################### 12318// Create new public method to set only time, callable as $().datepicker('setTime', date) 12319//####################################################################################### 12320$.datepicker._setTimeDatepicker = function(target, date, withDate) { 12321 var inst = this._getInst(target),
12322 tp_inst = this._get(inst, 'timepicker'); 12323 12324 if (tp_inst) { 12325 this._setDateFromField(inst); 12326 var tp_date; 12327 if (date) { 12328 if (typeof date == "string") { 12329 tp_inst._parseTime(date, withDate); 12330 tp_date = new Date(); 12331 tp_date.setHours(tp_inst.hour, tp_inst.minute, tp_inst.second, tp_inst.millisec); 12332 } 12333 else tp_date = new Date(date.getTime()); 12334 if (tp_date.toString() == 'Invalid Date') tp_date = undefined; 12335 this._setTime(inst, tp_date); 12336 } 12337 } 12338 12339}; 12340 12341//####################################################################################### 12342// override setDate() to allow setting time too within Date object 12343//####################################################################################### 12344$.datepicker._base_setDateDatepicker = $.datepicker._setDateDatepicker; 12345$.datepicker._setDateDatepicker = function(target, date) { 12346 var inst = this._getInst(target), 12347 tp_date = (date instanceof Date) ? new Date(date.getTime()) : date; 12348 12349 this._updateDatepicker(inst); 12350 this._base_setDateDatepicker.apply(this, arguments); 12351 this._setTimeDatepicker(target, tp_date, true); 12352}; 12353 12354//####################################################################################### 12355// override getDate() to allow getting time too within Date object 12356//####################################################################################### 12357$.datepicker._base_getDateDatepicker = $.datepicker._getDateDatepicker; 12358$.datepicker._getDateDatepicker = function(target, noDefault) { 12359 var inst = this._getInst(target),
12360 tp_inst = this._get(inst, 'timepicker'); 12361 12362 if (tp_inst) { 12363 this._setDateFromField(inst, noDefault); 12364 var date = this._getDate(inst); 12365 if (date && tp_inst._parseTime($(target).val(), tp_inst.timeOnly)) date.setHours(tp_inst.hour, tp_inst.minute, tp_inst.second, tp_inst.millisec); 12366 return date; 12367 } 12368 return this._base_getDateDatepicker(target, noDefault); 12369}; 12370 12371//####################################################################################### 12372// override parseDate() because UI 1.8.14 throws an error about "Extra characters" 12373// An option in datapicker to ignore extra format characters would be nicer. 12374//####################################################################################### 12375$.datepicker._base_parseDate = $.datepicker.parseDate; 12376$.datepicker.parseDate = function(format, value, settings) { 12377 var date; 12378 try { 12379 date = this._base_parseDate(format, value, settings); 12380 } catch (err) { 12381 // Hack! The error message ends with a colon, a space, and 12382 // the "extra" characters. We rely on that instead of 12383 // attempting to perfectly reproduce the parsing algorithm. 12384 date = this._base_parseDate(format, value.substring(0,value.length-(err.length-err.indexOf(':')-2)), settings); 12385 } 12386 return date; 12387}; 12388 12389//####################################################################################### 12390// override formatDate to set date with time to the input 12391//####################################################################################### 12392$.datepicker._base_formatDate=$.datepicker._formatDate; 12393$.datepicker._formatDate = function(inst, day, month, year){ 12394 var tp_inst = this._get(inst, 'timepicker'); 12395 if(tp_inst) 12396 { 12397 if(day) 12398 var b = this._base_formatDate(inst, day, month, year); 12399 tp_inst._updateDateTime(inst); 12400 return tp_inst.$input.val(); 12401 } 12402 return this._base_formatDate(inst); 12403} 12404 12405//####################################################################################### 12406// override options setter to add time to maxDate(Time) and minDate(Time). MaxDate 12407//####################################################################################### 12408$.datepicker._base_optionDatepicker = $.datepicker._optionDatepicker; 12409$.datepicker._optionDatepicker = function(target, name, value) { 12410 var inst = this._getInst(target),
12411 tp_inst = this._get(inst, 'timepicker'); 12412 if (tp_inst) { 12413 var min,max,onselect; 12414 if (typeof name == 'string') { // if min/max was set with the string 12415 if (name==='minDate' || name==='minDateTime' ) 12416 min = value; 12417 else if (name==='maxDate' || name==='maxDateTime') 12418 max = value; 12419 else if (name==='onSelect') 12420 onselect=value; 12421 } else if (typeof name == 'object') { //if min/max was set with the JSON 12422 if(name.minDate) 12423 min = name.minDate; 12424 else if (name.minDateTime) 12425 min = name.minDateTime; 12426 else if (name.maxDate) 12427 max = name.maxDate; 12428 else if (name.maxDateTime) 12429 max = name.maxDateTime; 12430 } 12431 if(min){ //if min was set 12432 if(min==0) 12433 min=new Date(); 12434 else 12435 min= new Date(min); 12436 12437 tp_inst._defaults.minDate = min; 12438 tp_inst._defaults.minDateTime = min; 12439 } else if (max){ //if max was set 12440 if(max==0) 12441 max=new Date(); 12442 else 12443 max= new Date(max); 12444 tp_inst._defaults.maxDate = max; 12445 tp_inst._defaults.maxDateTime = max; 12446 } 12447 else if (onselect) 12448 tp_inst._defaults.onSelect=onselect; 12449 } 12450 if (value === undefined) 12451 return this._base_optionDatepicker(target, name); 12452 return this._base_optionDatepicker(target, name, value); 12453}; 12454 12455//####################################################################################### 12456// jQuery extend now ignores nulls! 12457//####################################################################################### 12458function extendRemove(target, props) { 12459 $.extend(target, props); 12460 for (var name in props) 12461 if (props[name] === null || props[name] === undefined) 12462 target[name] = props[name]; 12463 return target; 12464} 12465 12466$.timepicker = new Timepicker(); // singleton instance 12467$.timepicker.version = "0.9.8"; 12468 12469})(jQuery); 12470 12471�
vendor: 58,890 bytes, lines 12471-12472
12471!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.moment=t()}(this,function(){"use strict";var H;function _(){return H.apply(null,arguments)}function y(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function F(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function c(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function L(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;for(var t in e)if(c(e,t))return;return 1}function g(e){return void 0===e}function w(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function V(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function G(e,t){for(var n=[],s=e.length,i=0;i<s;++i)n.push(t(e[i],i));return n}function E(e,t){for(var n in t)c(t,n)&&(e[n]=t[n]);return c(t,"toString")&&(e.toString=t.toString),c(t,"valueOf")&&(e.valueOf=t.valueOf),e}function l(e,t,n,s){return Wt(e,t,n,s,!0).utc()}function p(e){return null==e._pf&&(e._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidEra:null,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],era:null,meridiem:null,rfc2822:!1,weekdayMismatch:!1}),e._pf}function A(e){var t,n,s=e._d&&!isNaN(e._d.getTime());return s&&(t=p(e),n=j.call(t.parsedDateParts,function(e){return null!=e}),s=t.overflow<0&&!t.empty&&!t.invalidEra&&!t.invalidMonth&&!t.invalidWeekday&&!t.weekdayMismatch&&!t.nullInput&&!t.invalidFormat&&!t.userInvalidated&&(!t.meridiem||t.meridiem&&n),e._strict)&&(s=s&&0===t.charsLeftOver&&0===t.unusedTokens.length&&void 0===t.bigHour),null!=Object.isFrozen&&Object.isFrozen(e)?s:(e._isValid=s,e._isValid)}function I(e){var t=l(NaN);return null!=e?E(p(t),e):p(t).userInvalidated=!0,t}var j=Array.prototype.some||function(e){for(var t=Object(this),n=t.length>>>0,s=0;s<n;s++)if(s in t&&e.call(this,t[s],s,t))return!0;return!1},Z=_.momentProperties=[],z=!1;function q(e,t){var n,s,i,r=Z.length;if(g(t._isAMomentObject)||(e._isAMomentObject=t._isAMomentObject),g(t._i)||(e._i=t._i),g(t._f)||(e._f=t._f),g(t._l)||(e._l=t._l),g(t._strict)||(e._strict=t._strict),g(t._tzm)||(e._tzm=t._tzm),g(t._isUTC)||(e._isUTC=t._isUTC),g(t._offset)||(e._offset=t._offset),g(t._pf)||(e._pf=p(t)),g(t._locale)||(e._locale=t._locale),0<r)for(n=0;n<r;n++)g(i=t[s=Z[n]])||(e[s]=i);return e}function $(e){q(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===z&&(z=!0,_.updateOffset(this),z=!1)}function k(e){return e instanceof $||null!=e&&null!=e._isAMomentObject}function B(e){!1===_.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+e)}function e(r,a){var o=!0;return E(function(){if(null!=_.deprecationHandler&&_.deprecationHandler(null,r),o){for(var e,t,n=[],s=arguments.length,i=0;i<s;i++){if(e="","object"==typeof arguments[i]){for(t in e+="\n["+i+"] ",arguments[0])c(arguments[0],t)&&(e+=t+": "+arguments[0][t]+", ");e=e.slice(0,-2)}else e=arguments[i];n.push(e)}B(r+"\nArguments: "+Array.prototype.slice.call(n).join("")+"\n"+(new Error).stack),o=!1}return a.apply(this,arguments)},a)}var J={};function Q(e,t){null!=_.deprecationHandler&&_.deprecationHandler(e,t),J[e]||(B(t),J[e]=!0)}function a(e){return"undefined"!=typeof Function&&e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}function X(e,t){var n,s=E({},e);for(n in t)c(t,n)&&(F(e[n])&&F(t[n])?(s[n]={},E(s[n],e[n]),E(s[n],t[n])):null!=t[n]?s[n]=t[n]:delete s[n]);for(n in e)c(e,n)&&!c(t,n)&&F(e[n])&&(s[n]=E({},s[n]));return s}function K(e){null!=e&&this.set(e)}_.suppressDeprecationWarnings=!1,_.deprecationHandler=null;var ee=Object.keys||function(e){var t,n=[];for(t in e)c(e,t)&&n.push(t);return n};function r(e,t,n){var s=""+Math.abs(e);return(0<=e?n?"+":"":"-")+Math.pow(10,Math.max(0,t-s.length)).toString().substr(1)+s}var te=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,ne=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,se={},ie={};function s(e,t,n,s){var i="string"==typeof s?function(){return this[s]()}:s;e&&(ie[e]=i),t&&(ie[t[0]]=function(){return r(i.apply(this,arguments),t[1],t[2])}),n&&(ie[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),e)})}function re(e,t){return e.isValid()?(t=ae(t,e.localeData()),se[t]=se[t]||function(s){for(var e,i=s.match(te),t=0,r=i.length;t<r;t++)ie[i[t]]?i[t]=ie[i[t]]:i[t]=(e=i[t]).match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"");return function(e){for(var t="",n=0;n<r;n++)t+=a(i[n])?i[n].call(e,s):i[n];return t}}(t),se[t](e)):e.localeData().invalidDate()}function ae(e,t){var n=5;function s(e){return t.longDateFormat(e)||e}for(ne.lastIndex=0;0<=n&&ne.test(e);)e=e.replace(ne,s),ne.lastIndex=0,--n;return e}var oe={D:"date",dates:"date",date:"date",d:"day",days:"day",day:"day",e:"weekday",weekdays:"weekday",weekday:"weekday",E:"isoWeekday",isoweekdays:"isoWeekday",isoweekday:"isoWeekday",DDD:"dayOfYear",dayofyears:"dayOfYear",dayofyear:"dayOfYear",h:"hour",hours:"hour",hour:"hour",ms:"millisecond",milliseconds:"millisecond",millisecond:"millisecond",m:"minute",minutes:"minute",minute:"minute",M:"month",months:"month",month:"month",Q:"quarter",quarters:"quarter",quarter:"quarter",s:"second",seconds:"second",second:"second",gg:"weekYear",weekyears:"weekYear",weekyear:"weekYear",GG:"isoWeekYear",isoweekyears:"isoWeekYear",isoweekyear:"isoWeekYear",w:"week",weeks:"week",week:"week",W:"isoWeek",isoweeks:"isoWeek",isoweek:"isoWeek",y:"year",years:"year",year:"year"};function o(e){return"string"==typeof e?oe[e]||oe[e.toLowerCase()]:void 0}function ue(e){var t,n,s={};for(n in e)c(e,n)&&(t=o(n))&&(s[t]=e[n]);return s}var le={date:9,day:11,weekday:11,isoWeekday:11,dayOfYear:4,hour:13,millisecond:16,minute:14,month:8,quarter:7,second:15,weekYear:1,isoWeekYear:1,week:5,isoWeek:5,year:1};var de=/\d/,t=/\d\d/,he=/\d{3}/,ce=/\d{4}/,fe=/[+-]?\d{6}/,n=/\d\d?/,me=/\d\d\d\d?/,_e=/\d\d\d\d\d\d?/,ye=/\d{1,3}/,ge=/\d{1,4}/,we=/[+-]?\d{1,6}/,pe=/\d+/,ke=/[+-]?\d+/,Me=/Z|[+-]\d\d:?\d\d/gi,ve=/Z|[+-]\d\d(?::?\d\d)?/gi,i=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,u=/^[1-9]\d?/,d=/^([1-9]\d|\d)/;function h(e,n,s){Ye[e]=a(n)?n:function(e,t){return e&&s?s:n}}function De(e,t){return c(Ye,e)?Ye[e](t._strict,t._locale):new RegExp(f(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,n,s,i){return t||n||s||i})))}function f(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function m(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function M(e){var e=+e,t=0;return t=0!=e&&isFinite(e)?m(e):t}var Ye={},Se={};function v(e,n){var t,s,i=n;for("string"==typeof e&&(e=[e]),w(n)&&(i=function(e,t){t[n]=M(e)}),s=e.length,t=0;t<s;t++)Se[e[t]]=i}function Oe(e,i){v(e,function(e,t,n,s){n._w=n._w||{},i(e,n._w,n,s)})}function be(e){return e%4==0&&e%100!=0||e%400==0}var D=0,Y=1,S=2,O=3,b=4,T=5,Te=6,xe=7,Ne=8;function We(e){return be(e)?366:365}s("Y",0,0,function(){var e=this.year();return e<=9999?r(e,4):"+"+e}),s(0,["YY",2],0,function(){return this.year()%100}),s(0,["YYYY",4],0,"year"),s(0,["YYYYY",5],0,"year"),s(0,["YYYYYY",6,!0],0,"year"),h("Y",ke),h("YY",n,t),h("YYYY",ge,ce),h("YYYYY",we,fe),h("YYYYYY",we,fe),v(["YYYYY","YYYYYY"],D),v("YYYY",function(e,t){t[D]=2===e.length?_.parseTwoDigitYear(e):M(e)}),v("YY",function(e,t){t[D]=_.parseTwoDigitYear(e)}),v("Y",function(e,t){t[D]=parseInt(e,10)}),_.parseTwoDigitYear=function(e){return M(e)+(68<M(e)?1900:2e3)};var x,Pe=Re("FullYear",!0);function Re(t,n){return function(e){return null!=e?(Ue(this,t,e),_.updateOffset(this,n),this):Ce(this,t)}}function Ce(e,t){if(!e.isValid())return NaN;var n=e._d,s=e._isUTC;switch(t){case"Milliseconds":return s?n.getUTCMilliseconds():n.getMilliseconds();case"Seconds":return s?n.getUTCSeconds():n.getSeconds();case"Minutes":return s?n.getUTCMinutes():n.getMinutes();case"Hours":return s?n.getUTCHours():n.getHours();case"Date":return s?n.getUTCDate():n.getDate();case"Day":return s?n.getUTCDay():n.getDay();case"Month":return s?n.getUTCMonth():n.getMonth();case"FullYear":return s?n.getUTCFullYear():n.getFullYear();default:return NaN}}function Ue(e,t,n){var s,i,r;if(e.isValid()&&!isNaN(n)){switch(s=e._d,i=e._isUTC,t){case"Milliseconds":return i?s.setUTCMilliseconds(n):s.setMilliseconds(n);case"Seconds":return i?s.setUTCSeconds(n):s.setSeconds(n);case"Minutes":return i?s.setUTCMinutes(n):s.setMinutes(n);case"Hours":return i?s.setUTCHours(n):s.setHours(n);case"Date":return i?s.setUTCDate(n):s.setDate(n);case"FullYear":break;default:return}t=n,r=e.month(),e=29!==(e=e.date())||1!==r||be(t)?e:28,i?s.setUTCFullYear(t,r,e):s.setFullYear(t,r,e)}}function He(e,t){var n;return isNaN(e)||isNaN(t)?NaN:(n=(t%(n=12)+n)%n,e+=(t-n)/12,1==n?be(e)?29:28:31-n%7%2)}x=Array.prototype.indexOf||function(e){for(var t=0;t<this.length;++t)if(this[t]===e)return t;return-1},s("M",["MM",2],"Mo",function(){return this.month()+1}),s("MMM",0,0,function(e){return this.localeData().monthsShort(this,e)}),s("MMMM",0,0,function(e){return this.localeData().months(this,e)}),h("M",n,u),h("MM",n,t),h("MMM",function(e,t){return t.monthsShortRegex(e)}),h("MMMM",function(e,t){return t.monthsRegex(e)}),v(["M","MM"],function(e,t){t[Y]=M(e)-1}),v(["MMM","MMMM"],function(e,t,n,s){s=n._locale.monthsParse(e,s,n._strict);null!=s?t[Y]=s:p(n).invalidMonth=e});var Fe="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Le="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),Ve=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,Ge=i,Ee=i;function Ae(e,t){if(e.isValid()){if("string"==typeof t)if(/^\d+$/.test(t))t=M(t);else if(!w(t=e.localeData().monthsParse(t)))return;var n=(n=e.date())<29?n:Math.min(n,He(e.year(),t));e._isUTC?e._d.setUTCMonth(t,n):e._d.setMonth(t,n)}}function Ie(e){return null!=e?(Ae(this,e),_.updateOffset(this,!0),this):Ce(this,"Month")}function je(){function e(e,t){return t.length-e.length}for(var t,n,s=[],i=[],r=[],a=0;a<12;a++)n=l([2e3,a]),t=f(this.monthsShort(n,"")),n=f(this.months(n,"")),s.push(t),i.push(n),r.push(n),r.push(t);s.sort(e),i.sort(e),r.sort(e),this._monthsRegex=new RegExp("^("+r.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+s.join("|")+")","i")}function Ze(e,t,n,s,i,r,a){var o;return e<100&&0<=e?(o=new Date(e+400,t,n,s,i,r,a),isFinite(o.getFullYear())&&o.setFullYear(e)):o=new Date(e,t,n,s,i,r,a),o}function ze(e){var t;return e<100&&0<=e?((t=Array.prototype.slice.call(arguments))[0]=e+400,t=new Date(Date.UTC.apply(null,t)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)):t=new Date(Date.UTC.apply(null,arguments)),t}function qe(e,t,n){n=7+t-n;return n-(7+ze(e,0,n).getUTCDay()-t)%7-1}function $e(e,t,n,s,i){var r,t=1+7*(t-1)+(7+n-s)%7+qe(e,s,i),n=t<=0?We(r=e-1)+t:t>We(e)?(r=e+1,t-We(e)):(r=e,t);return{year:r,dayOfYear:n}}function Be(e,t,n){var s,i,r=qe(e.year(),t,n),r=Math.floor((e.dayOfYear()-r-1)/7)+1;return r<1?s=r+N(i=e.year()-1,t,n):r>N(e.year(),t,n)?(s=r-N(e.year(),t,n),i=e.year()+1):(i=e.year(),s=r),{week:s,year:i}}function N(e,t,n){var s=qe(e,t,n),t=qe(e+1,t,n);return(We(e)-s+t)/7}s("w",["ww",2],"wo","week"),s("W",["WW",2],"Wo","isoWeek"),h("w",n,u),h("ww",n,t),h("W",n,u),h("WW",n,t),Oe(["w","ww","W","WW"],function(e,t,n,s){t[s.substr(0,1)]=M(e)});function Je(e,t){return e.slice(t,7).concat(e.slice(0,t))}s("d",0,"do","day"),s("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),s("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),s("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),s("e",0,0,"weekday"),s("E",0,0,"isoWeekday"),h("d",n),h("e",n),h("E",n),h("dd",function(e,t){return t.weekdaysMinRegex(e)}),h("ddd",function(e,t){return t.weekdaysShortRegex(e)}),h("dddd",function(e,t){return t.weekdaysRegex(e)}),Oe(["dd","ddd","dddd"],function(e,t,n,s){s=n._locale.weekdaysParse(e,s,n._strict);null!=s?t.d=s:p(n).invalidWeekday=e}),Oe(["d","e","E"],function(e,t,n,s){t[s]=M(e)});var Qe="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Xe="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Ke="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),et=i,tt=i,nt=i;function st(){function e(e,t){return t.length-e.length}for(var t,n,s,i=[],r=[],a=[],o=[],u=0;u<7;u++)s=l([2e3,1]).day(u),t=f(this.weekdaysMin(s,"")),n=f(this.weekdaysShort(s,"")),s=f(this.weekdays(s,"")),i.push(t),r.push(n),a.push(s),o.push(t),o.push(n),o.push(s);i.sort(e),r.sort(e),a.sort(e),o.sort(e),this._weekdaysRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+r.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+i.join("|")+")","i")}function it(){return this.hours()%12||12}function rt(e,t){s(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function at(e,t){return t._meridiemParse}s("H",["HH",2],0,"hour"),s("h",["hh",2],0,it),s("k",["kk",2],0,function(){return this.hours()||24}),s("hmm",0,0,function(){return""+it.apply(this)+r(this.minutes(),2)}),s("hmmss",0,0,function(){return""+it.apply(this)+r(this.minutes(),2)+r(this.seconds(),2)}),s("Hmm",0,0,function(){return""+this.hours()+r(this.minutes(),2)}),s("Hmmss",0,0,function(){return""+this.hours()+r(this.minutes(),2)+r(this.seconds(),2)}),rt("a",!0),rt("A",!1),h("a",at),h("A",at),h("H",n,d),h("h",n,u),h("k",n,u),h("HH",n,t),h("hh",n,t),h("kk",n,t),h("hmm",me),h("hmmss",_e),h("Hmm",me),h("Hmmss",_e),v(["H","HH"],O),v(["k","kk"],function(e,t,n){e=M(e);t[O]=24===e?0:e}),v(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),v(["h","hh"],function(e,t,n){t[O]=M(e),p(n).bigHour=!0}),v("hmm",function(e,t,n){var s=e.length-2;t[O]=M(e.substr(0,s)),t[b]=M(e.substr(s)),p(n).bigHour=!0}),v("hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[O]=M(e.substr(0,s)),t[b]=M(e.substr(s,2)),t[T]=M(e.substr(i)),p(n).bigHour=!0}),v("Hmm",function(e,t,n){var s=e.length-2;t[O]=M(e.substr(0,s)),t[b]=M(e.substr(s))}),v("Hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[O]=M(e.substr(0,s)),t[b]=M(e.substr(s,2)),t[T]=M(e.substr(i))});i=Re("Hours",!0);var ot,ut={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Fe,monthsShort:Le,week:{dow:0,doy:6},weekdays:Qe,weekdaysMin:Ke,weekdaysShort:Xe,meridiemParse:/[ap]\.?m?\.?/i},W={},lt={};function dt(e){return e&&e.toLowerCase().replace("_","-")}function ht(e){for(var t,n,s,i,r=0;r<e.length;){for(t=(i=dt(e[r]).split("-")).length,n=(n=dt(e[r+1]))?n.split("-"):null;0<t;){if(s=ct(i.slice(0,t).join("-")))return s;if(n&&n.length>=t&&function(e,t){for(var n=Math.min(e.length,t.length),s=0;s<n;s+=1)if(e[s]!==t[s])return s;return n}(i,n)>=t-1)break;t--}r++}return ot}function ct(t){var e,n;if(void 0===W[t]&&"undefined"!=typeof module&&module&&module.exports&&(n=t)&&n.match("^[^/\\\\]*$"))try{e=ot._abbr,require("./locale/"+t),ft(e)}catch(e){W[t]=null}return W[t]}function ft(e,t){return e&&((t=g(t)?P(e):mt(e,t))?ot=t:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),ot._abbr}function mt(e,t){if(null===t)return delete W[e],null;var n,s=ut;if(t.abbr=e,null!=W[e])Q("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),s=W[e]._config;else if(null!=t.parentLocale)if(null!=W[t.parentLocale])s=W[t.parentLocale]._config;else{if(null==(n=ct(t.parentLocale)))return lt[t.parentLocale]||(lt[t.parentLocale]=[]),lt[t.parentLocale].push({name:e,config:t}),null;s=n._config}return W[e]=new K(X(s,t)),lt[e]&<[e].forEach(function(e){mt(e.name,e.config)}),ft(e),W[e]}function P(e){var t;if(!(e=e&&e._locale&&e._locale._abbr?e._locale._abbr:e))return ot;if(!y(e)){if(t=ct(e))return t;e=[e]}return ht(e)}function _t(e){var t=e._a;return t&&-2===p(e).overflow&&(t=t[Y]<0||11<t[Y]?Y:t[S]<1||t[S]>He(t[D],t[Y])?S:t[O]<0||24<t[O]||24===t[O]&&(0!==t[b]||0!==t[T]||0!==t[Te])?O:t[b]<0||59<t[b]?b:t[T]<0||59<t[T]?T:t[Te]<0||999<t[Te]?Te:-1,p(e)._overflowDayOfYear&&(t<D||S<t)&&(t=S),p(e)._overflowWeeks&&-1===t&&(t=xe),p(e)._overflowWeekday&&-1===t&&(t=Ne),p(e).overflow=t),e}var yt=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,gt=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,wt=/Z|[+-]\d\d(?::?\d\d)?/,pt=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],kt=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Mt=/^\/?Date\((-?\d+)/i,vt=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,Dt={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Yt(e){var t,n,s,i,r,a,o=e._i,u=yt.exec(o)||gt.exec(o),o=pt.length,l=kt.length;if(u){for(p(e).iso=!0,t=0,n=o;t<n;t++)if(pt[t][1].exec(u[1])){i=pt[t][0],s=!1!==pt[t][2];break}if(null==i)e._isValid=!1;else{if(u[3]){for(t=0,n=l;t<n;t++)if(kt[t][1].exec(u[3])){r=(u[2]||" ")+kt[t][0];break}if(null==r)return void(e._isValid=!1)}if(s||null==r){if(u[4]){if(!wt.exec(u[4]))return void(e._isValid=!1);a="Z"}e._f=i+(r||"")+(a||""),xt(e)}else e._isValid=!1}}else e._isValid=!1}function St(e,t,n,s,i,r){e=[function(e){e=parseInt(e,10);{if(e<=49)return 2e3+e;if(e<=999)return 1900+e}return e}(e),Le.indexOf(t),parseInt(n,10),parseInt(s,10),parseInt(i,10)];return r&&e.push(parseInt(r,10)),e}function Ot(e){var t,n,s=vt.exec(e._i.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));s?(t=St(s[4],s[3],s[2],s[5],s[6],s[7]),function(e,t,n){if(!e||Xe.indexOf(e)===new Date(t[0],t[1],t[2]).getDay())return 1;p(n).weekdayMismatch=!0,n._isValid=!1}(s[1],t,e)&&(e._a=t,e._tzm=(t=s[8],n=s[9],s=s[10],t?Dt[t]:n?0:60*(((t=parseInt(s,10))-(n=t%100))/100)+n),e._d=ze.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),p(e).rfc2822=!0)):e._isValid=!1}function bt(e,t,n){return null!=e?e:null!=t?t:n}function Tt(e){var t,n,s,i,r,a,o,u,l,d,h,c=[];if(!e._d){for(s=e,i=new Date(_.now()),n=s._useUTC?[i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate()]:[i.getFullYear(),i.getMonth(),i.getDate()],e._w&&null==e._a[S]&&null==e._a[Y]&&(null!=(i=(s=e)._w).GG||null!=i.W||null!=i.E?(u=1,l=4,r=bt(i.GG,s._a[D],Be(R(),1,4).year),a=bt(i.W,1),((o=bt(i.E,1))<1||7<o)&&(d=!0)):(u=s._locale._week.dow,l=s._locale._week.doy,h=Be(R(),u,l),r=bt(i.gg,s._a[D],h.year),a=bt(i.w,h.week),null!=i.d?((o=i.d)<0||6<o)&&(d=!0):null!=i.e?(o=i.e+u,(i.e<0||6<i.e)&&(d=!0)):o=u),a<1||a>N(r,u,l)?p(s)._overflowWeeks=!0:null!=d?p(s)._overflowWeekday=!0:(h=$e(r,a,o,u,l),s._a[D]=h.year,s._dayOfYear=h.dayOfYear)),null!=e._dayOfYear&&(i=bt(e._a[D],n[D]),(e._dayOfYear>We(i)||0===e._dayOfYear)&&(p(e)._overflowDayOfYear=!0),d=ze(i,0,e._dayOfYear),e._a[Y]=d.getUTCMonth(),e._a[S]=d.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=c[t]=n[t];for(;t<7;t++)e._a[t]=c[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[O]&&0===e._a[b]&&0===e._a[T]&&0===e._a[Te]&&(e._nextDay=!0,e._a[O]=0),e._d=(e._useUTC?ze:Ze).apply(null,c),r=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[O]=24),e._w&&void 0!==e._w.d&&e._w.d!==r&&(p(e).weekdayMismatch=!0)}}function xt(e){if(e._f===_.ISO_8601)Yt(e);else if(e._f===_.RFC_2822)Ot(e);else{e._a=[],p(e).empty=!0;for(var t,n,s,i,r,a=""+e._i,o=a.length,u=0,l=ae(e._f,e._locale).match(te)||[],d=l.length,h=0;h<d;h++)n=l[h],(t=(a.match(De(n,e))||[])[0])&&(0<(s=a.substr(0,a.indexOf(t))).length&&p(e).unusedInput.push(s),a=a.slice(a.indexOf(t)+t.length),u+=t.length),ie[n]?(t?p(e).empty=!1:p(e).unusedTokens.push(n),s=n,r=e,null!=(i=t)&&c(Se,s)&&Se[s](i,r._a,r,s)):e._strict&&!t&&p(e).unusedTokens.push(n);p(e).charsLeftOver=o-u,0<a.length&&p(e).unusedInput.push(a),e._a[O]<=12&&!0===p(e).bigHour&&0<e._a[O]&&(p(e).bigHour=void 0),p(e).parsedDateParts=e._a.slice(0),p(e).meridiem=e._meridiem,e._a[O]=function(e,t,n){if(null==n)return t;return null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?((e=e.isPM(n))&&t<12&&(t+=12),t=e||12!==t?t:0):t}(e._locale,e._a[O],e._meridiem),null!==(o=p(e).era)&&(e._a[D]=e._locale.erasConvertYear(o,e._a[D])),Tt(e),_t(e)}}function Nt(e){var t,n,s,i=e._i,r=e._f;if(e._locale=e._locale||P(e._l),null===i||void 0===r&&""===i)return I({nullInput:!0});if("string"==typeof i&&(e._i=i=e._locale.preparse(i)),k(i))return new $(_t(i));if(V(i))e._d=i;else if(y(r)){var a,o,u,l,d,h,c=e,f=!1,m=c._f.length;if(0===m)p(c).invalidFormat=!0,c._d=new Date(NaN);else{for(l=0;l<m;l++)d=0,h=!1,a=q({},c),null!=c._useUTC&&(a._useUTC=c._useUTC),a._f=c._f[l],xt(a),A(a)&&(h=!0),d=(d+=p(a).charsLeftOver)+10*p(a).unusedTokens.length,p(a).score=d,f?d<u&&(u=d,o=a):(null==u||d<u||h)&&(u=d,o=a,h)&&(f=!0);E(c,o||a)}}else if(r)xt(e);else if(g(r=(i=e)._i))i._d=new Date(_.now());else V(r)?i._d=new Date(r.valueOf()):"string"==typeof r?(n=i,null!==(t=Mt.exec(n._i))?n._d=new Date(+t[1]):(Yt(n),!1===n._isValid&&(delete n._isValid,Ot(n),!1===n._isValid)&&(delete n._isValid,n._strict?n._isValid=!1:_.createFromInputFallback(n)))):y(r)?(i._a=G(r.slice(0),function(e){return parseInt(e,10)}),Tt(i)):F(r)?(t=i)._d||(s=void 0===(n=ue(t._i)).day?n.date:n.day,t._a=G([n.year,n.month,s,n.hour,n.minute,n.second,n.millisecond],function(e){return e&&parseInt(e,10)}),Tt(t)):w(r)?i._d=new Date(r):_.createFromInputFallback(i);return A(e)||(e._d=null),e}function Wt(e,t,n,s,i){var r={};return!0!==t&&!1!==t||(s=t,t=void 0),!0!==n&&!1!==n||(s=n,n=void 0),(F(e)&&L(e)||y(e)&&0===e.length)&&(e=void 0),r._isAMomentObject=!0,r._useUTC=r._isUTC=i,r._l=n,r._i=e,r._f=t,r._strict=s,(i=new $(_t(Nt(i=r))))._nextDay&&(i.add(1,"d"),i._nextDay=void 0),i}function R(e,t,n,s){return Wt(e,t,n,s,!1)}_.createFromInputFallback=e("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),_.ISO_8601=function(){},_.RFC_2822=function(){};me=e("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=R.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:I()}),_e=e("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=R.apply(null,arguments);return this.isValid()&&e.isValid()?this<e?this:e:I()});function Pt(e,t){var n,s;if(!(t=1===t.length&&y(t[0])?t[0]:t).length)return R();for(n=t[0],s=1;s<t.length;++s)t[s].isValid()&&!t[s][e](n)||(n=t[s]);return n}var Rt=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Ct(e){var e=ue(e),t=e.year||0,n=e.quarter||0,s=e.month||0,i=e.week||e.isoWeek||0,r=e.day||0,a=e.hour||0,o=e.minute||0,u=e.second||0,l=e.millisecond||0;this._isValid=function(e){var t,n,s=!1,i=Rt.length;for(t in e)if(c(e,t)&&(-1===x.call(Rt,t)||null!=e[t]&&isNaN(e[t])))return!1;for(n=0;n<i;++n)if(e[Rt[n]]){if(s)return!1;parseFloat(e[Rt[n]])!==M(e[Rt[n]])&&(s=!0)}return!0}(e),this._milliseconds=+l+1e3*u+6e4*o+1e3*a*60*60,this._days=+r+7*i,this._months=+s+3*n+12*t,this._data={},this._locale=P(),this._bubble()}function Ut(e){return e instanceof Ct}function Ht(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function Ft(e,n){s(e,0,0,function(){var e=this.utcOffset(),t="+";return e<0&&(e=-e,t="-"),t+r(~~(e/60),2)+n+r(~~e%60,2)})}Ft("Z",":"),Ft("ZZ",""),h("Z",ve),h("ZZ",ve),v(["Z","ZZ"],function(e,t,n){n._useUTC=!0,n._tzm=Vt(ve,e)});var Lt=/([\+\-]|\d\d)/gi;function Vt(e,t){var t=(t||"").match(e);return null===t?null:0===(t=60*(e=((t[t.length-1]||[])+"").match(Lt)||["-",0,0])[1]+M(e[2]))?0:"+"===e[0]?t:-t}function Gt(e,t){var n;return t._isUTC?(t=t.clone(),n=(k(e)||V(e)?e:R(e)).valueOf()-t.valueOf(),t._d.setTime(t._d.valueOf()+n),_.updateOffset(t,!1),t):R(e).local()}function Et(e){return-Math.round(e._d.getTimezoneOffset())}function At(){return!!this.isValid()&&this._isUTC&&0===this._offset}_.updateOffset=function(){};var It=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,jt=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function C(e,t){var n,s=e;return Ut(e)?s={ms:e._milliseconds,d:e._days,M:e._months}:w(e)||!isNaN(+e)?(s={},t?s[t]=+e:s.milliseconds=+e):(t=It.exec(e))?(n="-"===t[1]?-1:1,s={y:0,d:M(t[S])*n,h:M(t[O])*n,m:M(t[b])*n,s:M(t[T])*n,ms:M(Ht(1e3*t[Te]))*n}):(t=jt.exec(e))?(n="-"===t[1]?-1:1,s={y:Zt(t[2],n),M:Zt(t[3],n),w:Zt(t[4],n),d:Zt(t[5],n),h:Zt(t[6],n),m:Zt(t[7],n),s:Zt(t[8],n)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(t=function(e,t){var n;if(!e.isValid()||!t.isValid())return{milliseconds:0,months:0};t=Gt(t,e),e.isBefore(t)?n=zt(e,t):((n=zt(t,e)).milliseconds=-n.milliseconds,n.months=-n.months);return n}(R(s.from),R(s.to)),(s={}).ms=t.milliseconds,s.M=t.months),n=new Ct(s),Ut(e)&&c(e,"_locale")&&(n._locale=e._locale),Ut(e)&&c(e,"_isValid")&&(n._isValid=e._isValid),n}function Zt(e,t){e=e&&parseFloat(e.replace(",","."));return(isNaN(e)?0:e)*t}function zt(e,t){var n={};return n.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(n.months,"M").isAfter(t)&&--n.months,n.milliseconds=+t-+e.clone().add(n.months,"M"),n}function qt(s,i){return function(e,t){var n;return null===t||isNaN(+t)||(Q(i,"moment()."+i+"(period, number) is deprecated. Please use moment()."+i+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),n=e,e=t,t=n),$t(this,C(e,t),s),this}}function $t(e,t,n,s){var i=t._milliseconds,r=Ht(t._days),t=Ht(t._months);e.isValid()&&(s=null==s||s,t&&Ae(e,Ce(e,"Month")+t*n),r&&Ue(e,"Date",Ce(e,"Date")+r*n),i&&e._d.setTime(e._d.valueOf()+i*n),s)&&_.updateOffset(e,r||t)}C.fn=Ct.prototype,C.invalid=function(){return C(NaN)};Fe=qt(1,"add"),Qe=qt(-1,"subtract");function Bt(e){return"string"==typeof e||e instanceof String}function Jt(e){return k(e)||V(e)||Bt(e)||w(e)||function(t){var e=y(t),n=!1;e&&(n=0===t.filter(function(e){return!w(e)&&Bt(t)}).length);return e&&n}(e)||function(e){var t,n,s=F(e)&&!L(e),i=!1,r=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],a=r.length;for(t=0;t<a;t+=1)n=r[t],i=i||c(e,n);return s&&i}(e)||null==e}function Qt(e,t){var n,s;return e.date()<t.date()?-Qt(t,e):-((n=12*(t.year()-e.year())+(t.month()-e.month()))+(t-(s=e.clone().add(n,"months"))<0?(t-s)/(s-e.clone().add(n-1,"months")):(t-s)/(e.clone().add(1+n,"months")-s)))||0}function Xt(e){return void 0===e?this._locale._abbr:(null!=(e=P(e))&&(this._locale=e),this)}_.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",_.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";Ke=e("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return void 0===e?this.localeData():this.locale(e)});function Kt(){return this._locale}var en=126227808e5;function tn(e,t){return(e%t+t)%t}function nn(e,t,n){return e<100&&0<=e?new Date(e+400,t,n)-en:new Date(e,t,n).valueOf()}function sn(e,t,n){return e<100&&0<=e?Date.UTC(e+400,t,n)-en:Date.UTC(e,t,n)}function rn(e,t){return t.erasAbbrRegex(e)}function an(){for(var e,t,n,s=[],i=[],r=[],a=[],o=this.eras(),u=0,l=o.length;u<l;++u)e=f(o[u].name),t=f(o[u].abbr),n=f(o[u].narrow),i.push(e),s.push(t),r.push(n),a.push(e),a.push(t),a.push(n);this._erasRegex=new RegExp("^("+a.join("|")+")","i"),this._erasNameRegex=new RegExp("^("+i.join("|")+")","i"),this._erasAbbrRegex=new RegExp("^("+s.join("|")+")","i"),this._erasNarrowRegex=new RegExp("^("+r.join("|")+")","i")}function on(e,t){s(0,[e,e.length],0,t)}function un(e,t,n,s,i){var r;return null==e?Be(this,s,i).year:(r=N(e,s,i),function(e,t,n,s,i){e=$e(e,t,n,s,i),t=ze(e.year,0,e.dayOfYear);return this.year(t.getUTCFullYear()),this.month(t.getUTCMonth()),this.date(t.getUTCDate()),this}.call(this,e,t=r<t?r:t,n,s,i))}s("N",0,0,"eraAbbr"),s("NN",0,0,"eraAbbr"),s("NNN",0,0,"eraAbbr"),s("NNNN",0,0,"eraName"),s("NNNNN",0,0,"eraNarrow"),s("y",["y",1],"yo","eraYear"),s("y",["yy",2],0,"eraYear"),s("y",["yyy",3],0,"eraYear"),s("y",["yyyy",4],0,"eraYear"),h("N",rn),h("NN",rn),h("NNN",rn),h("NNNN",function(e,t){return t.erasNameRegex(e)}),h("NNNNN",function(e,t){return t.erasNarrowRegex(e)}),v(["N","NN","NNN","NNNN","NNNNN"],function(e,t,n,s){s=n._locale.erasParse(e,s,n._strict);s?p(n).era=s:p(n).invalidEra=e}),h("y",pe),h("yy",pe),h("yyy",pe),h("yyyy",pe),h("yo",function(e,t){return t._eraYearOrdinalRegex||pe}),v(["y","yy","yyy","yyyy"],D),v(["yo"],function(e,t,n,s){var i;n._locale._eraYearOrdinalRegex&&(i=e.match(n._locale._eraYearOrdinalRegex)),n._locale.eraYearOrdinalParse?t[D]=n._locale.eraYearOrdinalParse(e,i):t[D]=parseInt(e,10)}),s(0,["gg",2],0,function(){return this.weekYear()%100}),s(0,["GG",2],0,function(){return this.isoWeekYear()%100}),on("gggg","weekYear"),on("ggggg","weekYear"),on("GGGG","isoWeekYear"),on("GGGGG","isoWeekYear"),h("G",ke),h("g",ke),h("GG",n,t),h("gg",n,t),h("GGGG",ge,ce),h("gggg",ge,ce),h("GGGGG",we,fe),h("ggggg",we,fe),Oe(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,s){t[s.substr(0,2)]=M(e)}),Oe(["gg","GG"],function(e,t,n,s){t[s]=_.parseTwoDigitYear(e)}),s("Q",0,"Qo","quarter"),h("Q",de),v("Q",function(e,t){t[Y]=3*(M(e)-1)}),s("D",["DD",2],"Do","date"),h("D",n,u),h("DD",n,t),h("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),v(["D","DD"],S),v("Do",function(e,t){t[S]=M(e.match(n)[0])});ge=Re("Date",!0);s("DDD",["DDDD",3],"DDDo","dayOfYear"),h("DDD",ye),h("DDDD",he),v(["DDD","DDDD"],function(e,t,n){n._dayOfYear=M(e)}),s("m",["mm",2],0,"minute"),h("m",n,d),h("mm",n,t),v(["m","mm"],b);var ln,ce=Re("Minutes",!1),we=(s("s",["ss",2],0,"second"),h("s",n,d),h("ss",n,t),v(["s","ss"],T),Re("Seconds",!1));for(s("S",0,0,function(){return~~(this.millisecond()/100)}),s(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),s(0,["SSS",3],0,"millisecond"),s(0,["SSSS",4],0,function(){return 10*this.millisecond()}),s(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),s(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),s(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),s(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),s(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),h("S",ye,de),h("SS",ye,t),h("SSS",ye,he),ln="SSSS";ln.length<=9;ln+="S")h(ln,pe);function dn(e,t){t[Te]=M(1e3*("0."+e))}for(ln="S";ln.length<=9;ln+="S")v(ln,dn);fe=Re("Milliseconds",!1),s("z",0,0,"zoneAbbr"),s("zz",0,0,"zoneName");u=$.prototype;function hn(e){return e}u.add=Fe,u.calendar=function(e,t){1===arguments.length&&(arguments[0]?Jt(arguments[0])?(e=arguments[0],t=void 0):function(e){for(var t=F(e)&&!L(e),n=!1,s=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"],i=0;i<s.length;i+=1)n=n||c(e,s[i]);return t&&n}(arguments[0])&&(t=arguments[0],e=void 0):t=e=void 0);var e=e||R(),n=Gt(e,this).startOf("day"),n=_.calendarFormat(this,n)||"sameElse",t=t&&(a(t[n])?t[n].call(this,e):t[n]);return this.format(t||this.localeData().calendar(n,this,R(e)))},u.clone=function(){return new $(this)},u.diff=function(e,t,n){var s,i,r;if(!this.isValid())return NaN;if(!(s=Gt(e,this)).isValid())return NaN;switch(i=6e4*(s.utcOffset()-this.utcOffset()),t=o(t)){case"year":r=Qt(this,s)/12;break;case"month":r=Qt(this,s);break;case"quarter":r=Qt(this,s)/3;break;case"second":r=(this-s)/1e3;break;case"minute":r=(this-s)/6e4;break;case"hour":r=(this-s)/36e5;break;case"day":r=(this-s-i)/864e5;break;case"week":r=(this-s-i)/6048e5;break;default:r=this-s}return n?r:m(r)},u.endOf=function(e){var t,n;if(void 0!==(e=o(e))&&"millisecond"!==e&&this.isValid()){switch(n=this._isUTC?sn:nn,e){case"year":t=n(this.year()+1,0,1)-1;break;case"quarter":t=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":t=n(this.year(),this.month()+1,1)-1;break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":t=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":t=this._d.valueOf(),t+=36e5-tn(t+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":t=this._d.valueOf(),t+=6e4-tn(t,6e4)-1;break;case"second":t=this._d.valueOf(),t+=1e3-tn(t,1e3)-1;break}this._d.setTime(t),_.updateOffset(this,!0)}return this},u.format=function(e){return e=e||(this.isUtc()?_.defaultFormatUtc:_.defaultFormat),e=re(this,e),this.localeData().postformat(e)},u.from=function(e,t){return this.isValid()&&(k(e)&&e.isValid()||R(e).isValid())?C({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},u.fromNow=function(e){return this.from(R(),e)},u.to=function(e,t){return this.isValid()&&(k(e)&&e.isValid()||R(e).isValid())?C({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},u.toNow=function(e){return this.to(R(),e)},u.get=function(e){return a(this[e=o(e)])?this[e]():this},u.invalidAt=function(){return p(this).overflow},u.isAfter=function(e,t){return e=k(e)?e:R(e),!(!this.isValid()||!e.isValid())&&("millisecond"===(t=o(t)||"millisecond")?this.valueOf()>e.valueOf():e.valueOf()<this.clone().startOf(t).valueOf())},u.isBefore=function(e,t){return e=k(e)?e:R(e),!(!this.isValid()||!e.isValid())&&("millisecond"===(t=o(t)||"millisecond")?this.valueOf()<e.valueOf():this.clone().endOf(t).valueOf()<e.valueOf())},u.isBetween=function(e,t,n,s){return e=k(e)?e:R(e),t=k(t)?t:R(t),!!(this.isValid()&&e.isValid()&&t.isValid())&&("("===(s=s||"()")[0]?this.isAfter(e,n):!this.isBefore(e,n))&&(")"===s[1]?this.isBefore(t,n):!this.isAfter(t,n))},u.isSame=function(e,t){var e=k(e)?e:R(e);return!(!this.isValid()||!e.isValid())&&("millisecond"===(t=o(t)||"millisecond")?this.valueOf()===e.valueOf():(e=e.valueOf(),this.clone().startOf(t).valueOf()<=e&&e<=this.clone().endOf(t).valueOf()))},u.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)},u.isSameOrBefore=function(e,t){return this.isSame(e,t)||this.isBefore(e,t)},u.isValid=function(){return A(this)},u.lang=Ke,u.locale=Xt,u.localeData=Kt,u.max=_e,u.min=me,u.parsingFlags=function(){return E({},p(this))},u.set=function(e,t){if("object"==typeof e)for(var n=function(e){var t,n=[];for(t in e)c(e,t)&&n.push({unit:t,priority:le[t]});return n.sort(function(e,t){return e.priority-t.priority}),n}(e=ue(e)),s=n.length,i=0;i<s;i++)this[n[i].unit](e[n[i].unit]);else if(a(this[e=o(e)]))return this[e](t);return this},u.startOf=function(e){var t,n;if(void 0!==(e=o(e))&&"millisecond"!==e&&this.isValid()){switch(n=this._isUTC?sn:nn,e){case"year":t=n(this.year(),0,1);break;case"quarter":t=n(this.year(),this.month()-this.month()%3,1);break;case"month":t=n(this.year(),this.month(),1);break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":t=n(this.year(),this.month(),this.date());break;case"hour":t=this._d.valueOf(),t-=tn(t+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case"minute":t=this._d.valueOf(),t-=tn(t,6e4);break;case"second":t=this._d.valueOf(),t-=tn(t,1e3);break}this._d.setTime(t),_.updateOffset(this,!0)}return this},u.subtract=Qe,u.toArray=function(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]},u.toObject=function(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}},u.toDate=function(){return new Date(this.valueOf())},u.toISOString=function(e){var t;return this.isValid()?(t=(e=!0!==e)?this.clone().utc():this).year()<0||9999<t.year()?re(t,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):a(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",re(t,"Z")):re(t,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ"):null},u.inspect=function(){var e,t,n;return this.isValid()?(t="moment",e="",this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z"),t="["+t+'("]',n=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",this.format(t+n+"-MM-DD[T]HH:mm:ss.SSS"+(e+'[")]'))):"moment.invalid(/* "+this._i+" */)"},"undefined"!=typeof Symbol&&null!=Symbol.for&&(u[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),u.toJSON=function(){return this.isValid()?this.toISOString():null},u.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},u.unix=function(){return Math.floor(this.valueOf()/1e3)},u.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},u.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},u.eraName=function(){for(var e,t=this.localeData().eras(),n=0,s=t.length;n<s;++n){if(e=this.clone().startOf("day").valueOf(),t[n].since<=e&&e<=t[n].until)return t[n].name;if(t[n].until<=e&&e<=t[n].since)return t[n].name}return""},u.eraNarrow=function(){for(var e,t=this.localeData().eras(),n=0,s=t.length;n<s;++n){if(e=this.clone().startOf("day").valueOf(),t[n].since<=e&&e<=t[n].until)return t[n].narrow;if(t[n].until<=e&&e<=t[n].since)return t[n].narrow}return""},u.eraAbbr=function(){for(var e,t=this.localeData().eras(),n=0,s=t.length;n<s;++n){if(e=this.clone().startOf("day").valueOf(),t[n].since<=e&&e<=t[n].until)return t[n].abbr;if(t[n].until<=e&&e<=t[n].since)return t[n].abbr}return""},u.eraYear=function(){for(var e,t,n=this.localeData().eras(),s=0,i=n.length;s<i;++s)if(e=n[s].since<=n[s].until?1:-1,t=this.clone().startOf("day").valueOf(),n[s].since<=t&&t<=n[s].until||n[s].until<=t&&t<=n[s].since)return(this.year()-_(n[s].since).year())*e+n[s].offset;return this.year()},u.year=Pe,u.isLeapYear=function(){return be(this.year())},u.weekYear=function(e){return un.call(this,e,this.week(),this.weekday()+this.localeData()._week.dow,this.localeData()._week.dow,this.localeData()._week.doy)},u.isoWeekYear=function(e){return un.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},u.quarter=u.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},u.month=Ie,u.daysInMonth=function(){return He(this.year(),this.month())},u.week=u.weeks=function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")},u.isoWeek=u.isoWeeks=function(e){var t=Be(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")},u.weeksInYear=function(){var e=this.localeData()._week;return N(this.year(),e.dow,e.doy)},u.weeksInWeekYear=function(){var e=this.localeData()._week;return N(this.weekYear(),e.dow,e.doy)},u.isoWeeksInYear=function(){return N(this.year(),1,4)},u.isoWeeksInISOWeekYear=function(){return N(this.isoWeekYear(),1,4)},u.date=ge,u.day=u.days=function(e){var t,n,s;return this.isValid()?(t=Ce(this,"Day"),null!=e?(n=e,s=this.localeData(),e="string"!=typeof n?n:isNaN(n)?"number"==typeof(n=s.weekdaysParse(n))?n:null:parseInt(n,10),this.add(e-t,"d")):t):null!=e?this:NaN},u.weekday=function(e){var t;return this.isValid()?(t=(this.day()+7-this.localeData()._week.dow)%7,null==e?t:this.add(e-t,"d")):null!=e?this:NaN},u.isoWeekday=function(e){var t,n;return this.isValid()?null!=e?(t=e,n=this.localeData(),n="string"==typeof t?n.weekdaysParse(t)%7||7:isNaN(t)?null:t,this.day(this.day()%7?n:n-7)):this.day()||7:null!=e?this:NaN},u.dayOfYear=function(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")},u.hour=u.hours=i,u.minute=u.minutes=ce,u.second=u.seconds=we,u.millisecond=u.milliseconds=fe,u.utcOffset=function(e,t,n){var s,i=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null==e)return this._isUTC?i:Et(this);if("string"==typeof e){if(null===(e=Vt(ve,e)))return this}else Math.abs(e)<16&&!n&&(e*=60);return!this._isUTC&&t&&(s=Et(this)),this._offset=e,this._isUTC=!0,null!=s&&this.add(s,"m"),i!==e&&(!t||this._changeInProgress?$t(this,C(e-i,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,_.updateOffset(this,!0),this._changeInProgress=null)),this},u.utc=function(e){return this.utcOffset(0,e)},u.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e)&&this.subtract(Et(this),"m"),this},u.parseZone=function(){var e;return null!=this._tzm?this.utcOffset(this._tzm,!1,!0):"string"==typeof this._i&&(null!=(e=Vt(Me,this._i))?this.utcOffset(e):this.utcOffset(0,!0)),this},u.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?R(e).utcOffset():0,(this.utcOffset()-e)%60==0)},u.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},u.isLocal=function(){return!!this.isValid()&&!this._isUTC},u.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},u.isUtc=At,u.isUTC=At,u.zoneAbbr=function(){return this._isUTC?"UTC":""},u.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},u.dates=e("dates accessor is deprecated. Use date instead.",ge),u.months=e("months accessor is deprecated. Use month instead",Ie),u.years=e("years accessor is deprecated. Use year instead",Pe),u.zone=e("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,t){return null!=e?(this.utcOffset(e="string"!=typeof e?-e:e,t),this):-this.utcOffset()}),u.isDSTShifted=e("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){var e,t;return g(this._isDSTShifted)&&(q(e={},this),(e=Nt(e))._a?(t=(e._isUTC?l:R)(e._a),this._isDSTShifted=this.isValid()&&0<function(e,t,n){for(var s=Math.min(e.length,t.length),i=Math.abs(e.length-t.length),r=0,a=0;a<s;a++)(n&&e[a]!==t[a]||!n&&M(e[a])!==M(t[a]))&&r++;return r+i}(e._a,t.toArray())):this._isDSTShifted=!1),this._isDSTShifted});d=K.prototype;function cn(e,t,n,s){var i=P(),s=l().set(s,t);return i[n](s,e)}function fn(e,t,n){if(w(e)&&(t=e,e=void 0),e=e||"",null!=t)return cn(e,t,n,"month");for(var s=[],i=0;i<12;i++)s[i]=cn(e,i,n,"month");return s}function mn(e,t,n,s){t=("boolean"==typeof e?w(t)&&(n=t,t=void 0):(t=e,e=!1,w(n=t)&&(n=t,t=void 0)),t||"");var i,r=P(),a=e?r._week.dow:0,o=[];if(null!=n)return cn(t,(n+a)%7,s,"day");for(i=0;i<7;i++)o[i]=cn(t,(i+a)%7,s,"day");return o}d.calendar=function(e,t,n){return a(e=this._calendar[e]||this._calendar.sameElse)?e.call(t,n):e},d.longDateFormat=function(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.match(te).map(function(e){return"MMMM"===e||"MM"===e||"DD"===e||"dddd"===e?e.slice(1):e}).join(""),this._longDateFormat[e])},d.invalidDate=function(){return this._invalidDate},d.ordinal=function(e){return this._ordinal.replace("%d",e)},d.preparse=hn,d.postformat=hn,d.relativeTime=function(e,t,n,s){var i=this._relativeTime[n];return a(i)?i(e,t,n,s):i.replace(/%d/i,e)},d.pastFuture=function(e,t){return a(e=this._relativeTime[0<e?"future":"past"])?e(t):e.replace(/%s/i,t)},d.set=function(e){var t,n;for(n in e)c(e,n)&&(a(t=e[n])?this[n]=t:this["_"+n]=t);this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},d.eras=function(e,t){for(var n,s=this._eras||P("en")._eras,i=0,r=s.length;i<r;++i){switch(typeof s[i].since){case"string":n=_(s[i].since).startOf("day"),s[i].since=n.valueOf();break}switch(typeof s[i].until){case"undefined":s[i].until=1/0;break;case"string":n=_(s[i].until).startOf("day").valueOf(),s[i].until=n.valueOf();break}}return s},d.erasParse=function(e,t,n){var s,i,r,a,o,u=this.eras();for(e=e.toUpperCase(),s=0,i=u.length;s<i;++s)if(r=u[s].name.toUpperCase(),a=u[s].abbr.toUpperCase(),o=u[s].narrow.toUpperCase(),n)switch(t){case"N":case"NN":case"NNN":if(a===e)return u[s];break;case"NNNN":if(r===e)return u[s];break;case"NNNNN":if(o===e)return u[s];break}else if(0<=[r,a,o].indexOf(e))return u[s]},d.erasConvertYear=function(e,t){var n=e.since<=e.until?1:-1;return void 0===t?_(e.since).year():_(e.since).year()+(t-e.offset)*n},d.erasAbbrRegex=function(e){return c(this,"_erasAbbrRegex")||an.call(this),e?this._erasAbbrRegex:this._erasRegex},d.erasNameRegex=function(e){return c(this,"_erasNameRegex")||an.call(this),e?this._erasNameRegex:this._erasRegex},d.erasNarrowRegex=function(e){return c(this,"_erasNarrowRegex")||an.call(this),e?this._erasNarrowRegex:this._erasRegex},d.months=function(e,t){return e?(y(this._months)?this._months:this._months[(this._months.isFormat||Ve).test(t)?"format":"standalone"])[e.month()]:y(this._months)?this._months:this._months.standalone},d.monthsShort=function(e,t){return e?(y(this._monthsShort)?this._monthsShort:this._monthsShort[Ve.test(t)?"format":"standalone"])[e.month()]:y(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},d.monthsParse=function(e,t,n){var s,i;if(this._monthsParseExact)return function(e,t,n){var s,i,r,e=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],s=0;s<12;++s)r=l([2e3,s]),this._shortMonthsParse[s]=this.monthsShort(r,"").toLocaleLowerCase(),this._longMonthsParse[s]=this.months(r,"").toLocaleLowerCase();return n?"MMM"===t?-1!==(i=x.call(this._shortMonthsParse,e))?i:null:-1!==(i=x.call(this._longMonthsParse,e))?i:null:"MMM"===t?-1!==(i=x.call(this._shortMonthsParse,e))||-1!==(i=x.call(this._longMonthsParse,e))?i:null:-1!==(i=x.call(this._longMonthsParse,e))||-1!==(i=x.call(this._shortMonthsParse,e))?i:null}.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;s<12;s++){if(i=l([2e3,s]),n&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),n||this._monthsParse[s]||(i="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[s]=new RegExp(i.replace(".",""),"i")),n&&"MMMM"===t&&this._longMonthsParse[s].test(e))return s;if(n&&"MMM"===t&&this._shortMonthsParse[s].test(e))return s;if(!n&&this._monthsParse[s].test(e))return s}},d.monthsRegex=function(e){return this._monthsParseExact?(c(this,"_monthsRegex")||je.call(this),e?this._monthsStrictRegex:this._monthsRegex):(c(this,"_monthsRegex")||(this._monthsRegex=Ee),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},d.monthsShortRegex=function(e){return this._monthsParseExact?(c(this,"_monthsRegex")||je.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(c(this,"_monthsShortRegex")||(this._monthsShortRegex=Ge),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},d.week=function(e){return Be(e,this._week.dow,this._week.doy).week},d.firstDayOfYear=function(){return this._week.doy},d.firstDayOfWeek=function(){return this._week.dow},d.weekdays=function(e,t){return t=y(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(t)?"format":"standalone"],!0===e?Je(t,this._week.dow):e?t[e.day()]:t},d.weekdaysMin=function(e){return!0===e?Je(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},d.weekdaysShort=function(e){return!0===e?Je(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},d.weekdaysParse=function(e,t,n){var s,i;if(this._weekdaysParseExact)return function(e,t,n){var s,i,r,e=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],s=0;s<7;++s)r=l([2e3,1]).day(s),this._minWeekdaysParse[s]=this.weekdaysMin(r,"").toLocaleLowerCase(),this._shortWeekdaysParse[s]=this.weekdaysShort(r,"").toLocaleLowerCase(),this._weekdaysParse[s]=this.weekdays(r,"").toLocaleLowerCase();return n?"dddd"===t?-1!==(i=x.call(this._weekdaysParse,e))?i:null:"ddd"===t?-1!==(i=x.call(this._shortWeekdaysParse,e))?i:null:-1!==(i=x.call(this._minWeekdaysParse,e))?i:null:"dddd"===t?-1!==(i=x.call(this._weekdaysParse,e))||-1!==(i=x.call(this._shortWeekdaysParse,e))||-1!==(i=x.call(this._minWeekdaysParse,e))?i:null:"ddd"===t?-1!==(i=x.call(this._shortWeekdaysParse,e))||-1!==(i=x.call(this._weekdaysParse,e))||-1!==(i=x.call(this._minWeekdaysParse,e))?i:null:-1!==(i=x.call(this._minWeekdaysParse,e))||-1!==(i=x.call(this._weekdaysParse,e))||-1!==(i=x.call(this._shortWeekdaysParse,e))?i:null}.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),s=0;s<7;s++){if(i=l([2e3,1]).day(s),n&&!this._fullWeekdaysParse[s]&&(this._fullWeekdaysParse[s]=new RegExp("^"+this.weekdays(i,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[s]=new RegExp("^"+this.weekdaysShort(i,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[s]=new RegExp("^"+this.weekdaysMin(i,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[s]||(i="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[s]=new RegExp(i.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[s].test(e))return s;if(n&&"ddd"===t&&this._shortWeekdaysParse[s].test(e))return s;if(n&&"dd"===t&&this._minWeekdaysParse[s].test(e))return s;if(!n&&this._weekdaysParse[s].test(e))return s}},d.weekdaysRegex=function(e){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||st.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(c(this,"_weekdaysRegex")||(this._weekdaysRegex=et),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},d.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||st.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(c(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=tt),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},d.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||st.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(c(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=nt),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},d.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},d.meridiem=function(e,t,n){return 11<e?n?"pm":"PM":n?"am":"AM"},ft("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===M(e%100/10)?"th":1==t?"st":2==t?"nd":3==t?"rd":"th")}}),_.lang=e("moment.lang is deprecated. Use moment.locale instead.",ft),_.langData=e("moment.langData is deprecated. Use moment.localeData instead.",P);var _n=Math.abs;function yn(e,t,n,s){t=C(t,n);return e._milliseconds+=s*t._milliseconds,e._days+=s*t._days,e._months+=s*t._months,e._bubble()}function gn(e){return e<0?Math.floor(e):Math.ceil(e)}function wn(e){return 4800*e/146097}function pn(e){return 146097*e/4800}function kn(e){return function(){return this.as(e)}}de=kn("ms"),t=kn("s"),ye=kn("m"),he=kn("h"),Fe=kn("d"),_e=kn("w"),me=kn("M"),Qe=kn("Q"),i=kn("y"),ce=de;function Mn(e){return function(){return this.isValid()?this._data[e]:NaN}}var we=Mn("milliseconds"),fe=Mn("seconds"),ge=Mn("minutes"),Pe=Mn("hours"),d=Mn("days"),vn=Mn("months"),Dn=Mn("years");var Yn=Math.round,Sn={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function On(e,t,n,s){var i=C(e).abs(),r=Yn(i.as("s")),a=Yn(i.as("m")),o=Yn(i.as("h")),u=Yn(i.as("d")),l=Yn(i.as("M")),d=Yn(i.as("w")),i=Yn(i.as("y")),r=(r<=n.ss?["s",r]:r<n.s&&["ss",r])||(a<=1?["m"]:a<n.m&&["mm",a])||(o<=1?["h"]:o<n.h&&["hh",o])||(u<=1?["d"]:u<n.d&&["dd",u]);return(r=(r=null!=n.w?r||(d<=1?["w"]:d<n.w&&["ww",d]):r)||(l<=1?["M"]:l<n.M&&["MM",l])||(i<=1?["y"]:["yy",i]))[2]=t,r[3]=0<+e,r[4]=s,function(e,t,n,s,i){return i.relativeTime(t||1,!!n,e,s)}.apply(null,r)}var bn=Math.abs;function Tn(e){return(0<e)-(e<0)||+e}function xn(){var e,t,n,s,i,r,a,o,u,l,d;return this.isValid()?(e=bn(this._milliseconds)/1e3,t=bn(this._days),n=bn(this._months),(o=this.asSeconds())?(s=m(e/60),i=m(s/60),e%=60,s%=60,r=m(n/12),n%=12,a=e?e.toFixed(3).replace(/\.?0+$/,""):"",u=Tn(this._months)!==Tn(o)?"-":"",l=Tn(this._days)!==Tn(o)?"-":"",d=Tn(this._milliseconds)!==Tn(o)?"-":"",(o<0?"-":"")+"P"+(r?u+r+"Y":"")+(n?u+n+"M":"")+(t?l+t+"D":"")+(i||s||e?"T":"")+(i?d+i+"H":"")+(s?d+s+"M":"")+(e?d+a+"S":"")):"P0D"):this.localeData().invalidDate()}var U=Ct.prototype;return U.isValid=function(){return this._isValid},U.abs=function(){var e=this._data;return this._milliseconds=_n(this._milliseconds),this._days=_n(this._days),this._months=_n(this._months),e.milliseconds=_n(e.milliseconds),e.seconds=_n(e.seconds),e.minutes=_n(e.minutes),e.hours=_n(e.hours),e.months=_n(e.months),e.years=_n(e.years),this},U.add=function(e,t){return yn(this,e,t,1)},U.subtract=function(e,t){return yn(this,e,t,-1)},U.as=function(e){if(!this.isValid())return NaN;var t,n,s=this._milliseconds;if("month"===(e=o(e))||"quarter"===e||"year"===e)switch(t=this._days+s/864e5,n=this._months+wn(t),e){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(t=this._days+Math.round(pn(this._months)),e){case"week":return t/7+s/6048e5;case"day":return t+s/864e5;case"hour":return 24*t+s/36e5;case"minute":return 1440*t+s/6e4;case"second":return 86400*t+s/1e3;case"millisecond":return Math.floor(864e5*t)+s;default:throw new Error("Unknown unit "+e)}},U.asMilliseconds=de,U.asSeconds=t,U.asMinutes=ye,U.asHours=he,U.asDays=Fe,U.asWeeks=_e,U.asMonths=me,U.asQuarters=Qe,U.asYears=i,U.valueOf=ce,U._bubble=function(){var e=this._milliseconds,t=this._days,n=this._months,s=this._data;return 0<=e&&0<=t&&0<=n||e<=0&&t<=0&&n<=0||(e+=864e5*gn(pn(n)+t),n=t=0),s.milliseconds=e%1e3,e=m(e/1e3),s.seconds=e%60,e=m(e/60),s.minutes=e%60,e=m(e/60),s.hours=e%24,t+=m(e/24),n+=e=m(wn(t)),t-=gn(pn(e)),e=m(n/12),n%=12,s.days=t,s.months=n,s.years=e,this},U.clone=function(){return C(this)},U.get=function(e){return e=o(e),this.isValid()?this[e+"s"]():NaN},U.milliseconds=we,U.seconds=fe,U.minutes=ge,U.hours=Pe,U.days=d,U.weeks=function(){return m(this.days()/7)},U.months=vn,U.years=Dn,U.humanize=function(e,t){var n,s;return this.isValid()?(n=!1,s=Sn,"object"==typeof e&&(t=e,e=!1),"boolean"==typeof e&&(n=e),"object"==typeof t&&(s=Object.assign({},Sn,t),null!=t.s)&&null==t.ss&&(s.ss=t.s-1),e=this.localeData(),t=On(this,!n,s,e),n&&(t=e.pastFuture(+this,t)),e.postformat(t)):this.localeData().invalidDate()},U.toISOString=xn,U.toString=xn,U.toJSON=xn,U.locale=Xt,U.localeData=Kt,U.toIsoString=e("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",xn),U.lang=Ke,s("X",0,0,"unix"),s("x",0,0,"valueOf"),h("x",ke),h("X",/[+-]?\d+(\.\d{1,3})?/),v("X",function(e,t,n){n._d=new Date(1e3*parseFloat(e))}),v("x",function(e,t,n){n._d=new Date(M(e))}),_.version="2.30.1",H=R,_.fn=u,_.min=function(){return Pt("isBefore",[].slice.call(arguments,0))},_.max=function(){return Pt("isAfter",[].slice.call(arguments,0))},_.now=function(){return Date.now?Date.now():+new Date},_.utc=l,_.unix=function(e){return R(1e3*e)},_.months=function(e,t){return fn(e,t,"months")},_.isDate=V,_.locale=ft,_.invalid=I,_.duration=C,_.isMoment=k,_.weekdays=function(e,t,n){return mn(e,t,n,"weekdays")},_.parseZone=function(){return R.apply(null,arguments).parseZone()},_.localeData=P,_.isDuration=Ut,_.monthsShort=function(e,t){return fn(e,t,"monthsShort")},_.weekdaysMin=function(e,t,n){return mn(e,t,n,"weekdaysMin")},_.defineLocale=mt,_.updateLocale=function(e,t){var n,s;return null!=t?(s=ut,null!=W[e]&&null!=W[e].parentLocale?W[e].set(X(W[e]._config,t)):(t=X(s=null!=(n=ct(e))?n._config:s,t),null==n&&(t.abbr=e),(s=new K(t)).parentLocale=W[e],W[e]=s),ft(e)):null!=W[e]&&(null!=W[e].parentLocale?(W[e]=W[e].parentLocale,e===ft()&&ft(e)):null!=W[e]&&delete W[e]),W[e]},_.locales=function(){return ee(W)},_.weekdaysShort=function(e,t,n){return mn(e,t,n,"weekdaysShort")},_.normalizeUnits=o,_.relativeTimeRounding=function(e){return void 0===e?Yn:"function"==typeof e&&(Yn=e,!0)},_.relativeTimeThreshold=function(e,t){return void 0!==Sn[e]&&(void 0===t?Sn[e]:(Sn[e]=t,"s"===e&&(Sn.ss=t-1),!0))},_.calendarFormat=function(e,t){return(e=e.diff(t,"days",!0))<-6?"sameElse":e<-1?"lastWeek":e<0?"lastDay":e<1?"sameDay":e<2?"nextDay":e<7?"nextWeek":"sameElse"},_.prototype=u,_.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},_}); 12472//# sourceMappingURL=moment.min.js.map
12472 12473�!function(c,M){"use strict";"object"==typeof module&&module.exports?module.exports=M(require("moment")):"function"==typeof define&&define.amd?define(["moment"],M):M(c.moment)}(this,function(i){"use strict";void 0===i.version&&i.default&&(i=i.default);var M,b={},n={},p={},z={},e={};i&&"string"==typeof i.version||S("Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/");var c=i.version.split("."),a=+c[0],A=+c[1];function r(c){return 96<c?c-87:64<c?c-29:c-48}function o(c){var M=0,a=c.split("."),A=a[0],o=a[1]||"",i=1,b=0,n=1;for(45===c.charCodeAt(0)&&(n=-(M=1));M<A.length;M++)b=60*b+r(A.charCodeAt(M));for(M=0;M<o.length;
vendor: 4,573 bytes, line 12473
12473M++)i/=60,b+=r(o.charCodeAt(M))*i;return b*n}function q(c){for(var M=0;M<c.length;M++)c[M]=o(c[M])}function O(c,M){var a,A=[];for(a=0;a<M.length;a++)A[a]=c[M[a]];return A}function d(c){var M=c.split("|"),a=M[2].split(" "),A=M[3].split(""),o=M[4].split(" ");return q(a),q(A),q(o),function(c,M){for(var a=0;a<M;a++)c[a]=Math.round((c[a-1]||0)+6e4*c[a]);c[M-1]=1/0}(o,A.length),{name:M[0],abbrs:O(M[1].split(" "),A),offsets:O(a,A),untils:o,population:0|M[5]}}function f(c){c&&this._set(d(c))}function t(c,M){this.name=c,this.zones=M}function N(c){var M=c.toTimeString(),a=M.match(/\([a-z ]+\)/i);"GMT"===(a=a&&a[0]?(a=a[0].match(/[A-Z]/g))?a.join(""):void 0:(a=M.match(/[A-Z]{3,5}/g))?a[0]:void 0)&&(a=void 0),this.at=+c,this.abbr=a,this.offset=c.getTimezoneOffset()}function u(c){this.zone=c,this.offsetScore=0,this.abbrScore=0}function L(c,M){for(var a,A;A=6e4*((M.at-c.at)/12e4|0);)(a=new N(new Date(c.at+A))).offset===c.offset?c=a:M=a;return c}function l(c,M){return c.offsetScore!==M.offsetScore?c.offsetScore-M.offsetScore:c.abbrScore!==M.abbrScore?c.abbrScore-M.abbrScore:c.zone.population!==M.zone.population?M.zone.population-c.zone.population:M.zone.name.localeCompare(c.zone.name)}function W(c,M){var a,A;for(q(M),a=0;a<M.length;a++)A=M[a],e[A]=e[A]||{},e[A][c]=!0}function B(){try{var c=Intl.DateTimeFormat().resolvedOptions().timeZone;if(c&&3<c.length){var M=z[s(c)];if(M)return M;S("Moment Timezone found "+c+" from the Intl api, but did not have that data loaded.")}}catch(c){}var a,A,o,i=function(){var c,M,a,A=(new Date).getFullYear()-2,o=new N(new Date(A,0,1)),i=[o];for(a=1;a<48;a++)(M=new N(new Date(A,a,1))).offset!==o.offset&&(c=L(o,M),i.push(c),i.push(new N(new Date(c.at+6e4)))),o=M;for(a=0;a<4;a++)i.push(new N(new Date(A+a,0,1))),i.push(new N(new Date(A+a,6,1)));return i}(),b=i.length,n=function(c){var M,a,A,o=c.length,i={},b=[];for(M=0;M<o;M++)for(a in A=e[c[M].offset]||{})A.hasOwnProperty(a)&&(i[a]=!0);for(M in i)i.hasOwnProperty(M)&&b.push(z[M]);return b}(i),p=[];for(A=0;A<n.length;A++){for(a=new u(m(n[A]),b),o=0;o<b;o++)a.scoreOffsetAt(i[o]);p.push(a)}return p.sort(l),0<p.length?p[0].zone.name:void 0}function s(c){return(c||"").toLowerCase().replace(/\//g,"_")}function X(c){var M,a,A,o;for("string"==typeof c&&(c=[c]),M=0;M<c.length;M++)o=s(a=(A=c[M].split("|"))[0]),b[o]=c[M],z[o]=a,W(o,A[2].split(" "))}function m(c,M){c=s(c);var a,A=b[c];return A instanceof f?A:"string"==typeof A?(A=new f(A),b[c]=A):n[c]&&M!==m&&(a=m(n[c],m))?((A=b[c]=new f)._set(a),A.name=z[c],A):null}function T(c){var M,a,A,o;for("string"==typeof c&&(c=[c]),M=0;M<c.length;M++)A=s((a=c[M].split("|"))[0]),o=s(a[1]),n[A]=o,z[A]=a[0],n[o]=A,z[o]=a[1]}function E(c){X(c.zones),T(c.links),function(c){var M,a,A,o;if(c&&c.length)for(M=0;M<c.length;M++)a=(o=c[M].split("|"))[0].toUpperCase(),A=o[1].split(" "),p[a]=new t(a,A)}(c.countries),C.dataVersion=c.version}function R(c){var M="X"===c._f||"x"===c._f;return!(!c._a||void 0!==c._tzm||M)}function S(c){"undefined"!=typeof console&&"function"==typeof console.error&&console.error(c)}function C(c){var M=Array.prototype.slice.call(arguments,0,-1),a=arguments[arguments.length-1],A=m(a),o=i.utc.apply(null,M);return A&&!i.isMoment(c)&&R(o)&&o.add(A.parse(o),"minutes"),o.tz(a),o}(a<2||2==a&&A<6)&&S("Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js "+i.version+". See momentjs.com"),f.prototype={_set:function(c){this.name=c.name,this.abbrs=c.abbrs,this.untils=c.untils,this.offsets=c.offsets,this.population=c.population},_index:function(c){var M,a=+c,A=this.untils;for(M=0;M<A.length;M++)if(a<A[M])return M},countries:function(){var M=this.name;return Object.keys(p).filter(function(c){return-1!==p[c].zones.indexOf(M)})},parse:function(c){var M,a,A,o,i=+c,b=this.offsets,n=this.untils,p=n.length-1;for(o=0;o<p;o++)if(M=b[o],a=b[o+1],A=b[o?o-1:o],M<a&&C.moveAmbiguousForward?M=a:A<M&&C.moveInvalidForward&&(M=A),i<n[o]-6e4*M)return b[o];return b[p]},abbr:function(c){return this.abbrs[this._index(c)]},offset:function(c){return S("zone.offset has been deprecated in favor of zone.utcOffset"),this.offsets[this._index(c)]},utcOffset:function(c){return this.offsets[this._index(c)]}},u.prototype.scoreOffsetAt=function(c){this.offsetScore+=Math.abs(this.zone.utcOffset(c.at)-c.offset),this.zone.abbr(c.at).replace(/[^A-Z]/g,"")!==c.abbr&&this.abbrScore++},C.version="0.5.40",C.dataVersion="",C._zones=b,C._links=n,C._names=z,C._countries=p,C.add=X,C.link=T,C.load=E,C.zone=m,C.zoneExists=function c(M){return c.didShowError||(c.didShowError=!0,S("moment.tz.zoneExists('"+M+"') has been deprecated
12473in favor of !moment.tz.zone('"+M+"')")),!!m(M)},C.guess=function(c){return M&&!c||(M=B()),M},C.names=function(){var c,M=[];for(c in z)z.hasOwnProperty(c)&&(b[c]||b[n[c]])&&z[c]&&M.push(z[c]);return M.sort()},C.Zone=f,C.unpack=d,C.unpackBase60=o,C.needsOffset=R,C.moveInvalidForward=!0,C.moveAmbiguousForward=!1,C.countries=function(){return Object.keys(p)},C.zonesForCountry=function(c,M){if(!(c=function(c){return c=c.toUpperCase(),p[c]||null}(c)))return null;var a=c.zones.sort();return M?a.map(function(c){return{name:c,offset:m(c).utcOffset(new Date)}}):a};var h,g=i.fn;function P(c){return function(){return this._z?this._z.abbr(this):c.call(this)}}function D(c){return function(){return this._z=null,c.apply(this,arguments)}}i.tz=C,i.defaultZone=null,i.updateOffset=function(c,M){var a,A=i.defaultZone;if(void 0===c._z&&(A&&R(c)&&!c._isUTC&&(c._d=i.utc(c._a)._d,c.utc().add(A.parse(c),"minutes")),c._z=A),c._z)if(a=c._z.utcOffset(c),Math.abs(a)<16&&(a/=60),void 0!==c.utcOffset){var o=c._z;c.utcOffset(-a,M),c._z=o}else c.zone(a,M)},g.tz=function(c,M){if(c){if("string"!=typeof c)throw new Error("Time zone name must be a string, got "+c+" ["+typeof c+"]");return this._z=m(c),this._z?i.updateOffset(this,M):S("Moment Timezone has no data for "+c+". See http://momentjs.com/timezone/docs/#/data-loading/."),this}if(this._z)return this._z.name},g.zoneName=P(g.zoneName),g.zoneAbbr=P(g.zoneAbbr),g.utc=D(g.utc),g.local=D(g.local),g.utcOffset=(h=g.utcOffset,function(){return 0<arguments.length&&(this._z=null),h.apply(this,arguments)}),i.tz.setDefault=function(c){return(a<2||2==a&&A<9)&&S("Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js "+i.version+"."),i.defaultZone=c?m(c):null,i};var _=i.momentProperties;return"[object Array]"===Object.prototype.toString.call(_)?(_.push("_z"),_.push("_a")):_&&(_._z=null),E({version:"2022g",zones:["Africa/Abidjan|GMT|0|0||48e5","Africa/Nairobi|EAT|-30|0||47e5","Africa/Algiers|WET WEST CET CEST|0 -10 -10 -20|01012320102|3bX0 11A0 dDd0 17b0 11B0 1cN0 2Dy0 1cN0 1fB0 1cL0|26e5","Africa/Lagos|WAT|-10|0||17e6","Africa/Bissau|-01 GMT|10 0|01|cap0|39e4","Africa/Maputo|CAT|-20|0||26e5","Africa/Cairo|EET EEST|-20 -30|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|LX0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1WL0 rd0 1Rz0 wp0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1qL0 Xd0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1ny0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 WL0 1qN0 Rb0 1wp0 On0 1zd0 Lz0 1EN0 Fb0 c10 8n0 8Nd0 gL0 e10 mn0|15e6","Africa/Casablanca|+00 +01|0 -10|01010101010101010101010101010101010101010101010101010101010101010101010|aS00 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4mn0 SyN0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e
1247300 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600|32e5","Africa/Ceuta|WET WEST CET CEST|0 -10 -10 -20|0101010102323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|aS00 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4VB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|85e3","Africa/El_Aaiun|-01 +00 +01|10 0 -10|01212121212121212121212121212121212121212121212121212121212121212121|fi10 6L0 AL0 1Nd0 XX0 1Cp0 pz0 1cBB0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e
1247300 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600|20e4","Africa/Johannesburg|SAST|-20|0||84e5","Africa/Juba|CAT CAST EAT|-20 -30 -30|01010101010101010101010101010101020|LW0 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0 PeX0|","Africa/Khartoum|CAT CAST EAT|-20 -30 -30|01010101010101010101010101010101020|LW0 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0 HjL0|51e5","Africa/Monrovia|MMT GMT|I.u 0|01|4SoI.u|11e5","Africa/Ndjamena|WAT WAST|-10 -20|010|nNb0 Wn0|13e5","Africa/Sao_Tome|GMT WAT|0 -10|010|1UQN0 2q00|","Africa/Tripoli|EET CET CEST|-20 -10 -20|0121212121212121210120120|tda0 A10 1db0 1cN0 1db0 1dd0 1db0 1eN0 1bb0 1e10 1cL0 1c10 1db0 1dd0 1db0 1cN0 1db0 1q10 fAn0 1ep0 1db0 AKq0 TA0 1o00|11e5","Africa/Tunis|CET CEST|-10 -20|0101010101010101010|hOn0 WM0 1rA0 11c0 nwo0 Ko0 1cM0 1cM0 1rA0 10M0 zuM0 10N0 1aN0 1qM0 WM0 1qM0 11A0 1o00|20e5","Africa/Windhoek|SAST CAT WAT|-20 -20 -10|01212121212121212121212121212121212121212121212121|Ndy0 9Io0 16P0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|32e4","America/Adak|BST BDT AHST HST HDT|b0 a0 a0 a0 90|0101010101010101010101010101234343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|Kd0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|326","America/Anchorage|AHST AHDT YST AKST AKDT|a0 90 90 90 80|0101010101010101010101010101234343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|Kc0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|30e4","America/Puerto_Rico|AST|40|0||24e5","America/Araguaina|-03 -02|30 20|01010101010101010101010101010|CxD0 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 ny10 Lz0|14e4","America/Argentina/Buenos_Aires|-03 -02|30 20|01010101010101010|9Rf0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 A4p0 uL0 1qN0 WL0|","America/Argentina/Catamarca|-03 -02 -04|30 20 40|01010101210102010|9Rf0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 7B0 8zb0 uL0|","America/Argentina/Cordoba|-03 -02 -04|30 20 40|01010101210101010|9Rf0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0 1qN0 WL0|","America/Argentina/Jujuy|-03 -02 -04|30 20 40|010101202101010|9Rf0 Db0 zvd0 Bz0 1tB0 TX0 1ze0 TX0 1ld0 WK0 1wp0 TX0 A4p0 uL0|","America/Argentina/La_Rioja|-03 -02 -04|30 20 40|010101012010102010|9Rf0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0|","America/Argentina/Mendoza|-03 -02 -04|30 20 40|01010120202102010|9Rf0 Db0 zvd0 Bz0 1tB0 TX0 1u20 SL0 1vd0 Tb0 1wp0 TW0 ri10 Op0 7TX0 uL0|","America/Argentina/Rio_Gallegos|-03 -02 -04|30 20 40|01010101010102010|9Rf0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0|","America/Argentina/Salta|-03 -02 -04|30 20 40|010101012101010|9Rf0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0|","America/Argentina/San_Juan|-03 -02 -04|30 20 40|010101012010102010|9Rf0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rld0 m10 8lb0 uL0|","America/Argentina/San_Luis|-03 -02 -04|30 20 40|010101202020102020|9Rf0 Db0 zvd0 Bz0 1tB0 XX0 1q20 SL0 AN0 vDb0 m10 8lb0 8L0 jd0 1qN0 WL0 1qN0|","America/Argentina/Tucuman|-03 -02 -04|30 20 40|0101010121010201010|9Rf0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 4N0 8BX0 uL0 1qN0 WL0|","America/Argentina/Ushuaia|-03 -02 -04|30 20 40|01010101010102010|9Rf0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rkN0 8p0 8zb0 uL0|","America/Asuncion|-04 -03|40 30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|6FE0 3CL0 3Dd0 10L0 1pB0 10n0 1pB0 10n0 1pB0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1lB0 14n0 1dd0 1cL0 1fd0 WL0 1rd0 1aL0 1dB0 Xz0 1qp0 Xb0 1qN0 10L0 1rB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 WN0 1qL0 11B0 1nX0 1ip0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 TX0 1tB0 19X0 1a10 1fz0 1a10 1fz0 1cN0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0|28e5","America/Panama|EST|50|0||15e5","America/Bahia_Banderas|PST MST MDT CDT CST|80 70 60 50 60|01212121212121212121212121212134343434343434343434343434|80 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nW0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|84e3","America/Bahia|
12473-03 -02|30 20|010101010101010101010101010101010101010|CxD0 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 l5B0 Rb0|27e5","America/Barbados|AST ADT|40 30|010101010|i7G0 IL0 1ip0 17b0 1ip0 17b0 1ld0 13b0|28e4","America/Belem|-03 -02|30 20|0101010|CxD0 Rb0 1tB0 IL0 1Fd0 FX0|20e5","America/Belize|CST CDT|60 50|01010|9xG0 qn0 lxB0 mn0|57e3","America/Boa_Vista|-04 -03|40 30|01010101010|CxE0 Rb0 1tB0 IL0 1Fd0 FX0 smp0 WL0 1tB0 2L0|62e2","America/Bogota|-05 -04|50 40|010|Snh0 1PX0|90e5","America/Boise|MST MDT|70 60|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|K90 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 Dd0 1Kn0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e4","America/Cambridge_Bay|MST MDT CST CDT EST|70 60 60 50 50|010101010101010101010101010101010101010101010101010101012342101010101010101010101010101010101010101010101010101010101010|5E90 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11A0 1nX0 2K0 WQ0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e2","America/Campo_Grande|-04 -03|40 30|010101010101010101010101010101010101010101010101010101010101010101010|CxE0 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|77e4","America/Cancun|CST EST EDT CDT|60 50 40 50|012121230303030303030303030303030303030301|t9G0 yLB0 1lb0 14p0 1lb0 14p0 Lz0 xB0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 Dd0|63e4","America/Caracas|-04 -0430|40 4u|010|1wmv0 kqo0|29e5","America/Cayenne|-03|30|0||58e3","America/Chicago|CST CDT|60 50|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|K80 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|92e5","America/Chihuahua|CST CDT MDT MST|60 50 60 70|0101023232323232323232323232323232323232323232323232320|13Vk0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|81e4","America/Ciudad_Juarez|CST CDT MDT MST|60 50 60 70|010102323232323232323232323232323232323232323232323232032323232323232323|13Vk0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1wn0 cm0 EP0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/Costa_Rica|CST CDT|60 50|010101010|mgS0 Db0 1Kp0 Db0 pRB0 15b0 1kp0 mL0|12e5","America/Phoenix|MST|70|0||42e5","America/Cuiaba|-04 -03|40 30|0101010101010101010101010101010101010101010101010101010101010101010|CxE0 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 4a10 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|54e4","America/Danmarkshavn|-03 -02 GMT|30 20 0|0101010101010101010101010101010102|oXh0 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 DC0|8","America/Dawson_Creek|PST PDT MST|80 70 70|0101012|Ka0 1cL0 1cN0 1fz0 1cN0 ML0|12e3","America/Dawson|YST PST PDT MST|90 80 70 70|012121212121212121212121212121212121212121212121212121212121212121212121212121212123|9ix0 fNd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1z90|13e2","America/Denver|MST MDT|70 60|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|K90 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e5","America/Detroit|EST EDT|50 40|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|85H0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e5","America/Edmonton|MST MDT|70 60|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|5E90 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|10e5","America/Eirunepe|-05 -04|50 40|01010101010|CxF0 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0 yTd0 d5X0|31e3","America/El_Salvador|CST CDT|60 50|01010|Gcu0 WL0 1qN0 WL0|11e5","America/Tijuana|PST PDT|80 70|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|fmy0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|20e5","America/Fort_Nelson|PST PDT MST|80 70 70|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010102|Ka0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0|39e2","America/Fort_Wayne|EST EDT|50 40|01010101010101010101010101010101010101010101010101010|K70 1cL0 1qhd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/Fortaleza|-03 -02|30 20|01010101010101010|CxD0 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 5z0 2mN0 On0|34e5","America/Glace_Bay|AST ADT|40 30|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|5E60 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3","America/Godthab|-03 -02|30 20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|oXh0 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0|17e3","America/Goose_Bay|AST ADT ADDT|40 30 20|010101010101010101010101010101010101020101010101010101010101010101010101010101010101010101010101010101010101010101010101010|K60 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|76e2","America/Grand_Turk|EST EDT AST|50 40 40|0101010101010101010101010101010101010101010101010101010101010101010101010210101010101010101010101010|mG70 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 7jA0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e2","America/Guatemala|CST CDT|60 50|010101010|9tG0 An0 mtd0 Nz0 ifB0 17b0 zDB0 11z0|13e5","America/Guayaquil|-05 -04|50 40|010|TKR0 rz0|27e5","America/Guyana|-0345 -03 -04|3J 30 40|012|dzfJ Ey0f|80e4","America/Halifax|AST ADT|40 30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|K60 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|39e4","America/Havana|CST CDT|50 40|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|K50 1cL0 1cN0 1fz0 1cN0 14n0 1ld0 14L0 1kN0 15b0 1kp0 1cL0 1cN0 1fz0 1a10 1fz0 1fB0 11z0 14p0 1nX0 11B0 1nX0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 1a10 1in0 1a10 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 17c0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 11A0 6i00 Rc0 1wo0 U00 1tA0 Rc0 1wo0 U00 1wo0 U00 1zc0 U00 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0|21e5","America/Hermosillo|PST MST MDT|80 70 60|01212121|80 13Vd0 1lb0 14p0 1lb0 14p0 1lb0|64e4","America/Indiana/Knox|CST CDT EST|60 50 50|01010101010101010101010101010101010101010101210101010101010101010101010101010101010101010101010|K80 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 z8o0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/Indiana/Marengo|EST EDT CDT|50 40 50|010101010201010101010101010101010101010101010101010101010101010|K70 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1e6p0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/Indiana/Petersburg|CST CDT EST EDT|60 50 50 40|0101010101010101210123232323232323232323232323232323232323232323232|K80 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 19co0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/Indiana/Tell_City|EST EDT CDT CST|50 40 50 60|01023232323232323232323232323232323232323232323232323|K70 1cL0 1qhd0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/Indiana/Vevay|EST EDT|50 40|010101010101010101010101010101010101010101010101010101010|K70 1cL0 1cN0 1fz0 1cN0 1cL0 1lnd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0
12473 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/Indiana/Vincennes|EST EDT CDT CST|50 40 50 60|01023201010101010101010101010101010101010101010101010|K70 1cL0 1qhd0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/Indiana/Winamac|EST EDT CDT CST|50 40 50 60|01023101010101010101010101010101010101010101010101010|K70 1cL0 1qhd0 1o00 Rd0 1za0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/Inuvik|PST PDT MDT MST|80 70 60 70|01010101010101023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|5Ea0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cK0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|35e2","America/Iqaluit|EST EDT CST CDT|50 40 60 50|01010101010101010101010101010101010101010101010101010101230101010101010101010101010101010101010101010101010101010101010|5E70 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|67e2","America/Jamaica|EST EDT|50 40|010101010101010101010|9Kv0 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0|94e4","America/Juneau|PST PDT YDT YST AKST AKDT|80 70 80 90 90 80|0101010101010101010102010101345454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|Ka0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cM0 1cM0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|33e3","America/Kentucky/Louisville|EST EDT CDT|50 40 50|010101010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|K70 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/Kentucky/Monticello|CST CDT EST EDT|60 50 50 40|010101010101010101010101010101010101010101010101010101010101012323232323232323232323232323232323232323232323232323232323232|K80 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/La_Paz|-04|40|0||19e5","America/Lima|-05 -04|50 40|010101010|CVF0 zX0 1O10 zX0 6Gp0 zX0 98p0 zX0|11e6","America/Los_Angeles|PST PDT|80 70|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|Ka0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e6","America/Maceio|-03 -02|30 20|0101010101010101010|CxD0 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 8Q10 WL0 1tB0 5z0 2mN0 On0|93e4","America/Managua|CST EST CDT|60 50 50|010202010102020|86u0 4mn0 9Up0 Dz0 1K10 Dz0 s3F0 1KH0 DB0 9In0 k8p0 19X0 1o30 11y0|22e5","America/Manaus|-04 -03|40 30|010101010|CxE0 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0|19e5","America/Martinique|AST ADT|40 30|010|oXg0 19X0|39e4","America/Matamoros|CST CDT|60 50|0101010101010101010101010101010101010101010101010101010101010101010101010|IqU0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|45e4","America/Mazatlan|PST MST MDT|80 70 60|01212121212121212121212121212121212121212121212121212121|80 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|44e4","America/Menominee|EST CDT CST|50 50 60|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|85H0 1cM0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|85e2","America/Merida|CST EST CDT|60 50 50|010202020202
12473020202020202020202020202020202020202020202020|t9G0 2hz0 wu30 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|11e5","America/Metlakatla|PST PDT AKST AKDT|80 70 90 80|0101010101010101010101010101023232302323232323232323232323232|Ka0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1hU10 Rd0 1zb0 Op0 1zb0 Op0 1zb0 uM0 jB0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2","America/Mexico_City|CST CDT|60 50|0101010101010101010101010101010101010101010101010101010|13Vk0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|20e6","America/Miquelon|AST -03 -02|40 30 20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|p9g0 gQ10 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|61e2","America/Moncton|AST ADT|40 30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|K60 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14n1 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 ReX 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|64e3","America/Monterrey|CST CDT|60 50|010101010101010101010101010101010101010101010101010101010|IqU0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|41e5","America/Montevideo|-03 -02 -0130 -0230|30 20 1u 2u|0101023010101010101010101010101010101010101010101010|JD0 jX0 4vB0 xz0 3Cp0 mmu 1a10 IMu Db0 4c10 uL0 1Nd0 An0 1SN0 uL0 mp0 28L0 iPB0 un0 1SN0 xz0 1zd0 Lz0 1zd0 Rb0 1zd0 On0 1wp0 Rb0 s8p0 1fB0 1ip0 11z0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 11z0|17e5","America/Toronto|EST EDT|50 40|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|K70 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e5","America/New_York|EST EDT|50 40|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|K70 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e6","America/Nome|BST BDT YST AKST AKDT|b0 a0 90 90 80|0101010101010101010101010101234343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|Kd0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cl0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|38e2","America/Noronha|-02 -01|20 10|01010101010101010|CxC0 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|30e2","America/North_Dakota/Beulah|MST MDT CST CDT|70 60 60 50|010101010101010101010101010101010101010101010101010101010101010101010101010101010123232323232323232323232323232323232323232|K90 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/North_Dakota/Center|MST MDT CST CDT|70 60 60 50|010101010101010101010101010101010101010101010123232323232323232323232323232323232323232323232323232323232323232323232323232|K90 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/North_Dakota/New_Salem|MST MDT CST CDT|70 60 60 50|010101010101010101010101010101010101010101010101010101010101010101012323232323232323232323232323232323232323232323232323232|K90 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/Ojinaga|CST CDT MDT MST|60 50 60 70|01010232323232323232323232323232323232323232323232323201010101010101010|13Vk0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1wn0 Rc0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3","America/Paramaribo|-0330 -03|3u 30|01|zSPu|24e4","America/Port-au-Prince|EST EDT|50 40|01010101010101010101010101010101010101010101010101010101010101010101010|wu50 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14q0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 i6n0 1nX0 11B0 1nX0 d430 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 3iN0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5","America/Rio_Branco|-05 -04|50 40|010101010|CxF0 Rb0 1tB0 IL0 1Fd0 FX0 NBd0 d5X0|31e4","America/Porto_Velho|-04 -03|40 30|0101010|CxE0 Rb0 1tB0 IL0 1Fd0 FX0|37e4","America/Punta_Arenas|-03 -04|30 40|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|yP0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|","America/Winnipeg|CST CDT|60 50|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|K80 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|66e4","America/Rankin_Inlet|CST CDT EST|60 50 50|01010101010101010101010101010101010101010101010101010101012101010101010101010101010101010101010101010101010101010101010|5E80 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e2","America/Recife|-03 -02|30 20|01010101010101010|CxD0 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|33e5","America/Regina|CST|60|0||19e4","America/Resolute|CST CDT EST|60 50 50|01010101010101010101010101010101010101010101010101010101012101010101012101010101010101010101010101010101010101010101010|5E80 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|229","America/Santarem|-04 -03|40 30|01010101|CxE0 Rb0 1tB0 IL0 1Fd0 FX0 NBd0|21e4","America/Santiago|-03 -04|30 40|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|yP0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0|62e5","America/Santo_Domingo|-0430 EST AST|4u 50 40|0101010101212|ksu 1Cou yLu 1RAu wLu 1QMu xzu 1Q0u xXu 1PAu 13jB0 e00|29e5","America/Sao_Paulo|-03 -02|30 20|010101010101010101010101010101010101010101010101010101010101010101010|CxD0 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|20e6","America/Scoresbysund|-02 -01 +00|20 10 0|0102121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|oXg0 1a00 1cK0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|452","America/Sitka|PST PDT YST AKST AKDT|80 70 90 90 80|0101010101010101010101010101234343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|Ka0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|90e2","America/St_Johns|NST NDT NDDT|3u 2u 1u|010101010101010101010101010101010101020101010101010101010101010101010101010101010101010101010101010101010101010101010101010|K5u 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4","America/Swift_Current|MST CST|70 60|01|5E90|16e3","America/Tegucigalpa|CST CDT|60 50|0101010|Gcu0 WL0 1qN0 WL0 GRd0 AL0|11e5","America/Thule|AST ADT|40 30|010101010101010101010101010101010101010101010101010101010101010101010101010101010|PHG0 1cL0 1cN0 1cL0 1fB0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|656","America/Vancouver|PST PDT|80 70|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|Ka0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0
1247314p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5","America/Whitehorse|PST PDT MST|80 70 70|01010101010101010101010101010101010101010101010101010101010101010101010101010101012|p7K0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1z90|23e3","America/Yakutat|YST YDT AKST AKDT|90 80 90 80|0101010101010101010101010101023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|Kb0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cn0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|642","Antarctica/Casey|+08 +11|-80 -b0|010101010101|1ARS0 T90 40P0 KL0 blz0 3m10 1o30 14k0 1kr0 12l0 1o01|10","Antarctica/Davis|+07 +05|-70 -50|01010|1ART0 VB0 3Wn0 KN0|70","Pacific/Port_Moresby|+10|-a0|0||25e4","Antarctica/Macquarie|AEDT AEST|-b0 -a0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|qg0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 3Co0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|1","Antarctica/Mawson|+06 +05|-60 -50|01|1ARU0|60","Pacific/Auckland|NZST NZDT|-c0 -d0|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|bKC0 IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00|14e5","Antarctica/Palmer|-03 -02 -04|30 20 40|010202020202
1247302020202020202020202020202020202020202020202020202020202020|9Rf0 Db0 jsN0 14N0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|40","Antarctica/Rothera|-00 -03|0 30|01|gOo0|130","Asia/Riyadh|+03|-30|0||57e5","Antarctica/Troll|-00 +00 +02|0 0 -20|012121212121212121212121212121212121212121212121212121|1puo0 hd0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|40","Asia/Urumqi|+06|-60|0||32e5","Europe/Berlin|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|oXd0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|41e5","Asia/Almaty|+06 +07 +05|-60 -70 -50|0101010101010101010102010101010101010101010101010|rn60 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|15e5","Asia/Amman|EET EEST +03|-20 -30 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101012|8kK0 KL0 1oN0 11b0 1oN0 11b0 1pd0 1dz0 1cp0 11b0 1op0 11b0 fO10 1db0 1e10 1cL0 1cN0 1cL0 1cN0 1fz0 1pd0 10n0 1ld0 14n0 1hB0 15b0 1ip0 19X0 1cN0 1cL0 1cN0 17b0 1ld0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1So0 y00 1fc0 1dc0 1co0 1dc0 1cM0 1cM0 1cM0 1o00 11A0 1lc0 17c0 1cM0 1cM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 4bX0 Dd0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 LA0 1C00|25e5","Asia/Anadyr|+13 +14 +12 +11|-d0 -e0 -c0 -b0|010202020202
12473020202023202020202020202020202020202020202020232|rmX0 1db0 2q10 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|13e3","Asia/Aqtau|+05 +06 +04|-50 -60 -40|0101010101010101010201010120202020202020202020|sAj0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|15e4","Asia/Aqtobe|+05 +06 +04|-50 -60 -40|01010101010101010102010101010101010101010101010|rn70 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|27e4","Asia/Ashgabat|+05 +06 +04|-50 -60 -40|01010101010101010101020|rn70 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0|41e4","Asia/Atyrau|+05 +06 +04|-50 -60 -40|010101010101010101020101010101010102020202020|sAj0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 2sp0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|","Asia/Baghdad|+03 +04|-30 -40|01010101010101010101010101010101010101010101010101010|u190 11b0 1cp0 1dz0 1dd0 1db0 1cN0 1cp0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1de0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0|66e5","Asia/Qatar|+04 +03|-40 -30|01|5QI0|96e4","Asia/Baku|+04 +05 +03|-40 -50 -30|010101010101010101010201010101010101010101010101010101010101010|rn80 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 9Je0 1o00 11z0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e5","Asia/Bangkok|+07|-70|0||15e6","Asia/Barnaul|+07 +08 +06|-70 -80 -60|01010101010101010101020101010102020202020202020202020202020202020|rn50 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 p90 LE0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|","Asia/Beirut|EET EEST|-20 -30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|61a0 En0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1op0 11b0 dA10 17b0 1iN0 17b0 1iN0 17b0 1iN0 17b0 1vB0 SL0 1mp0 13z0 1iN0 17b0 1iN0 17b0 1jd0 12n0 1a10 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0|22e5","Asia/Bishkek|+06 +07 +05|-60 -70 -50|0101010101010101010102020202020202020202020202020|rn60 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2e00 1tX0 17b0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1cPu 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0|87e4","Asia/Brunei|+08|-80|0||42e4","Asia/Kolkata|IST|-5u|0||15e6","Asia/Chita|+09 +10 +08|-90 -a0 -80|0101010101010101010102010101010101010101010101010101010101010120|rn30 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3re0|33e4","Asia/Choibalsan|+07 +08 +10 +09|-70 -80 -a0 -90|012323232323232323232323232323232323232323232313131|jsF0 cKn0 1da0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 3Db0 h1f0 1cJ0 1cP0 1cJ0|38e3","Asia/Shanghai|CST CDT|-80 -90|0101010101010|DKG0 Rb0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0|23e6","Asia/Colombo|+0530 +0630 +06|-5u -6u -60|0120|14giu 11zu n3cu|22e5","Asia/Dhaka|+06 +07|-60 -70|010|1A5R0 1i00|16e6","Asia/Damascus|EET EEST +03|-20 -30 -30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101012|M00 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 Nb0 1AN0 Nb0 bcp0 19X0 1gp0 19X0 3ld0 1xX0 Vd0 1Bz0 Sp0 1vX0 10p0 1dz0 1cN0 1cL0 1db0 1db0 1g10 1an0 1ap0 1db0 1fd0 1db0 1cN0 1db0 1dd0 1db0 1cp0 1dz0 1c10 1dX0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 19z0 1fB0 1qL0 11B0 1on0 Wp0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0|26e5","Asia/Dili|+09 +08|-90 -80|010|fpr0 Xld0|19e4","Asia/Dubai|+04|-40|0||39e5","Asia/Dushanbe|+06 +07 +05|-60 -70 -50|0101010101010101010102|rn60 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2hB0|76e4","Asia/Famagusta|EET EEST +03|-20 -30 -30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101012010101010101010101010101010|cPa0 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 15U0 2Ks0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|","Asia/Gaza|IST IDT EET EEST|-20 -30 -20 -30|010101010101010101010101010101023232323232323232323232323232323232323232323232323232323232323232323232|aXa0 Db0 1fB0 Rb0 bXB0 gM0 8Q00 IM0 1wo0 TX0 1HB0 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18
12473N0 1bz0 19z0 1gp0 1610 1iL0 11z0 1o10 14o0 1lA1 SKX 1xd1 MKX 1AN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nA0 1210 1qL0 WN0 1qL0 WN0 1qL0 11c0 1on0 11B0 1o00 11A0 1qo0 XA0 1qp0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0|18e5","Asia/Hebron|IST IDT EET EEST|-20 -30 -20 -30|01010101010101010101010101010102323232323232323232323232323232323232323232323232323232323232323232323232|aXa0 Db0 1fB0 Rb0 bXB0 gM0 8Q00 IM0 1wo0 TX0 1HB0 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 12L0 1mN0 14o0 1lc0 Tb0 1xd1 MKX bB0 cn0 1cN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nA0 1210 1qL0 WN0 1qL0 WN0 1qL0 11c0 1on0 11B0 1o00 11A0 1qo0 XA0 1qp0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0|25e4","Asia/Ho_Chi_Minh|+08 +07|-80 -70|01|dfs0|90e5","Asia/Hong_Kong|HKT HKST|-80 -90|01010101010101010|H7u 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|73e5","Asia/Hovd|+06 +07 +08|-60 -70 -80|01212121212121212121212121212121212121212121212121|jsG0 cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|81e3","Asia/Irkutsk|+08 +09 +07|-80 -90 -70|010101010101010101010201010101010101010101010101010101010101010|rn40 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4","Europe/Istanbul|EET EEST +03 +04|-20 -30 -30 -40|01010101010123201010101010101010101010101010101010101010101010101010101010101012|8jz0 11A0 WN0 1qL0 TB0 1tX0 U10 1tz0 11B0 1in0 17d0 z90 cne0 pb0 2Cp0 1800 14o0 1dc0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1a00 1fA0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WO0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 Xc0 1qo0 WM0 1qM0 11A0 1o00 1200 1nA0 11A0 1tA0 U00 15w0|13e6","Asia/Jakarta|WIB|-70|0||31e6","Asia/Jayapura|WIT|-90|0||26e4","Asia/Jerusalem|IST IDT|-20 -30|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|aXa0 Db0 1fB0 Rb0 bXB0 gM0 8Q00 IM0 1wo0 TX0 1HB0 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 1hB0 1dX0 1ep0 1aL0 1eN0 17X0 1nf0 11z0 1tB0 19W0 1e10 17b0 1ep0 1gL0 18N0 1fz0 1eN0 17b0 1gq0 1gn0 19d0 1dz0 1c10 17X0 1hB0 1gn0 19d0 1dz0 1c10 17X0 1kp0 1dz0 1c10 1aL0 1eN0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0|81e4","Asia/Kabul|+0430|-4u|0||46e5","Asia/Kamchatka|+12 +13 +11|-c0 -d0 -b0|0101010101010101010102010101010101010101010101010101010101020|rn00 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|18e4","Asia/Karachi|+05 PKT PKST|-50 -50 -60|01212121|2Xv0 1fy00 1cL0 dK10 11b0 1610 1jX0|24e6","Asia/Kathmandu|+0530 +0545|-5u -5J|01|CVuu|12e5","Asia/Khandyga|+09 +10 +08 +11|-90 -a0 -80 -b0|01010101010101010101020101010101010101010101010131313131313131310|rn30 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 qK0 yN0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|66e2","Asia/Krasnoyarsk|+07 +08 +06|-70 -80 -60|010101010101010101010201010101010101010101010101010101010101010|rn50 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5","Asia/Kuala_Lumpur|+0730 +08|-7u -80|01|td40|71e5","Asia/Macau|CST CDT|-80 -90|01010101010101010|H7u 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|57e4","Asia/Magadan|+11 +12 +10|-b0 -c0 -a0|0101010101010101010102010101010101010101010101010101010101010120|rn10 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Cq0|95e3","Asia/Makassar|WITA|-80|0||15e5","Asia/Manila|PST PDT|-80 -90|010|k0E0 1db0|24e6","Asia/Nicosia|EET EEST|-20 -30|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|cPa0 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|32e4","Asia/Novokuznetsk|+07 +08 +06|-70 -80 -60|0101010101010101010102010101010101010101010101010101010101020|rn50 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|55e4","Asia/Novosibirsk|+07 +08 +06|-70 -80 -60|010101010101010101010201010202020202
1247302020202020202020202020202020|rn50 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 ml0 Os0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 4eN0|15e5","Asia/Omsk|+06 +07 +05|-60 -70 -50|010101010101010101010201010101010101010101010101010101010101010|rn60 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|12e5","Asia/Oral|+05 +06 +04|-50 -60 -40|010101010101010202020202020202020202020202020|rn70 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 1cM0 IM0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|27e4","Asia/Pontianak|WITA WIB|-80 -70|01|HNs0|23e4","Asia/Pyongyang|KST KST|-90 -8u|010|1P4D0 6BA0|29e5","Asia/Qostanay|+05 +06 +04|-50 -60 -40|0101010101010101010201010101010101010101010101|rn70 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|","Asia/Qyzylorda|+05 +06|-50 -60|010101010101010101010101010101010101010101010|rn70 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 3ao0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 zQl0|73e4","Asia/Rangoon|+0630|-6u|0||48e5","Asia/Sakhalin|+11 +12 +10|-b0 -c0 -a0|010101010101010101010201010101010202020202020202020202020202020|rn10 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 2pB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|58e4","Asia/Samarkand|+05 +06|-50 -60|010101010101010101010|rn70 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|36e4","Asia/Seoul|KST KDT|-90 -a0|01010|Gf50 11A0 1o00 11A0|23e6","Asia/Srednekolymsk|+11 +12 +10|-b0 -c0 -a0|010101010101010101010201010101010101010101010101010101010101010|rn10 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|35e2","Asia/Taipei|CST CDT|-80 -90|0101010|akg0 1db0 1cN0 1db0 97B0 AL0|74e5","Asia/Tashkent|+06 +07 +05|-60 -70 -50|0101010101010101010102|rn60 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0|23e5","Asia/Tbilisi|+04 +05 +03|-40 -50 -30|01010101010101010101020202010101010101010101020|rn80 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cK0 1cL0 1cN0 1cL0 1cN0 2pz0 1cL0 1fB0 3Nz0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 An0 Os0 WM0|11e5","Asia/Tehran|+0330 +0430 +04 +05|-3u -4u -40 -50|0123201010101010101010101010101010101010101010101010101010101010101010|hyHu 1pc0 120u Rc0 XA0 Wou JX0 1dB0 1en0 pNB0 UL0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 64p0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0|14e6","Asia/Thimphu|+0530 +06|-5u -60|01|HcGu|79e3","Asia/Tokyo|JST|-90|0||38e6","Asia/Tomsk|+07 +08 +06|-70 -80 -60|01010101010101010101020101010101010101010101020202020202020202020|rn50 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 co0 1bB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Qp0|10e5","Asia/Ulaanbaatar|+07 +08 +09|-70 -80 -90|01212121212121212121212121212121212121212121212121|jsF0 cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|12e5","Asia/Ust-Nera|+09 +12 +11 +10|-90 -c0 -b0 -a0|0121212121212121212123212121212121212121212121212121212121212123|rn30 1d90 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|65e2","Asia/Vladivostok|+10 +11 +09|-a0 -b0 -90|010101010101010101010201010101010101010101010101010101010101010|rn20 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4","Asia/Yakutsk|+09 +10 +08|-90 -a0 -80|010101010101010101010201010101010101010101010101010101010101010|rn30 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|28e4","Asia/Yekaterinburg|+05 +06 +04|-50 -60 -40|010101010101010101010201010101010101010101010101010101010101010|rn70 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|14e5","Asia/Yerevan|+04 +05 +03|-40 -50 -30|01010101010101010101020202020101010101010101010101010101010|rn80 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 4RX0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|13e5","Atlantic/Azores|-01 +00 WET|10 0 0|0101010101010101010101010101010121010101010101010101010101010101010101010101010101010101010101010101010101010|hAN0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|25e4","Atlantic/Bermuda|AST ADT|40 30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|avi0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e3","Atlantic/Canary|WET WEST|0 -10|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|oXc0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|54e4","Atlantic/Cape_Verde|-02 -01|20 10|01|elE0|50e4","Atlantic/Faroe|WET WEST|0 -10|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|rm10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|49e3","Atlantic/Madeira|WET WEST|0 -10|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hAM0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|27e4","Atlantic/South_Georgia|-02|20|0||30","Atlantic/Stanley|-04 -03 -02|40 30 20|01212101010101010101010101010101010101010101010101010101|wrg0 WL0 1qL0 U10 1tz0 2mN0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 U10 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qN0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 U10 1tz0 U10 1tz0 U10|21e2","Australia/Sydney|AEST AEDT|-a0 -b0|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|4r40 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|40e5","Australia/Adelaide|ACST ACDT|-9u -au|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|4r4u LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 WM0 1qM0 Rc0 1zc0 U00 1tA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|11e5","Australia/Brisbane|AEST AEDT|-a0 -b0|010101010|4r40 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0|20e5","Australia/Broken_Hill|ACST ACDT|-9u -au|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|4r4u LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|18e3","Australia/Hobart|AEDT AEST|-b0 -a0|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|qg0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|21e4","Australia/Darwin|ACST|-9u|0||12e4","Australia/Eucla|+0845 +0945|-8J -9J|0101010101010|bHRf Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|368","Australia/Lord_Howe|AEST +1030 +1130 +11|-a0 -au -bu -b0|01212121213131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313|raC0 1zdu Rb0 1zd0 On0 1zd0 On0 1zd0 On0 1zd0 TXu 1qMu WLu 1tAu WLu 1tAu TXu 1tAu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 11Au 1nXu 1qMu 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu 11zu 1o0u WLu 1qMu 14nu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu
124731cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu|347","Australia/Lindeman|AEST AEDT|-a0 -b0|0101010101010|4r40 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0|10","Australia/Melbourne|AEST AEDT|-a0 -b0|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|4r40 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1qM0 11A0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|39e5","Australia/Perth|AWST AWDT|-80 -90|0101010101010|bHS0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|18e5","Europe/Brussels|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|21e5","Pacific/Easter|-06 -07 -05|60 70 50|010101010101010101010101020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202|yP0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 2pA0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0|30e2","EET|EET EEST|-20 -30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|","Europe/Dublin|IST GMT|-10 0|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|4re0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|12e5","Etc/GMT-1|+01|-10|0||","Pacific/Guadalcanal|+11|-b0|0||11e4","Pacific/Tarawa|+12|-c0|0||29e3","Etc/GMT-13|+13|-d0|0||","Etc/GMT-14|+14|-e0|0||","Etc/GMT-2|+02|-20|0||","Indian/Maldives|+05|-50|0||35e4","Pacific/Palau|+09|-90|0||21e3","Etc/GMT+1|-01|10|0||","Pacific/Tahiti|-10|a0|0||18e4","Pacific/Niue|-11|b0|0||12e2","Etc
12473/GMT+12|-12|c0|0||","Etc/GMT+5|-05|50|0||","Etc/GMT+6|-06|60|0||","Etc/GMT+7|-07|70|0||","Etc/GMT+8|-08|80|0||","Pacific/Gambier|-09|90|0||125","Etc/UTC|UTC|0|0||","Europe/Andorra|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|B7d0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|79e3","Europe/Astrakhan|+04 +05 +03|-40 -50 -30|0101010101010101020202020202020202020202020202020202020202020|rn80 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|10e5","Europe/Athens|EET EEST|-20 -30|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|cOK0 1vc0 SO0 1cM0 1a00 1ao0 1fc0 1a10 1fG0 1cg0 1dX0 1bX0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|35e5","Europe/London|BST GMT|-10 0|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|4re0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|10e6","Europe/Belgrade|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|wdd0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|12e5","Europe/Prague|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|muN0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|13e5","Europe/Bucharest|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|mRa0 On0 1fA0 1a10 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|19e5","Europe/Budapest|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|oXb0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cO0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|17e5","Europe/Zurich|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|rm10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|38e4","Europe/Chisinau|MSK MSD EEST EET|-30 -40 -30 -20|010101010101010101012323232323232323232323232323232323232323232323232323232323232323232323232323232323|rn90 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 gL0 WO0 1cM0 1cM0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11D0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|67e4","
12473Europe/Gibraltar|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|tLB0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|30e3","Europe/Helsinki|EET EEST|-20 -30|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|rm00 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|12e5","Europe/Kaliningrad|MSK MSD EEST EET +03|-30 -40 -30 -20 -30|010101010101010102323232323232323232323232323232323232323232343|rn90 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|44e4","Europe/Kiev|MSK MSD EEST EET|-30 -40 -30 -20|0101010101010101010123232323232323232323232323232323232323232323232323232323232323232323232323232323|rn90 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 Db0 3220 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o10 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|34e5","Europe/Kirov|+04 +05 +03|-40 -50 -30|010101010101010102020202020202020202020202020202020202020202|rn80 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|48e4","Europe/Lisbon|CET WET WEST CEST|-10 0 -10 -20|01212121212121212121212121212121203030302121212121212121212121212121212121212121212121212121212121212121212121|go00 1cM0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|27e5","Europe/Madrid|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|apy0 1a10 1fz0 1a10 19X0 1cN0 1fz0 1a10 1fC0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|62e5","Europe/Malta|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|XX0 LA0 1zc0 Oo0 1C00 Oo0 1co0 1cM0 1lA0 Xc0 1qq0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1iN0 19z0 1fB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|42e4","Europe/Minsk|MSK MSD EEST EET +03|-30 -40 -30 -20 -30|010101010101010101023232323232323232323232323232323232323234|rn90 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 3Fc0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0|19e5","Europe/Paris|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|fbc0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|11e6","Europe/Moscow|MSK MSD EEST EET MSK|-30 -40 -30 -20 -40|0101010101010101010102301010101010101010101010101010101010101040|rn90 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|16e6","Europe/Riga|MSK MSD EEST EET|-30 -40 -30 -20|010101010101010102323232323232323232323232323232323232323232323232323232323232323232323232323232323|rn90 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 1o00 11A0 1o00 11A0 1qM0 3oo0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|64e4","Europe/Rome|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|XX0 LA0 1zc0 Oo0 1C00 Oo0 1C00 LA0 1zc0 Oo0 1C00 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1zc0 Oo0 1fC0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|39e5","Europe/Samara|+04 +05 +03|-40 -50 -30|01010101010101010202010101010101010101010101010101010101020|rn80 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2y10 14m0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|12e5","Europe/Saratov|+04 +05 +03|-40 -50 -30|010101010101010202020202
124730202020202020202020202020202020202020|rn80 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 5810|","Europe/Simferopol|MSK MSD EET EEST MSK|-30 -40 -20 -30 -40|0101010101010101010232323101010323232323232323232323232323232323240|rn90 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 4eN0 1cM0 1cM0 1cM0 1cM0 dV0 WO0 1cM0 1cM0 1fy0 1o30 11B0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11z0 1nW0|33e4","Europe/Sofia|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|muJ0 1dd0 1fb0 1ap0 1fb0 1a20 1fy0 1a30 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|12e5","Europe/Tallinn|MSK MSD EEST EET|-30 -40 -30 -20|0101010101010101023232323232323232323232323232323232323232323232323232323232323232323232323232323|rn90 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o10 11A0 1qM0 5QM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|41e4","Europe/Tirane|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|axz0 10n0 1op0 11z0 1pd0 11z0 1qN0 WL0 1qp0 Xb0 1qp0 Xb0 1qp0 11z0 1lB0 11z0 1qN0 11z0 1iN0 16n0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|42e4","Europe/Ulyanovsk|+04 +05 +03 +02|-40 -50 -30 -20|010101010101010102023202020202020202020202020202020202020202020|rn80 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|13e5","Europe/Vienna|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|oXb0 19X0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|18e5","Europe/Vilnius|MSK MSD EEST EET CEST CET|-30 -40 -30 -20 -20 -10|01010101010101010232323232323232323454323232323232323232323232323232323232323232323232323232323|rn90 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11B0 1o00 11A0 1qM0 8io0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|54e4","Europe/Volgograd|+04 +05 +03|-40 -50 -30|010101010101010202020202
1247302020202020202020202020202020202020202|rn80 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 9Jd0 5gn0|10e5","Europe/Warsaw|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDA0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|17e5","Pacific/Honolulu|HST|a0|0||37e4","Indian/Chagos|+05 +06|-50 -60|01|13ij0|30e2","Indian/Mauritius|+04 +05|-40 -50|01010|v5U0 14L0 12kr0 11z0|15e4","Pacific/Kwajalein|-12 +12|c0 -c0|01|Vxo0|14e3","MET|MET MEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|","Pacific/Chatham|+1245 +1345|-cJ -dJ|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|bKC0 IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00|600","Pacific/Apia|-11 -10 +14 +13|b0 a0 -e0 -d0|010123232323232323232323|1Dbn0 1ff0 1a00 CI0 AQ0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0|37e3","Pacific/Bougainville|+10 +11|-a0 -b0|01|1NwE0|18e4","Pacific/Efate|+11 +12|-b0 -c0|01010101010101010101010|9EA0 Dc0 n610 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 Lz0 1Nd0 An0|66e3","Pacific/Enderbury|-12 -11 +13|c0 b0 -d0|012|nIc0 B7X0|1","Pacific/Fakaofo|-11 +13|b0 -d0|01|1Gfn0|483","Pacific/Fiji|+12 +13|-c0 -d0|01010101010101010101010101010|1ace0 LA0 1EM0 IM0 nJc0 LA0 1o00 Rc0 1wo0 Ao0 1Nc0 Ao0 1Q00 xz0 1SN0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 20o0 pc0 2hc0 bc0|88e4","Pacific/Galapagos|-05 -06|50 60|0101|CVF0 gNd0 rz0|25e3","Pacific/Guam|GST GDT ChST|-a0 -b0 -a0|010101010102|JQ0 Rb0 1wp0 Rb0 5xd0 rX0 5sN0 zb1 1C0X On0 ULb0|17e4","Pacific/Kiritimati|-1040 -10 +14|aE a0 -e0|012|nIaE B7Xk|51e2","Pacific/Kosrae|+12 +11|-c0 -b0|01|1aAA0|66e2","Pacific/Marquesas|-0930|9u|0||86e2","Pacific/Pago_Pago|SST|b0|0||37e2","Pacific/Nauru|+1130 +12|-bu -c0|01|maCu|10e3","Pacific/Norfolk|+1130 +1230 +11 +12|-bu -cu -b0 -c0|010232323232323232323232323|bHOu Oo0 1COo0 9Jcu 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|25e4","Pacific/Noumea|+11 +12|-b0 -c0|0101010|jhp0 xX0 1PB0 yn0 HeP0 Ao0|98e3","Pacific/Pitcairn|-0830 -08|8u 80|01|18Vku|56","Pacific/Rarotonga|-1030 -0930 -10|au 9u a0|012121212121212121212121212|lyWu IL0 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu|13e3","Pacific/Tongatapu|+13 +14|-d0 -e0|010101010|1csd0 15A0 1wo0 xz0 1Q10 xz0 zWN0 s00|75e3","WET|WET WEST|0 -10|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|"],links:["Africa/Abidjan|Africa/Accra","Africa/Abidjan|Africa/Bamako","Africa/Abidjan|Africa/Banjul","Africa/Abidjan|Africa/Conakry","Africa/Abidjan|Africa/Dakar","Africa/Abidjan|Africa/Freetown","Africa/Abidjan|Africa/Lome","Africa/Abidjan|Africa/Nouakchott","Africa/Abidjan|Africa/Ouagadougou","Africa/Abidjan|Africa/Timbuktu","Africa/Abidjan|Atlantic/Reykjavik","Africa/Abidjan|Atlantic/St_Helena","Africa/Abidjan|Etc/GMT","Africa/Abidjan|Etc/GMT+0","Africa/Abidjan|Etc/GMT-0","Africa/Abidjan|Etc/GMT0","Africa/Abidjan|Etc/Greenwich","Africa/Abidjan|GMT","Africa/Abidjan|GMT+0","Africa/Abidjan|GMT-0","Africa/Abidjan|GMT0","Africa/Abidjan|Greenwich","Africa/Abidjan|Iceland","Africa/Cairo|Egypt","Africa/Johannesburg|Africa/Maseru","Africa/Johannesburg|Africa/Mbabane","Africa/Lagos|Africa/Bangui","Africa/Lagos|Africa/Brazzaville","Africa/Lagos|Africa/Douala","Africa/Lagos|Africa/Kinshasa","Africa/Lagos|Africa/Libreville","Africa/Lagos|Africa/Luanda","Africa/Lagos|Africa/Malabo","Africa/Lagos|Africa/Niamey","Africa/Lagos|Africa/Porto-Novo","Africa/Maputo|Africa/Blantyre","Africa/Maputo|Africa/Bujumbura","Africa/Maputo|Africa/Gaborone","Africa/Maputo|Africa/Harare","Africa/Maputo|Africa/Kigal
12473i","Africa/Maputo|Africa/Lubumbashi","Africa/Maputo|Africa/Lusaka","Africa/Nairobi|Africa/Addis_Ababa","Africa/Nairobi|Africa/Asmara","Africa/Nairobi|Africa/Asmera","Africa/Nairobi|Africa/Dar_es_Salaam","Africa/Nairobi|Africa/Djibouti","Africa/Nairobi|Africa/Kampala","Africa/Nairobi|Africa/Mogadishu","Africa/Nairobi|Indian/Antananarivo","Africa/Nairobi|Indian/Comoro","Africa/Nairobi|Indian/Mayotte","Africa/Tripoli|Libya","America/Adak|America/Atka","America/Adak|US/Aleutian","America/Anchorage|US/Alaska","America/Argentina/Buenos_Aires|America/Buenos_Aires","America/Argentina/Catamarca|America/Argentina/ComodRivadavia","America/Argentina/Catamarca|America/Catamarca","America/Argentina/Cordoba|America/Cordoba","America/Argentina/Cordoba|America/Rosario","America/Argentina/Jujuy|America/Jujuy","America/Argentina/Mendoza|America/Mendoza","America/Cayenne|Etc/GMT+3","America/Chicago|CST6CDT","America/Chicago|US/Central","America/Denver|America/Shiprock","America/Denver|MST7MDT","America/Denver|Navajo","America/Denver|US/Mountain","America/Detroit|US/Michigan","America/Edmonton|America/Yellowknife","America/Edmonton|Canada/Mountain","America/Fort_Wayne|America/Indiana/Indianapolis","America/Fort_Wayne|America/Indianapolis","America/Fort_Wayne|US/East-Indiana","America/Godthab|America/Nuuk","America/Halifax|Canada/Atlantic","America/Havana|Cuba","America/Indiana/Knox|America/Knox_IN","America/Indiana/Knox|US/Indiana-Starke","America/Iqaluit|America/Pangnirtung","America/Jamaica|Jamaica","America/Kentucky/Louisville|America/Louisville","America/La_Paz|Etc/GMT+4","America/Los_Angeles|PST8PDT","America/Los_Angeles|US/Pacific","America/Manaus|Brazil/West","America/Mazatlan|Mexico/BajaSur","America/Mexico_City|Mexico/General","America/New_York|EST5EDT","America/New_York|US/Eastern","America/Noronha|Brazil/DeNoronha","America/Panama|America/Atikokan","America/Panama|America/Cayman","America/Panama|America/Coral_Harbour","America/Panama|EST","America/Phoenix|America/Creston","America/Phoenix|MST","America/Phoenix|US/Arizona","America/Puerto_Rico|America/Anguilla","America/Puerto_Rico|America/Antigua","America/Puerto_Rico|America/Aruba","America/Puerto_Rico|America/Blanc-Sablon","America/Puerto_Rico|America/Curacao","America/Puerto_Rico|America/Dominica","America/Puerto_Rico|America/Grenada","America/Puerto_Rico|America/Guadeloupe","America/Puerto_Rico|America/Kralendijk","America/Puerto_Rico|America/Lower_Princes","America/Puerto_Rico|America/Marigot","America/Puerto_Rico|America/Montserrat","America/Puerto_Rico|America/Port_of_Spain","America/Puerto_Rico|America/St_Barthelemy","America/Puerto_Rico|America/St_Kitts","America/Puerto_Rico|America/St_Lucia","America/Puerto_Rico|America/St_Thomas","America/Puerto_Rico|America/St_Vincent","America/Puerto_Rico|America/Tortola","America/Puerto_Rico|America/Virgin","America/Regina|Canada/Saskatchewan","America/Rio_Branco|America/Porto_Acre","America/Rio_Branco|Brazil/Acre","America/Santiago|Chile/Continental","America/Sao_Paulo|Brazil/East","America/St_Johns|Canada
12473/Newfoundland","America/Tijuana|America/Ensenada","America/Tijuana|America/Santa_Isabel","America/Tijuana|Mexico/BajaNorte","America/Toronto|America/Montreal","America/Toronto|America/Nassau","America/Toronto|America/Nipigon","America/Toronto|America/Thunder_Bay","America/Toronto|Canada/Eastern","America/Vancouver|Canada/Pacific","America/Whitehorse|Canada/Yukon","America/Winnipeg|America/Rainy_River","America/Winnipeg|Canada/Central","Asia/Ashgabat|Asia/Ashkhabad","Asia/Bangkok|Asia/Phnom_Penh","Asia/Bangkok|Asia/Vientiane","Asia/Bangkok|Etc/GMT-7","Asia/Bangkok|Indian/Christmas","Asia/Brunei|Asia/Kuching","Asia/Brunei|Etc/GMT-8","Asia/Dhaka|Asia/Dacca","Asia/Dubai|Asia/Muscat","Asia/Dubai|Etc/GMT-4","Asia/Dubai|Indian/Mahe","Asia/Dubai|Indian/Reunion","Asia/Ho_Chi_Minh|Asia/Saigon","Asia/Hong_Kong|Hongkong","Asia/Jerusalem|Asia/Tel_Aviv","Asia/Jerusalem|Israel","Asia/Kathmandu|Asia/Katmandu","Asia/Kolkata|Asia/Calcutta","Asia/Kuala_Lumpur|Asia/Singapore","Asia/Kuala_Lumpur|Singapore","Asia/Macau|Asia/Macao","Asia/Makassar|Asia/Ujung_Pandang","Asia/Nicosia|Europe/Nicosia","Asia/Qatar|Asia/Bahrain","Asia/Rangoon|Asia/Yangon","Asia/Rangoon|Indian/Cocos","Asia/Riyadh|Antarctica/Syowa","Asia/Riyadh|Asia/Aden","Asia/Riyadh|Asia/Kuwait","Asia/Riyadh|Etc/GMT-3","Asia/Seoul|ROK","Asia/Shanghai|Asia/Chongqing","Asia/Shanghai|Asia/Chungking","Asia/Shanghai|Asia/Harbin","Asia/Shanghai|PRC","Asia/Taipei|ROC","Asia/Tehran|Iran","Asia/Thimphu|Asia/Thimbu","Asia/Tokyo|Japan","Asia/Ulaanbaatar|Asia/Ulan_Bator","Asia/Urumqi|Antarctica/Vostok","Asia/Urumqi|Asia/Kashgar","Asia/Urumqi|Etc/GMT-6","Atlantic/Faroe|Atlantic/Faeroe","Atlantic/South_Georgia|Etc/GMT+2","Australia/Adelaide|Australia/South","Australia/Brisbane|Australia/Queensland","Australia/Broken_Hill|Australia/Yancowinna","Australia/Darwin|Australia/North","Australia/Hobart|Australia/Currie","Australia/Hobart|Australia/Tasmania","Australia/Lord_Howe|Australia/LHI","Australia/Melbourne|Australia/Victoria","Australia/Perth|Australia/West","Australia/Sydney|Australia/ACT","Australia/Sydney|Australia/Canberra","Australia/Sydney|Australia/NSW","Etc/UTC|Etc/UCT","Etc/UTC|Etc/Universal","Etc/UTC|Etc/Zulu","Etc/UTC|UCT","Etc/UTC|UTC","Etc/UTC|Universal","Etc/UTC|Zulu","Europe/Belgrade|Europe/Ljubljana","Europe/Belgrade|Europe/Podgorica","Europe/Belgrade|Europe/Sarajevo","Europe/Belgrade|Europe/Skopje","Europe/Belgrade|Europe/Zagreb","Europe/Berlin|Arctic/Longyearbyen","Europe/Berlin|Atlantic/Jan_Mayen","Europe/Berlin|Europe/Copenhagen","Europe/Berlin|Europe/Oslo","Europe/Berlin|Europe/Stockholm","Europe/Brussels|CET","Europe/Brussels|Europe/Amsterdam","Europe/Brussels|Europe/Luxembourg","Europe/Chisinau|Europe/Tiraspol","Europe/Dublin|Eire","Europe/Helsinki|Europe/Mariehamn","Europe/Istanbul|Asia/Istanbul","Europe/Istanbul|Turkey","Europe/Kiev|Europe/Kyiv","Europe/Kiev|Europe/Uzhgorod","Europe/Kiev|Europe/Zaporozhye","Europe/Lisbon|Portugal","Europe/London|Europe/Belfast","Europe/London|Europe/Guernsey","Europe/London|Europe/Isle_of_Man","Europe/London|Europe/Jersey","Europe/London|GB","Europe/London|GB-Eire","Europe/Moscow|W-SU","Europe/Paris|Europe/Monaco","Europe/Prague|Europe/Bratislava","Europe/Rome|Europe/San_Marino","Europe/Rome|Europe/Vatican","Europe/Warsaw|Poland","Europe/Zurich|Europe/Busingen","Europe/Zurich|Europe/Vaduz","Indian/Maldives|Etc/GMT-5","Indian/Maldives|Indian/Kerguelen","Pacific/Auckland|Antarctica/McMurdo","Pacific/Auckland|Antarctica/South_Pole","Pacific/Auckland|NZ","Pacific/Chatham|NZ-CHAT","Pacific/Easter|Chile/EasterIsland","Pacific/Enderbury|Pacific/Kanton","Pacific/Gambier|Etc/GMT+9","Pacific/Guadalcanal|Etc/GMT-11","Pacific/Guadalcanal|Pacific/Pohnpei","Pacific/Guadalcanal|Pacific/Ponape","Pacific/Guam|Pacific/Saipan","Pacific/Honolulu|HST","Pacific/Honolulu|Pacific/Johnston","Pacific/Honolulu|US/Hawaii","Pacific/Kwajalein|Kwajalein","Pacific/Niue|Etc/GMT+11","Pacific/Pago_Pago|Pacific/Midway","Pacific/Pago_Pago|Pacific/Samoa","Pacific/Pago_Pago|US/Samoa","Pacific/Palau|Etc/GMT-9","Pacific/Port_Moresby|Antarctica/DumontDUrville","Pacific/Port_Moresby|Etc/GMT-10","Pacific/Port_Moresby|Pacific/Chuuk","Pacific/Port_Moresby|Pacific/Truk","Pacific/Port_Moresby|Pacific/Yap","Pacific/Tahiti|Etc/GMT+10","Pacific/Tarawa|Etc/GMT-12","Pacific/Tarawa|Pacific/Funafuti","Pacific/Tarawa|Pacific/Majuro","Pacific/Tarawa|Pacific/Wake","Pacific/Tarawa|Pacific/Wallis"],countries:["AD|Europe/Andorra","AE|Asia/Dubai","AF|Asia/Kabul","AG|America/Puerto_Rico America/Antigua","AI|America/Puerto_Rico America/Anguilla","AL|Europe/Tirane","AM|Asia/Yerevan","AO|Africa/Lagos Africa/Luanda","AQ|Antarctica/Casey Antarctica/Davis Antarctica/Mawson Antarctica/Palmer Antarctica/Rothera Antarctica/Troll Asia/Urumqi Pacific/Auckland Pacific/Port_Moresby Asia/Riyadh Antarctica/McMurdo Antarctica/DumontDUrville Antarctica/Syowa Antarctica/Vostok","AR|America/Argentina/Buenos_Aires America/Argentina/Cordoba America/Argentina/Salta America/Argentina/Jujuy America/Argentina/Tucuman America/Argentina/Catamarca America/Argentina/La_Rioja America/Argentina/San_Juan America/Argentina/Mendoza America/Argentina/San_Luis America/Argentina/Rio_Gallegos America/Argentina/Ushuaia","AS|Pacific/Pago_Pago","AT|Europe/Vienna","AU|Australia/Lord_Howe Antarctica/Macquarie Australia/Hobart Australia/Melbourne Australia/Sydney Australia/Broken_Hill Australia/Brisbane Australia/Lindeman Australia/Adelaide Australia/Darwin Australia/Perth Australia/Eucla","AW|America/Puerto_Rico America/Aruba","AX|Europe/Helsinki Europe/Mariehamn","AZ|Asia/Baku","BA|Europe/Belgrade Europe/Sarajevo","BB|America/Barbados","BD|Asia/Dhaka","BE|Europe/Brussels","BF|Africa/Abidjan Africa/Ouagadougou","BG|Europe/Sofia","BH|Asia/Qatar Asia/Bahrain","BI|Africa/Maputo Africa/Bujumbura","BJ|Africa/Lagos Africa/Porto-Novo","BL|America/Puerto_Rico America/St_Barthelemy","BM|Atlantic/Bermuda","BN|Asia/Kuching Asia/Brunei","BO|America/La_Paz","BQ|America/Puerto_Rico America/Kralendijk","BR|America/Noronha America/Belem America/Fortaleza America/Recife America/Araguaina America/Maceio America/Bahia America/Sao_Paulo America/Campo_Grande America/Cuiaba America/Santarem America/Porto_Velho America/Boa_Vista America/Manaus America/Eirunepe America/Rio_Branco","BS|America/Toronto America/Nassau","BT|Asia/Thimphu","BW|Africa/Maputo Africa/Gaborone","BY|Europe/Minsk","BZ|America/Belize","CA|America/St_Johns America/Halifax America/Glace_Bay America/Moncton America/Goose_Bay America/Toronto America/Iqaluit America/Winnipeg America/Resolute America/Rankin_Inlet America/Regina America/Swift_Current America/Edmonton America/Cambridge_Bay America/Yellowknife America/Inuvik America/Dawson_Creek America/Fort_Nelson America/Whitehorse America/Dawson America/Vancouver America/Panama America/Puerto_Rico America/Phoenix America/Blanc-Sablon America/Atikokan America/Creston","CC|Asia/Yangon Indian/Cocos","CD|Africa/Maputo Africa/Lagos Africa/Kinshasa Africa/Lubumbashi","CF|Africa/Lagos Africa/Bangui","CG|Africa/Lagos Africa/Brazzaville","CH|Europe/Zurich","CI|Africa/Abidjan","CK|Pacific/Rarotonga","CL|America/Santiago America/Punta_Arenas Pacific/Easter","CM|Africa/Lagos Africa/Douala","CN|Asia/Shanghai Asia/Urumqi","CO|America/Bogota","CR|America/Costa_Rica","CU|America/Havana","CV|Atlantic/Cape_Verde","CW|America/Puerto_Rico America/Curacao","CX|Asia/Bangkok Indian/Christmas","CY|Asia/Nicosia Asia/Famagusta","CZ|Europe/Prague","DE|Europe/Zurich Europe/Berlin Europe/Busingen","DJ|Africa/Nairobi Africa/Djibouti","DK|Europe/Berlin Europe/Copenhagen","DM|America/Puerto_Rico America/Dominica","DO|America/Santo_Domingo","DZ|Africa/Algiers","EC|America/Guayaquil Pacific/Galapagos","EE|Europe/Tallinn","EG|Africa/Cairo","EH|Africa/El_Aaiun","ER|Africa/Nairobi Africa/Asmara","ES|Europe/Madrid Africa/Ceuta Atlantic/Canary","ET|Africa/Nairobi Africa/Addis_Ababa","FI|Europe/Helsinki","FJ|Pacific/Fiji","FK|Atlantic/Stanley","FM|Pacific/Kosrae Pacific/Port_Moresby Pacific/Guadalcanal Pacific/Chuuk Pacific/Pohnpei","FO|Atlantic/Faroe","FR|Europe/Paris","GA|Africa/Lagos Africa/Libreville","GB|Europe/London","GD|America/Puerto_Rico America/Grenada","GE|Asia/Tbilisi","GF|America/Cayenne","GG|Europe/London
12473Europe/Guernsey","GH|Africa/Abidjan Africa/Accra","GI|Europe/Gibraltar","GL|America/Nuuk America/Danmarkshavn America/Scoresbysund America/Thule","GM|Africa/Abidjan Africa/Banjul","GN|Africa/Abidjan Africa/Conakry","GP|America/Puerto_Rico America/Guadeloupe","GQ|Africa/Lagos Africa/Malabo","GR|Europe/Athens","GS|Atlantic/South_Georgia","GT|America/Guatemala","GU|Pacific/Guam","GW|Africa/Bissau","GY|America/Guyana","HK|Asia/Hong_Kong","HN|America/Tegucigalpa","HR|Europe/Belgrade Europe/Zagreb","HT|America/Port-au-Prince","HU|Europe/Budapest","ID|Asia/Jakarta Asia/Pontianak Asia/Makassar Asia/Jayapura","IE|Europe/Dublin","IL|Asia/Jerusalem","IM|Europe/London Europe/Isle_of_Man","IN|Asia/Kolkata","IO|Indian/Chagos","IQ|Asia/Baghdad","IR|Asia/Tehran","IS|Africa/Abidjan Atlantic/Reykjavik","IT|Europe/Rome","JE|Europe/London Europe/Jersey","JM|America/Jamaica","JO|Asia/Amman","JP|Asia/Tokyo","KE|Africa/Nairobi","KG|Asia/Bishkek","KH|Asia/Bangkok Asia/Phnom_Penh","KI|Pacific/Tarawa Pacific/Kanton Pacific/Kiritimati","KM|Africa/Nairobi Indian/Comoro","KN|America/Puerto_Rico America/St_Kitts","KP|Asia/Pyongyang","KR|Asia/Seoul","KW|Asia/Riyadh Asia/Kuwait","KY|America/Panama America/Cayman","KZ|Asia/Almaty Asia/Qyzylorda Asia/Qostanay Asia/Aqtobe Asia/Aqtau Asia/Atyrau Asia/Oral","LA|Asia/Bangkok Asia/Vientiane","LB|Asia/Beirut","LC|America/Puerto_Rico America/St_Lucia","LI|Europe/Zurich Europe/Vaduz","LK|Asia/Colombo","LR|Africa/Monrovia","LS|Africa/Johannesburg Africa/Maseru","LT|Europe/Vilnius","LU|Europe/Brussels Europe/Luxembourg","LV|Europe/Riga","LY|Africa/Tripoli","MA|Africa/Casablanca","MC|Europe/Paris Europe/Monaco","MD|Europe/Chisinau","ME|Europe/Belgrade Europe/Podgorica","MF|America/Puerto_Rico America/Marigot","MG|Africa/Nairobi Indian/Antananarivo","MH|Pacific/Tarawa Pacific/Kwajalein Pacific/Majuro","MK|Europe/Belgrade Europe/Skopje","ML|Africa/Abidjan Africa/Bamako","MM|Asia/Yangon","MN|Asia/Ulaanbaatar Asia/Hovd Asia/Choibalsan","MO|Asia/Macau","MP|Pacific/Guam Pacific/Saipan","MQ|America/Martinique","MR|Africa/Abidjan Africa/Nouakchott","MS|America/Puerto_Rico America/Montserrat","MT|Europe/Malta","MU|Indian/Mauritius","MV|Indian/Maldives","MW|Africa/Maputo Africa/Blantyre","MX|America/Mexico_City America/Cancun America/Merida America/Monterrey America/Matamoros America/Chihuahua America/Ciudad_Juarez America/Ojinaga America/Mazatlan America/Bahia_Banderas America/Hermosillo America/Tijuana","MY|Asia/Kuching Asia/Singapore Asia/Kuala_Lumpur","MZ|Africa/Maputo","NA|Africa/Windhoek","NC|Pacific/Noumea","NE|Africa/Lagos Africa/Niamey","NF|Pacific/Norfolk","NG|Africa/Lagos","NI|America/Managua","NL|Europe/Brussels Europe/Amsterdam","NO|Europe/Berlin Europe/Oslo","NP|Asia/Kathmandu","NR|Pacific/Nauru","NU|Pacific/Niue","NZ|Pacific/Auckland Pacific/Chatham","OM|Asia/Dubai Asia/Muscat","PA|America/Panama","PE|America/Lima","PF|Pacific/Tahiti Pacific/Marquesas Pacific/Gambier","PG|Pacific/Port_Moresby Pacific/Bougainville","PH|Asia/Manila","PK|Asia/Karachi","PL|Europe/Warsaw","PM|America/Miquelon","PN|Pacific/Pitcairn","PR|America/Puerto_Rico","PS|Asia/Gaza Asia/Hebron","PT|Europe/Lisbon Atlantic/Madeira Atlantic/Azores","PW|Pacific/Palau","PY|America/Asuncion","QA|Asia/Qatar","RE|Asia/Dubai Indian/Reunion","RO|Europe/Bucharest","RS|Europe/Belgrade","RU|Europe/Kaliningrad Europe/Moscow Europe/Simferopol Europe/Kirov Europe/Volgograd Europe/Astrakhan Europe/Saratov Europe/Ulyanovsk Europe/Samara Asia/Yekaterinburg Asia/Omsk Asia/Novosibirsk Asia/Barnaul Asia/Tomsk Asia/Novokuznetsk Asia/Krasnoyarsk Asia/Irkutsk Asia/Chita Asia/Yakutsk Asia/Khandyga Asia/Vladivostok Asia/Ust-Nera Asia/Magadan Asia/Sakhalin Asia/Srednekolymsk Asia/Kamchatka Asia/Anadyr","RW|Africa/Maputo Africa/Kigali","SA|Asia/Riyadh","SB|Pacific/Guadalcanal","SC|Asia/Dubai Indian/Mahe","SD|Africa/Khartoum","SE|Europe/Berlin Europe/Stockholm","SG|Asia/Singapore","SH|Africa/Abidjan Atlantic/St_Helena","SI|Europe/Belgrade Europe/Ljubljana","SJ|Europe/Berlin Arctic/Longyearbyen","SK|Europe/Prague Europe/Bratislava","SL|Africa/Abidjan Africa/Freetown","SM|Europe/Rome Europe/San_Marino","SN|Africa/Abidjan Africa/Dakar","SO|Africa/Nairobi Africa/Mogadishu","SR|America/Paramaribo","SS|Africa/Juba","ST|Africa/Sao_Tome","SV|America/El_Salvador","SX|America/Puerto_Rico America/Lower_Princes","SY|Asia/Damascus","SZ|Africa/Johannesburg Africa/Mbabane","TC|America/Grand_Turk","TD|Africa/Ndjamena","TF|Asia/Dubai Indian/Maldives Indian/Kerguelen","TG|Africa/Abidjan Africa/Lome","TH|Asia/Bangkok","TJ|Asia/Dushanbe","TK|Pacific/Fakaofo","TL|Asia/Dili","TM|Asia/Ashgabat","TN|Africa/Tunis","TO|Pacific/Tongatapu","TR|Europe/Istanbul","TT|America/Puerto_Rico America/Port_of_Spain","TV|Pacific/Tarawa Pacific/Funafuti","TW|Asia/Taipei","TZ|Africa/Nairobi Africa/Dar_es_Salaam","UA|Europe/Simferopol Europe/Kyiv","UG|Africa/Nairobi Africa/Kampala","UM|Pacific/Pago_Pago Pacific/Tarawa Pacific/Honolulu Pacific/Midway Pacific/Wake","US|America/Ne
12473w_York America/Detroit America/Kentucky/Louisville America/Kentucky/Monticello America/Indiana/Indianapolis America/Indiana/Vincennes America/Indiana/Winamac America/Indiana/Marengo America/Indiana/Petersburg America/Indiana/Vevay America/Chicago America/Indiana/Tell_City America/Indiana/Knox America/Menominee America/North_Dakota/Center America/North_Dakota/New_Salem America/North_Dakota/Beulah America/Denver America/Boise America/Phoenix America/Los_Angeles America/Anchorage America/Juneau America/Sitka America/Metlakatla America/Yakutat America/Nome America/Adak Pacific/Honolulu","UY|America/Montevideo","UZ|Asia/Samarkand Asia/Tashkent","VA|Europe/Rome Europe/Vatican","VC|America/Puerto_Rico America/St_Vincent","VE|America/Caracas","VG|America/Puerto_Rico America/Tortola","VI|America/Puerto_Rico America/St_Thomas","VN|Asia/Bangkok Asia/Ho_Chi_Minh","VU|Pacific/Efate","WF|Pacific/Tarawa Pacific/Wallis","WS|Pacific/Apia","YE|Asia/Riyadh Asia/Aden","YT|Africa/Nairobi Indian/Mayotte","ZA|Africa/Johannesburg","ZM|Africa/Maputo Africa/Lusaka","ZW|Africa/Maputo Africa/Harare"]}),i}); 12474�(function($){ 12475 $.fn.validationEngineLanguage = function(){ 12476 }; 12477 $.validationEngineLanguage = { 12478 newLang: function(){ 12479 $.validationEngineLanguage.allRules = { 12480 "required": { // Add your regex rules here, you can take telephone as an example 12481 "regex": "none", 12482 "alertText": "* " + _("This field is required"), 12483 "alertTextCheckboxMultiple": "* " + _("Please select an option"), 12484 "alertTextCheckboxe": "* " + _("This checkbox is required"), 12485 "alertTextDateRange": "* " + _("Both date range fields are required") 12486 }, 12487 "dateRange": { 12488 "regex": "none", 12489 "alertText": "* " + _("Invalid") + " ", 12490 "alertText2": _("Date Range") 12491 }, 12492 "dateTimeRange": { 12493 "regex": "none", 12494 "alertText": "* " + _("Invalid") + " ", 12495 "alertText2": _("Date Time Range") 12496 }, 12497 //NETSAPIENS: added time range 12498 "timeRange": { 12499 "regex": "none", 12500 "alertText": "* " + _("Invalid") + " ", 12501 "alertText2": _("Time Range") 12502 }, 12503 "minSize": { 12504 "regex": "none", 12505 "alertText": "* " + _("Minimum") + " ", 12506 "alertText2": " " + _("characters required") 12507 }, 12508 "maxSize": { 12509 "regex": "none", 12510 "alertText": "* " + _("Maximum") + " ", 12511 "alertText2": " " + _("characters allowed") 12512 }, 12513 "groupRequired": { 12514 "regex": "none", 12515 "alertText": "* " + _("You must fill one of the following fields") 12516 }, 12517 "min": { 12518 "regex": "none", 12519 "alertText": "* " + _("Minimum value is") + " " 12520 }, 12521 "max": { 12522 "regex": "none", 12523 "alertText": "* " + _("Maximum value is") + " " 12524 }, 12525 "past": { 12526 "regex": "none", 12527 "alertText": "* " + _("Date prior to") + " " 12528 }, 12529 "future": { 12530 "regex": "none", 12531 "alertText": "* " + _("Date past") + " " 12532 }, 12533 "maxCheckbox": { 12534 "regex": "none", 12535 "alertText": "* " + _("Maximum") + " ", 12536 "alertText2": " " + _("options allowed") 12537 }, 12538 "minCheckbox": { 12539 "regex": "none", 12540 "alertText": "* " + _("Select at least") + " ", 12541 "alertText2": " " + _("option") 12542 }, 12543 "minDateCount": { 12544 "regex": "none", 12545 "alertText": "* " + _("Select at least one date"), 12546 }, 12547 "minHolidayCount": { 12548 "regex": "none", 12549 "alertText": "* " + _("Select at least one holiday"),
12550 }, 12551 "maxWeekendCount": { 12552 "regex": "none", 12553 "alertText": "* " + _("Maximum of ") + " ", 12554 "alertText2": " " + _("weekend days") 12555 }, 12556 "minWeekendCount": { 12557 "regex": "none", 12558 "alertText": "* " + _("Minimum of ") + " ", 12559 "alertText2": " " + _("weekend days") 12560 }, 12561 "badTime": { 12562 "regex": "none", 12563 "alertText": "* " + _("The second time is not after the first"), 12564 }, 12565 "badTimeOverlap": { 12566 "regex": "none", 12567 "alertText": "* " + _("The time ranges overlap"), 12568 }, 12569 "badExtensionField": { 12570 "regex": "none", 12571 "alertText": "* " + _("No matches found!"), 12572 }, 12573 "badDateFormat": { 12574 "regex": "none", 12575 "alertText": "* " + _("Invalid date format") 12576 }, 12577 "badDate": { 12578 "regex": "none", 12579 "alertText": "* " + _("The second date is not after the first"), 12580 }, 12581 "badHolidayEndDate": { 12582 "regex": "none", 12583 "alertText": "* " + _("The end date is not after the holiday dates"), 12584 }, 12585 "badSdateEndDate": { 12586 "regex": "none", 12587 "alertText": "* " + _("The end date is not after the latest date"), 12588 }, 12589 "badDOWEndDate": { 12590 "regex": "none", 12591 "alertText": "* " + _("The end date is not after the start date"), 12592 }, 12593 "equals": { 12594 "regex": "none", 12595 "alertText": "* " + _("Fields do not match") 12596 }, 12597 "notEquals": { 12598 "regex": "none", 12599 "alertText": "* " + _("Fields must not match") 12600 }, 12601 "phone": { 12602 // credit: jquery.h5validate.js / orefalo 12603 // "regex": /^([\+][0-9]{1,3}[ \.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[ ]?[0-9]{1,4})?$/, 12604 "regex": /([0-9\s\-]{7,})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?$/, // recognizes + or 011 beginnings , min = 7 , max = nomax 12605 "alertText": "* " + _("Invalid phone number") 12606 }, 12607 "email": { 12608 "regex": /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,12}$/i, 12609 "alertText": "* " + _("Invalid email address") 12610 }, 12611 "emails": { 12612 "regex": /^(|([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5}){1,25})+([;.](([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5}){1,25})+)*$/i, 12613 "alertText": "* " + _("Invalid email addresses") 12614 }, 12615 "integer": { 12616 "regex": /^[\-\+]?\d+$/, 12617 "alertText": "* " + _("Not a valid number") 12618 }, 12619 "number": { 12620 // Number, including positive, negative, and floating decimal. credit: orefalo 12621 "regex": /^[\-\+]?(([0-9]+)([\.,]([0-9]+))?|([\.,]([0-9]+))?)$/, 12622 "alertText": "* " + _("Invalid floating decimal number") 12623 }, 12624 "date": { 12625 "regex": /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/, 12626 "alertText": "* " + _("Invalid date, must be in YYYY-MM-DD format") 12627 }, 12628 // NETSAPIENS: added custom datepicker and time regex 12629 "datepicker": { 12630 "regex": '.*', 12631 "alertText": "* " + _("Invalid date, format must be {0}") 12632 }, 12633 "dateTimepicker": { 12634 "regex": '.*', 12635 "alertText": "* " + _("Invalid date, format must be {0}") 12636 }, 12637 "dataRangeValidate": { 12638 "url": "/portal/callhistory/validateField", 12639 "alertText": "* " + _("This phone extension already exists") 12640 }, 12641 "time": { 12642 "regex": /^([1-9]|1[0-2]):[0-5]\d\s+[ap]m$/i, 12643 "alertText": "* " + _("Invalid time, format must be HH:MM am/pm") 12644 }, 12645 "ipv4": { 12646 "regex": /^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/, 12647 "alertText": "* " + _("Invalid IP address") 12648 }, 12649 // NETSAPIENS: match a string with .mp3 or .wav at the end of it for filetype checking 12650 "onlyMp3wav": { 12651 "regex": /((.mp3)|(.wav)|(.WAV)|(.MP3))$/, 12652 "alertText": "* " + _(".MP3 or .WAV only") 12653 }, 12654 "onlJson": { 12655 "regex": /((.json)|(.JSON))$/, 12656 "alertText": "* " + _(".json only") 12657 }, 12658 "url": { 12659 "regex": /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i, 12660 "alertText": "* " + _("Invalid URL") 12661 }, 12662 "onlyNumberSp": { 12663 "regex": /^[0-9\ ]+$/,
12664 "alertText": "* " + _("Numbers only") 12665 }, 12666 "onlyNumbers": { 12667 "regex": /^\d+$/, 12668 "alertText": "* " + _("Numbers only") 12669 }, 12670 "onlyNumbersWC": { 12671 "regex": /^[0-9\ \*\[\]]+$/, 12672 "alertText": "* " + _("Numbers only") 12673 }, 12674 "onlyLetterSp": { 12675 "regex": /^[a-zA-ZÃ-ÿ\ \']+$/, 12676 "alertText": "* " + _("Letters only") 12677 }, 12678 "onlyLetterNumber": { 12679 "regex": /^[0-9a-zA-ZÃ-ÿ]+$/, 12680 "alertText": "* " + _("No spaces or special characters allowed") 12681 }, 12682 "phonenumberString": { 12683 "regex": /^[0-9a-zA-Z ()-]+$/, 12684 "alertText": "* " + _("Please enter a single phone number") 12685 }, 12686 "validTimeFormat": { 12687 "regex": /^(?!.*--)(?:(?:[0-9]{1,2}.[0-9]{2}\s?(?:AM|PM|am|pm)?)?(?:\s?-?\s?[0-9]{1,2}.[0-9]{2}\s?(?:AM|PM|am|pm)?)?)?$|^$/, 12688 "alertText": "* " + _("Please enter a valid time format") 12689 }, 12690 // letters, numbers, spaces and underscores 12691 "onlyLetterNumberSp": { 12692 "regex": /^\w[\ \w]*$/, 12693 "alertText": "* " + _("No special characters allowed") 12694 }, 12695 "onlyLetterNumberSpDotUnder": { 12696 "regex": /^[0-9a-zA-ZÃ-ÿ._ ]+$/, 12697 "alertText": "* " + _("No special characters allowed") 12698 }, 12699 "onlyLetterNumberSpDashUnder": { 12700 "regex": /^[0-9a-zA-ZÃ-ÿ\ _-]+$/, 12701 "alertText": "* " + _("No special characters allowed") 12702 }, 12703 "onlyLetterNumberDotDashUnder": { 12704 "regex": /^[0-9a-zA-ZÃ-ÿ._-]+$/, 12705 "alertText": "* " + _("No special characters or spaces allowed") 12706 }, 12707 "onlyLetterNumberDot": { 12708 "regex": /^[0-9a-zA-ZÃ-ÿ.]+$/, 12709 "alertText": "* " + _("No special characters except dots allowed") 12710 }, 12711 "onlyLetterNumberDotDash": { 12712 "regex": /^[0-9a-zA-ZÃ-ÿ.\-]+$/, 12713 "alertText": "* " + _("No special characters except hyphens and dots allowed") 12714 }, 12715 "onlyLetterStart": { 12716 "regex": /^[a-zA-Z]/, 12717 "alertText": "* " + _("Must start with a letter") 12718 }, 12719 // "onlyLetterNumberDotNoFrontNumber": { 12720 // "regex": /^[a-zA-Z]([a-zA-Z0-9.]+)*$/, 12721 // "alertText": "* " + _("No special characters except dots allowed. Must start with a letter") 12722 // }, 12723 "onlyLetterNumberUnderHash": { 12724 "regex": /^[0-9a-zA-ZÃ-ÿ#_]+$/, 12725 "alertText": "* " + _("No special characters or spaces other than _ or #") 12726 }, 12727 "onlyLetterNumberDotDashUnderSpFwd": { 12728 "regex": /^[0-9a-zA-ZÃ-ÿ._ /-]+$/, 12729 "alertText": "* " + _("No special characters other than spaces, dots, hyphens, underscores or forward slashes") 12730 }, 12731 "onlyLetterNumberDotDashUnder": { 12732 "regex": /^[0-9a-zA-ZÃ-ÿ._-]+$/, 12733 "alertText": "* " + _("No special characters other than dots, hyphens & underscores") 12734 }, 12735 "onlyLetterNumberDashUnderSp": { 12736 "regex": /^[0-9a-zA-ZÃ-ÿ_ -]+$/, 12737 "alertText": "* " + _("No special characters other than hyphens, spaces & underscores") 12738 }, 12739 //NETSAPIESN: several custom regex below 12740 "ompPhoneNumber": { 12741 "regex": /^\w+$/, 12742 "alertText": "* " + _("Letters and numbers only") 12743 }, 12744 "option4validate": { 12745 "url": "/portal/timeframes/option4check/", 12746 "alertText": "* " + _("Please select at least 1 option"), 12747 "extraDataDynamic": ['#checkboxCnt','#from-0'] 12748 }, 12749 "currentPassword": { 12750 "url": "/portal/users/validateField", 12751 "alertText": "* " + _("The password provided is not val
12751id") 12752 }, 12753 "mfaPasscode": { 12754 "url": "/portal/users/validateField", 12755 "alertText": "* " + _("The passcode provided is not valid"), 12756 "extraDataDynamic": ['#mfa_key', '#mfa_vendor', '#mfa_type'] 12757 }, 12758 "newExtension": { 12759 "url": "/portal/users/validateField", 12760 "alertText": "* " + _("This extension is already in use") 12761 }, 12762 "newExtensionDynamic": { 12763 "url": "/portal/users/validateField/true", 12764 "alertText": "* " + _("This extension is already in use"), 12765 "extraDataDynamic": ['#createuser'] 12766 }, 12767 "newDomain": { 12768 "url": "/portal/domains/validateField", 12769 "alertText": "* " + _("This domain is already in use") 12770 }, 12771 "domainNotStar": { 12772 "url": "/portal/domains/validateNotStar/false", 12773 "alertText": "* " + _("This entry is invalid") 12774 }, 12775 "domainCompany": { 12776 "url": "/portal/domains/validateCompany", 12777 "alertText": "* " + _("This URL is already taken") 12778 }, 12779 "maxUser": { 12780 "url": "/portal/domains/validateField/maxUser", 12781 "alertText": "* " + _("Users already exceed the maximum allowed") 12782 }, 12783 "newReseller": { 12784 "url": "/portal/resellers/validateField", 12785 "alertText": "* " + _("This reseller is already in use") 12786 }, 12787 "newSchedule": { 12788 "url": "/portal/cdrschedule/validateField", 12789 "alertText": "* " + _("This schedule is already in use") 12790 }, 12791 "newAddressEndpoint": { 12792 "url": "/portal/inventory/validateField", 12793 "alertText": "* " + _("This call back number is already in use") 12794 }, 12795 "newTimeFrame": { 12796 "url": "/portal/timeframes/validateField", 12797 "alertText": "* " + _("This name is already in use") 12798 }, 12799 "newDevice": { 12800 "url": "/portal/phones/validateField", 12801 "alertText": "* " + _("This phone extension already exists") 12802 }, 12803 "newSipTrunk": { 12804 "url": "/portal/siptrunks/validateField", 12805 "alertText": "* " + _("This sip trunk already exists") 12806 }, 12807 "newRouteProfile": { 12808 "url": "/portal/routeprofiles/validateField", 12809 "alertText": "* " + _("This route profile already exists") 12810 }, 12811 "newQueue": { 12812 "url": "/portal/callqueues/validateField", 12813 "alertText": "* " + _("This callqueue already exists") 12814 }, 12815 "newPhonenumber": { 12816 "url": "/portal/inventory/validateField", 12817 "alertText": "* " + _("This phone number already exists") 12818 }, 12819 "checkConfDevice": { 12820 "url": "/portal/conferences/validateField", 12821 "alertText": "* " + _("This extension already has a bridge") 12822 }, 12823 "checkConfPin": { 12824 "url": "/portal/conferences/validateField", 12825 "alertText": "* " + _("If leader pin is set, participant pin also needs to be set"), 12826 "extraDataDynamic": ['#ConferencePinLeader','#ConferencePinParticipant'] 12827 }, 12828 "agentAdd": { 12829 "url": "/portal/callqueues/validateField", 12830 "alertText": "* " + _("Please enter a valid users phone extension") 12831 }, 12832 "checkDeptNewSite": { 12833 "url": "/portal/users/checkSiteAndDept/true", 12834 "alertText": "* " + _("This name is already in use") 12835 }, 12836 "checkSiteNewDept": { 12837 "url": "/portal/users/checkSiteAndDept", 12838 "alertText": "* " + _("This name is already in use") 12839 }, 12840 "checkMac": { 12841 "url": "/portal/phones/checkMac", 12842 "alertText": _("This MAC Address is already in use"), 12843 }, 12844 "checkMacAdd": { 12845 "url": "/portal/phones/checkMac/1", 12846 "alertText": _("This MAC Address is already in use"), 12847 }, 12848 "checkMacSyntax": { 12849 "regex": /^(?:[0-9a-fA-F]{2}[:;.]?){6}$/, 12850 "alertText": "* " +_("Incorrect Format"), 12851 }, 12852 "checkTemplate": { 12853 "url": "/portal/inventory/checkTemplate", 12854 "alertText": _("This template name is already in use"), 12855 "extraDataDynamic": ["#new_pc_name"], 12856 "extraData": "", 12857 }, 12858 "noweakpass": { 12859 "url": "/portal/users/checkPassword", 12860 "alertText": "* " + _("Choose a stronger password"), 12861 "extraDataDynamic": ['#UserId','#UserExtension'] 12862 }, 12863 "validateSecurePwd": { 12864 "url": "/portal/resets/validateSecurePassword", 12865 "extraDataDynamic": ['#resetPassword', '#new-password'] 12866 }, 12867 "validateVMPin": { 12868 "url": "/portal/resets/validateVMPin", 12869 "extraDataDynamic": ['#resetVmPin', '#new-pin'] 12870 }, 12871 "ajaxMaxDays": { 12872 "url": "/portal/callhistory/checkrange", 12873 "extraDataDynamic": ['#from-0', '#to-0'], 12874 "alertText": "* " + _("The range is to large, please try a smaller window"), 12875 "onFailure": "alert('error');" 12876 }, 12877 12878 "ajaxMaxDaysCDR": { 12879 "url": "/portal/cdrschedule/checkrange", 12880 "extraDataDynamic": ['#from-0'], 12881 "alertText": "* " + _("The range is to large, please try a smaller window"), 12882 "onFailure": "alert('error')" 12883 }, 12884 12885 // --- CUSTOM RULES -- Those are specific to the demos, they can be removed or changed to your likings 12886 "ajaxUserCall": { 12887 "url": "ajaxValidateFieldUser", 12888 // you may want to pass extra data on the aja
12888x call 12889 "extraData": "name=eric", 12890 "alertText": "* " + _("This user is already taken"), 12891 "alertTextLoad": "* " + _("Validating, please wait") 12892 }, 12893 "ajaxUserCallPhp": { 12894 "url": "phpajax/ajaxValidateFieldUser.php", 12895 // you may want to pass extra data on the ajax call 12896 //"extraData": "name=eric", 12897 12898 // if you provide an "alertTextOk", it will show as a green prompt when the field validates 12899 "alertTextOk": "* " + _("This username is available"), 12900 "alertText": "* " + _("This user is already taken"), 12901 "alertTextLoad": "* " + _("Validating, please wait") 12902 }, 12903 "ajaxNameCall": { 12904 // remote json service location 12905 "url": "ajaxValidateFieldName", 12906 // error 12907 "alertText": "* " + _("This name is already taken"), 12908 // if you provide an "alertTextOk", it will show as a green prompt when the field validates 12909 "alertTextOk": "* " + _("This name is available"), 12910 // speaks by itself 12911 "alertTextLoad": "* " + _("Validating, please wait") 12912 }, 12913 "ajaxNameCallPhp": { 12914 // remote json service location 12915 "url": "phpajax/ajaxValidateFieldName.php", 12916 // error 12917 "alertText": "* " + _("This name is already taken"), 12918 // speaks by itself 12919 "alertTextLoad": "* " + _("Validating, please wait") 12920 }, 12921 "validate2fields": { 12922 "alertText": "* " + _("Please input HELLO") 12923 }, 12924 "validateRequireLeader": { 12925 "alertText": "* " + _("If \"Require a Leader to start\" is used, leader pin must be set.") 12926 }, 12927 //tls warning:homegrown not fielded 12928 "dateFormat":{ 12929 "regex": /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(?:(?:0?[1-9]|1[0-2])(\/|-)(?:0?[1-9]|1\d|2[0-8]))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(0?2(\/|-)29)(\/|-)(?:(?:0[48]00|[13579][26]00|[2468][048]00)|(?:\d\d)?(?:0[48]|[2468][048]|[13579][26]))$/, 12930 "alertText": "* " + _("Invalid Date") 12931 }, 12932 //tls warning:homegrown not fielded 12933 "dateTimeFormat": { 12934 "regex": /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1}$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^((1[012]|0?[1-9]){1}\/(0?[1-9]|[12][0-9]|3[01]){1}\/\d{2,4}\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1})$/, 12935 "alertText": "* " + _("Invalid Date or Date Format"), 12936 "alertText2": _("Expected Format:") + " ", 12937 "alertText3": _("mm/dd/yyyy hh:mm:ss AM|PM or") + " ", 12938 "alertText4": _("yyyy-mm-dd hh:mm:ss AM|PM") 12939 }, 12940 "addSSL": { 12941 "url": "/portal/uiconfigs/validateField", 12942 "alertTextLoad": "* " + _("Validating, please wait"), 12943 "extraDataDynamic": ['#UiconfigType'], 12944 12945 }, 12946 12947 //https://github.com/posabsolute/jQuery-Validation-Engine/blob/master/README.md 12948 }; 12949 12950 } 12951 }; 12952 12953 $.validationEngineLanguage.newLang(); 12954 12955})(jQuery); 12956 12957�/* 12958 * Inline Form Validation Engine 2.5, jQuery plugin 12959 * 12960 * Copyright(c) 2010, Cedric Dugas 12961 * http://www.position-absolute.com 12962 * 12963 * 2.0 Rewrite by Olivier Refalo 12964 * http://www.crionics.com 12965 * 12966 * Form validation engine allowing custom regex rules to be added. 12967 * Licensed under the MIT License 12968 */ 12969(function($) { 12970 12971 var methods = { 12972 12973 /** 12974 * Kind of the constructor, called before any action 12975 * @param {Map} user options 12976 */ 12977 init: function(options) { 12978 var form = this; 12979 if (!form.data('jqv') || form.data('jqv') == null ) { 12980 options = methods._saveOptions(form, options); 12981 // bind all formError elements to close on click 12982 $("body").on("click",".formError", function() { 12983 12984 $(this).fadeOut(150, function() { 12985 // remove prompt once invisible 12986 $(this).parent('.formErrorOuter').remove(); 12987 $(this).remove(); 12988 }); 12989 }); 12990 12991 } 12992 return this; 12993 }, 12994 /** 12995 * Attachs jQuery.validationEngine to form.submit and field.blur events 12996 * Takes an optional params: a list of options 12997 * ie. jQuery("#formID1").validationEngine('attach', {promptPosition : "centerRight"}); 12998 */ 12999 attach: function(userOptions) { 13000 13001 var form = this; 13002 var options; 13003 13004 if(userOptions) 13005 options = methods._saveOptions(form, userOptions); 13006 else 13007 options = form.data('jqv'); 13008
13009 var validateAttribute = (form.find("[data-validation-engine*=validate]")) ? "data-validation-engine" : "class"; 13010 13011 if (!options.binded) { 13012 if (options.bindMethod == "bind"){ 13013 13014 // bind fields 13015 form.find("[class*=validate]").not("[type=checkbox]").not("[type=radio]").not(".datepicker").bind(options.validationEventTrigger, methods._onFieldEvent); 13016 form.find("[class*=validate][type=checkbox],[class*=validate][type=radio]").bind("click", methods._onFieldEvent); 13017 form.find("[class*=validate][class*=datepicker]").bind(options.validationEventTrigger,{"delay": 300}, methods._onFieldEvent); 13018 13019 // bind form.submit 13020 form.bind("submit", methods._onSubmitEvent); 13021 } else if (options.bindMethod == "live") { 13022 // bind fields with LIVE (for persistant state) 13023 form.find("[class*=validate]").not("[type=checkbox]").not(".datepicker").live(options.validationEventTrigger, methods._onFieldEvent); 13024 form.find("[class*=validate][type=checkbox]").live("click", methods._onFieldEvent); 13025 form.find("[class*=validate][class*=datepicker]").live(options.validationEventTrigger,{"delay": 300}, methods._onFieldEvent); 13026 13027 // bind form.submit 13028 form.live("submit", methods._onSubmitEvent); 13029 } 13030 13031 options.binded = true; 13032 13033 if (options.autoPositionUpdate) { 13034 $(window).bind("resize", { 13035 "noAnimation": true, 13036 "formElem": form 13037 }, methods.updatePromptsPosition); 13038 } 13039 13040 } 13041 return this; 13042 }, 13043 /** 13044 * Unregisters any bindings that may point to jQuery.validaitonEngine 13045 */ 13046 detach: function() { 13047 var form = this; 13048 var options = form.data('jqv'); 13049 if (options.binded) { 13050 13051 // unbind fields 13052 form.find("[class*=validate]").not("[type=checkbox]").unbind(options.validationEventTrigger, methods._onFieldEvent); 13053 form.find("[class*=validate][type=checkbox],[class*=validate][type=radio]").unbind("click", methods._onFieldEvent); 13054 13055 // unbind form.submit 13056 form.unbind("submit", methods.onAjaxFormComplete); 13057 13058 // unbind live fields (kill) 13059 if (form.find("[class*=validate]").length && form.find("[class*=validate]").not("[type=checkbox]").length) 13060 form.find("[class*=validate]").not("[type=checkbox]").off(options.validationEventTrigger, methods._onFieldEvent); 13061 13062 if (form.find("[class*=validate][type=checkbox]").length) 13063 form.find("[class*=validate][type=checkbox]").off("click", methods._onFieldEvent); 13064 13065 13066 // unbind form.submit 13067 form.off("submit", methods.onAjaxFormComplete); 13068 13069 form.removeData('jqv'); 13070 13071 if (options.autoPositionUpdate) { 13072 $(window).unbind("resize", methods.updatePromptsPosition) 13073 } 13074 } 13075 return this; 13076 }, 13077 /** 13078 * Validates the form fields, shows prompts accordingly. 13079 * Note: There is no ajax form validation with this method, only field ajax validation are evaluated 13080 * 13081 * @return true if the form validates, false if it fails 13082 */ 13083 validate: function() { 13084 return methods._validateFields(this); 13085 }, 13086 /** 13087 * Validates one field, shows prompt accordingly. 13088 * Note: There is no ajax form validation with this method, only field ajax validation are evaluated 13089 * 13090 * @return false if the form validates, true if it fails 13091 */ 13092 validateField: function() { 13093 var element = $(this); 13094 13095 // field validation 13096 var form = element.closest('form'), 13097 options = (form.data('jqv')) ? form.data('jqv') : $.validationEngine.defaults, 13098 valid = methods._validateField(element, options); 13099 13100 return valid; 13101 }, 13102 /** 13103 * Validates the form fields, shows prompts accordingly. 13104 * Note: this methods performs fields and form ajax validations(if setup) 13105 * 13106 * @return true if the form validates, false if it fails, undefined if ajax is used for form validation 13107 */ 13108 validateform: function() { 13109 return methods._onSubmitEvent.call(this); 13110 }, 13111 /** 13112 * Redraw prompts position, useful when you change the DOM state when validating 13113 */ 13114 updatePromptsPosition: function(event) { 13115 13116 if (event && this == window) 13117 var form = event.data.formElem, noAnimation = event.data.noAnimation; 13118 else 13119 var form = $(this.closest('form')); 13120 13121 var options = form.data('jqv'); 13122 // No option, take default one 13123 form.find('[class*=validate]').not(':hidden').not(":disabled").each(function(){ 13124 var field = $(this); 13125 var prompt = methods._getPrompt(field); 13126 var promptText = $(prompt).find(".formErrorContent").html(); 13127 13128 if(prompt) 13129 methods._updatePrompt(field, $(prompt), promptText, undefined, false, options, noAnimation); 13130 }) 13131 return this; 13132 }, 13133 /**
13134 * Displays a prompt on a element. 13135 * Note that the element needs an id! 13136 * 13137 * @param {String} promptText html text to display type 13138 * @param {String} type the type of bubble: 'pass' (green), 'load' (black) anything else (red) 13139 * @param {String} possible values topLeft, topRight, bottomLeft, centerRight, bottomRight 13140 */ 13141 showPrompt: function(promptText, type, promptPosition, showArrow) { 13142 13143 var form = this.closest('form'); 13144 var options = form.data('jqv'); 13145 // No option, take default one 13146 if(!options) options = methods._saveOptions(this, options); 13147 if(promptPosition) 13148 options.promptPosition=promptPosition; 13149 options.showArrow = showArrow==true; 13150 13151 methods._showPrompt(this, promptText, type, false, options); 13152 return this; 13153 }, 13154 /** 13155 * Closes all error prompts on the page 13156 */ 13157 hidePrompt: function() { 13158 var promptClass = "."+ methods._getClassName($(this).attr("id")) + "formError"; 13159 $(promptClass).fadeTo("fast", 0.3, function() { 13160 $(this).parent('.formErrorOuter').remove(); 13161 $(this).remove(); 13162 }); 13163 return this; 13164 }, 13165 /** 13166 * Closes form error prompts, CAN be invidual 13167 */ 13168 hide: function() { 13169 var closingtag; 13170 if($(this).is("form")){ 13171 closingtag = "parentForm"+methods._getClassName($(this).attr("id")); 13172 }else{ 13173 closingtag = methods._getClassName($(this).attr("id")) +"formError"; 13174 } 13175 $('.'+closingtag).fadeTo("fast", 0.3, function() { 13176 $(this).parent('.formErrorOuter').remove(); 13177 $(this).remove(); 13178 }); 13179 return this; 13180 }, 13181 /** 13182 * Closes all error prompts on the page 13183 */ 13184 hideAll: function() { 13185 $('.formError').fadeTo("fast", 0.3, function() { 13186 $(this).parent('.formErrorOuter').remove(); 13187 $(this).remove(); 13188 }); 13189 return this; 13190 }, 13191 /** 13192 * Typically called when user exists a field using tab or a mouse click, triggers a field 13193 * validation 13194 */ 13195 _onFieldEvent: function(event) { 13196 var field = $(this); 13197 var form = field.closest('form'); 13198 var options = form.data('jqv'); 13199 // validate the current field 13200 window.setTimeout(function() { 13201 methods._validateField(field, options); 13202 if (options.InvalidFields.length == 0 && options.onSuccess) { 13203 options.onSuccess(); 13204 } else if (options.InvalidFields.length > 0 && options.onFailure) { 13205 options.onFailure(); 13206 } 13207 }, (event.data) ? event.data.delay : 0); 13208 13209 }, 13210 /** 13211 * Called when the form is submited, shows prompts accordingly 13212 * 13213 * @param {jqObject} 13214 * form 13215 * @return false if form submission needs to be cancelled 13216 */ 13217 _onSubmitEvent: function() { 13218 var form = $(this); 13219 var options = form.data('jqv'); 13220 13221 // validate each field (- skip field ajax validation, no necessary since we will perform an ajax form validation) 13222 var r=methods._validateFields(form, true, true); 13223 13224 if (r && options.ajaxFormValidation) { 13225 methods._validateFormWithAjax(form, options); 13226 return false; 13227 } 13228 13229 if(options.onValidationComplete) { 13230 //#NETSAPIENS: patched from validationEngine 2.6 13231 return !!options.onValidationComplete(form, r); 13232 } 13233 return r; 13234 }, 13235 13236 /** 13237 * Return true if the ajax field validations passed so far 13238 * @param {Object} options 13239 * @return true, is all ajax validation passed so far (remember aja
13239x is async) 13240 */ 13241 _checkAjaxStatus: function(options) { 13242 var status = true; 13243 $.each(options.ajaxValidCache, function(key, value) { 13244 if (!value) { 13245 status = false; 13246 // break the each 13247 return false; 13248 } 13249 }); 13250 return status; 13251 }, 13252 /** 13253 * Validates form fields, shows prompts accordingly 13254 * 13255 * @param {jqObject} 13256 * form 13257 * @param {skipAjaxFieldValidation} 13258 * boolean - when set to true, ajax field validation is skipped, typically used when the submit button is clicked 13259 * 13260 * @return true if form is valid, false if not, undefined if ajax form validation is done 13261 */ 13262 _validateFields: function(form, submitEvent) { 13263 var options = form.data('jqv'); 13264 13265 // this variable is set to true if an error is found 13266 var errorFound = false; 13267 13268 // Trigger hook, start validation 13269 form.trigger("jqv.form.validating"); 13270 // first, evaluate status of non ajax fields 13271 var first_err=null; 13272 form.find('[class*=validate]').not(':hidden').not(":disabled").each( function() { 13273 var field = $(this); 13274 errorFound |= methods._validateField(field, options, submitEvent); 13275 // NETSAPIENS: fixes the datepicker from popping up after validation 13276 //field.focus(); 13277 if (options.doNotShowAllErrosOnSubmit) 13278 return false; 13279 if (errorFound && first_err===null) first_err=field; 13280 }); 13281 // second, check to see if all ajax calls completed ok 13282 errorFound |= !methods._checkAjaxStatus(options); 13283 13284 // thrird, check status and scroll the container accordingly 13285 form.trigger("jqv.form.result", [errorFound]); 13286 13287 if (errorFound) { 13288 if (options.scroll) { 13289 var destination=first_err.offset().top; 13290 var fixleft = first_err.offset().left; 13291 13292 //prompt positioning adjustment support. Usage: positionType:Xshift,Yshift (for ex.: bottomLeft:+20 or bottomLeft:-20,+10) 13293 var positionType=options.promptPosition; 13294 if (typeof(positionType)=='string') { 13295 if (positionType.indexOf(":")!=-1) { 13296 positionType=positionType.substring(0,positionType.indexOf(":")); 13297 } 13298 } 13299 13300 if (positionType!="bottomRight"&& 13301 positionType!="bottomLeft") { 13302 var prompt_err= methods._getPrompt(first_err); 13303 destination=prompt_err.offset().top; 13304 } 13305 13306 // get the position of the first error, there should be at least one, no need to check this 13307 //var destination = form.find(".formError:not('.greenPopup'):first").offset().top; 13308 if (options.isOverflown) { 13309 var overflowDIV = $(options.overflownDIV); 13310 if(!overflowDIV.length) return false; 13311 var scrollContainerScroll = overflowDIV.scrollTop(); 13312 var scrollContainerPos = -parseInt(overflowDIV.offset().top); 13313 13314 destination += scrollContainerScroll + scrollContainerPos - 5; 13315 var scrollContainer = $(options.overflownDIV + ":not(:animated)"); 13316 13317 scrollContainer.animate({ scrollTop: destination }, 1100); 13318 }else{ 13319 $("html:not(:animated),body:not(:animated)").animate({ 13320 scrollTop: destination, 13321 scrollLeft: fixleft 13322 }, 1100, function(){ 13323 if(options.focusFirstField && first_err) first_err.focus(); 13324 }); 13325 } 13326 13327 } else if(options.focusFirstField && first_err) 13328 first_err.focus(); 13329 return false;
13330 } 13331 return true; 13332 }, 13333 /** 13334 * This method is called to perform an ajax form validation. 13335 * During this process all the (field, value) pairs are sent to the server which returns a list of invalid fields or true 13336 * 13337 * @param {jqObject} form 13338 * @param {Map} options 13339 */ 13340 _validateFormWithAjax: function(form, options) { 13341 13342 var data = form.serialize(); 13343 var url = (options.ajaxFormValidationURL) ? options.ajaxFormValidationURL : form.attr("action"); 13344 $.ajax({ 13345 type: "GET", 13346 url: url, 13347 cache: false, 13348 dataType: "json", 13349 data: data, 13350 form: form, 13351 methods: methods, 13352 options: options, 13353 beforeSend: function() { 13354 return options.onBeforeAjaxFormValidation(form, options); 13355 }, 13356 error: function(data, transport) { 13357 methods._ajaxError(data, transport); 13358 }, 13359 success: function(json) { 13360 13361 if (json !== true) { 13362 13363 // getting to this case doesn't necessary means that the form is invalid 13364 // the server may return green or closing prompt actions 13365 // this flag helps figuring it out 13366 var errorInForm=false; 13367 for (var i = 0; i < json.length; i++) { 13368 var value = json[i]; 13369 13370 var errorFieldId = value[0]; 13371 var errorField = $($("#" + errorFieldId)[0]); 13372 13373 // make sure we found the element 13374 if (errorField.length == 1) { 13375 13376 // promptText or selector 13377 var msg = value[2]; 13378 // if the field is valid 13379 if (value[1] === true) { 13380 13381 if (msg === "" || !msg){ 13382 // if for some reason, status==true and error="", just close the prompt 13383 methods._closePrompt(errorField); 13384 } else { 13385 // the field is valid, but we are displaying a green prompt 13386 if (options.allrules[msg]) { 13387 var txt = options.allrules[msg].alertTextOk; 13388 if (txt) 13389 msg = txt; 13390 } 13391 methods._showPrompt(errorField, msg, "pass", false, options, true); 13392 } 13393 13394 } else { 13395 // the field is invalid, show the red error prompt 13396 errorInForm|=true; 13397 if (options.allrules[msg]) { 13398 var txt = options.allrules[msg].alertText; 13399 if (txt) 13400 msg = txt; 13401 } 13402 methods._showPrompt(errorField, msg, "", false, options, true); 13403 } 13404 } 13405 } 13406 options.onAjaxFormComplete(!errorInForm, form, json, options); 13407 } else 13408 options.onAjaxFormComplete(true, form, "", options); 13409 } 13410 }); 13411 13412 }, 13413 /** 13414 * Validates field, shows prompts accordingly 13415 * 13416 * @param {jqObject} 13417 * field 13418 * @param {Array[String]} 13419 * field's validation rules 13420 * @param {Map} 13421 * user options 13422 * @return true if field is valid 13423 */ 13424 _validateField: function(field, options, submitEvent) { 13425 if (!field.attr("id")) 13426 $.error("jQueryValidate: an ID attribute is required for this field: " + field.attr("name") + " class:" + 13427 field.attr("class")); 13428 13429 var rulesParsing = field.attr('class'); 13430 var getRules = /validate\[(.*)\]/.exec(rulesParsing); 13431 13432 if (!getRules) 13433 return false;
13434 var str = getRules[1]; 13435 var rules = str.split(/\[|,|\]/); 13436 13437 // true if we ran the ajax validation, tells the logic to stop messing with prompts 13438 var isAjaxValidator = false; 13439 var fieldName = field.attr("rel"); //NETSAPIENS: changed selector from 'name' to 'rel' 13440 var promptText = ""; 13441 var promptType = ""; //NETSAPIENS: added promptType from 2.6.2 for ajax 13442 var isAjax = false; //NETSAPIENS: to prevent double prompts conflict with inline ajax[] fields 13443 var required = false; 13444 options.isError = false; 13445 options.showArrow = true; 13446 13447 var form = $(field.closest("form")); 13448 13449 for (var i = 0; i < rules.length; i++) { 13450 // Fix for adding spaces in the rules 13451 rules[i] = rules[i].replace(" ", ""); 13452 var errorMsg = undefined; 13453 switch (rules[i]) { 13454 13455 case "required": 13456 required = true; 13457 errorMsg = methods._required(field, rules, i, options); 13458 break; 13459 case "custom": 13460 errorMsg = methods._customRegex(field, rules, i, options); 13461 break; 13462 case "groupRequired": 13463 // Check is its the first of group, if not, reload validation with first field 13464 // AND continue normal validation on present field 13465 var classGroup = "[class*=" +rules[i + 1] +"]"; 13466 var firstOfGroup = form.find(classGroup).eq(0); 13467 if(firstOfGroup[0] != field[0]){ 13468 methods._validateField(firstOfGroup, options, submitEvent); 13469 options.showArrow = true; 13470 continue; 13471 } 13472 errorMsg = methods._groupRequired(field, rules, i, options); 13473 if(errorMsg) required = true; 13474 options.showArrow = false; 13475 break; 13476 case "ajax": 13477 // NETSAPIENS: patched from 2.6.2 13478 // AJAX defaults to returning it's loading message 13479 //errorMsg = methods._ajax(field, rules, i, options, submitEvent); 13480 //if (errorMsg) { 13481 // promptType = "load"; 13482 //} 13483 //methods._ajax(field, rules, i, options, submitEvent); 13484 13485 isAjax = true; 13486 var ajaxIdx = i; 13487 13488 break; 13489 case "minSize": 13490 errorMsg = methods._minSize(field, rules, i, options); 13491 break; 13492 case "maxSize": 13493 errorMsg = methods._maxSize(field, rules, i, options); 13494 break; 13495 case "min": 13496 errorMsg = methods._min(field, rules, i, options); 13497 break; 13498 case "max": 13499 errorMsg = methods._max(field, rules, i, options); 13500 break; 13501 case "past": 13502 errorMsg = methods._past(field, rules, i, options); 13503 break; 13504 case "future": 13505 errorMsg = methods._future(field, rules, i, options); 13506 break; 13507 case "dateRange": 13508 var classGroup = "[class*=" + rules[i + 1] + "]"; 13509 var firstOfGroup = form.find(classGroup).eq(0); 13510 var secondOfGroup = form.find(classGroup).eq(1); 13511 13512 //if one entry out of the pair has value then proceed to run through validation 13513 if (firstOfGroup[0].value || secondOfGroup[0].value) { 13514 errorMsg = methods._dateRange(firstOfGroup, secondOfGroup, rules, i, options); 13515 } 13516 if (errorMsg) required = true; 13517 //NETSAPIENS: changed showArrow from 'false' to 'true' 13518 options.showArrow = true; 13519 break; 13520 13521 case "dateTimeRange": 13522 var classGroup = "[class*=" + rules[i + 1] + "]"; 13523 var firstOfGroup = form.find(classGroup).eq(0); 13524 var secondOfGroup = form.find(classGroup).eq(1); 13525 13526 //if one entry out of the pair has value then proceed to run through validation 13527 if (firstOfGroup[0].value || secondOfGroup[0].value) { 13528 errorMsg = methods._dateTimeRange(firstOfGroup, secondOfGroup, rules, i, options); 13529 } 13530 if (errorMsg) required = true; 13531 options.showArrow = false;
13532 break; 13533 //NETSAPIENS: custom case for time range 13534 case "timeRange": 13535 var classGroup = "[class*=" + rules[i + 1] + "]"; 13536 var firstOfGroup = form.find(classGroup).eq(0); 13537 var secondOfGroup = form.find(classGroup).eq(1); 13538 13539 //if one entry out of the pair has value then proceed to run through validation 13540 if (firstOfGroup[0].value || secondOfGroup[0].value) { 13541 errorMsg = methods._timeRange(firstOfGroup, secondOfGroup, rules, i, options); 13542 } 13543 if (errorMsg) required = true; 13544 options.showArrow = true; 13545 break; 13546 //NETSAPIENS: changed selector from 'name' to 'rel' 13547 case "maxCheckbox": 13548 errorMsg = methods._maxCheckbox(form, field, rules, i, options); 13549 field = $(form.find("input[rel='" + fieldName + "']")); 13550 break; 13551 //NETSAPIENS: changed selector from 'name' to 'rel' 13552 case "minCheckbox": 13553 errorMsg = methods._minCheckbox(form, field, rules, i, options); 13554 field = $(form.find("input[rel='" + fieldName + "']")); 13555 break; 13556 case "minDateCount": 13557 errorMsg = methods._minDateCount(form, field, rules, i, options); 13558 if (errorMsg) required = true; 13559 options.focusFirstField = false; 13560 break; 13561 case "minHolidayCount": 13562 errorMsg = methods._minHolidayCount(form, field, rules, i, options); 13563 if (errorMsg) required = true; 13564 options.focusFirstField = false; 13565 break; 13566 case "maxWeekendCount": 13567 errorMsg = methods._maxWeekendCount(form, field, rules, i, options); 13568 required = true; 13569 break; 13570 case "minWeekendCount": 13571 errorMsg = methods._minWeekendCount(form, field, rules, i, options); 13572 required = true; 13573 break; 13574 case "badTime": 13575 errorMsg = methods._badTime(field, rules, i, options); 13576 if (errorMsg) required = true; 13577 options.focusFirstField = false; 13578 options.isError = true; 13579 break; 13580 case "badTimeOverlap": 13581 errorMsg = methods._badTimeOverlap(field, rules, i, options); 13582 if (errorMsg) required = true; 13583 options.focusFirstField = false; 13584 options.isError = true; 13585 break; 13586 case "badExtensionField": 13587 errorMsg = methods._badExtensionField(field, rules, i, options); 13588 if (errorMsg) required = true; 13589 options.focusFirstField = false; 13590 options.isError = true; 13591 break; 13592 case "badDateFormat": 13593 errorMsg = methods._badDateFormat(field, rules, i, options); 13594 if (errorMsg) required = true; 13595 options.focusFirstField = false; 13596 options.isError = true; 13597 break; 13598 case "badDate": 13599 errorMsg = methods._badDate(field, rules, i, options); 13600 options.focusFirstField = false; 13601 options.isError = true; 13602 break; 13603 case "badHolidayEndDate": 13604 errorMsg = methods._badHolidayEndDate(field, rules, i, options); 13605 options.focusFirstField = false;
13606 options.isError = true; 13607 break; 13608 case "badSdateEndDate": 13609 errorMsg = methods._badSdateEndDate(field, rules, i, options); 13610 options.focusFirstField = false; 13611 options.isError = true; 13612 break; 13613 case "badDOWEndDate": 13614 errorMsg = methods._badDOWEndDate(field, rules, i, options); 13615 options.focusFirstField = false; 13616 options.isError = true; 13617 break; 13618 case "equals": 13619 errorMsg = methods._equals(field, rules, i, options); 13620 break; 13621 case "notEquals": 13622 errorMsg = methods._notEquals(field, rules, i, options); 13623 break; 13624 case "funcCall": 13625 errorMsg = methods._funcCall(field, rules, i, options); 13626 break; 13627 case "creditCard": 13628 errorMsg = methods._creditCard(field, rules, i, options); 13629 break; 13630 13631 default: 13632 break; 13633 //$.error("jQueryValidator rule not found"+rules[i]); 13634 } 13635 if (errorMsg !== undefined) { 13636 promptText += errorMsg + "<br/>"; 13637 options.isError = true; 13638 } 13639 } 13640 // If the rules required is not added, an empty field is not validated 13641 if(!required && field.val() == "") options.isError = false; 13642 13643 // Hack for radio/checkbox group button, the validation go into the 13644 // first radio/checkbox of the group 13645 var fieldType = field.prop("type"); 13646 //NETSAPIENS: changed selector from 'name' to 'rel' 13647 if ((fieldType == "radio" || fieldType == "checkbox") && form.find("input[rel='" + fieldName + "']").length > 1) { 13648 field = $(form.find("input[rel='" + fieldName + "'][type!=hidden]:first")); 13649 options.showArrow = false; 13650 } 13651 13652 if (fieldType == "text" && form.find("input[rel='" + fieldName + "']").length > 1) { 13653 field = $(form.find("input[rel='" + fieldName + "'][type!=hidden]:first")); 13654 options.showArrow = false; 13655 } 13656 13657 13658 if (options.isError){ 13659 //NETSAPIENS: patched from 2.6.2, added promptType (but doesn't look necessary for ajax validation so far) 13660 //NOTICE: this _showPrompt call causes conflict with the prompt that appears with ajax[] option 13661 methods._showPrompt(field, promptText, promptType, false, options); 13662 }else if (!options.isError && isAjax) { 13663 methods._ajax(field, rules, ajaxIdx, options, submitEvent); 13664 }else{ 13665 if (!isAjaxValidator) methods._closePrompt(field); 13666 } 13667 13668 if (!isAjaxValidator) { 13669 field.trigger("jqv.field.result", [field, options.isError, promptText]); 13670 } 13671 13672 /* Record error */ 13673 var errindex = $.inArray(field[0], options.InvalidFields); 13674 if (errindex == -1) { 13675 if (options.isError) 13676 options.InvalidFields.push(field[0]); 13677 } else if (!options.isError) { 13678 options.InvalidFields.splice(errindex, 1); 13679 } 13680 13681 return options.isError; 13682 }, 13683 /** 13684 * Required validation 13685 * 13686 * @param {jqObject} field 13687 * @param {Array[String]} rules 13688 * @param {int} i rules index 13689 * @param {Map} 13690 * user options 13691 * @return an error string if validation failed 13692 */ 13693 _required: function(field, rules, i, options) { 13694 switch (field.prop("type")) { 13695 case "text": 13696 case "password": 13697 case "textarea": 13698 case "file": 13699 default: 13700 if (!field.val()) 13701 return options.allrules[rules[i]].alertText; 13702 break; 13703 case "radio": 13704 case "checkbox": 13705 var form = field.closest("form"); 13706 var name = field.attr("name"); 13707 if (form.find("input[name='" + name + "']:checked").length == 0) { 13708 if (form.find("input[name='" + name + "']").length == 1) 13709 return options.allrules[rules[i]].alertTextCheckboxe; 13710 else 13711 return options.allrules[rules[i]].alertTextCheckboxMultiple; 13712 } 13713 break; 13714 // required for <select> 13715 case "select-one": 13716 // added by [email protected] for select boxes, Thank y
13716ou 13717 if (!field.val()) 13718 return options.allrules[rules[i]].alertText; 13719 break; 13720 case "select-multiple": 13721 // added by [email protected] for select boxes, Thank you 13722 if (!field.find("option:selected").val()) 13723 return options.allrules[rules[i]].alertText; 13724 break; 13725 } 13726 }, 13727 /** 13728 * Validate that 1 from the group field is required 13729 * 13730 * @param {jqObject} field 13731 * @param {Array[String]} rules 13732 * @param {int} i rules index 13733 * @param {Map} 13734 * user options 13735 * @return an error string if validation failed 13736 */ 13737 _groupRequired: function(field, rules, i, options) { 13738 var classGroup = "[class*=" +rules[i + 1] +"]"; 13739 var isValid = false; 13740 // Check all fields from the group 13741 field.closest("form").find(classGroup).each(function(){ 13742 if(!methods._required($(this), rules, i, options)){ 13743 isValid = true; 13744 return false; 13745 } 13746 }) 13747 13748 if(!isValid) return options.allrules[rules[i]].alertText; 13749 }, 13750 /** 13751 * Validate Regex rules 13752 * 13753 * @param {jqObject} field 13754 * @param {Array[String]} rules 13755 * @param {int} i rules index 13756 * @param {Map} 13757 * user options 13758 * @return an error string if validation failed 13759 */ 13760 _customRegex: function(field, rules, i, options) { 13761 var customRule = rules[i + 1]; 13762 var rule = options.allrules[customRule]; 13763 if(!rule) { 13764 alert("jqv:custom rule not found "+customRule); 13765 return; 13766 } 13767 13768 var ex=rule.regex; 13769 if(!ex) { 13770 alert("jqv:custom regex not found "+customRule); 13771 return; 13772 } 13773 var pattern = new RegExp(ex); 13774 13775 if (!pattern.test(field.val())) 13776 return options.allrules[customRule].alertText; 13777 }, 13778 /** 13779 * Validate custom function outside of the engine scope 13780 * 13781 * @param {jqObject} field 13782 * @param {Array[String]} rules 13783 * @param {int} i rules index 13784 * @param {Map} 13785 * user options 13786 * @return an error string if validation failed 13787 */ 13788 _funcCall: function(field, rules, i, options) { 13789 var functionName = rules[i + 1]; 13790 var fn = window[functionName] || options.customFunctions[functionName]; 13791 if (typeof(fn) == 'function') 13792 return fn(field, rules, i, options); 13793 13794 }, 13795 /** 13796 * Field match 13797 * 13798 * @param {jqObject} field 13799 * @param {Array[String]} rules 13800 * @param {int} i rules index 13801 * @param {Map} 13802 * user options 13803 * @return an error string if validation failed 13804 */ 13805 _equals: function(field, rules, i, options) { 13806 var equalsField = rules[i + 1]; 13807 13808 if (field.val() != $("#" + equalsField).val()) 13809 return options.allrules.equals.alertText; 13810 }, 13811 13812 /** 13813 * Field match 13814 * 13815 * @param {jqObject} field 13816 * @param {Array[String]} rules 13817 * @param {int} i rules index 13818 * @param {Map} 13819 * user options 13820 * @return an error string if validation failed 13821 */ 13822 _notEquals: function(field, rules, i, options) { 13823 var equalsField = rules[i + 1]; 13824 13825 if (field.val() === $("#" + equalsField).val()) 13826 return options.allrules.notEquals.alertText; 13827 }, 13828 13829 /** 13830 * Check the maximum size (in characters) 13831 * 13832 * @param {jqObject} field 13833 * @param {Array[String]} rules 13834 * @param {int} i rules index 13835 * @param {Map} 13836 * user options 13837 * @return an error string if validation failed 13838 */ 13839 _maxSize: function(field, rules, i, options) { 13840 var max = rules[i + 1]; 13841 var len = field.val().length; 13842 13843 if (len > max) { 13844 var rule = options.allrules.maxSize; 13845 return rule.alertText + max + rule.alertText2; 13846 } 13847 }, 13848 /** 13849 * Check the minimum size (in characters) 13850 * 13851 * @param {jqObject} field 13852 * @param {Array[String]} rules 13853 * @param {int} i rules index 13854 * @param {Map} 13855 * user options 13856 * @return an error string if validation failed 13857 */ 13858 _minSize: function(field, rules, i, options) { 13859 var min = rules[i + 1]; 13860 var len = field.val().length; 13861 13862 if (len < min) { 13863 var rule = options.allrules.minSize; 13864 return rule.alertText + min + rule.alertText2; 13865 } 13866 }, 13867 /** 13868 * Check number minimum value 13869 * 13870 * @param {jqObject} field 13871 * @param {Array[String]} rules 13872 * @param {int} i rules index 13873 * @param {Map} 13874 * user options 13875 * @return an error string if validation failed 13876 */ 13877 _min: function(field, rules, i, options) { 13878 var min = parseFloat(rules[i + 1]); 13879 var len = parseFloat(field.val()); 13880 13881 if (len < min) { 13882 var rule = options.allrules.min; 13883 if (rule.alertText2) return rule.alertText + min + rule.alertText2; 13884 return rule.alertText + min; 13885 } 13886 }, 13887 /** 13888 * Check number maximum value 13889 * 13890 * @param {jqObject} field 13891 * @param {Array[String]} rules 13892 * @param {int} i rules index 13893 * @param {Map} 13894 * user options 13895 * @return an error string if validation failed 13896 */ 13897 _max: function(field, rules, i, options) { 13898 var max = parseFloat(rules[i + 1]); 13899 var len = parseFloat(field.val()); 13900 13901 if (len >max ) { 13902 var rule = options.allrules.max; 13903 if (rule.alertText2) return rule.alertText + max + rule.alertText2; 13904 //orefalo: to review, also do the translations 13905 return rule.alertText + max; 13906 } 13907 }, 13908 /** 13909 * Checks date is in the past 13910 * 13911 * @param {jqObject} field 13912 * @param {Array[String]} rules 13913 * @param {int} i rules index 13914 * @param {Map} 13915 * user options 13916 * @return an error string if validation failed 13917 */ 13918 _past: function(field, rules, i, options) { 13919 13920 var p=rules[i + 1]; 13921 var pdate = (p.toLowerCase() == "now")? new Date():methods._parseDate(p); 13922 var vdate = methods._parseDate(field.val()); 13923 13924 if (vdate > pdate ) { 13925 var rule = options.allrules.past; 13926 if (rule.alertText2) return rule.alertText + methods._dateToString(pdate) + rule.alertText2; 13927 return rule.alertText + methods._dateToString(pdate); 13928 } 13929 }, 13930 /** 13931 * Checks date is in the future 13932 * 13933 * @param {jqObject} field 13934 * @param {Array[String]} rules 13935 * @param {int} i rules index 13936 * @param {Map} 13937 * user options 13938 * @return an error string if validation failed 13939 */ 13940 _future: function(field, rules, i, options) { 13941 13942 var p=rules[i + 1]; 13943 var pdate = (p.toLowerCase() == "now")? new Date():methods._parseDate(p); 13944 var vdate = methods._parseDate(field.val()); 13945 13946 if (vdate < pdate ) { 13947 var rule = options.allrules.future; 13948 if (rule.alertText2) return rule.alertText + methods._dateToString(pdate) + rule.alertText2; 13949 return rule.alertText + methods._dateToString(pdate); 13950 } 13951 }, 13952 /** 13953 * Checks if valid date 13954 * 13955 * @param {string} date string 13956 * @return a bool based on determination of valid date 13957 */ 13958 _isDate: function (value) { 13959 var dateRegEx = new RegExp(/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$|^(?:(?:(?
13959:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(?:(?:0?[1-9]|1[0-2])(\/|-)(?:0?[1-9]|1\d|2[0-8]))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(0?2(\/|-)29)(\/|-)(?:(?:0[48]00|[13579][26]00|[2468][048]00)|(?:\d\d)?(?:0[48]|[2468][048]|[13579][26]))$/); 13960 if (dateRegEx.test(value)) { 13961 return true; 13962 } 13963 return false; 13964 }, 13965 /** 13966 * Checks if valid date time 13967 * 13968 * @param {string} date string 13969 * @return a bool based on determination of valid date time 13970 */ 13971 _isDateTime: function (value){ 13972 var dateTimeRegEx = new RegExp(/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1}$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^((1[012]|0?[1-9]){1}\/(0?[1-9]|[12][0-9]|3[01]){1}\/\d{2,4}\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1})$/); 13973 if (dateTimeRegEx.test(value)) { 13974 return true; 13975 } 13976 return false; 13977 }, 13978 //NETSAPIENS: custom regex function for time, _isTime 13979 /** 13980 * Checks if valid date time 13981 * 13982 * @param {string} date string 13983 * @return a bool based on determination of valid date time 13984 */ 13985 _isTime: function (value){ 13986 var timeRegEx = new RegExp(/^(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1}$/); 13987 if (timeRegEx.test(value)) { 13988 return true; 13989 } 13990 return false; 13991 }, 13992 //Checks if the start date is before the end date 13993 //returns true if end is later than start 13994 _dateCompare: function (start, end) { 13995 //NETSAPIENS: changed '<' to '<=' 13996 return (new Date(start.toString()) <= new Date(end.toString())); 13997 }, 13998 /** 13999 * Checks date range 14000 * 14001 * @param {jqObject} first field name 14002 * @param {jqObject} second field name 14003 * @return an error string if validation failed 14004 */ 14005 _dateRange: function (first, second, rules, i, options) { 14006 //are not both populated 14007 if ((!first[0].value && second[0].value) || (first[0].value && !second[0].value)) { 14008 //NETSAPIENS: commented out because 'required' serves same purpose in this case 14009 //return options.allrules[rules[i]].alertText + options.allrules[rules[i]].alertText2; 14010 return; 14011 } 14012 14013 //are not both dates 14014 if (!methods._isDate(first[0].value) || !methods._isDate(second[0].value)) { 14015 return options.allrules[rules[i]].alertText + options.allrules[rules[i]].alertText2; 14016 } 14017 14018 //are both dates but range is off 14019 if (!methods._dateCompare(first[0].value, second[0].value)) { 14020 return options.allrules[rules[i]].alertText + options.allrules[rules[i]].alertText2; 14021 } 14022 }, 14023 14024 14025 /** 14026 * Checks date time range 14027 * 14028 * @param {jqObject} first field name 14029 * @param {jqObject} second field name 14030 * @return an error string if validation failed 14031 */ 14032 _dateTimeRange: function (first, second, rules, i, options) { 14033 //are not both populated 14034 if ((!first[0].value && second[0].value) || (first[0].value && !second[0].value)) { 14035 return options.allrules[rules[i]].alertText + options.allrules[rules[i]].alertText2; 14036 } 14037 //are not both dates 14038 if (!methods._isDateTime(first[0].value) || !methods._isDateTime(second[0].value)) { 14039 return options.allrules[rules[i]].alertText + options.allrules[rules[i]].alertText2; 14040 } 14041 //are both dates but range is off 14042 if (!methods._dateCompare(first[0].value, second[0].value)) { 14043 return options.allrules[rules[i]].alertText + options.allrules[rules[i]].alertText2; 14044 } 14045 }, 14046 //NETSAPIENS: added custom time range function, _timeRange 14047 /** 14048 * Checks time range 14049 * 14050 * @param {jqObject} first field name 14051 * @param {jqObject} second field name 14052 * @return an error string if validation failed 14053 */ 14054 _timeRange: function (first, second, rules, i, options) { 14055 //are not both populated 14056 if ((!first[0].value && second[0].value) || (first[0].value && !second[0].value)) { 14057 return; 14058 } 14059 //are not both times 14060 if (!methods._isTime(first[0].value) || !methods._isTime(second[0].value)) { 14061 return options.allrules[rules[i]].alertText + options.allrules[rules[i]].alertText2; 14062 } 14063 //are both times but range is off 14064 if (!methods._dateCompare('12/12/12 ' + first[0].value, '12/12/12 ' + second[0].value)) { 14065 return options.allrules[rules[i]].alertText + options.allrules[rules[i]].alertText2; 14066 } 14067 }, 14068 /** 14069 * Max number of checkbox selected 14070 * 14071 * @param {jqObject} field 14072 * @param {Array[String]} rules 14073 * @param {int} i rules index 14074 * @param {Map} 14075 * user options 14076 * @return an error string if validation failed 14077 */ 14078 _maxCheckbox: function(form, field, rules, i, options) { 14079 14080 var nbCheck = rules[i + 1]; 14081 var groupname = field.attr("name"); 14082 var groupSize = form.find("input[name='" + groupname + "']:checked").length; 14083 if (groupSize > nbCheck) { 14084 options.showArrow = false;
14085 if (options.allrules.maxCheckbox.alertText2) return options.allrules.maxCheckbox.alertText + " " + nbCheck + " " + options.allrules.maxCheckbox.alertText2; 14086 return options.allrules.maxCheckbox.alertText; 14087 } 14088 }, 14089 /** 14090 * Min number of checkbox selected 14091 * 14092 * @param {jqObject} field 14093 * @param {Array[String]} rules 14094 * @param {int} i rules index 14095 * @param {Map} 14096 * user options 14097 * @return an error string if validation failed 14098 */ 14099 _minCheckbox: function(form, field, rules, i, options) { 14100 //NETSAPIENS: changed selector from 'name' to 'rel' 14101 var nbCheck = rules[i + 1]; 14102 var groupname = field.attr("rel"); 14103 var groupSize = form.find("input[rel='" + groupname + "']:checked").length; 14104 if (groupSize < nbCheck) { 14105 options.showArrow = false; 14106 return options.allrules.minCheckbox.alertText + " " + nbCheck + " " + options.allrules.minCheckbox.alertText2; 14107 } 14108 }, 14109 _minDateCount: function(form, field, rules, i, options) { 14110 // Search for the startDate-0 input in the entire document 14111 var startDateInput = $(document).find('#startDate-0'); 14112 var value = startDateInput.val(); // Get the value of the input 14113 14114 // make sure to allow edit (prefilled on the grid) 14115 var startDateInputPrefilled = $(document).find('#TimeframeSpecificDates0StartDate'); 14116 var valuePrefilled = startDateInputPrefilled.val(); // Get the value of the input 14117 14118 // Check for any other prefilled in case of multiple date ranges by checking for any inputs with data-class attribute 'prefilledTimeframeSpecificDates' 14119 var startDateInputsWithDataClass = $(document).find("[data-class='prefilledTimeframeSpecificDates']"); 14120 14121 // If any exists, return 14122 if (startDateInputsWithDataClass.length > 0) { 14123 return; 14124 } 14125 14126 // for if added a date and then removed it, shoudl check against more than just startDate-0 14127 var startDateAddedGrid = $(document).find('.startDateAddedGrid'); 14128 if (startDateAddedGrid.length > 0) { 14129 return; 14130 } 14131 14132 // Check if the input exists and is not blank 14133 if ((startDateInput.length > 0 || startDateInputPrefilled.length > 0) && (value !== '' || valuePrefilled !== '')) { 14134 } else { 14135 // If the condition is not met, return the appropriate error message 14136 return options.allrules.minDateCount.alertText; // Ensure this rule exists in your options.allrules object 14137 } 14138 }, 14139 _minHolidayCount: function(form, field, rules, i, options) { 14140 // Search for elements with the class .holiday-name-grid in the entire document 14141 var holidayNameInputs = $(document).find('.holiday-name-grid'); 14142 14143 // Check if at least one element exists 14144 if (holidayNameInputs.length > 0) { 14145 // At least one .holiday-name-grid element exists, no error message needed 14146 } else { 14147 // If no elements found, return the appropriate error message 14148 return options.allrules.minHolidayCount.alertText; // Ensure this rule exists in your options.allrules object 14149 } 14150 }, 14151 _maxWeekendCount: function(form, field, rules, i, options) { 14152 var nbCheck = rules[i + 1]; 14153 var groupname = field.attr("rel"); 14154 var groupSize = form.find("input[rel='" + groupname + "']:checked").length; 14155 if (groupSize <= nbCheck) { 14156 options.showArrow = false; 14157 return options.allrules.maxWeekendCount.alertText + " " + nbCheck + " " + options.allrules.maxWeekendCount.alertText2; 14158 } 14159 }, 14160 _minWeekendCount: function(form, field, rules, i, options) { 14161 var nbCheck = rules[i + 1]; 14162 var groupname = field.attr("rel"); 14163 var groupSize = form.find("input[rel='" + groupname + "']:not(:checked)").length; 14164 14165 if (groupSize < nbCheck) { 14166 options.showArrow = false;
14167 return options.allrules.minWeekendCount.alertText + " " + nbCheck + " " + options.allrules.minWeekendCount.alertText2; 14168 } 14169 }, 14170 _badTime: function(field, rules, i, options) { 14171 return options.allrules.badTime.alertText; 14172 }, 14173 _badTimeOverlap: function(field, rules, i, options) { 14174 return options.allrules.badTimeOverlap.alertText; 14175 }, 14176 _badExtensionField: function(field, rules, i, options) { 14177 return options.allrules.badExtensionField.alertText; 14178 }, 14179 _badDateFormat: function(field, rules, i, options) { 14180 return options.allrules.badDateFormat.alertText; 14181 }, 14182 _badDate: function(field, rules, i, options) { 14183 return options.allrules.badDate.alertText; 14184 }, 14185 _badHolidayEndDate: function(field, rules, i, options) { 14186 return options.allrules.badHolidayEndDate.alertText; 14187 }, 14188 _badSdateEndDate: function(field, rules, i, options) { 14189 return options.allrules.badSdateEndDate.alertText; 14190 }, 14191 _badDOWEndDate: function(field, rules, i, options) { 14192 return options.allrules.badDOWEndDate.alertText; 14193 }, 14194 /** 14195 * Checks that it is a valid credit card number according to the 14196 * Luhn checksum algorithm. 14197 * 14198 * @param {jqObject} field 14199 * @param {Array[String]} rules 14200 * @param {int} i rules index 14201 * @param {Map} 14202 * user options 14203 * @return an error string if validation failed 14204 */ 14205 _creditCard: function(field, rules, i, options) { 14206 //spaces and dashes may be valid characters, but must be stripped to calculate the checksum. 14207 var valid = false, cardNumber = field.val().replace(/ +/g, '').replace(/-+/g, ''); 14208 14209 var numDigits = cardNumber.length; 14210 if (numDigits >= 14 && numDigits <= 16 && parseInt(cardNumber) > 0) { 14211 14212 var sum = 0, i = numDigits - 1, pos = 1, digit, luhn = new String(); 14213 do { 14214 digit = parseInt(cardNumber.charAt(i)); 14215 luhn += (pos++ % 2 == 0) ? digit * 2 : digit; 14216 } while (--i >= 0) 14217 14218 for (i = 0; i < luhn.length; i++) { 14219 sum += parseInt(luhn.charAt(i)); 14220 } 14221 valid = sum % 10 == 0; 14222 } 14223 if (!valid) return options.allrules.creditCard.alertText; 14224 }, 14225 /** 14226 * Ajax field validation 14227 * 14228 * @param {jqObject} field 14229 * @param {Array[String]} rules 14230 * @param {int} i rules index 14231 * @param {Map} 14232 * user options 14233 * @return nothing! the ajax validator handles the prompts itself 14234 */ 14235 _ajax: function(field, rules, i, options, submitEvent) { 14236 14237 var errorSelector = rules[i + 1]; 14238 var rule = options.allrules[errorSelector]; 14239 var extraData = rule.extraData; 14240 var extraDataDynamic = rule.extraDataDynamic; 14241 14242 if (typeof submitEvent == 'undefined') { 14243 submitEvent = false; 14244 } 14245 14246 if (!options.isError) { 14247 // password validation values can potentially have hazardous characters, 14248 // so we need to encode fieldValue before passing it through. however, 14249 // I did not want to risk breaking unrelated validation rules so we'll 14250 // only encode the password validation ruleset specifically. 14251 var encodableRules = [ 14252 "/portal/resets/validateSecurePassword", 14253 "/portal/users/validateField", 14254 "/portal/resets/validateVMPin" 14255 ]; 14256 14257 var data = { 14258 'fieldId': field.attr("id"), 14259 'fieldValue': field.val(), 14260 'extraData': extraData 14261 } 14262 14263 if (extraDataDynamic) { 14264 var tmpData = []; 14265 var domIds = String(extraDataDynamic).split(","); 14266 for (var i = 0; i < domIds.length; i++) { 14267 var id = domIds[i]; 14268 if ($(id).length) { 14269 var paramName = id.replace('#', ''); 14270 var inputValue = field.closest('form').find(id).val(); 14271 var paramVal = escape(inputValue); 14272 14273 data[paramName] = paramVal; 14274 } 14275 } 14276 } 14277 14278 $.ajax({ 14279 type: 'POST', 14280 url: rule.url, 14281 async: !submitEvent, //NETSAPIENS: added async option for form submits. Waits for "get" to complete before proceeding 14282 cache: false, 14283 dataType: 'json', 14284 data: data, 14285 field: field, 14286 rule: rule, 14287 methods: methods, 14288 options: options, 14289 //beforeSend: function() { 14290 // // build the loading prompt 14291 // var loadingText = rule.alertTextLoad; 14292 // if (loadingText) 14293 // methods._showPrompt(field, loadingText, "load", true, options); 14294 //}, 14295 error: function(res, transport) { 14296 methods._ajaxError(res, transport); 14297 }, 14298 success: function(json) { 14299 if( json === null ) return false;
14300 14301 // asynchronously called on success, data is the json answer from the server 14302 var errorFieldId = json[0]; 14303 var errorField = $($("#" + errorFieldId)[0]); 14304 // make sure we found the element 14305 if (errorField.length == 1) { 14306 var status = json[1]; 14307 // read the optional msg from the server 14308 var msg = json[2]; 14309 if (!status) { 14310 // Houston we got a problem - display an red prompt 14311 //log("ajax validation status: " + status); 14312 options.ajaxValidCache[errorFieldId] = false; 14313 options.isError = true; 14314 14315 // resolve the msg prompt 14316 if(msg) { 14317 if (options.allrules[msg]) { 14318 var txt = options.allrules[msg].alertText; 14319 if (txt) 14320 msg = txt; 14321 } 14322 } 14323 else 14324 msg = rule.alertText; 14325 14326 methods._showPrompt(errorField, msg, "", true, options); 14327 } 14328 else { 14329 if (options.ajaxValidCache[errorFieldId] !== undefined) 14330 options.ajaxValidCache[errorFieldId] = true; 14331 14332 // resolves the msg prompt 14333 if(msg) { 14334 if (options.allrules[msg]) { 14335 var txt = options.allrules[msg].alertTextOk; 14336 if (txt) 14337 msg = txt; 14338 } 14339 } 14340 else 14341 msg = rule.alertTextOk; 14342 14343 // see if we should display a green prompt 14344 if (msg) 14345 methods._showPrompt(errorField, msg, "pass", true, options); 14346 else 14347 methods._closePrompt(errorField); 14348 } 14349 } 14350 errorField.trigger("jqv.field.result", [errorField, !options.isError, msg]); 14351 } 14352 }); 14353 14354 14355 } 14356 }, 14357 /** 14358 * Common method to handle ajax errors 14359 * 14360 * @param {Object} data 14361 * @param {Object} transport 14362 */ 14363 _ajaxError: function(data, transport) { 14364 if(data.status == 0 && transport == null) 14365 alert("The page is not served from a server! ajax call failed"); 14366 else if(typeof console != "undefined") 14367 console.log("Ajax error: " + data.status + " " + transport); 14368 }, 14369 /** 14370 * date -> string 14371 * 14372 * @param {Object} date 14373 */ 14374 _dateToString: function(date) { 14375 14376 return date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate(); 14377 }, 14378 /** 14379 * Parses an ISO date 14380 * @param {String} d 14381 */ 14382 _parseDate: function(d) { 14383 14384 var dateParts = d.split("-"); 14385 if(dateParts==d) 14386 dateParts = d.split("/"); 14387 return new Date(dateParts[0], (dateParts[1] - 1) ,dateParts[2]); 14388 }, 14389 /** 14390 * Builds or updates a prompt with the given information 14391 * 14392 * @param {jqObject} field 14393 * @param {String} promptText html text to display type 14394 * @param {String} type the type of bubble: 'pass' (green), 'load' (black) anything else (red) 14395 * @param {boolean} ajaxed - use to mark fields than being validated with ajax 14396 * @param {Map} options user options 14397 */ 14398 _showPrompt: function(field, promptText, type, ajaxed, options, ajaxform) { 14399 log("showPrompt called with: " + promptText) 14400 14401 var prompt = methods._getPrompt(field); 14402 // The ajax submit errors are not see has an error in the form, 14403 // When the form errors are returned, the engine see 2 bubbles, but those are ebing closed by the engine at the same time 14404 // Because no error was found befor submitting 14405 if(ajaxform) prompt = false;
14406 if (prompt) 14407 methods._updatePrompt(field, prompt, promptText, type, ajaxed, options); 14408 else 14409 methods._buildPrompt(field, promptText, type, ajaxed, options); 14410 }, 14411 /** 14412 * Builds and shades a prompt for the given field. 14413 * 14414 * @param {jqObject} field 14415 * @param {String} promptText html text to display type 14416 * @param {String} type the type of bubble: 'pass' (green), 'load' (black) anything else (red) 14417 * @param {boolean} ajaxed - use to mark fields than being validated with ajax 14418 * @param {Map} options user options 14419 */ 14420 _buildPrompt: function(field, promptText, type, ajaxed, options) { 14421 14422 // create the prompt 14423 var prompt = $('<div>'); 14424 prompt.addClass(methods._getClassName(field.attr("id")) + "formError"); 14425 // add a class name to identify the parent form of the prompt 14426 if(field.is(":input")) prompt.addClass("parentForm"+methods._getClassName(field.parents('form').attr("id"))); 14427 prompt.addClass("formError"); 14428 14429 switch (type) { 14430 case "pass": 14431 prompt.addClass("greenPopup"); 14432 break; 14433 case "load": 14434 prompt.addClass("blackPopup"); 14435 break; 14436 default: 14437 /* it has error */ 14438 options.InvalidCount++; 14439 } 14440 if (ajaxed) 14441 prompt.addClass("ajaxed"); 14442 14443 // create the prompt content 14444 var promptContent = $('<div>').addClass("formErrorContent").html(promptText).appendTo(prompt); 14445 // create the css arrow pointing at the field 14446 // note that there is no triangle on max-checkbox and radio 14447 if (options.showArrow) { 14448 var arrow = $('<div>').addClass("formErrorArrow"); 14449 14450 //prompt positioning adjustment support. Usage: positionType:Xshift,Yshift (for ex.: bottomLeft:+20 or bottomLeft:-20,+10) 14451 var positionType=field.data("promptPosition") || options.promptPosition; 14452 if (typeof(positionType)=='string') { 14453 if (positionType.indexOf(":")!=-1) { 14454 positionType=positionType.substring(0,positionType.indexOf(":")); 14455 }; 14456 }; 14457 14458 14459 switch (positionType) { 14460 case "bottomLeft": 14461 case "bottomRight": 14462 prompt.find(".formErrorContent").before(arrow); 14463 arrow.addClass("formErrorArrowBottom").html('<div class="line1"><!-- --></div><div class="line2"><!-- --></div><div class="line3"><!-- --></div><div class="line4"><!-- --></div><div class="line5"><!-- --></div><div class="line6"><!-- --></div><div class="line7"><!-- --></div><div class="line8"><!-- --></div><div class="line9"><!-- --></div><div class="line10"><!-- --></div>'); 14464 break; 14465 case "topLeft": 14466 case "topRight": 14467 arrow.html('<div class="line10"><!-- --></div><div class="line9"><!-- --></div><div class="line8"><!-- --></div><div class="line7"><!-- --></div><div class="line6"><!-- --></div><div class="line5"><!-- --></div><div class="line4"><!-- --></div><div class="line3"><!-- --></div><div class="line2"><!-- --></div><div class="line1"><!-- --></div>'); 14468 prompt.append(arrow); 14469 break; 14470 } 14471 } 14472 14473 if (options.relative) { 14474 // empty relative span does not disturb page layout 14475 // prompt positioned absolute to relative span 14476 // vertical-align:top so position calculations are the same as isOverflown 14477 var outer = $('<span>').css('position','relative').css('vertical-align','top').addClass('formErrorOuter').append(prompt.css('position','absolute')); 14478 field.before(outer); 14479 } else if (options.isOverflown) { 14480 //Cedric: Needed if a container is in position:relative 14481 // insert prompt in the form or in the overflown container? 14482 field.before(prompt); 14483 } else { 14484 $("body").append(prompt); 14485 } 14486 14487 var pos = methods._calculatePosition(field, prompt, options); 14488 14489 prompt.css({ 14490 "top": pos.callerTopPosition, 14491 "left": pos.callerleftPosition, 14492 "marginTop": pos.marginTopSize, 14493 "opacity": 0 14494 }).data("callerField", field); 14495 14496 if (options.autoHidePrompt) { 14497 setTimeout(function(){ 14498 prompt.animate({ 14499 "opacity": 0 14500 },function(){ 14501 prompt.closest('.formErrorOuter').remove(); 14502 prompt.remove(); 14503 }) 14504 }, options.autoHideDelay) 14505 return prompt.animate({ 14506 "opacity": 0.87 14507 }) 14508 } else { 14509 return prompt.animate({ 14510 "opacity": 0.87 14511 }); 14512 } 14513 }, 14514 /** 14515 * Updates the prompt text field - the field for which the prompt 14516 * @param {jqObject} field 14517 * @param {String} promptText html text to display type 14518 * @param {String} type the type of bubble: 'pass' (green), 'load' (black) anything else (red) 14519 * @param {boolean} ajaxed - use to mark fields than being validated with ajax 14520 * @param {Map} options user options 14521 */ 14522 _updatePrompt: function(field, prompt, promptText, type, ajaxed, options, noAnimation) { 14523 14524 if (prompt) { 14525 if (typeof type !== "undefined") { 14526 if (type == "pass") 14527 prompt.addClass("greenPopup"); 14528 else 14529 prompt.removeClass("greenPopup"); 14530 14531 if (type == "load") 14532 prompt.addClass("blackPopup"); 14533 else 14534 prompt.removeClass("blackPopup"); 14535 } 14536 if (ajaxed) 14537 prompt.addClass("ajaxed"); 14538 else 14539 prompt.removeClass("ajaxed"); 14540 14541 prompt.find(".formErrorContent").html(promptText); 14542 14543 var pos = methods._calculatePosition(field, prompt, options); 14544 css = {"top": pos.callerTopPosition, 14545 "left": pos.callerleftPosition, 14546 "marginTop": pos.marginTopSize}; 14547 14548 if (noAnimation) 14549 prompt.css(css); 14550 else 14551 prompt.animate(css) 14552 } 14553 }, 14554 /** 14555 * Closes the prompt associated with the given field 14556 * 14557 * @param {jqObject} 14558 * field 14559 */ 14560 _closePrompt: function(field) { 14561 14562 var prompt = methods._getPrompt(field); 14563 if (prompt) 14564 prompt.fadeTo("fast", 0, function() { 14565 prompt.parent('.formErrorOuter').remove(); 14566 prompt.remove(); 14567 }); 14568 }, 14569 closePrompt: function(field) { 14570 return methods._closePrompt(field); 14571 }, 14572 /** 14573 * Returns the error prompt matching the field if any 14574 * 14575 * @param {jqObject} 14576 * field 14577 * @return undefined or the error prompt (jqObject) 14578 */ 14579 _getPrompt: function(field) { 14580 var className = methods._getClassName(field.attr("id")) + "formError"; 14581 var match = $("." + methods._escapeExpression(className))[0]; 14582 if (match) 14583 return $(match); 14584 }, 14585 /** 14586 * Returns the escapade classname 14587 * 14588 * @param {selector} 14589 * className 14590 */ 14591 _escapeExpression: function (selector) { 14592 return selector.replace(/([#;&,\.\+\*\~':"\!\^$\[\]\(\)=>\|])/g, "\\$1"); 14593 }, 14594 /** 14595 * returns true if we are in a RTLed document 14596 * 14597 * @param {jqObject} field 14598 */ 14599 isRTL: function(field) 14600 { 14601 var $document = $(document); 14602 var $body = $('body'); 14603 var rtl = 14604 (field && field.hasClass('rtl')) || 14605 (field && (field.attr('dir') || '').toLowerCase()==='rtl') || 14606 $document.hasClass('rtl') || 14607 ($document.attr('dir') || '').toLowerCase()==='rtl' || 14608 $body.hasClass('rtl') || 14609 ($body.attr('dir') || '').toLowerCase()==='rtl'; 14610 return Boolean(rtl); 14611 }, 14612 /** 14613 * Calculates prompt position 14614 * 14615 * @param {jqObject} 14616 * field 14617 * @param {jqObject} 14618 * the prompt 14619 * @param {Map} 14620 * options 14621 * @return positions 14622 */ 14623 _calculatePosition: function (field, promptElmt, options) { 14624 14625 var promptTopPosition, promptleftPosition, marginTopSize; 14626 var fieldWidth = field.width(); 14627 var promptHeight = promptElmt.height(); 14628 14629 var overflow = options.isOverflown || options.relative; 14630 if (overflow) { 14631 // is the form contained in an overflown container? 14632 promptTopPosition = promptleftPosition = 0; 14633 // compensation for the arrow 14634 marginTopSize = -promptHeight; 14635 } else { 14636 var offset = field.offset(); 14637 promptTopPosition = offset.top; 14638 promptleftPosition = offset.left; 14639 marginTopSize = 0; 14640 } 14641 14642 //prompt positioning adjustment support
14643 //now you can adjust prompt position 14644 //usage: positionType:Xshift,Yshift 14645 //for example: 14646 // bottomLeft:+20 means bottomLeft position shifted by 20 pixels right horizontally 14647 // topRight:20, -15 means topRight position shifted by 20 pixels to right and 15 pixels to top 14648 //You can use +pixels, - pixels. If no sign is provided than + is default. 14649 var positionType=field.data("promptPosition") || options.promptPosition; 14650 var shift1=""; 14651 var shift2=""; 14652 var shiftX=0; 14653 var shiftY=0; 14654 if (typeof(positionType)=='string') { 14655 //do we have any position adjustments ? 14656 if (positionType.indexOf(":")!=-1) { 14657 shift1=positionType.substring(positionType.indexOf(":")+1); 14658 positionType=positionType.substring(0,positionType.indexOf(":")); 14659 14660 //if any advanced positioning will be needed (percents or something else) - parser should be added here 14661 //for now we use simple parseInt() 14662 14663 //do we have second parameter? 14664 if (shift1.indexOf(",")!=-1) { 14665 shift2=shift1.substring(shift1.indexOf(",")+1); 14666 shift1=shift1.substring(0,shift1.indexOf(",")); 14667 shiftY=parseInt(shift2); 14668 if (isNaN(shiftY)) {shiftY=0;}; 14669 }; 14670 14671 shiftX=parseInt(shift1); 14672 if (isNaN(shift1)) {shift1=0;}; 14673 14674 }; 14675 }; 14676 14677 if(!methods.isRTL(field)) 14678 { 14679 switch (positionType) { 14680 default: 14681 case "topRight": 14682 if (overflow) 14683 // Is the form contained in an overflown container? 14684 promptleftPosition += fieldWidth - 30; 14685 else { 14686 promptleftPosition += fieldWidth - 30; 14687 promptTopPosition += -promptHeight -2; 14688 } 14689 break; 14690 case "topLeft": 14691 promptTopPosition += -promptHeight - 10; 14692 break; 14693 case "centerRight": 14694 if (overflow) { 14695 promptTopPosition=field.outerHeight(); 14696 promptleftPosition=field.outerWidth(1)+5; 14697 } else { 14698 promptleftPosition+=field.outerWidth()+5; 14699 } 14700 break; 14701 case "centerLeft": 14702 promptleftPosition -= promptElmt.width() + 2; 14703 break; 14704 case "bottomLeft": 14705 promptTopPosition += field.height() + 8; 14706 break; 14707 case "bottomRight": 14708 promptleftPosition += fieldWidth - 30; 14709 promptTopPosition += field.height() + 5; 14710 } 14711 } 14712 else 14713 { 14714 switch (positionType) { 14715 default: 14716 case "topLeft": 14717 if (overflow) 14718 // Is the form contained in an overflown container? 14719 promptleftPosition -= promptElmt.width() - 30; 14720 else { 14721 promptleftPosition -= promptElmt.width() - 30; 14722 promptTopPosition += -promptHeight -2; 14723 } 14724 break; 14725 case "topRight": 14726 if (overflow) 14727 // Is the form contained in an overflown container? 14728 promptleftPosition += fieldWidth - promptElmt.width(); 14729 else { 14730 promptleftPosition += fieldWidth - promptElmt.width(); 14731 promptTopPosition += -promptHeight -2; 14732 } 14733 break; 14734 case "centerRight": 14735 if (overflow) { 14736 promptTopPosition=field.outerHeight(); 14737 promptleftPosition=field.outerWidth(1)+5; 14738 } else { 14739 promptleftPosition+=field.outerWidth()+5; 14740 } 14741 break; 14742 case "centerLeft": 14743 promptleftPosition -= promptElmt.width() + 2; 14744 break; 14745 case "bottomLeft": 14746 promptleftPosition += -promptElmt.width() + 30; 14747 promptTopPosition = promptTopPosition + field.height() + 8; 14748 break; 14749 case "bottomRight": 14750 promptleftPosition += fieldWidth - promptElmt.width(); 14751 promptTopPosition += field.height() + 8; 14752 } 14753 } 14754 14755 var bodyScroll = parseInt( $('.page-container').offset().top, 10 ); // get the vertical scroll offset of body 14756 14757 //apply adjusments if any 14758 promptleftPosition += shiftX; 14759 promptTopPosition += shiftY; 14760 14761 return { 14762 "callerTopPosition": promptTopPosition + "px", 14763 "callerleftPosition": promptleftPosition + "px", 14764 "marginTopSize": marginTopSize + "px" 14765 }; 14766 }, 14767 /** 14768 * Saves the user options and variables in the form.data 14769 * 14770 * @param {jqObject} 14771 * form - the form where the user option should be saved 14772 * @param {Map} 14773 * options - the user options 14774 * @return the user options (extended from the defaults) 14775 */ 14776 _saveOptions: function(form, options) { 14777 14778 // is there a language localisation ? 14779 if ($.validationEngineLanguage) 14780 var allRules = $.validationEngineLanguage.allRules; 14781 else 14782 $.error("jQuery.validationEngine rules are not loaded, plz add localization files to the page"); 14783 // --- Internals DO NOT TOUCH or OVERLOAD --- 14784 // validation rules and i18 14785 $.validationEngine.defaults.allrules = allRules; 14786 14787 var userOptions = $.extend(true,{},$.validationEngine.defaults,options); 14788 jim = userOptions; 14789 // Needed to be retro compatible 14790 if (userOptions.isOverflown) userOptions.relative = true;
14791 if (userOptions.relative) userOptions.isOverflown = true; 14792 14793 form.data('jqv', userOptions); 14794 return userOptions; 14795 }, 14796 14797 /** 14798 * Removes forbidden characters from class name 14799 * @param {String} className 14800 */ 14801 _getClassName: function(className) { 14802 if(className) { 14803 return className.replace(/:/g, "_").replace(/\./g, "_"); 14804 } 14805 } 14806 }; 14807 14808 /** 14809 * Plugin entry point. 14810 * You may pass an action as a parameter or a list of options. 14811 * if none, the init and attach methods are being called. 14812 * Remember: if you pass options, the attached method is NOT called automatically 14813 * 14814 * @param {String} 14815 * method (optional) action 14816 */ 14817 $.fn.validationEngine = function(method) { 14818 14819 var form = $(this); 14820 if(!form[0]) return false; // stop here if the form does not exist 14821 14822 if (typeof(method) == 'string' && method.charAt(0) != '_' && methods[method]) { 14823 14824 // make sure init is called once 14825 if(method != "showPrompt" && method != "hidePrompt" && method != "hide" && method != "hideAll") 14826 methods.init.apply(form); 14827 14828 return methods[method].apply(form, Array.prototype.slice.call(arguments, 1)); 14829 } else if (typeof method == 'object' || !method) { 14830 14831 // default constructor with or without arguments 14832 methods.init.apply(form, arguments); 14833 return methods.attach.apply(form); 14834 } else { 14835 $.error('Method ' + method + ' does not exist in jQuery.validationEngine'); 14836 } 14837 }; 14838 14839 14840 14841 // LEAK GLOBAL OPTIONS 14842 $.validationEngine= {defaults:{ 14843 14844 // Name of the event triggering field validation 14845 validationEventTrigger: "blur", 14846 // Automatically scroll viewport to the first error 14847 scroll: true, 14848 // Focus on the first input 14849 focusFirstField:true, 14850 // Opening box position, possible locations are: topLeft, 14851 // topRight, bottomLeft, centerRight, bottomRight 14852 promptPosition: "topRight", 14853 bindMethod:"bind", 14854 // internal, automatically set to true when it parse a _ajax rule 14855 inlineAjax: false, 14856 // if set to true, the form data is sent asynchronously via ajax to the form.action url (get) 14857 ajaxFormValidation: false, 14858 // Ajax form validation callback method: boolean onComplete(form, status, errors, options) 14859 // retuns false if the form.submit event needs to be canceled. 14860 ajaxFormValidationURL: false, 14861 // The url to send the submit ajax validation (default to action) 14862 onAjaxFormComplete: $.noop, 14863 // called right before the ajax call, may return false to cancel 14864 onBeforeAjaxFormValidation: $.noop, 14865 // Stops form from submitting and execute function assiciated with it 14866 onValidationComplete: false, 14867 14868 // better relative positioning 14869 relative: false, 14870 // Used when the form is displayed within a scrolling DIV 14871 isOverflown: false, 14872 overflownDIV: "", 14873 14874 // Used when you have a form fields too close and the errors messages are on top of other disturbing viewing messages 14875 doNotShowAllErrosOnSubmit: false, 14876 14877 // true when form and fields are binded 14878 binded: false, 14879 // set to true, when the prompt arrow needs to be displayed 14880 showArrow: true, 14881 // did one of the validation fail ? kept global to stop further ajax validations 14882 isError: false, 14883 // Caches field validation status, typically only bad status are created. 14884 // the array is used during ajax form validation to detect issues early and prevent an expensive submit 14885 ajaxValidCache: {}, 14886 // Auto update prompt position after window resize 14887 autoPositionUpdate: false, 14888 14889 InvalidFields: [], 14890 onSuccess: false, 14891 onFailure: false, 14892 // Auto-hide prompt 14893 autoHidePrompt: false, 14894 // Delay before auto-hide 14895 autoHideDelay: 10000 14896 }}; 14897 $(function(){$.validationEngine.defaults.promptPosition = methods.isRTL()?'topLeft':"topRight"}); 14898})(jQuery); 14899 14900�/*! 14901 * jQuery Cookie Plugin v1.3 14902 * https://github.com/carhartl/jquery-cookie 14903 * 14904 * Copyright 2011, Klaus Hartl 14905 * Dual licensed under the MIT or GPL Version 2 licenses. 14906 * http://www.opensource.org/licenses/mit-license.php 14907 * http://www.opensource.org/licenses/GPL-2.0 14908 */ 14909(function ($, document, undefined) { 14910 14911 var pluses = /\+/g; 14912 14913 function raw(s) { 14914 return s; 14915 } 14916 14917 function decoded(s) { 14918 return decodeURIComponent(s.replace(pluses, ' ')); 14919 } 14920 14921 var config = $.cookie = function (key, value, options) { 14922 14923 // write 14924 if (value !== undefined) { 14925 options = $.extend({}, config.defaults, options); 14926 14927 if (value === null) { 14928 options.expires = -1; 14929 } 14930 14931 if (typeof options.expires === 'number') { 14932 var days = options.expires, t = options.expires = new Date(); 14933 t.setDate(t.getDate() + days); 14934 } 14935 14936 value = config.json ? JSON.stringify(value) : String(value); 14937 14938 if (typeof options.secure === 'undefined') { 14939 options.secure = true; 14940 } 14941 14942 return (document.cookie = [ 14943 encodeURIComponent(key), '=', config.raw ? value : encodeURIComponent(value), 14944 options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE 14945 options.path ? '; path=' + options.path : '', 14946 options.domain ? '; domain=' + options.domain : '', 14947 options.sameSite ? '; SameSite=' + options.sameSite : '; SameSite=Lax', 14948 options.secure ? '; secure' : '' 14949 ].join('')); 14950 } 14951 14952 // read 14953 var decode = config.raw ? raw : decoded; 14954 var cookies = document.cookie.split('; '); 14955 for (var i = 0, l = cookies.length; i < l; i++) { 14956 var parts = cookies[i].split('='); 14957 if (decode(parts.shift()) === key) { 14958 var cookie = decode(parts.join('=')); 14959 return config.json ? JSON.parse(cookie) : cookie; 14960 } 14961 } 14962 14963 return null; 14964 }; 14965 14966 config.defaults = {}; 14967 14968 $.removeCookie = function (key, options) { 14969 if ($.cookie(key) !== null) { 14970 $.cookie(key, null, options); 14971 return true; 14972 } 14973 return false;
14974 }; 14975 14976})(jQuery, document); 14977 14978�/* jQuery Storage API Plugin 1.6.0 https://github.com/julien-maurel/jQuery-Storage-API */ 14979!function(e){function t(t){var r,n,i,o=arguments.length,s=window[t],a=arguments,u=a[1];if(2>o)throw Error("Minimum 2 arguments must be given");if(e.isArray(u)){n={};for(var f in u){r=u[f];try{n[r]=JSON.parse(s.getItem(r))}catch(m){n[r]=s.getItem(r)}}return n}if(2!=o){try{n=JSON.parse(s.getItem(u))}catch(m){throw new ReferenceError(u+" is not defined in this storage")}for(var f=2;o-1>f;f++)if(n=n[a[f]],void 0===n)throw new ReferenceError([].slice.call(a,1,f+1).join(".")+" is not defined in this storage");if(e.isArray(a[f])){i=n,n={};for(var c in a[f])n[a[f][c]]=i[a[f][c]];return n}return n[a[f]]}try{return JSON.parse(s.getItem(u))}catch(m){return s.getItem(u)}}function n(t){var r,n,i=arguments.length,o=window[t],s=arguments,a=s[1],u=s[2],f={};if(2>i||!e.isPlainObject(a)&&3>i)throw Error("Minimum 3 arguments must be given or second parameter must be an object");if(e.isPlainObject(a)){for(var m in a)r=a[m],e.isPlainObject(r)?o.setItem(m,JSON.stringify(r)):o.setItem(m,r);return a}if(3==i)return"object"==typeof u?o.setItem(a,JSON.stringify(u)):o.setItem(a,u),u;try{n=o.getItem(a),null!=n&&(f=JSON.parse(n))}catch(c){}n=f;for(var m=2;i-2>m;m++)r=s[m],n[r]&&e.isPlainObject(n[r])||(n[r]={}),n=n[r];return n[s[m]]=s[m+1],o.setItem(a,JSON.stringify(f)),f}function i(t){var r,n,i=arguments.length,o=window[t],s=arguments,a=s[1];if(2>i)throw Error("Minimum 2 arguments must be given");if(e.isArray(a)){for(var u in a)o.removeItem(a[u]);return!0}if(2==i)return o.removeItem(a),!0;try{r=n=JSON.parse(o.getItem(a))}catch(f){throw new ReferenceError(a+" is not defined in this storage")}for(var u=2;i-1>u;u++)if(n=n[s[u]],void 0===n)throw new ReferenceError([].slice.call(s,1,u).join(".")+" is not defined in this storage");if(e.isArray(s[u]))for(var m in s[u])delete n[s[u][m]];else delete n[s[u]];return o.setItem(a,JSON.stringify(r)),!0}function o(t,r){var n=u(t);for(var o in n)i(t,n[o]);if(r)for(var o in e.namespaceStorages)f(o)}function s(r){var n=arguments.length,i=arguments,o=(window[r],i[1]);if(1==n)return 0==u(r).length;if(e.isArray(o)){for(var a=0;a<o.length;a++)if(!s(r,o[a]))return!1;return!0}try{var f=t.apply(this,arguments);e.isArray(i[n-1])||(f={totest:f});for(var a in f)if(!(e.isPlainObject(f[a])&&e.isEmptyObject(f[a])||e.isArray(f[a])&&!f[a].length)&&f[a])return!1;return!0}catch(m){return!0}}function a(r){var n=arguments.length,i=arguments,o=(window[r],i[1]);if(2>n)throw Error("Minimum 2 arguments must be given");if(e.isArray(o)){for(var s=0;s<o.length;s++)if(!a(r,o[s]))return!1;return!0}try{var u=t.apply(this,arguments);e.isArray(i[n-1])||(u={totest:u});for(var s in u)if(void 0===u[s]||null===u[s])return!1;return!0}catch(f){return!1}}function u(r){var n=arguments.length,i=window[r],o=arguments,s=(o[1],[]),a={};if(a=n>1?t.apply(this,o):i,a._cookie)for(var u in e.cookie())""!=u&&s.push(u.replace(a._prefix,""));else for(var f in a)s.push(f);return s}function f(t){if(!t||"string"!=typeof t)throw Error("First parameter must be a string");window.localStorage.getItem(t)||window.localStorage.setItem(t,"{}"),window.sessionStorage.getItem(t)||window.sessionStorage.setItem(t,"{}");var r={localStorage:e.extend({},e.localStorage,{_ns:t}),sessionStorage:e.extend({},e.sessionStorage,{_ns:t})};return e.cookie&&(window.cookieStorage.getItem(t)||window.cookieStorage.setItem(t,"{}"),r.cookieStorage=e.extend({},e.cookieStorage,{_ns:t})),e.namespaceStorages[t]=r,r}var m="ls_",c="ss_",g={_type:"",_ns:"",_callMethod:function(e,t){var r=[this._type];return this._ns&&r.push(this._ns),[].push.apply(r,t),e.apply(this,r)},get:function(){return this._callMethod(t,arguments)},set:function(){var t=arguments.length,i=arguments,o=i[0];if(1>t||!e.isPlainObject(o)&&2>t)throw Error("Minimum 2 arguments must be given or first parameter must be an object");if(e.isPlainObject(o)&&this._ns){for(var s in o)n(this._type,this._ns,s,o[s]);return o}return r=this._callMethod(n,i),this._ns?r[o]:r},remove:function(){if(arguments.length<1)throw Error("Minimum 1 argument must be given");return this._callMethod(i,arguments)},removeAll:function(e){return this._ns?(n(this._type,this._ns,{}),!0):o(this._type,e)},isEmpty:function(){return this._callMethod(s,arguments)},isSet:function(){if(arguments.length<1)throw Error("Minimum 1 argument must be given");return this._callMethod(a,arguments)},keys:function(){return this._callMethod(u,arguments)}};if(e.cookie){window.name||(window.name=Math.floor(1e8*Math.random()));
14979var h={_cookie:!0,_prefix:"",_expires:null,_path:null,_domain:null,setItem:function(t,r){e.cookie(this._prefix+t,r,{expires:this._expires,path:this._path,domain:this._domain})},getItem:function(t){return e.cookie(this._prefix+t)},removeItem:function(t){return e.removeCookie(this._prefix+t)},clear:function(){for(var t in e.cookie())""!=t&&(!this._prefix&&-1===t.indexOf(m)&&-1===t.indexOf(c)||this._prefix&&0===t.indexOf(this._prefix))&&e.removeCookie(t)},setExpires:function(e){return this._expires=e,this},setPath:function(e){return this._path=e,this},setDomain:function(e){return this._domain=e,this},setConf:function(e){return e.path&&(this._path=e.path),e.domain&&(this._domain=e.domain),e.expires&&(this._expires=e.expires),this},setDefaultConf:function(){this._path=this._domain=this._expires=null}};window.localStorage||(window.localStorage=e.extend({},h,{_prefix:m,_expires:3650}),window.sessionStorage=e.extend({},h,{_prefix:c+window.name+"_"})),window.cookieStorage=e.extend({},h),e.cookieStorage=e.extend({},g,{_type:"cookieStorage",setExpires:function(e){return window.cookieStorage.setExpires(e),this},setPath:function(e){return window.cookieStorage.setPath(e),this},setDomain:function(e){return window.cookieStorage.setDomain(e),this},setConf:function(e){return window.cookieStorage.setConf(e),this},setDefaultConf:function(){return window.cookieStorage.setDefaultConf(),this}})}e.initNamespaceStorage=function(e){return f(e)},e.localStorage=e.extend({},g,{_type:"localStorage"}),e.sessionStorage=e.extend({},g,{_type:"sessionStorage"}),e.namespaceStorages={},e.removeAllStorages=function(t){e.localStorage.removeAll(t),e.sessionStorage.removeAll(t),e.cookieStorage&&e.cookieStorage.removeAll(t),t||(e.namespaceStorages={})}}(jQuery); 14980 14981�(function(e,i){"use strict";function t(t,s){var d=this;d.$el=e(t),d.el=t,d.id=l++,d.$window=e(i),d.$document=e(document),d.$el.bind("destroyed",e.proxy(d.teardown,d)),d.$clonedHeader=null,d.$originalHeader=null,d.isSticky=!1,d.hasBeenSticky=!1,d.leftOffset=null,d.topOffset=null,d.init=function(){d.$el.each(function(){var i=e(this);i.css("padding",0),d.$originalHeader=e("thead:first",this),d.$clonedHeader=d.$originalHeader.clone(),i.trigger("clonedHeader."+o,[d.$clonedHeader]),d.$clonedHeader.addClass("tableFloatingHeader"),d.$clonedHeader.css("display","none"),d.$originalHeader.addClass("tableFloatingHeaderOriginal"),d.$originalHeader.after(d.$clonedHeader),d.$printStyle=e('<style type="text/css" media="print">.tableFloatingHeader{display:none !important;}.tableFloatingHeaderOriginal{position:static !important;}</style>'),e("head").append(d.$printStyle)}),d.setOptions(s),d.updateWidth(),d.toggleHeaders(),d.bind()},d.destroy=function(){d.$el.unbind("destroyed",d.teardown),d.teardown()},d.teardown=function(){d.isSticky&&d.$originalHeader.css("position","static"),e.removeData(d.el,"plugin_"+o),d.unbind(),d.$clonedHeader.remove(),d.$originalHeader.removeClass("tableFloatingHeaderOriginal"),d.$originalHeader.css("visibility","visible"),d.$printStyle.remove(),d.el=null,d.$el=null},d.bind=function(){d.$scrollableArea.on("scroll."+o,d.toggleHeaders),d.isWindowScrolling||(d.$window.on("scroll."+o+d.id,d.setPositionValues),d.$window.on("resize."+o+d.id,d.toggleHeaders)),d.$scrollableArea.on("resize."+o,d.toggleHeaders),d.$scrollableArea.on("resize."+o,d.updateWidth)},d.unbind=function(){d.$scrollableArea.off("."+o,d.toggleHeaders),d.isWindowScrolling||(d.$window.off("."+o+d.id,d.setPositionValues),d.$window.off("."+o+d.id,d.toggleHeaders)),d.$scrollableArea.off("."+o,d.updateWidth),d.$el.off("."+o),d.$el.find("*").off("."+o)},d.toggleHeaders=function(){d.$el&&d.$el.each(function(){var i,t=e(this),o=d.isWindowScrolling?isNaN(d.options.fixedOffset)?d.options.fixedOffset.outerHeight():d.options.fixedOffset:d.$scrollableArea.offset().top+(isNaN(d.options.fixedOffset)?0:d.options.fixedOffset),l=t.offset(),n=d.$scrollableArea.scrollTop()+o,s=d.$scrollableArea.scrollLeft(),a=d.isWindowScrolling?n>l.top:o>l.top,r=(d.isWindowScrolling?n:0)<l.top+t.height()-d.$clonedHeader.height()-(d.isWindowScrolling?0:o);a&&r?(i=l.left-s+d.options.leftOffset,d.$originalHeader.css({position:"fixed","margin-top":0,top:0,left:i,"z-index":1}),d.leftOffset=i,d.topOffset=o,d.$clonedHeader.css("display",""),d.isSticky||(d.isSticky=!0,d.updateWidth()),d.setPositionValues()):d.isSticky&&(d.$originalHeader.css("position","static"),d.$clonedHeader.css("display","none"),d.isSticky=!1,d.resetWidth(e("td,th",d.$clonedHeader),e("td,th",d.$originalHeader)))})},d.setPositionValues=function(){var e=d.$window.scrollTop(),i=d.$window.scrollLeft();!d.isSticky||0>e||e+d.$window.height()>d.$document.height()||0>i||i+d.$window.width()>d.$document.width()||d.$originalHeader.css({top:d.topOffset-(d.isWindowScrolling?0:e),left:d.leftOffset-(d.isWindowScrolling?0:i)})},d.updateWidth=function(){if(d.isSticky){d.$originalHeaderCells||(d.$originalHeaderCells=e("th,td",d.$originalHeader)),d.$clonedHeaderCells||(d.$clonedHeaderCells=e("th,td",d.$clonedHeader));var i=d.getWidth(d.$clonedHeaderCells);d.setWidth(i,d.$clonedHeaderCells,d.$originalHeaderCells),d.$originalHeader.css("width",d.$clonedHeader.width())}},d.getWidth=function(t){var o=[];return t.each(function(t){var l,n=e(this);if("border-box"===n.css("box-sizing"))l=n.outerWidth();else{var s=e("th",d.$originalHeader);if("collapse"===s.css("border-collapse"))if(i.getComputedStyle)l=parseFloat(i.getComputedStyle(this,null).width);else{var a=parseFloat(n.css("padding-left")),r=parseFloat(n.css("padding-right")),c=parseFloat(n.css("border-width"));l=n.outerWidth()-a-r-c}else l=n.width()}o[t]=l}),o},d.setWidth=function(e,i,t){i.each(function(i){var o=e[i];t.eq(i).css({"min-width":o,"max-width":o})})},d.resetWidth=function(i,t){i.each(function(i){var o=e(this);t.eq(i).css({"min-width":o.css("min-width"),"max-width":o.css("max-width")})})},d.setOptions=function(t){d.options=e.extend({},n,t),d.$scrollableArea=e(d.options.scrollableArea),d.isWindowScrolling=d.$scrollableArea[0]===i},d.updateOptions=function(e){d.setOptions(e),d.unbind(),d.bind(),d.updateWidth(),d.toggleHeaders()},d.init()}var o="stickyTableHeaders",l=0,n={fixedOffset:0,leftOffset:0,scrollableArea:i};e.fn[o]=function(i){return this.each(function(){var l=e.data(this,"plugin_"+o);l?"string"==typeof i?l[i].apply(l):l.updateOptions(i):"destroy"!==i&&e.data(this,"plugin_"+o,new t(this,i))})}})(jQuery,window); 14982�(function(a){a.isScrollToFixed=function(b){return !!a(b).data("ScrollToFixed")};a.ScrollToFixed=function(d,i){var m=this;m.$el=a(d);m.el=d;m.$el.data("ScrollToFixed",m);var c=false;var H=m.$el;var I;var F;var k;var e;var z;var E=0;var r=0;var j=-1;var f=-1;var u=null;var A;var g;function v(){H.trigger("preUnfixed.ScrollToFixed");l();H.trigger("unfixed.ScrollToFixed");f=-1;E=H.offset().top;r=H.offset().left;if(m.options.offsets){r+=(H.offset().left-H.position().left)}if(j==-1){j=r}I=H.css("position");c=true;if(m.options.bottom!=-1){H.trigger("preFixed.ScrollToFixed");x();H.trigger("fixed.ScrollToFixed")}}function o(){var J=m.options.limit;if(!J){return 0}if(typeof(J)==="function"){return J.apply(H)}return J}function q(){return I==="fixed"}function y(){return I==="absolute"}function h(){return !(q()||y())}function x(){if(!q()){var J=H[0].getBoundingClientRect();u.css({display:H.css("display"),width:J.width,height:J.height,"float":H.css("float")});cssOptions={"z-index":m.options.zIndex,position:"fixed",top:m.options.bottom==-1?t():"",bottom:m.options.bottom==-1?"":m.options.bottom,"margin-left":"0px"};if(!m.options.dontSetWidth){cssOptions.width=H.css("width")}H.css(cssOptions);H.addClass(m.options.baseClassName);if(m.options.className){H.addClass(m.options.className)}I="fixed"}}function b(){var K=o();var J=r;if(m.options.removeOffsets){J="";K=K-E}cssOptions={position:"absolute",top:K,left:J,"margin-left":"0px",bottom:""};if(!m.options.dontSetWidth){cssOptions.width=H.css("width")}H.css(cssOptions);I="absolute"}function l(){if(!h()){f=-1;u.css("display","none");H.css({"z-index":z,width:"",position:F,left:"",top:e,"margin-left":""});H.removeClass("scroll-to-fixed-fixed");
14982if(m.options.className){H.removeClass(m.options.className)}I=null}}function w(J){if(J!=f){H.css("left",r-J);f=J}}function t(){var J=m.options.marginTop;if(!J){return 0}if(typeof(J)==="function"){return J.apply(H)}return J}function B(){if(!a.isScrollToFixed(H)||H.is(":hidden")){return}var M=c;var L=h();if(!c){v()}else{if(h()){E=H.offset().top;r=H.offset().left}}var J=a(window).scrollLeft();var N=a(window).scrollTop();var K=o();if(m.options.minWidth&&a(window).width()<m.options.minWidth){if(!h()||!M){p();H.trigger("preUnfixed.ScrollToFixed");l();H.trigger("unfixed.ScrollToFixed")}}else{if(m.options.maxWidth&&a(window).width()>m.options.maxWidth){if(!h()||!M){p();H.trigger("preUnfixed.ScrollToFixed");l();H.trigger("unfixed.ScrollToFixed")}}else{if(m.options.bottom==-1){if(K>0&&N>=K-t()){if(!L&&(!y()||!M)){p();H.trigger("preAbsolute.ScrollToFixed");b();H.trigger("unfixed.ScrollToFixed")}}else{if(N>=E-t()){if(!q()||!M){p();H.trigger("preFixed.ScrollToFixed");x();f=-1;H.trigger("fixed.ScrollToFixed")}w(J)}else{if(!h()||!M){p();H.trigger("preUnfixed.ScrollToFixed");l();H.trigger("unfixed.ScrollToFixed")}}}}else{if(K>0){if(N+a(window).height()-H.outerHeight(true)>=K-(t()||-n())){if(q()){p();H.trigger("preUnfixed.ScrollToFixed");if(F==="absolute"){b()}else{l()}H.trigger("unfixed.ScrollToFixed")}}else{if(!q()){p();H.trigger("preFixed.ScrollToFixed");x()}w(J);H.trigger("fixed.ScrollToFixed")}}else{w(J)}}}}}function n(){if(!m.options.bottom){return 0}return m.options.bottom}function p(){var J=H.css("position");if(J=="absolute"){H.trigger("postAbsolute.ScrollToFixed")}else{if(J=="fixed"){H.trigger("postFixed.ScrollToFixed")}else{H.trigger("postUnfixed.ScrollToFixed")}}}var D=function(J){if(H.is(":visible")){c=false;B()}};var G=function(J){(!!window.requestAnimationFrame)?requestAnimationFrame(B):B()};var C=function(){var K=document.body;if(document.createElement&&K&&K.appendChild&&K.removeChild){var M=document.createElement("div");if(!M.getBoundingClientRect){return null}M.innerHTML="x";M.style.cssText="position:fixed;top:100px;";K.appendChild(M);var N=K.style.height,O=K.scrollTop;K.style.height="3000px";K.scrollTop=500;var J=M.getBoundingClientRect().top;K.style.height=N;var L=(J===100);K.removeChild(M);K.scrollTop=O;return L}return null};var s=function(J){J=J||window.event;if(J.preventDefault){J.preventDefault()}J.returnValue=false};m.init=function(){m.options=a.extend({},a.ScrollToFixed.defaultOptions,i);z=H.css("z-index");m.$el.css("z-index",m.options.zIndex);u=a("<div />");I=H.css("position");F=H.css("position");k=H.css("float");e=H.css("top");if(h()){m.$el.after(u)}a(window).bind("resize.ScrollToFixed",D);a(window).bind("scroll.ScrollToFixed",G);if("ontouchmove" in window){a(window).bind("touchmove.ScrollToFixed",B)}if(m.options.preFixed){H.bind("preFixed.ScrollToFixed",m.options.preFixed)}if(m.options.postFixed){H.bind("postFixed.ScrollToFixed",m.options.postFixed)}if(m.options.preUnfixed){H.bind("preUnfixed.ScrollToFixed",m.options.preUnfixed)}if(m.options.postUnfixed){H.bind("postUnfixed.ScrollToFixed",m.options.postUnfixed)}if(m.options.preAbsolute){H.bind("preAbsolute.ScrollToFixed",m.options.preAbsolute)}if(m.options.postAbsolute){H.bind("postAbsolute.ScrollToFixed",m.options.postAbsolute)}if(m.options.fixed){H.bind("fixed.ScrollToFixed",m.options.fixed)}if(m.options.unfixed){H.bind("unfixed.ScrollToFixed",m.options.unfixed)}if(m.options.spacerClass){u.addClass(m.options.spacerClass)}H.bind("resize.ScrollToFixed",function(){u.height(H.height())});H.bind("scroll.ScrollToFixed",function(){H.trigger("preUnfixed.ScrollToFixed");l();H.trigger("unfixed.ScrollToFixed");B()});H.bind("detach.ScrollToFixed",function(J){s(J);H.trigger("preUnfixed.ScrollToFixed");l();H.trigger("unfixed.ScrollToFixed");a(window).unbind("resize.ScrollToFixed",D);a(window).unbind("scroll.ScrollToFixed",G);H.unbind(".ScrollToFixed");u.remove();m.$el.removeData("ScrollToFixed")});D()};m.init()};a.ScrollToFixed.defaultOptions={marginTop:0,limit:0,bottom:-1,zIndex:1000,baseClassName:"scroll-to-fixed-fixed"};a.fn.scrollToFixed=function(b){return this.each(function(){(new a.ScrollToFixed(this,b))})}})(jQuery); 14983�/** 14984 * Push 14985 * ======= 14986 * A compact, cross-browser solution for the JavaScript Notifications API 14987 * 14988 * Credits 14989 * ------- 14990 * Tsvetan Tsvetkov (ttsvetko) 14991 * Alex Gibson (alexgibson) 14992 * 14993 * License 14994 * ------- 14995 * 14996 * The MIT License (MIT) 14997 * 14998 * Copyright (c) 2015 Tyler Nickerson 14999 * 15000 * Permission is hereby granted, free of charge, to any person obtaining a copy 15001 * of this software and associated documentation files (the "Software"), to deal 15002 * in the Software without restriction, including without limitation the rights 15003 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 15004 * copies of the Software, and to permit persons to whom the Software is 15005 * furnished to do so, subject to the following conditions: 15006 * 15007 * The above copyright notice and this permission notice shall be included in 15008 * all copies or substantial portions of the Software. 15009 * 15010 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15011 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15012 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 15013 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 15014 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 15015 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 15016 * THE SOFTWARE. 15017 * 15018 * @preserve 15019 */ 15020(function(global,factory){"use strict";if(typeof define==="function"&&define.amd){define(function(){return new(factory(global,global.document))})}else if(typeof module!=="undefined"&&module.exports){module.exports=new(factory(global,global.document))}else{global.Push=new(factory(global,global.document))}})(typeof window!=="undefined"?window:this,function(w,d){var Push=function(){var self=this,isUndefined=function(obj){return obj===undefined},isString=function(obj){return String(obj)===obj},isFunction=function(obj){return obj&&{}.toString.call(obj)==="[object Function]"},currentId=0,incompatibilityErrorMessage="PushError: push.js is incompatible with browser.",hasPermission=false,notifications={},lastWorkerPath=null,closeNotification=function(id){var errored=false,notification=notifications[id];if(typeof notification!=="undefined"){if(notification.close){notification.close()}else if(notification.cancel){notification.cancel()}else if(w.external&&w.external.msIsSiteMode){w.external.msSiteModeClearIconOverlay()}else{errored=true;throw new Error("Unable to close notification: unknown interface")}if(!errored){return removeNotification(id)}}return false},addNotification=function(notification){var id=currentId;notifications[id]=notification;currentId++;return id},removeNotification=function(id){var dict={},success=false,key;for(key in notifications){if(notifications.hasOwnProperty(key)){if(key!=id){dict[key]=notifications[key]}else{success=true}}}notifications=dict;return success},createCallback=function(title,options){var notification,wrapper,id,onClose;options=options||{};self.lastWorkerPath=options.serviceWorker||"sw.js";if(w.Notification){try{notification=new w.Notification(title,{icon:isString(options.icon)||isUndefined(options.icon)?options.icon:options.icon.x32,body:options.body,tag:options.tag,requireInteraction:options.requireInteraction})}catch(e){if(w.navigator){w.navigator.serviceWorker.register(options.serviceWorker||"sw.js");w.navigator.serviceWorker.ready.then(function(registration){registration.showNotification(title,{body:options.body,vibrate:options.vibrate,tag:options.tag,requireInteraction:options.requireInteraction})})}}}else if(w.webkitNotifications){notification=w.webkitNotifications.createNotification(options.icon,title,options.body);notification.show()}else if(navigator.mozNotification){notification=navigator.mozNotification.createNotification(title,options.body,options.icon);notification.show()}else if(w.external&&w.external.msIsSiteMode()){w.external.msSiteModeClearIconOverlay();w.external.msSiteModeSetIconOverlay(isString(options.icon)||isUndefined(options.icon)?options.icon:options.icon.x16,title);w.external.msSiteModeActivate();notification={}}else{throw new Error("Unable to create notification: unknown interface")}id=addNotification(notification);wrapper={get:function(){return notification},close:function(){closeNotification(id)}};if(options.timeout){setTimeout(function(){wrapper.close()},options.timeout)}if(isFunction(options.onShow))notification.addEventListener("show",options.onShow);if(isFunction(options.onError))notification.addEventListener("error",options.onError);if(isFunction(options.onClick))notification.addEventListener("click",options.onClick);onClose=function(){removeNotification(id);if(isFunction(options.onClose)){options.onClose.call(this)}};notification.addEventListener("close",onClose);notification.addEventListener("cancel",onClose);return wrapper},Permission={DEFAULT:"default",GRANTED:"granted",DENIED:"denied"},Permissions=[Permission.GRANTED,Permission.DEFAULT,Permission.DENIED];self.Permission=Permission;self.Permission.request=function(onGranted,onDenied){if(!self.isSupported){throw new Error(incompatibilityErrorMessage)}callback=function(result){switch(result){case self.Permission.GRANTED:hasPermission=true;if(onGranted)onGranted();break;case self.Permission.DENIED:hasPermission=false;if(onDenied)onDenied();break}};if(w.Notification&&w.Notification.requestPermission){Notification.requestPermission(callback)}else if(w.webkitNotifications&&w.webkitNotifications.checkPermission){w.webkitNotifications.requestPermission(callback)}else{throw new Error(incompatibilityErrorMessage)}};self.Permission.has=function(){return hasPermission};self.Permission.get=function(){var permission;if(!self.isSupported){throw new Error(incompatibilityErrorMessage)}if(w.Notification&&w.Notification.permissionLevel){permission=w.Notification.permissionLevel}else if(w.webkitNotifications&&w.webkitNotifications.checkPermission){permission=Permissions[w.webkitNotifications.checkPermission()]}else if(w.Notification&&w.Notification.permission){permission=w.Notification.permission}else if(navigator.mozNotification){permission=Permissions.GRANTED}else if(w.external&&w.external.msIsSiteMode()!==undefined){permission=w.external.msIsSiteMode()?Permission.GRANTED:Permission.DEFAULT}else{throw new Error(incompatibilityErrorMessage)}return permission};self.isSupported=function(){var isSupported=false;try{isSupported=!!(w.Notification||w.webkitNotifications||navigator.mozNotification||w.external&&w.external.msIsSiteMode()!==undefined)}catch(e){}return isSupported}();self.create=function(title,options){if(!self.isSupported){throw new Error(incompatibilityErrorMessage)}if(!isString(title)){throw new Error("PushError: Title of notification must be a string")}if(!self.Permission.has()){return new Promise(function(resolve,reject){self.Permission.request(function(){try{resolve(createCallback(title,options))}catch(e){reject(e)}},function(){reject("Permission request declined")})})}else{return new Promise(function(resolve,reject){try{resolve(createCallback(title,options))}catch(e){reject(e)}})}};self.count=function(){var count=0,key;for(key in notifications){count++}return count},self.__lastWorkerPath=function(){return self.lastWorkerPath},self.close=function(tag){var key;for(key in notifications){notification=notifications[key];if(notification.tag===tag){return closeNotification(key)}}};self.clear=function(){var i,success=true;for(key in notifications){var didClose=closeNotification(key);success=success&&didClose}return success}};return Push}); 15021�/*! howler.js v2.2.1 | (c) 2013-2020, James Simpson of GoldFire Studios | MIT License | howlerjs.com */ 15022!function(){"use strict";var e=function(){this.init()};e.prototype={init:function(){var e=this||n;return e._counter=1e3,e._html5AudioPool=[],e.html5PoolSize=10,e._codecs={},e._howls=[],e._muted=!1,e._volume=1,e._canPlayEvent="canplaythrough",e._navigator="undefined"!=typeof window&&window.navigator?window.navigator:null,e.masterGain=null,e.noAudio=!1,e.usingWebAudio=!0,e.autoSuspend=!0,e.ctx=null,e.autoUnlock=!0,e._setup(),e},volume:function(e){var o=this||n;if(e=parseFloat(e),o.ctx||_(),void 0!==e&&e>=0&&e<=1){if(o._volume=e,o._muted)return o;o.usingWebAudio&&o.masterGain.gain.setValueAtTime(e,n.ctx.currentTime);for(var t=0;t<o._howls.length;t++)if(!o._howls[t]._webAudio)for(var r=o._howls[t]._getSoundIds(),a=0;a<r.length;a++){var u=o._howls[t]._soundById(r[a]);u&&u._node&&(u._node.volume=u._volume*e)}return o}return o._volume},mute:function(e){var o=this||n;o.ctx||_(),o._muted=e,o.usingWebAudio&&o.masterGain.gain.setValueAtTime(e?0:o._volume,n.ctx.currentTime);for(var t=0;t<o._howls.length;t++)if(!o._howls[t]._webAudio)for(var r=o._howls[t]._getSoundIds(),a=0;a<r.length;a++){var u=o._howls[t]._soundById(r[a]);u&&u._node&&(u._node.muted=!!e||u._muted)}return o},stop:function(){for(var e=this||n,o=0;o<e._howls.length;o++)e._howls[o].stop();return e},unload:function(){for(var e=this||n,o=e._howls.length-1;o>=0;o--)e._howls[o].unload();return e.usingWebAudio&&e.ctx&&void 0!==e.ctx.close&&(e.ctx.close(),e.ctx=null,_()),e},codecs:function(e){return(this||n)._codecs[e.replace(/^x-/,"")]},_setup:function(){var e=this||n;if(e.state=e.ctx?e.ctx.state||"suspended":"suspended",e._autoSuspend(),!e.usingWebAudio)if("undefined"!=typeof Audio)try{var o=new Audio;void 0===o.oncanplaythrough&&(e._canPlayEvent="canplay")}catch(n){e.noAudio=!0}else e.noAudio=!0;try{var o=new Audio;o.muted&&(e.noAudio=!0)}catch(e){}return e.noAudio||e._setupCodecs(),e},_setupCodecs:function(){var e=this||n,o=null;try{o="undefined"!=typeof Audio?new Audio:null}catch(n){return e}if(!o||"function"!=typeof o.canPlayType)return e;var t=o.canPlayType("audio/mpeg;").replace(/^no$/,""),r=e._navigator&&e._navigator.userAgent.match(/OPR\/([0-6].)/g),a=r&&parseInt(r[0].split("/")[1],10)<33;return e._codecs={mp3:!(a||!t&&!o.canPlayType("audio/mp3;").replace(/^no$/,"")),mpeg:!!t,opus:!!o.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/,""),ogg:!!o.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),oga:!!o.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),wav:!!(o.canPlayType('audio/wav; codecs="1"')||o.canPlayType("audio/wav")).replace(/^no$/,""),aac:!!o.canPlayType("audio/aac;").replace(/^no$/,""),caf:!!o.canPlayType("audio/x-caf;").replace(/^no$/,""),m4a:!!(o.canPlayType("audio/x-m4a;")||o.canPlayType("audio/m4a;")||o.canPlayType("audio/aac;")).replace(/^no$/,""),m4b:!!(o.canPlayType("audio/x-m4b;")||o.canPlayType("audio/m4b;")||o.canPlayType("audio/aac;")).replace(/^no$/,""),mp4:!!(o.canPlayType("audio/x-mp4;")||o.canPlayType("audio/mp4;")||o.canPlayType("audio/aac;")).replace(/^no$/,""),weba:!!o.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,""),webm:!!o.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,""),dolby:!!o.canPlayType('audio/mp4; codecs="ec-3"').replace(/^no$/,""),flac:!!(o.canPlayType("audio/x-flac;")||o.canPlayType("audio/flac;")).replace(/^no$/,"")},e},_unlockAudio:function(){var e=this||n;if(!e._audioUnlocked&&e.ctx){e._audioUnlocked=!1,e.autoUnlock=!1,e._mobileUnloaded||44100===e.ctx.sampleRate||(e._mobileUnloaded=!0,e.unload()),e._scratchBuffer=e.ctx.createBuffer(1,1,22050);var o=function(n){for(;e._html5AudioPool.length<e.html5PoolSize;)try{var t=new Audio;t._unlocked=!0,e._releaseHtml5Audio(t)}catch(n){e.noAudio=!0;break}for(var r=0;r<e._howls.length;r++)if(!e._howls[r]._webAudio)for(var a=e._howls[r]._getSoundIds(),u=0;u<a.length;u++){var d=e._howls[r]._soundById(a[u]);d&&d._node&&!d._node._unlocked&&(d._node._unlocked=!0,d._node.load())}e._autoResume();var i=e.ctx.createBufferSource();i.buffer=e._scratchBuffer,i.connect(e.ctx.destination),void 0===i.start?i.noteOn(0):i.start(0),"function"==typeof e.ctx.resume&&e.ctx.resume(),i.onended=function(){i.disconnect(0),e._audioUnlocked=!0,document.removeEventListener("touchstart",o,!0),document.removeEventListener("touchend",o,!0),document.removeEventListener("click",o,!0);for(var n=0;n<e._howls.length;n++)e._howls[n]._emit("unlock")}};return document.addEventListener("touchstart",o,!0),document.addEventListener("touchend",o,!0),document.addEventListener("click",o,!0),e}},_obtainHtml5Audio:function(){var e=this||n;if(e._html5AudioPool.length)return e._h
vendor: 13,139 bytes, line 15022
15022tml5AudioPool.pop();var o=(new Audio).play();return o&&"undefined"!=typeof Promise&&(o instanceof Promise||"function"==typeof o.then)&&o.catch(function(){console.warn("HTML5 Audio pool exhausted, returning potentially locked audio object.")}),new Audio},_releaseHtml5Audio:function(e){var o=this||n;return e._unlocked&&o._html5AudioPool.push(e),o},_autoSuspend:function(){var e=this;if(e.autoSuspend&&e.ctx&&void 0!==e.ctx.suspend&&n.usingWebAudio){for(var o=0;o<e._howls.length;o++)if(e._howls[o]._webAudio)for(var t=0;t<e._howls[o]._sounds.length;t++)if(!e._howls[o]._sounds[t]._paused)return e;return e._suspendTimer&&clearTimeout(e._suspendTimer),e._suspendTimer=setTimeout(function(){if(e.autoSuspend){e._suspendTimer=null,e.state="suspending";var n=function(){e.state="suspended",e._resumeAfterSuspend&&(delete e._resumeAfterSuspend,e._autoResume())};e.ctx.suspend().then(n,n)}},3e4),e}},_autoResume:function(){var e=this;if(e.ctx&&void 0!==e.ctx.resume&&n.usingWebAudio)return"running"===e.state&&"interrupted"!==e.ctx.state&&e._suspendTimer?(clearTimeout(e._suspendTimer),e._suspendTimer=null):"suspended"===e.state||"running"===e.state&&"interrupted"===e.ctx.state?(e.ctx.resume().then(function(){e.state="running";for(var n=0;n<e._howls.length;n++)e._howls[n]._emit("resume")}),e._suspendTimer&&(clearTimeout(e._suspendTimer),e._suspendTimer=null)):"suspending"===e.state&&(e._resumeAfterSuspend=!0),e}};var n=new e,o=function(e){var n=this;if(!e.src||0===e.src.length)return void console.error("An array of source files must be passed with any new Howl.");n.init(e)};o.prototype={init:function(e){var o=this;return n.ctx||_(),o._autoplay=e.autoplay||!1,o._format="string"!=typeof e.format?e.format:[e.format],o._html5=e.html5||!1,o._muted=e.mute||!1,o._loop=e.loop||!1,o._pool=e.pool||5,o._preload="boolean"!=typeof e.preload&&"metadata"!==e.preload||e.preload,o._rate=e.rate||1,o._sprite=e.sprite||{},o._src="string"!=typeof e.src?e.src:[e.src],o._volume=void 0!==e.volume?e.volume:1,o._xhr={method:e.xhr&&e.xhr.method?e.xhr.method:"GET",headers:e.xhr&&e.xhr.headers?e.xhr.headers:null,withCredentials:!(!e.xhr||!e.xhr.withCredentials)&&e.xhr.withCredentials},o._duration=0,o._state="unloaded",o._sounds=[],o._endTimers={},o._queue=[],o._playLock=!1,o._onend=e.onend?[{fn:e.onend}]:[],o._onfade=e.onfade?[{fn:e.onfade}]:[],o._onload=e.onload?[{fn:e.onload}]:[],o._onloaderror=e.onloaderror?[{fn:e.onloaderror}]:[],o._onplayerror=e.onplayerror?[{fn:e.onplayerror}]:[],o._onpause=e.onpause?[{fn:e.onpause}]:[],o._onplay=e.onplay?[{fn:e.onplay}]:[],o._onstop=e.onstop?[{fn:e.onstop}]:[],o._onmute=e.onmute?[{fn:e.onmute}]:[],o._onvolume=e.onvolume?[{fn:e.onvolume}]:[],o._onrate=e.onrate?[{fn:e.onrate}]:[],o._onseek=e.onseek?[{fn:e.onseek}]:[],o._onunlock=e.onunlock?[{fn:e.onunlock}]:[],o._onresume=[],o._webAudio=n.usingWebAudio&&!o._html5,void 0!==n.ctx&&n.ctx&&n.autoUnlock&&n._unlockAudio(),n._howls.push(o),o._autoplay&&o._queue.push({event:"play",action:function(){o.play()}}),o._preload&&"none"!==o._preload&&o.load(),o},load:function(){var e=this,o=null;if(n.noAudio)return void e._emit("loaderror",null,"No audio support.");"string"==typeof e._src&&(e._src=[e._src]);for(var r=0;r<e._src.length;r++){var u,d;if(e._format&&e._format[r])u=e._format[r];else{if("string"!=typeof(d=e._src[r])){e._emit("loaderror",null,"Non-string found in selected audio sources - ignoring.");continue}u=/^data:audio\/([^;,]+);/i.exec(d),u||(u=/\.([^.]+)$/.exec(d.split("?",1)[0])),u&&(u=u[1].toLowerCase())}if(u||console.warn('No file extension was found. Consider using the "format" property or specify an extension.'),u&&n.codecs(u)){o=e._src[r];break}}return o?(e._src=o,e._state="loading","https:"===window.location.protocol&&"http:"===o.slice(0,5)&&(e._html5=!0,e._webAudio=!1),new t(e),e._webAudio&&a(e),e):void e._emit("loaderror",null,"No codec support for selected audio sources.")},play:function(e,o){var t=this,r=null;if("number"==typeof e)r=e,e=null;else{if("string"==typeof e&&"loaded"===t._state&&!t._sprite[e])return null;if(void 0===e&&(e="__default",!t._playLock)){for(var a=0,u=0;u<t._sounds.length;u++)t._sounds[u]._paused&&!t._sounds[u]._ended&&(a++,r=t._sounds[u]._id);1===a?e=null:r=null}}var d=r?t._soundById(r):t._inactiveSound();if(!d)return null;if(r&&!e&&(e=d._sprite||"__default"),"loaded"!==t._state){d._sprite=e,d._ended=!1;var i=d._id;return t._queue.push({event:"play",action:function(){t.play(i)}}),i}if(r&&!d._paused)return o||t._loadQueue("play"),d._id;t._webAudio&&n._autoResume();var _=Math.max(0,d._seek>0?d._seek:t._sprite[e][0]/1e3),s=Math.max(0,(t._sprite[e][0]+t._sprite[e][1])/1e3-_),l=1e3*s/Math.abs(d._rate),c=t._sprite[e][0]/1e3,f=(t._sprite[e][0]+t._sprite[e][1])/1e3;d._sprite=e,d._ended=!1;var p=function(){d._paused=!1,d._seek=_,d._start=c,d._stop=f,d._loop=!(!d._loop&&!t._sprite[e][2])};if(_>=f)return void t._ended(d);var m=d._node;if(t._webAudio){var v=function(){t._playLock=!1,p(),t._refreshBuffer(d);var e=d._muted||t._muted?0:d._volume;m.gain.setValueAtTime(e,n.ctx.currentTime),d._playStart=n.ctx.currentTime,void 0===m.bufferSource.start?d._loop?m.bufferSource.noteGrainOn(0,_,86400):m.bufferSource.noteGrainOn(0,_,s):d._loop?m.bufferSource.start(0,_,86400):m.bufferSource.start(0,_,s),l!==1/0&&(t._endTimers[d._id]=setTimeout(t._ended.bind(t,d),l)),o||setTimeout(function(){t._emit("play",d._id),t._loadQueue()},0)};"running"===n.state&&"interrupted"!==n.ctx.state?v():(t._playLock=!0,t.once("resume",v),t._clearTimer(d._id))}else{var h=function(){m.currentTime=_,m.muted=d._muted||t._muted||n._muted||m.muted,m.volume=d._volume*n.volume(),m.playbackRate=d._rate;try{var r=m.play();if(r&&"undefined"!=typeof Promise&&(r instanceof Promise||"function"==typeof r.then)?(t._playLock=!0,p(),r.then(function(){t._playLock=!1,m._unlocked=!0,o||(t._emit("play",d._id),t._loadQueue())}).catch(function(){t._playLock=!1,t._emit("playerror",d._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction."),d._ended=!0,d._paused=!0})):o||(t._playLock=!1,p(),t._emit("play",d._id),t._loadQueue()),m.playbackRate=d._rate,m.paused)return void t._emit("playerror",d._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.");"__default"!==e||d._loop?t._endTimers[d._id]=setTimeout(t._ended.bind(t,d),l):(t._endTimers[d._id]=function(){t._ended(d),m.removeEventListener("ended",t._endTimers[d._id],!1)},m.addEventListener("ended",t._endTimers[d._id],!1))}catch(e){t._emit("playerror",d._id,e)}};"data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"===m.src&&(m.src=t._src,m.load());var y=window&&window.ejecta||!m.readyState&&n._navigator.isCocoonJS;if(m.readyState>=3||y)h();else{t._playLock=!0;var g=function(){h(),m.removeEventListener(n._canPlayEvent,g,!1)};m.addEventListener(n._canPlayEvent,g,!1),t._clearTimer(d._id)}}return d._id},pause:function(e){var n=this;if("loaded"!==n._state||n._playLock)return n._queue.push({event:"pause",action:function(){n.pause(e)}}),n;for(var o=n._getSoundIds(e),t=0;t<o.length;t++){n._clearTimer(o[t]);var r=n._soundById(o[t]);if(r&&!r._paused&&(r._seek=n.seek(o[t]),r._rateSeek=0,r._paused=!0,n._stopFade(o[t]),r._node))if(n._webAudio){if(!r._node.bufferSource)continue;void 0===r._node.bufferSource.stop?r._node.bufferSource.noteOff(0):r._node.bufferSource.stop(0),n._cleanBuffer(r._node)}else isNaN(r._node.duration)&&r._node.duration!==1/0||r._node.pause();arguments[1]||n._emit("pause",r?r._id:null)}return n},stop:function(e,n){var o=this;if("loaded"!==o._state||o._playLock)return o._queue.push({event:"stop",action:function(){o.stop(e)}}),o;for(var t=o._getSoundIds(e),r=0;r<t.length;r++){o._clearTimer(t[r]);var a=o._soundById(t[r]);a&&(a._seek=a._start||0,a._rateSeek=0,a._paused=!0,a._ended=!0,o._stopFade(t[r]),a._node&&(o._webAudio?a._node.bufferSource&&(void 0===a._node.bufferSource.stop?a._node.bufferSource.noteOff(0):a._node.bufferSource.stop(0),o._cleanBuffer(a._node)):isNaN(a._node.duration)&&a._node.duration!==1/0||(a._node.currentTime=a._start||0,a._node.pause(),a._node.duration===1/0&&o._clearSound(a._node))),n||o._emit("stop",a._id))}return o},mute:function(e,o){var t=this;if("loaded"!==t._state||t._playLock)return t._queue.push({event:"mute",action:function(){t.mute(e,o)}}),t;if(void 0===o){if("boolean"!=typeof e)return t._muted;t._muted=e}for(var r=t._getSoundIds(o),a=0;a<r.length;a++){var u=t._soundById(r[a]);u&&(u._muted=e,u._interval&&t._stopFade(u._id),t._webAudio&&u._node?u._node.gain.setValueAtTime(e?0:u._volume,n.ctx.currentTime):u._node&&(u._node.muted=!!n._muted||e),t._emit("mute",u._id))}return t},volume:function(){var e,o,t=this,r=arguments;if(0===r.length)return t._volume;if(1===r.length||2===r.length&&void 0===r[1]){t._getSoundIds().indexOf(r[0])>=0?o=parseInt(r[0],10):e=parseFloat(r[0])}else r.length>=2&&(e=parseFloat(r[0]),o=parseInt(r[1],10));var a;if(!(void 0!==e&&e>=0&&e<=1))return a=o?t._soundById(o):t._sounds[0],a?a._volume:0;if("loaded"!==t._state||t._playLock)return t._queue.push({event:"volume",action:function(){t.volume.apply(t,r)}}),t;void 0===o&&(t._volume=e),o=t._getSoundIds(o);for(var u=0;u<o.length;u++)(a=t._soundById(o[u]))&&(a._volume=e,r[2]||t._stopFade(o[u]),t._webAudio&&a._node&&!a._muted?a._node.gain.setValueAtTime(e,n.ctx.currentTime):a._node&&!a._muted&&(a._node.volume=e*n.volume()),t._emit("volume",a._id));return t},fade:function(e,o,t,r){var a=this;if("loaded"!==a._state||a._playLock)return a._queue.push({event:"fade",action:function(){a.fade(e,o,t,r)}}),a;e=Math.min(Math.max(0,parseFloat(e)),1),o=Math.min(Math.max(0,parseFloat(o)),1),t=parseFloat(t),a.volume(e,r);for(var u=a._getSoundIds(r),d=0;d<u.length;d++){var i=a._soundById(u[d]);if(i){if(r||a._stopFade(u[d]),a._webAudio&&!i._muted){var _=n.ctx.currentTime,s=_+t/1e3;i._volume=e,i._node.gain.setValueAtTime(e,_),i._node.gain.linearRampToValueAtTime(o,s)}a._startFadeInterval(i,e,o,t,u[d],void 0===r)}}return a},_startFadeInterval:function(e,n,o,t,r,a){var u=this,d=n,i=o-n,_=Math.abs(i/.01),s=Math.max(4,_>0?t/_:t),l=Date.now();e._fadeTo=o,e._interval=setInterval(function(){var r=(Date.now()-l)/t;l=Date.now(),d+=i*r,d=Math.round(100*d)/100,d=i<0?Math.max(o,d):Math.min(o,d),u._webAudio?e._volume=d:u.volume(d,e._id,!0),a&&(u._volume=d),(o<n&&d<=o||o>n&&d>=o)&&(clearInterval(e._interval),e._interval=null,e._fadeTo=null,u.volume(o,e._id),u._emit("fade",e._id))},s)},_stopFade:function(e){var o=this,t=o._soundById(e);return t&&t._interval&&(o._webAudio&&t._node.gain.cancelScheduledValues(n.ctx.currentTime),clearInterval(t._interval),t._interval=null,o.volume(t._fadeTo,e),t._fadeTo=null,o._emit("fade",e)),o},loop:function(){var e,n,o,t=this,r=arguments;if(0===r.length)return t._loop;if(1===r.length){if("boolean"!=typeof r[0])return!!(o=t._soundById(parseInt(r[0],10)))&&o._loop;e=r[0],t._loop=e}else 2===r.length&&(e=r[0],n=parseInt(r[1],10));for(var a=t._getSoundIds(n),u=0;u<a.length;u++)(o=t._soundById(a[u]))&&(o._loop=e,t._webAudio&&o._node&&o._node.bufferSource&&(o._node.bufferSource.loop=e,e&&(o._node.bufferSource.loopStart=o._start||0,o._node.bufferSource.loopEnd=o._stop)));return t},rate:function(){var e,o,t=this,r=arguments;if(0===r.length)o=t._sounds[0]._id;else if(1===r.length){var a=t._getSoundIds(),u=a.indexOf(r[0]);u>=0?o=parseInt(r[0],10):e=parseFloat(r[0])}else 2===r.length&&(e=parseFloat(r[0]),o=parseInt(r[1],10));var d;if("number"!=typeof e)return d=t._soundById(o),d?d._rate:t._rate;if("loaded"!==t._state||t._playLock)return t._queue.push({event:"rate",action:function(){t.rate.apply(t,r)}}),t;void 0===o&&(t._rate=e),o=t._getSoundIds(o);for(var i=0;i<o.length;i++)if(d=t._soundById(o[i])){t.playing(o[i])&&(d._rateSeek=t.seek(o[i]),d._playStart=t._webAudio?n.ctx.currentTime:d._playStart),d._rate=e,t._webAudio&&d._node&&d._node.bufferSource?d._node.bufferSource.playbackRate.setValueAtTime(e,n.ctx.currentTime):d._node&&(d._node.playbackRate=e);var _=t.seek(o[i]),s=(t._sprite[d._sprite][0]+t._sprite[d._sprite][1])/1e3-_,l=1e3*s/Math.abs(d._rate);!t._endTimers[o[i]]&&d._paused||(t._clearTimer(o[i]),t._endTimers[o[i]]=setTimeout(t._ended.bind(t,d),l)),t._emit("rate",d._id)}return t},seek:function(){var e,o,t=this,r=arguments;if(0===r.length)o=t._sounds[0]._id;else if(1===r.length){var a=t._getSoundIds(),u=a.indexOf(r[0]);u>=0?o=parseInt(r[0],10):t._sounds.length&&(o=t._sounds[0]._id,e=parseFloat(r[0]))}else 2===r.length&&(e=parseFloat(r[0]),o=parseInt(r[1],10));if(void 0===o)return t;if("number"==typeof e&&("loaded"!==t._state||t._playLock))return t._queue.push({event:"seek",action:function(){t.seek.apply(t,r)}}),t;var d=t._soundById(o);if(d){if(!("number"==typeof e&&e>=0)){if(t._webAudio){var i=t.playing(o)?n.ctx.currentTime-d._playStart:0,_=d._rateSeek?d._rateSeek-d._seek:0;return d._seek+(_+i*Math.abs(d._rate))}return d._node.currentTime}var s=t.playing(o);s&&t.pause(o,!0),d._seek=e,d._ended=!1,t._clearTimer(o),t._webAudio||!d._node||isNaN(d._node.duration)||(d._node.currentTime=e);var l=function(){t._emit("seek",o),s&&t.play(o,!0
vendor: 8,749 bytes, line 15022
15022)};if(s&&!t._webAudio){var c=function(){t._playLock?setTimeout(c,0):l()};setTimeout(c,0)}else l()}return t},playing:function(e){var n=this;if("number"==typeof e){var o=n._soundById(e);return!!o&&!o._paused}for(var t=0;t<n._sounds.length;t++)if(!n._sounds[t]._paused)return!0;return!1},duration:function(e){var n=this,o=n._duration,t=n._soundById(e);return t&&(o=n._sprite[t._sprite][1]/1e3),o},state:function(){return this._state},unload:function(){for(var e=this,o=e._sounds,t=0;t<o.length;t++)o[t]._paused||e.stop(o[t]._id),e._webAudio||(e._clearSound(o[t]._node),o[t]._node.removeEventListener("error",o[t]._errorFn,!1),o[t]._node.removeEventListener(n._canPlayEvent,o[t]._loadFn,!1),o[t]._node.removeEventListener("ended",o[t]._endFn,!1),n._releaseHtml5Audio(o[t]._node)),delete o[t]._node,e._clearTimer(o[t]._id);var a=n._howls.indexOf(e);a>=0&&n._howls.splice(a,1);var u=!0;for(t=0;t<n._howls.length;t++)if(n._howls[t]._src===e._src||e._src.indexOf(n._howls[t]._src)>=0){u=!1;break}return r&&u&&delete r[e._src],n.noAudio=!1,e._state="unloaded",e._sounds=[],e=null,null},on:function(e,n,o,t){var r=this,a=r["_on"+e];return"function"==typeof n&&a.push(t?{id:o,fn:n,once:t}:{id:o,fn:n}),r},off:function(e,n,o){var t=this,r=t["_on"+e],a=0;if("number"==typeof n&&(o=n,n=null),n||o)for(a=0;a<r.length;a++){var u=o===r[a].id;if(n===r[a].fn&&u||!n&&u){r.splice(a,1);break}}else if(e)t["_on"+e]=[];else{var d=Object.keys(t);for(a=0;a<d.length;a++)0===d[a].indexOf("_on")&&Array.isArray(t[d[a]])&&(t[d[a]]=[])}return t},once:function(e,n,o){var t=this;return t.on(e,n,o,1),t},_emit:function(e,n,o){for(var t=this,r=t["_on"+e],a=r.length-1;a>=0;a--)r[a].id&&r[a].id!==n&&"load"!==e||(setTimeout(function(e){e.call(this,n,o)}.bind(t,r[a].fn),0),r[a].once&&t.off(e,r[a].fn,r[a].id));return t._loadQueue(e),t},_loadQueue:function(e){var n=this;if(n._queue.length>0){var o=n._queue[0];o.event===e&&(n._queue.shift(),n._loadQueue()),e||o.action()}return n},_ended:function(e){var o=this,t=e._sprite;if(!o._webAudio&&e._node&&!e._node.paused&&!e._node.ended&&e._node.currentTime<e._stop)return setTimeout(o._ended.bind(o,e),100),o;var r=!(!e._loop&&!o._sprite[t][2]);if(o._emit("end",e._id),!o._webAudio&&r&&o.stop(e._id,!0).play(e._id),o._webAudio&&r){o._emit("play",e._id),e._seek=e._start||0,e._rateSeek=0,e._playStart=n.ctx.currentTime;var a=1e3*(e._stop-e._start)/Math.abs(e._rate);o._endTimers[e._id]=setTimeout(o._ended.bind(o,e),a)}return o._webAudio&&!r&&(e._paused=!0,e._ended=!0,e._seek=e._start||0,e._rateSeek=0,o._clearTimer(e._id),o._cleanBuffer(e._node),n._autoSuspend()),o._webAudio||r||o.stop(e._id,!0),o},_clearTimer:function(e){var n=this;if(n._endTimers[e]){if("function"!=typeof n._endTimers[e])clearTimeout(n._endTimers[e]);else{var o=n._soundById(e);o&&o._node&&o._node.removeEventListener("ended",n._endTimers[e],!1)}delete n._endTimers[e]}return n},_soundById:function(e){for(var n=this,o=0;o<n._sounds.length;o++)if(e===n._sounds[o]._id)return n._sounds[o];return null},_inactiveSound:function(){var e=this;e._drain();for(var n=0;n<e._sounds.length;n++)if(e._sounds[n]._ended)return e._sounds[n].reset();return new t(e)},_drain:function(){var e=this,n=e._pool,o=0,t=0;if(!(e._sounds.length<n)){for(t=0;t<e._sounds.length;t++)e._sounds[t]._ended&&o++;for(t=e._sounds.length-1;t>=0;t--){if(o<=n)return;e._sounds[t]._ended&&(e._webAudio&&e._sounds[t]._node&&e._sounds[t]._node.disconnect(0),e._sounds.splice(t,1),o--)}}},_getSoundIds:function(e){var n=this;if(void 0===e){for(var o=[],t=0;t<n._sounds.length;t++)o.push(n._sounds[t]._id);return o}return[e]},_refreshBuffer:function(e){var o=this;return e._node.bufferSource=n.ctx.createBufferSource(),e._node.bufferSource.buffer=r[o._src],e._panner?e._node.bufferSource.connect(e._panner):e._node.bufferSource.connect(e._node),e._node.bufferSource.loop=e._loop,e._loop&&(e._node.bufferSource.loopStart=e._start||0,e._node.bufferSource.loopEnd=e._stop||0),e._node.bufferSource.playbackRate.setValueAtTime(e._rate,n.ctx.currentTime),o},_cleanBuffer:function(e){var o=this,t=n._navigator&&n._navigator.vendor.indexOf("Apple")>=0;if(n._scratchBuffer&&e.bufferSource&&(e.bufferSource.onended=null,e.bufferSource.disconnect(0),t))try{e.bufferSource.buffer=n._scratchBuffer}catch(e){}return e.bufferSource=null,o},_clearSound:function(e){/MSIE |Trident\//.test(n._navigator&&n._navigator.userAgent)||(e.src="data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA")}};var t=function(e){this._parent=e,this.init()};t.prototype={init:function(){var e=this,o=e._parent;return e._muted=o._muted,e._loop=o._loop,e._volume=o._volume,e._rate=o._rate,e._seek=0,e._paused=!0,e._ended=!0,e._sprite="__default",e._id=++n._counter,o._sounds.push(e),e.create(),e},create:function(){var e=this,o=e._parent,t=n._muted||e._muted||e._parent._muted?0:e._volume;return o._webAudio?(e._node=void 0===n.ctx.createGain?n.ctx.createGainNode():n.ctx.createGain(),e._node.gain.setValueAtTime(t,n.ctx.currentTime),e._node.paused=!0,e._node.connect(n.masterGain)):n.noAudio||(e._node=n._obtainHtml5Audio(),e._errorFn=e._errorListener.bind(e),e._node.addEventListener("error",e._errorFn,!1),e._loadFn=e._loadListener.bind(e),e._node.addEventListener(n._canPlayEvent,e._loadFn,!1),e._endFn=e._endListener.bind(e),e._node.addEventListener("ended",e._endFn,!1),e._node.src=o._src,e._node.preload=!0===o._preload?"auto":o._preload,e._node.volume=t*n.volume(),e._node.load()),e},reset:function(){var e=this,o=e._parent;return e._muted=o._muted,e._loop=o._loop,e._volume=o._volume,e._rate=o._rate,e._seek=0,e._rateSeek=0,e._paused=!0,e._ended=!0,e._sprite="__default",e._id=++n._counter,e},_errorListener:function(){var e=this;e._parent._emit("loaderror",e._id,e._node.error?e._node.error.code:0),e._node.removeEventListener("error",e._errorFn,!1)},_loadListener:function(){var e=this,o=e._parent;o._duration=Math.ceil(10*e._node.duration)/10,0===Object.keys(o._sprite).length&&(o._sprite={__default:[0,1e3*o._duration]}),"loaded"!==o._state&&(o._state="loaded",o._emit("load"),o._loadQueue()),e._node.removeEventListener(n._canPlayEvent,e._loadFn,!1)},_endListener:function(){var e=this,n=e._parent;n._duration===1/0&&(n._duration=Math.ceil(10*e._node.duration)/10,n._sprite.__default[1]===1/0&&(n._sprite.__default[1]=1e3*n._duration),n._ended(e)),e._node.removeEventListener("ended",e._endFn,!1)}};var r={},a=function(e){var n=e._src;if(r[n])return e._duration=r[n].duration,void i(e);if(/^data:[^;]+;base64,/.test(n)){for(var o=atob(n.split(",")[1]),t=new Uint8Array(o.length),a=0;a<o.length;++a)t[a]=o.charCodeAt(a);d(t.buffer,e)}else{var _=new XMLHttpRequest;_.open(e._xhr.method,n,!0),_.withCredentials=e._xhr.withCredentials,_.responseType="arraybuffer",e._xhr.headers&&Object.keys(e._xhr.headers).forEach(function(n){_.setRequestHeader(n,e._xhr.headers[n])}),_.onload=function(){var n=(_.status+"")[0];if("0"!==n&&"2"!==n&&"3"!==n)return void e._emit("loaderror",null,"Failed loading audio file with status: "+_.status+".");d(_.response,e)},_.onerror=function(){e._webAudio&&(e._html5=!0,e._webAudio=!1,e._sounds=[],delete r[n],e.load())},u(_)}},u=function(e){try{e.send()}catch(n){e.onerror()}},d=function(e,o){var t=function(){o._emit("loaderror",null,"Decoding audio data failed.")},a=function(e){e&&o._sounds.length>0?(r[o._src]=e,i(o,e)):t()};"undefined"!=typeof Promise&&1===n.ctx.decodeAudioData.length?n.ctx.decodeAudioData(e).then(a).catch(t):n.ctx.decodeAudioData(e,a,t)},i=function(e,n){n&&!e._duration&&(e._duration=n.duration),0===Object.keys(e._sprite).length&&(e._sprite={__default:[0,1e3*e._duration]}),"loaded"!==e._state&&(e._state="loaded",e._emit("load"),e._loadQueue())},_=function(){if(n.usingWebAudio){try{"undefined"!=typeof AudioContext?n.ctx=new AudioContext:"undefined"!=typeof webkitAudioContext?n.ctx=new webkitAudioContext:n.usingWebAudio=!1}catch(e){n.usingWebAudio=!1}n.ctx||(n.usingWebAudio=!1);var e=/iP(hone|od|ad)/.test(n._navigator&&n._navigator.platform),o=n._navigator&&n._navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/),t=o?parseInt(o[1],10):null;if(e&&t&&t<9){var r=/safari/.test(n._navigator&&n._navigator.userAgent.toLowerCase());n._navigator&&!r&&(n.usingWebAudio=!1)}n.usingWebAudio&&(n.masterGain=void 0===n.ctx.createGain?n.ctx.createGainNode():n.ctx.createGain(),n.masterGain.gain.setValueAtTime(n._muted?0:n._volume,n.ctx.currentTime),n.masterGain.connect(n.ctx.destination)),n._setup()}};"function"==typeof define&&define.amd&&define([],function(){return{Howler:n,Howl:o}}),"undefined"!=typeof exports&&(exports.Howler=n,exports.Howl=o),"undefined"!=typeof global?(global.HowlerGlobal=e,global.Howler=n,global.Howl=o,global.Sound=t):"undefined"!=typeof window&&(window.HowlerGlobal=e,window.Howler=n,window.Howl=o,window.Sound=t)}();
15022 15023�/* 15024Copyright (c) 2011 Damien Antipa, http://www.nethead.at/, http://damien.antipa.at 15025 15026Permission is hereby granted, free of charge, to any person obtaining 15027a copy of this software and associated documentation files (the 15028"Software"), to deal in the Software without restriction, including 15029without limitation the rights to use, copy, modify, merge, publish, 15030distribute, sublicense, and/or sell copies of the Software, and to 15031permit persons to whom the Software is furnished to do so, subject to 15032the following conditions: 15033 15034The above copyright notice and this permission notice shall be 15035included in all copies or substantial portions of the Software. 15036 15037THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15038EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 15039MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 15040NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 15041LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 15042OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 15043WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 15044*/ 15045/* 15046 * jQuery Plugin: Confirmation Dialog 15047 * 15048 * Requirements: jQuery 1.6.4, Bootstrap 1.3.0 15049 * http://jquery.com/ 15050 * http://twitter.github.com/bootstrap/ 15051 * 15052 * This Plugin can be used for anchors, to show a confirmation popup before redirecting to the link. 15053 * 15054 */ 15055(function($){ 15056 $.fn.extend({ 15057 confirmDialog: function(options) { 15058 var defaults = { 15059 message: '<strong>' + _('Are you sure') + '</strong>', 15060 dialog: '<div id="confirm-dialog" class="popover">' + 15061 '<div class="arrow"></div>' + 15062 '<div class="popover-inner">' + 15063 '<div class="popover-content">' + 15064 '<p class="note"></p>' + 15065 '<p class="button-group"><a href="javascript:void(0)" class="btn btn-danger btn-mini"></a><a href="javascript:void(0)" class="btn btn-mini"></a></p>' + 15066 '</div>' + 15067 '</div>' + 15068 '</div>', 15069 cancelButton: _('Cancel') 15070 }; 15071 var options = $.extend(defaults, options); 15072 15073 return this.each(function() { 15074 var o = options; 15075 var $elem = $(this) 15076 15077 $elem.bind('click', function(e) { 15078 e.preventDefault(); 15079 if(!$('#confirm-dialog').length) { 15080 15081 var offset = $elem.offset(); 15082 var $dialog = $(o.dialog).appendTo('body'); 15083 15084 var x; 15085 if(offset.left > $dialog.width()) { 15086 //dialog can be left 15087 x = e.pageX - $dialog.width() - 20; 15088 $dialog.addClass('left'); 15089 } else { 15090 x = e.pageX; 15091 $dialog.addClass('right'); 15092 }
15093 var y = e.pageY - $dialog.height() / 2 - $elem.innerHeight() / 2 - 20; 15094 15095 $dialog.css({ 15096 display: 'block', 15097 position: 'absolute', 15098 top: y, 15099 left: x 15100 }); 15101 15102 $dialog.find('p.button-group').css({ 15103 marginTop: '5px', 15104 textAlign: 'right' 15105 }); 15106 15107 $dialog.find('a.btn').css({ 15108 marginLeft: '3px' 15109 }); 15110 15111 $dialog.find('p.note').html(o.message); 15112 15113 $dialog.find('a.btn:eq(0)').text($elem.text()).bind('click', function(e) { 15114 window.location.href = $elem.attr('href'); 15115 }); 15116 15117 $dialog.find('a.btn:eq(1)').text(o.cancelButton).bind('click', function(e) { 15118 $dialog.remove(); 15119 }); 15120 15121 $dialog.bind('mouseleave', function() { 15122 $dialog.fadeOut('slow', function() { 15123 $dialog.remove(); 15124 }); 15125 }); 15126 } 15127 }); 15128 }); 15129 } 15130 }); 15131})(jQuery); 15132�/* 15133Copyright (c) 2011 Damien Antipa, http://www.nethead.at/, http://damien.antipa.at 15134 15135Permission is hereby granted, free of charge, to any person obtaining 15136a copy of this software and associated documentation files (the 15137"Software"), to deal in the Software without restriction, including 15138without limitation the rights to use, copy, modify, merge, publish, 15139distribute, sublicense, and/or sell copies of the Software, and to 15140permit persons to whom the Software is furnished to do so, subject to 15141the following conditions: 15142 15143The above copyright notice and this permission notice shall be 15144included in all copies or substantial portions of the Software. 15145 15146THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15147EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 15148MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 15149NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 15150LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 15151OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 15152WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 15153*/ 15154/* 15155 * jQuery Plugin: Confirmation Dialog 15156 * 15157 * Requirements: jQuery 1.6.4, Bootstrap 1.3.0 15158 * http://jquery.com/ 15159 * http://twitter.github.com/bootstrap/ 15160 * 15161 * This Plugin can be used for anchors, to show a confirmation popup before redirecting to the link. 15162 * 15163 * #NETSAPIENS: modified for "click-to-call" 15164 */ 15165(function($){ 15166 $.fn.extend({ 15167 confirmCall: function(options) { 15168 var defaults = { 15169 message: '<strong>' + _('Are you sure') + '</strong>', 15170 dialog: '<div id="confirm-call" class="popover">' + 15171 '<div class="arrow"></div>' + 15172 '<div class="popover-inner">' + 15173 '<div class="popover-content">' + 15174 '<p class="note"></p>' + 15175 '<p class="button-group"><a href="javascript:void(0)" class="span1 btn btn-success"></a><a href="javascript:void(0)" class="span1 btn"></a></p>' + 15176 '</div>' + 15177 '</div>' + 15178 '</div>', 15179 cancelButton: _('Cancel') 15180 }; 15181 var options = $.extend(defaults, options); 15182 15183 return this.each(function() { 15184 var o = options; 15185 var $elem = $(this); 15186 15187 $elem.bind('click', function(e) { 15188 e.preventDefault(); 15189 if(!$('#confirm-call').length) { 15190 15191 var offset = $elem.offset(); 15192 var $dialog = $(o.dialog).appendTo('body'); 15193 15194 var x; 15195 if(offset.left > $dialog.width()) { 15196 //dialog can be left 15197 x = e.pageX - $dialog.width() - 20; 15198 $dialog.addClass('left'); 15199 } else { 15200 x = e.pageX; 15201 $dialog.addClass('right'); 15202 }
15203 var y = e.pageY - $dialog.height() / 2 - $elem.innerHeight() / 2 - 20; 15204 15205 15206 $dialog.css({ 15207 display: 'block', 15208 position: 'absolute', 15209 top: y, 15210 left: x 15211 }); 15212 15213 $dialog.find('p.button-group').css({ 15214 marginTop: '5px', 15215 textAlign: 'right' 15216 }); 15217 15218 $dialog.find('a.btn').css({ 15219 marginLeft: '3px' 15220 }); 15221 15222 log('o.message length'); 15223 log(o.message.length); 15224 log(o.message); 15225 15226 //prevents 10 digit numbers from truncating 15227 if (o.message.length > 14) { 15228 log('message length is greater than 14'); 15229 $dialog.find('p.note').html('<h4>' + o.message + '</h4>'); 15230 } 15231 15232 else 15233 $dialog.find('p.note').html('<h3>' + o.message + '</h3>'); 15234 15235 $dialog.find('a.btn:eq(0)').text($elem.attr("rel")).bind('click', function(e) { 15236 if (typeof $elem.attr("auto") != 'undefined' && $elem.attr("auto") =="yes") 15237 clickToDial($elem.attr("uid"),$elem.text(),$elem.attr("dest"),null, true ); 15238 else 15239 clickToDial($elem.attr("uid"),$elem.text(),$elem.attr("dest")); 15240 $dialog.remove(); 15241 }); 15242 15243 $dialog.find('a.btn:eq(1)').text(o.cancelButton).bind('click', function(e) { 15244 $dialog.remove(); 15245 }); 15246 15247 $dialog.bind('mouseleave', function() { 15248 $dialog.fadeOut('slow', function() { 15249 $dialog.remove(); 15250 }); 15251 }); 15252 } 15253 }); 15254 }); 15255 } 15256 }); 15257})(jQuery); 15258�/* 15259Copyright (c) 2011 Damien Antipa, http://www.nethead.at/, http://damien.antipa.at 15260 15261Permission is hereby granted, free of charge, to any person obtaining 15262a copy of this software and associated documentation files (the 15263"Software"), to deal in the Software without restriction, including 15264without limitation the rights to use, copy, modify, merge, publish, 15265distribute, sublicense, and/or sell copies of the Software, and to 15266permit persons to whom the Software is furnished to do so, subject to 15267the following conditions: 15268 15269The above copyright notice and this permission notice shall be 15270included in all copies or substantial portions of the Software. 15271 15272THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15273EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 15274MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 15275NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 15276LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 15277OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 15278WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 15279*/ 15280/* 15281 * jQuery Plugin: Confirmation Dialog 15282 * 15283 * Requirements: jQuery 1.6.4, Bootstrap 1.3.0 15284 * http://jquery.com/ 15285 * http://twitter.github.com/bootstrap/ 15286 * 15287 * This Plugin can be used for anchors, to show a confirmation popup before redirecting to the link. 15288 * 15289 * #NETSAPIENS: modified for "click-to-call" 15290 */ 15291(function($){ 15292 $.fn.extend({ 15293 popoutCall: function(options) { 15294 var defaults = { 15295 message: '<strong>' + _('Are you sure') + '</strong>', 15296 dialog: '<div id="confirm-call" class="popover">' + 15297 '<div class="popover-inner">' + 15298 '<div class="popover-content">' + 15299 '<p class="note"></p>' + 15300 '<p class="button-group"><a href="javascript:void(0)" class="btn btn-success"></a><a href="javascript:void(0)" class="btn"></a></p>' + 15301 '</div>' + 15302 '</div>' + 15303 '</div>', 15304 cancelButton: _('Cancel') 15305 }; 15306 var options = $.extend(defaults, options); 15307 15308 return this.each(function() { 15309 var o = options; 15310 var $elem = $(this); 15311 15312 $elem.bind('click', function(e) { 15313 e.preventDefault(); 15314 if(!$('#confirm-call').length) { 15315 15316 var offset = $elem.offset(); 15317 var $dialog = $(o.dialog).appendTo('.popout-call-container'); 15318 15319 //var x; 15320 //if(offset.left > $dialog.width()) { 15321 // //dialog can be left 15322 // x = e.pageX - $dialog.width() - 20; 15323 // $dialog.addClass('left'); 15324 //} else { 15325 // x = e.pageX; 15326 // $dialog.addClass('right'); 15327 //}
15328 //var y = e.pageY - $dialog.height() / 2 - $elem.innerHeight() / 2 - 20; 15329 15330 var x = - $dialog.width() / 2; 15331 var y = - $dialog.height() / 2 - 50; 15332 15333 15334 $dialog.css({ 15335 display: 'block', 15336 position: 'absolute', 15337 top: '50%', 15338 left: '50%', 15339 marginLeft: x, 15340 marginTop: y 15341 }); 15342 15343 $dialog.find('p.button-group').css({ 15344 marginTop: '5px', 15345 textAlign: 'center' 15346 }); 15347 15348 $dialog.find('a.btn').css({ 15349 marginLeft: '3px', 15350 width: '30%' 15351 }); 15352 15353 $dialog.find('p.note').html(o.message); 15354 $dialog.find('p.note').css({ 15355 textAlign: 'center' 15356 }); 15357 15358 $dialog.find('a.btn:eq(0)').text($elem.attr("rel")).bind('click', function(e) { 15359 if (typeof $elem.attr("auto") != 'undefined' && $elem.attr("auto") =="yes") 15360 clickToDial($elem.attr("uid"),$elem.text(),$elem.attr("dest"),null, true ); 15361 else 15362 clickToDial($elem.attr("uid"),$elem.text(),$elem.attr("dest")); 15363 $dialog.remove(); 15364 }); 15365 15366 $dialog.find('a.btn:eq(1)').text(o.cancelButton).bind('click', function(e) { 15367 $dialog.remove(); 15368 }); 15369 15370 $dialog.bind('mouseleave', function() { 15371 $dialog.fadeOut('slow', function() { 15372 $dialog.remove(); 15373 }); 15374 }); 15375 } 15376 }); 15377 }); 15378 } 15379 }); 15380})(jQuery); 15381�/* =========================================================== 15382 * bootstrap-confirmation.js v1.0.1 15383 * http://ethaizone.github.io/Bootstrap-Confirmation/ 15384 * =========================================================== 15385 * Copyright 2013 Nimit Suwannagate <[email protected]> 15386 * 15387 * Licensed under the Apache License, Version 2.0 (the "License"); 15388 * you may not use this file except in compliance with the License. 15389 * You may obtain a copy of the License at 15390 * 15391 * http://www.apache.org/licenses/LICENSE-2.0 15392 * 15393 * Unless required by applicable law or agreed to in writing, software 15394 * distributed under the License is distributed on an "AS IS" BASIS, 15395 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15396 * See the License for the specific language governing permissions and 15397 * limitations under the License. 15398 * =========================================================== */ 15399 15400 15401!function ($) { 15402 15403 "use strict"; // jshint ;_; 15404 15405 15406 /* CONFIRMATION PUBLIC CLASS DEFINITION 15407 * =============================== */ 15408 15409 //var for check event at body can have only one. 15410 var event_body = false; 15411 15412 var Confirmation = function (element, options) { 15413 var that = this; 15414 15415 if ($(element).attr('href') != '') { 15416 var href = $(element).attr('href'); 15417 15418 $(element).attr('data-href', href); 15419 } 15420 15421 // remove href attribute of button 15422 $(element).removeAttr('href') 15423 15424 this.init('confirmation', element, options) 15425 15426 $(element).on('show', function(e) { 15427 var options = that.options; 15428 var all = options.all_selector; 15429 if(options.singleton) { 15430 $(all).not(that.$element).confirmation('hide'); 15431 } 15432 }); 15433 15434 $(element).on('shown', function(e) { 15435 var options = that.options; 15436 var all = options.all_selector; 15437 $(this).next('.popover').one('click.dismiss.confirmation', '[data-dismiss="confirmation"]', $.proxy(that.hide, that)) 15438 if(that.isPopout()) { 15439 if(!event_body) { 15440 event_body = $('body').on('click', function (e) { 15441 if($(all).is(e.target)) return; 15442 if($(all).next('div').has(e.target).length) return; 15443 15444 $(all).confirmation('hide'); 15445 $('body').unbind(e); 15446 event_body = false; 15447 15448 return; 15449 }); 15450 } 15451 } 15452 }); 15453 } 15454 15455 15456 /* NOTE: CONFIRMATION EXTENDS BOOTSTRAP-TOOLTIP.js 15457 ========================================== */ 15458 15459 Confirmation.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, { 15460 15461 constructor: Confirmation 15462 15463 , setContent: function () { 15464 var $tip = this.tip() 15465 , title = this.getTitle() 15466 , confirmTitle = this.getConfirmTitle() 15467 , loadingText = this.getLoadingText() 15468 , href = this.getHref() 15469 , target = this.getTarget() 15470 , orig = this.getOrig() 15471 , $e = this.$element 15472 , btnOkClass = this.getBtnOkClass() 15473 , btnCancelClass = this.getBtnCancelClass() 15474 , btnOkLabel = this.getBtnOkLabel() 15475 , btnCancelLabel = this.getBtnCancelLabel() 15476 , o = this.options 15477 15478 $tip.find('.popover-title').html('<strong>'+confirmTitle+'</strong>'); 15479 15480 var btnOk = $tip.find('.popover-content > div > a:not([data-dismiss="confirmation"])'); 15481 var btnCancel = $tip.find('.popover-content > div > a[data-dismiss="confirmation"]'); 15482 15483 btnOk.addClass(btnOkClass).html(btnOkLabel).attr('href', href).attr('target', target).attr('data-orig-btn', orig).attr('data-loading-text', loadingText).off().on('click', o.onConfirm); 15484 btnCancel.addClass(btnCancelClass).html(btnCancelLabel).on('click', o.onCancel); 15485 15486 $tip.removeClass('fade top bottom left right in') 15487 } 15488 15489 , hasContent: function () { 15490 return this.getTitle() 15491 } 15492 15493 , isPopout: function () { 15494 var popout 15495 , $e = this.$element 15496 , o = this.options 15497 15498 popout = $e.attr('data-popout') || (typeof o.popout == 'function' ? o.popout.call($e[0]) : o.popout) 15499 15500 if(popout == 'false') popout = false;
15501 15502 return popout 15503 } 15504 15505 15506 , getHref: function () { 15507 var href 15508 , $e = this.$element 15509 , o = this.options 15510 15511 href = $e.attr('data-href') || (typeof o.href == 'function' ? o.href.call($e[0]) : o.href) 15512 15513 return href 15514 } 15515 15516 //added getOrig, adds id of originating button to confirm button 15517 , getOrig: function () { 15518 var orig 15519 , $e = this.$element 15520 , o = this.options 15521 15522 orig = $e.attr('id') || (typeof o.orig == 'function' ? o.orig.call($e[0]) : o.orig) 15523 15524 return orig 15525 } 15526 15527 , getConfirmTitle: function () { 15528 var confirmTitle 15529 , $e = this.$element 15530 , o = this.options 15531 15532 confirmTitle = $e.attr('data-confirm-title') || (typeof o.confirmTitle == 'function' ? o.confirmTitle.call($e[0]) : o.confirmTitle) 15533 15534 return confirmTitle 15535 } 15536 15537 , getLoadingText: function () { 15538 var loadingText 15539 , $e = this.$element 15540 , o = this.options 15541 15542 loadingText = $e.attr('data-loading-text') || (typeof o.loadingText == 'function' ? o.loadingText.call($e[0]) : o.loadingText) 15543 15544 return loadingText 15545 } 15546 15547 , getTarget: function () { 15548 var target 15549 , $e = this.$element 15550 , o = this.options 15551 15552 target = $e.attr('data-target') || (typeof o.target == 'function' ? o.target.call($e[0]) : o.target) 15553 15554 return target 15555 } 15556 15557 , getBtnOkClass: function () { 15558 var btnOkClass 15559 , $e = this.$element 15560 , o = this.options 15561 15562 btnOkClass = $e.attr('data-btnOkClass') || (typeof o.btnOkClass == 'function' ? o.btnOkClass.call($e[0]) : o.btnOkClass) 15563 15564 return btnOkClass 15565 } 15566 15567 , getBtnCancelClass: function () { 15568 var btnCancelClass 15569 , $e = this.$element 15570 , o = this.options 15571 15572 btnCancelClass = $e.attr('data-btnCancelClass') || (typeof o.btnCancelClass == 'function' ? o.btnCancelClass.call($e[0]) : o.btnCancelClass) 15573 15574 return btnCancelClass 15575 } 15576 15577 , getBtnOkLabel: function () { 15578 var btnOkLabel 15579 , $e = this.$element 15580 , o = this.options 15581 15582 btnOkLabel = $e.attr('data-btnOkLabel') || (typeof o.btnOkLabel == 'function' ? o.btnOkLabel.call($e[0]) : o.btnOkLabel) 15583 15584 return btnOkLabel 15585 } 15586 15587 , getBtnCancelLabel: function () { 15588 var btnCancelLabel 15589 , $e = this.$element 15590 , o = this.options 15591 15592 btnCancelLabel = $e.attr('data-btnCancelLabel') || (typeof o.btnCancelLabel == 'function' ? o.btnCancelLabel.call($e[0]) : o.btnCancelLabel) 15593 15594 return btnCancelLabel 15595 } 15596 15597 , tip: function () { 15598 this.$tip = this.$tip || $(this.options.template) 15599 return this.$tip 15600 } 15601 15602 , destroy: function () { 15603 this.hide().$element.off('.' + this.type).removeData(this.type) 15604 } 15605 15606 }) 15607 15608 15609 /* CONFIRMATION PLUGIN DEFINITION 15610 * ======================= */ 15611 15612 var old = $.fn.confirmation 15613 15614 $.fn.confirmation = function (option) { 15615 var that = this 15616 return this.each(function (e) { 15617 var $this = $(this) 15618 , data = $this.data('confirmation') 15619 , options = typeof option == 'object' && option 15620 options = options || {} 15621 options.all_selector = that.selector 15622 if (!data) $this.data('confirmation', (data = new Confirmation(this, options))) 15623 if (typeof option == 'string') data[option]() 15624 }) 15625 } 15626 15627 $.fn.confirmation.Constructor = Confirmation 15628 15629 $.fn.confirmation.defaults = $.extend({} , $.fn.tooltip.defaults, { 15630 placement: 'top' 15631 , trigger: 'click' 15632 , target : '_self' 15633 , href : '#' 15634 , orig : '' 15635 , title: 'Are you sure?' 15636 , confirmTitle: 'Are you sure?' 15637 , loadingText: 'Loading...' 15638 , template: '<div class="popover">' + 15639 '<div class="arrow"></div>' + 15640 '<h3 class="popover-title"></h3>' + 15641 '<div class="popover-content text-center">' + 15642 '<div class="btn-group">' + 15643 '<a class="btn btn-medium" href="" target="" data-loading-text=""></a>' + 15644 '<a class="btn btn-medium" data-dismiss="confirmation"></a>' + 15645 '</div>' + 15646 '</div>' + 15647 '</div>' 15648 , btnOkClass: 'btn-primary' 15649 , btnCancelClass: '' 15650 , btnOkLabel: '<i class="icon-ok-sign icon-white"></i> Yes' 15651 , btnCancelLabel: '<i class="icon-remove-sign"></i> No' 15652 , singleton: false 15653 , popout: false 15654 , onConfirm: function(){} 15655 , onCancel: function(){ 15656 $('.popover').hide(); 15657 } 15658 }) 15659 15660 15661 /* POPOVER NO CONFLICT 15662 * =================== */ 15663 15664 $.fn.confirmation.noConflict = function () { 15665 $.fn.confirmation = old 15666 return this 15667 } 15668 15669}(window.jQuery); 15670 15671�/*! For license information please see netsapiens.js.LICENSE.txt */ 15672var netsapiens;(()=>{var __webpack_modules__={7568:(t,e,r)=>{var n=e;n.bignum=r(2344),n.define=r(7363).define,n.base=r(9673),n.constants=r(2153),n.decoders=r(2853),n.encoders=r(4669)},7363:(t,e,r)=>{var n=r(7568),i=r(6698);function o(t,e){this.name=t,this.body=e,this.decoders={},this.encoders={}}e.define=function(t,e){return new o(t,e)},o.prototype._createNamed=function(t){var e;try{e=Object(function(){var t=new Error("Cannot find module 'vm'");throw t.code="MODULE_NOT_FOUND",t}())("(function "+this.name+"(entity) {\n this._initNamed(entity);\n})")}catch(t){e=function(t){this._initNamed(t)}}return i(e,t),e.prototype._initNamed=function(e){t.call(this,e)},new e(this)},o.prototype._getDecoder=function(t){return t=t||"der",this.decoders.hasOwnProperty(t)||(this.decoders[t]=this._createNamed(n.decoders[t])),this.decoders[t]},o.prototype.decode=function(t,e,r){return this._getDecoder(e).decode(t,r)},o.prototype._getEncoder=function(t){return t=t||"der",this.encoders.hasOwnProperty(t)||(this.encoders[t]=this._createNamed(n.encoders[t])),this.encoders[t]},o.prototype.encode=function(t,e,r){return this._getEncoder(e).encode(t,r)}},7227:(t,e,r)=>{var n=r(6698),i=r(9673).Reporter,o=r(8287).Buffer;function s(t,e){i.call(this,e),o.isBuffer(t)?(this.base=t,this.offset=0,this.length=t.length):this.error("Input not Buffer")}function a(t,e){if(Array.isArray(t))this.length=0,this.value=t.map((function(t){return t instanceof a||(t=new a(t,e)),this.length+=t.length,t}),this);else if("number"==typeof t){if(!(0<=t&&t<=255))return e.error("non-byte EncoderBuffer value");this.value=t,this.length=1}else if("string"==typeof t)this.value=t,this.length=o.byteLength(t);else{if(!o.isBuffer(t))return e.error("Unsupported type: "+typeof t);this.value=t,this.length=t.length}}n(s,i),e.t=s,s.prototype.save=function(){return{offset:this.offset,reporter:i.prototype.save.call(this)}},s.prototype.restore=function(t){var e=new s(this.base);return e.offset=t.offset,e.length=this.offset,this.offset=t.offset,i.prototype.restore.call(this,t.reporter),e},s.prototype.isEmpty=function(){return this.offset===this.length},s.prototype.readUInt8=function(t){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(t||"DecoderBuffer overrun")},s.prototype.skip=function(t,e){if(!(this.offset+t<=this.length))return this.error(e||"DecoderBuffer overrun");var r=new s(this.base);return r._reporterState=this._reporterState,r.offset=this.offset,r.length=this.offset+t,this.offset+=t,r},s.prototype.raw=function(t){return this.base.slice(t?t.offset:this.offset,this.length)},e.d=a,a.prototype.join=function(t,e){return t||(t=new o(this.length)),e||(e=0),0===this.length||(Array.isArray(this.value)?this.value.forEach((function(r){r.join(t,e),e+=r.length})):("number"==typeof this.value?t[e]=this.value:"string"==typeof this.value?t.write(this.value,e):o.isBuffer(this.value)&&this.value.copy(t,e),e+=this.length)),t}},9673:(t,e,r)=>{var n=e;n.Reporter=r(9220).a,n.DecoderBuffer=r(7227).t,n.EncoderBuffer=r(7227).d,n.Node=r(993)},993:(t,e,r)=>{var n=r(9673).Reporter,i=r(9673).EncoderBuffer,o=r(9673).DecoderBuffer,s=r(3349),a=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],d=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(a);function u(t,e){var r={};this._baseState=r,r.enc=t,r.parent=e||null,r.children=null,r.tag=null,r.args=null,r.reverseArgs=null,r.choice=null,r.optional=!1,r.any=!1,r.obj=!1,r.use=null,r.useDecoder=null,r.key=null,r.default=null,r.explicit=null,r.implicit=null,r.contains=null,r.parent||(r.children=[],this._wrap())}t.exports=u;var h=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];u.prototype.clone=function(){var t=this._baseState,e={};h.forEach((function(r){e[r]=t[r]}));var r=new this.constructor(e.parent);return r._baseState=e,r},u.prototype._wrap=function(){var t=this._baseState;d.forEach((function(e){this[e]=function(){var r=new this.constructor(this);return t.children.push(r),r[e].apply(r,arguments)}}),this)},u.prototype._init=function(t){var e=this._baseState;s(null===e.parent),t.call(this),e.children=e.children.filter((function(t){return t._baseState.parent===this}),this),s.equal(e.children.length,1,"Root node can have only one child")},u.prototype._useArgs=function(t){var e=this._baseState,r=t.filter((function(t){return t instanceof this.constructor}),this);t=t.filter((function(t){return!(t instanceof this.constructor)}),this),0!==r.length&&(s(null===e.children),e.children=r,r.forEach((function(t){t._baseState.parent=this}),this)),0!==t.length&&(s(null===e.args),e.args=t,e.reverseArgs=t.map((function(t){if("object"!=typeof t||t.constructor!==Object)return t;var e={};return Object.keys(t).forEach((function(r){r==(0|r)&&(r|=0);var n=t[r];e[n]=r})),e}
vendor: 27,387 bytes, line 15672
15672)))},["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"].forEach((function(t){u.prototype[t]=function(){var e=this._baseState;throw new Error(t+" not implemented for encoding: "+e.enc)}})),a.forEach((function(t){u.prototype[t]=function(){var e=this._baseState,r=Array.prototype.slice.call(arguments);return s(null===e.tag),e.tag=t,this._useArgs(r),this}})),u.prototype.use=function(t){s(t);var e=this._baseState;return s(null===e.use),e.use=t,this},u.prototype.optional=function(){return this._baseState.optional=!0,this},u.prototype.def=function(t){var e=this._baseState;return s(null===e.default),e.default=t,e.optional=!0,this},u.prototype.explicit=function(t){var e=this._baseState;return s(null===e.explicit&&null===e.implicit),e.explicit=t,this},u.prototype.implicit=function(t){var e=this._baseState;return s(null===e.explicit&&null===e.implicit),e.implicit=t,this},u.prototype.obj=function(){var t=this._baseState,e=Array.prototype.slice.call(arguments);return t.obj=!0,0!==e.length&&this._useArgs(e),this},u.prototype.key=function(t){var e=this._baseState;return s(null===e.key),e.key=t,this},u.prototype.any=function(){return this._baseState.any=!0,this},u.prototype.choice=function(t){var e=this._baseState;return s(null===e.choice),e.choice=t,this._useArgs(Object.keys(t).map((function(e){return t[e]}))),this},u.prototype.contains=function(t){var e=this._baseState;return s(null===e.use),e.contains=t,this},u.prototype._decode=function(t,e){var r=this._baseState;if(null===r.parent)return t.wrapResult(r.children[0]._decode(t,e));var n,i=r.default,s=!0,a=null;if(null!==r.key&&(a=t.enterKey(r.key)),r.optional){var d=null;if(null!==r.explicit?d=r.explicit:null!==r.implicit?d=r.implicit:null!==r.tag&&(d=r.tag),null!==d||r.any){if(s=this._peekTag(t,d,r.any),t.isError(s))return s}else{var u=t.save();try{null===r.choice?this._decodeGeneric(r.tag,t,e):this._decodeChoice(t,e),s=!0}catch(t){s=!1}t.restore(u)}}if(r.obj&&s&&(n=t.enterObject()),s){if(null!==r.explicit){var h=this._decodeTag(t,r.explicit);if(t.isError(h))return h;t=h}var l=t.offset;if(null===r.use&&null===r.choice){r.any&&(u=t.save());var f=this._decodeTag(t,null!==r.implicit?r.implicit:r.tag,r.any);if(t.isError(f))return f;r.any?i=t.raw(u):t=f}if(e&&e.track&&null!==r.tag&&e.track(t.path(),l,t.length,"tagged"),e&&e.track&&null!==r.tag&&e.track(t.path(),t.offset,t.length,"content"),r.any||(i=null===r.choice?this._decodeGeneric(r.tag,t,e):this._decodeChoice(t,e)),t.isError(i))return i;if(r.any||null!==r.choice||null===r.children||r.children.forEach((function(r){r._decode(t,e)})),r.contains&&("octstr"===r.tag||"bitstr"===r.tag)){var c=new o(i);i=this._getUse(r.contains,t._reporterState.obj)._decode(c,e)}}return r.obj&&s&&(i=t.leaveObject(n)),null===r.key||null===i&&!0!==s?null!==a&&t.exitKey(a):t.leaveKey(a,r.key,i),i},u.prototype._decodeGeneric=function(t,e,r){var n=this._baseState;return"seq"===t||"set"===t?null:"seqof"===t||"setof"===t?this._decodeList(e,t,n.args[0],r):/str$/.test(t)?this._decodeStr(e,t,r):"objid"===t&&n.args?this._decodeObjid(e,n.args[0],n.args[1],r):"objid"===t?this._decodeObjid(e,null,null,r):"gentime"===t||"utctime"===t?this._decodeTime(e,t,r):"null_"===t?this._decodeNull(e,r):"bool"===t?this._decodeBool(e,r):"objDesc"===t?this._decodeStr(e,t,r):"int"===t||"enum"===t?this._decodeInt(e,n.args&&n.args[0],r):null!==n.use?this._getUse(n.use,e._reporterState.obj)._decode(e,r):e.error("unknown tag: "+t)},u.prototype._getUse=function(t,e){var r=this._baseState;return r.useDecoder=this._use(t,e),s(null===r.useDecoder._baseState.parent),r.useDecoder=r.useDecoder._baseState.children[0],r.implicit!==r.useDecoder._baseState.implicit&&(r.useDecoder=r.useDecoder.clone(),r.useDecoder._baseState.implicit=r.implicit),r.useDecoder},u.prototype._decodeChoice=function(t,e){var r=this._baseState,n=null,i=!1;return Object.keys(r.choice).some((function(o){var s=t.save(),a=r.choice[o];try{var d=a._decode(t,e);if(t.isError(d))return!1;n={type:o,value:d},i=!0}catch(e){return t.restore(s),!1}return!0}),this),i?n:t.error("Choice not matched")},u.prototype._createEncoderBuffer=function(t){return new i(t,this.reporter)},u.prototype._encode=function(t,e,r){var n=this._baseState;if(null===n.default||n.default!==t){var i=this._encodeValue(t,e,r);if(void 0!==i&&!this._skipDefault(i,e,r))return i}},u.prototype._encodeValue=function(t,e,r){var i=this._baseState;if(null===i.parent)return i.children[0]._encode(t,e||new n);var o=null;if(this.reporter=e,i.optional&&void 0===t){if(null===i.default)return;t=i.default}var s=null,a=!1;if(i.any)o=this._createEncoderBuffer(t);else if(i.choice)o=this._encodeChoice(t,e);else if(i.contains)s=this._getUse(i.contains,r)._encode(t,e),a=!0;else if(i.children)s=i.children.map((function(r){if("null_"===r._baseState.tag)return r._encode(null,e,t);if(null===r._baseState.key)return e.error("Child should have a key");var n=e.enterKey(r._baseState.key);if("object"!=typeof t)return e.error("Child expected, but input is not object");var i=r._encode(t[r._baseState.key],e,t);return e.leaveKey(n),i}),this).filter((function(t){return t})),s=this._createEncoderBuffer(s);else if("seqof"===i.tag||"setof"===i.tag){if(!i.args||1!==i.args.length)return e.error("Too many args for : "+i.tag);if(!Array.isArray(t))return e.error("seqof/setof, but data is not Array");var d=this.clone();d._baseState.implicit=null,s=this._createEncoderBuffer(t.map((function(r){var n=this._baseState;return this._getUse(n.args[0],t)._encode(r,e)}),d))}else null!==i.use?o=this._getUse(i.use,r)._encode(t,e):(s=this._encodePrimitive(i.tag,t),a=!0);if(!i.any&&null===i.choice){var u=null!==i.implicit?i.implicit:i.tag,h=null===i.implicit?"universal":"context";null===u?null===i.use&&e.error("Tag could be omitted only for .use()"):null===i.use&&(o=this._encodeComposite(u,a,h,s))}return null!==i.explicit&&(o=this._encodeComposite(i.explicit,!1,"context",o)),o},u.prototype._encodeChoice=function(t,e){var r=this._baseState,n=r.choice[t.type];return n||s(!1,t.type+" not found in "+JSON.stringify(Object.keys(r.choice))),n._encode(t.value,e)},u.prototype._encodePrimitive=function(t,e){var r=this._baseState;if(/str$/.test(t))return this._encodeStr(e,t);if("objid"===t&&r.args)return this._encodeObjid(e,r.reverseArgs[0],r.args[1]);if("objid"===t)return this._encodeObjid(e,null,null);if("gentime"===t||"utctime"===t)return this._encodeTime(e,t);if("null_"===t)return this._encodeNull();if("int"===t||"enum"===t)return this._encodeInt(e,r.args&&r.reverseArgs[0]);if("bool"===t)return this._encodeBool(e);if("objDesc"===t)return this._encodeStr(e,t);throw new Error("Unsupported tag: "+t)},u.prototype._isNumstr=function(t){return/^[0-9 ]*$/.test(t)},u.prototype._isPrintstr=function(t){return/^[A-Za-z0-9 '\(\)\+,\-\.\/:=\?]*$/.test(t)}},9220:(t,e,r)=>{var n=r(6698);function i(t){this._reporterState={obj:null,path:[],options:t||{},errors:[]}}function o(t,e){this.path=t,this.rethrow(e)}e.a=i,i.prototype.isError=function(t){return t instanceof o},i.prototype.save=function(){var t=this._reporterState;return{obj:t.obj,pathLen:t.path.length}},i.prototype.restore=function(t){var e=this._reporterState;e.obj=t.obj,e.path=e.path.slice(0,t.pathLen)},i.prototype.enterKey=function(t){return this._reporterState.path.push(t)},i.prototype.exitKey=function(t){var e=this._reporterState;e.path=e.path.slice(0,t-1)},i.prototype.leaveKey=function(t,e,r){var n=this._reporterState;this.exitKey(t),null!==n.obj&&(n.obj[e]=r)},i.prototype.path=function(){return this._reporterState.path.join("/")},i.prototype.enterObject=function(){var t=this._reporterState,e=t.obj;return t.obj={},e},i.prototype.leaveObject=function(t){var e=this._reporterState,r=e.obj;return e.obj=t,r},i.prototype.error=function(t){var e,r=this._reporterState,n=t instanceof o;if(e=n?t:new o(r.path.map((function(t){return"["+JSON.stringify(t)+"]"})).join(""),t.message||t,t.stack),!r.options.partial)throw e;return n||r.errors.push(e),e},i.prototype.wrapResult=function(t){var e=this._reporterState;return e.options.partial?{result:this.isError(t)?null:t,errors:e.errors}:t},n(o,Error),o.prototype.rethrow=function(t){if(this.message=t+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,o),!this.stack)try{throw new Error(this.message)}catch(t){this.stack=t.stack}return this}},4598:(t,e,r)=>{var n=r(2153);e.tagClass={0:"universal",1:"application",2:"context",3:"private"},e.tagClassByName=n._reverse(e.tagClass),e.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},e.tagByName=n._reverse(e.tag)},2153:(t,e,r)=>{var n=e;n._reverse=function(t){var e={};return Object.keys(t).forEach((function(r){(0|r)==r&&(r|=0);var n=t[r];e[n]=r})),e},n.der=r(4598)},2010:(t,e,r)=>{var n=r(6698),i=r(7568),o=i.base,s=i.bignum,a=i.constants.der;function d(t){this.enc="der",this.name=t.name,this.entity=t,this.tree=new u,this.tree._init(t.body)}function u(t){o.Node.call(this,"der",t)}function h(t,e){var r=t.readUInt8(e);if(t.isError(r))return r;var n=a.tagClass[r>>6],i=!(32&r);if(31&~r)r&=31;else{var o=r;for(r=0;!(128&~o);){if(o=t.readUInt8(e),t.isError(o))return o;r<<=7,r|=127&o}}return{cls:n,primitive:i,tag:r,tagStr:a.tag[r]}}function l(t,e,r){var n=t.readUInt8(r);if(t.isError(n))return n;if(!e&&128===n)return null;if(!(128&n))return n;var i=127&n;if(i>4)return t.error("length octect is too long");n=0;for(var o=0;o<i;o++){n<<=8;var s=t.readUInt8(r);if(t.isError(s))return s;n|=s}return n}t.exports=d,d.prototype.decode=function(t,e){return t instanceof o.DecoderBuffer||(t=new o.DecoderBuffer(t,e)),this.tree._decode(t,e)},n(u,o.Node),u.prototype._peekTag=function(t,e,r){if(t.isEmpty())return!1;var n=t.save(),i=h(t,'Failed to peek tag: "'+e+'"');return t.isError(i)?i:(t.restore(n),i.tag===e||i.tagStr===e||i.tagStr+"of"===e||r)},u.prototype._decodeTag=function(t,e,r){var n=h(t,'Failed to decode tag of "'+e+'"');if(t.isError(n))return n;var i=l(t,n.primitive,'Failed to get length of "'+e+'"');if(t.isError(i))return i;if(!r&&n.tag!==e&&n.tagStr!==e&&n.tagStr+"of"!==e)return t.error('Failed to match tag: "'+e+'"');if(n.primitive||null!==i)return t.skip(i,'Failed to match body of: "'+e+'"');var o=t.save(),s=this._skipUntilEnd(t,'Failed to skip indefinite length body: "'+this.tag+'"');return t.isError(s)?s:(i=t.offset-o.offset,t.restore(o),t.skip(i,'Failed to match body of: "'+e+'"'))},u.prototype._skipUntilEnd=function(t,e){for(;;){var r=h(t,e);if(t.isError(r))return r;var n,i=l(t,r.primitive,e);if(t.isError(i))return i;if(n=r.primitive||null!==i?t.skip(i):this._skipUntilEnd(t,e),t.isError(n))return n;if("end"===r.tagStr)break}},u.prototype._decodeList=function(t,e,r,n){for(var i=[];!t.isEmpty();){var o=this._peekTag(t,"end");if(t.isError(o))return o;var s=r.decode(t,"der",n);if(t.isError(s)&&o)break;i.push(s)}return i},u.prototype._decodeStr=function(t,e){if("bitstr"===e){var r=t.readUInt8();return t.isError(r)?r:{unused:r,data:t.raw()}}if("bmpstr"===e){var n=t.raw();if(n.length%2==1)return t.error("Decoding of string type: bmpstr length mismatch");for(var i="",o=0;o<n.length/2;o++)i+=String.fromCharCode(n.readUInt16BE(2*o));return i}if("numstr"===e){var s=t.raw().toString("ascii");return this._isNumstr(s)?s:t.error("Decoding of string type: numstr unsupported characters")}if("octstr"===e)return t.raw();if("objDesc"===e)return t.raw();if("printstr"===e){var a=t.raw().toString("ascii");return this._isPrintstr(a)?a:t.error("Decoding of string type: printstr unsupported characters")}return/str$/.test(e)?t.raw().toString():t.error("Decoding of string type: "+e+" unsupported")},u.prototype._decodeObjid=function(t,e,r){for(var n,i=[],o=0;!t.isEmpty();){var s=t.readUInt8();o<<=7,o|=127&s,128&s||(i.push(o),o=0)}128&s&&i.push(o);var a=i[0]/40|0,d=i[0]%40;if(n=r?i:[a,d].concat(i.slice(1)),e){var u=e[n.join(" ")];void 0===u&&(u=e[n.join(".")]),void 0!==u&&(n=u)}return n},u.prototype._decodeTime=function(t,e){var r=t.raw().toString();if("gentime"===e)var n=0|r.slice(0,4),i=0|r.slice(4,6),o=0|r.slice(6,8),s=0|r.slice(8,10),a=0|r.slice(10,12),d=0|r.slice(12,14);else{if("utctime"!==e)return t.error("Decoding "+e+" time is not supported yet");n=0|r.slice(0,2),i=0|r.slice(2,4),o=0|r.slice(4,6),s=0|r.slice(6,8),a=0|r.slice(8,10),d=0|r.slice(10,12),n=n<70?2e3+n:1900+n}return Date.UTC(n,i-1,o,s,a,d,0)},u.prototype._decodeNull=function(t){return null},u.prototype._decodeBool=function(t){var e=t.readUInt8();return t.isError(e)?e:0!==e},u.prototype._decodeInt=function(t,e){var r=t.raw(),n=new s(r);return e&&(n=e[n.toString(10)]||n),n},u.prototype._use=function(t,e){return"function"==typeof t&&(t=t(e)),t._getDecoder("der").tree}},2853:(t,e,r)=>{var n=e;n.der=r(2010),n.pem=r(8903)},8903:(t,e,r)=>{var n=r(6698),i=r(8287).Buffer,o=r(2010);function s(t){o.call(this,t),this.enc="pem"}n(s,o),t.exports=s,s.prototype.decode=function(t,e){for(var r=t.toString().split(/[\r\n]+/g),n=e.label.toUpperCase(),s=/^-----(BEGIN|END) ([^-]+)-----$/,a=-1,d=-1,u=0;u<r.length;u++){var h=r[u].match(s);if(null!==h&&h[2]===n){if(-1!==a){if("END"!==h[1])break;d=u;break}if("BEGIN"!==h[1])break;a=u}}if(-1===a||-1===d)throw new Error("PEM section not found for: "+n);var l=r.slice(a+1,d).join("");l.replace(/[^a-z0-9\+\/=]+/gi,"");var f=new i(l,"base64");return o.prototype.decode.call(this,f,e)}},82:(t,e,r)=>{var n=r(6698),i=r(8287).Buffer,o=r(7568),s=o.base,a=o.constants.der;function d(t){this.enc="der",this.name=t.name,this.entity=t,this.tree=new u,this.tree._init(t.body)}function u(t){s.Node.call(this,"der",t)}function h(t){return t<10?"0"+t:t}t.exports=d,d.prototype.encode=function(t,e){return this.tree._encode(t,e).join()},n(u,s.Node),u.prototype._encodeComposite=function(t,e,r,n){var o,s=function(t,e,r,n){var i;if("seqof"===t?t="seq":"setof"===t&&(t="set"),a.tagByName.hasOwnProperty(t))i=a.tagByName[t];else{if("number"!=typeof t||(0|t)!==t)return n.error("Unknown tag: "+t);i=t}return i>=31?n.error("Multi-octet tag encoding unsupported"):(e||(i|=32),i|=a.tagClassByName[r||"universal"]<<6)}(t,e,r,this.reporter);if(n.length<128)return(o=new i(2))[0]=s,o[1]=n.length,this._createEncoderBuffer([o,n]);for(var d=1,u=n.length;u>=256;u>>=8)d++;(o=new i(2+d))[0]=s,o[1]=128|d,u=1+d;for(var h=n.length;h>0;u--,h>>=8)o[u]=255&h;return this._createEncoderBuffer([o,n])},u.prototype._encodeStr=function(t,e){if("bitstr"===e)return this._createEncoderBuffer([0|t.unused,t.data]);if("bmpstr"===e){for(var r=new i(2*t.length),n=0;n<t.length;n++)r.writeUInt16BE(t.charCodeAt(n),2*n);return this._createEncoderBuffer(r)}return"numstr"===e?this._isNumstr(t)?this._createEncoderBuffer(t):this.reporter.error("Encoding of string type: numstr supports only digits and space"):"printstr"===e?this._isPrintstr(t)?this._createEncoderBuffer(t):this.reporter.error("Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark"):/str$/.test(e)||"objDesc"===e?this._createEncoderBuffer(t):this.reporter.error("Encoding of string type: "+e+" unsupported")},u.prototype._encodeObjid=function(t,e,r){if("string"==typeof t){if(!e)return this.reporter.error("string objid given, but no values map found");if(!e.hasOwnProperty(t))return this.reporter.error("objid not found in values map");t=e[t].split(/[\s\.]+/g);for(var n=0;n<t.length;n++)t[n]|=0}else if(Array.isArray(t))for(t=t.slice(),n=0;n<t.length;n++)t[n]|=0;if(!Array.isArray(t))return this.reporter.error("objid() should be either array or string, got: "+JSON.stringify(t));if(!r){if(t[1]>=40)return this.reporter.error("Second objid identifier OOB");t.splice(0,2,40*t[0]+t[1])}var o=0;for(n=0;n<t.length;n++){var s=t[n];for(o++;s>=128;s>>=7)o++}var a=new i(o),d=a.length-1;for(n=t.length-1;n>=0;n--)for(s=t[n],a[d--]=127&s;(s>>=7)>0;)a[d--]=128|127&s;return this._createEncoderBuffer(a)},u.prototype._encodeTime=function(t,e){var r,n=new Date(t);return"gentime"===e?r=[h(n.getFullYear()),h(n.getUTCMonth()+1),h(n.getUTCDate()),h(n.getUTCHours()),h(n.getUTCMinutes()),h(n.getUTCSeconds()),"Z"].join(""):"utctime"===e?r=[h(n.getFullYear()%100),h(n.getUTCMonth()+1),h(n.getUTCDate()),h(n.getUTCHours()),h(n.getUTCMinutes()),h(n.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+e+" time is not supported yet"),this._encodeStr(r,"octstr")},u.prototype._encodeNull=function(){return this._createEncoderBuffer("")},u.prototype._encodeInt=function(t,e){if("string"==typeof t){if(!e)return this.reporter.error("String int or enum given, but no values map");if(!e.hasOwnProperty(t))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(t));t=e[t]}if("number"!=typeof t&&!i.isBuffer(t)){var r=t.toArray();!t.sign&&128&r[0]&&r.unshift(0),t=new i(r)}if(i.isBuffer(t)){var n=t.length;0===t.length&&n++;var o=new i(n);return t.copy(o),0===t.length&&(o[0]=0),this._createEncoderBuffer(o)}if(t<128)return this._createEncoderBuffer(t);if(t<256)return this._createEncoderBuffer([0,t]);n=1;for(var s=t;s>=256;s>>=8)n++;for(s=(o=new Array(n)).length-1;s>=0;s--)o[s]=255&t,t>>=8;return 128&o[0]&&o.unshift(0),this._createEncoderBuffer(new i(o))},u.prototype._encodeBool=function(t){return this._createEncoderBuffer(t?255:0)},u.prototype._use=function(t,e){return"function"==typeof t&&(t=t(e)),t._getEncoder("der").tree},u.prototype._skipDefault=function(t,e,r){var n,i=this._baseState;if(null===i.default)return!1;var o=t.join();if(void 0===i.defaultBuffer&&(i.defaultBuffer=this._encodeValue(i.default,e,r).join()),o.length!==i.defaultBuffer.length)return!1;for(n=0;n<o.length;n++)if(o[n]!==i.defaultBuffer[n])return!1;return!0}},4669:(t,e,r)=>{var n=e;n.der=r(82),n.pem=r(735)},735:(t,e,r)=>{var n=r(6698),i=r(82);function o(t){i.call(this,t),this.enc="pem"}n(o,i),t.exports=o,o.prototype.encode=function(t,e){for(var r=i.prototype.encode.call(this,t).toString("base64"),n=["-----BEGIN "+e.label+"-----"],o=0;o<r.length;o+=64)n.push(r.slice(o,o+64));return n.push("-----END "+e.label+"-----"),n.join("\n")}},2344:function(t,e,r){!function(t,e){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function o(t,e,r){if(o.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var s;"object"==typeof t?t.exports=o:e.BN=o,o.BN=o,o.wordSize=26;try{s="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(8982).Buffer}catch(t){}function a(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function d(t,e,r){var n=a(t,r);return r-1>=e&&(n|=a(t,r-1)<<4),n}function u(t,e,r,n){for(var i=0,o=Math.min(t.length,r),s=e;s<o;s++){var a=t.charCodeAt(s)-48;i*=n,i+=a>=49?a-49+10:a>=17?a-17+10:a}return i}o.isBN=function(t){return t instanceof o||null!==t&&"object"==typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i<t.length&&(16===e?this._parseHex(t,i,r):(this._parseBase(t,e,i),"le"===r&&this._initArray(this.toArray(),e,r)))},o.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initArray=function(t,e,r){if(n("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var o,s,a=0;if("be"===r)for(i=t.length-1,o=0;i>=0;i-=3)s=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===r)for(i=0,o=0;i<t.length;i+=3)s=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var i,o=0,s=0;if("be"===r)for(n=t.length-1;n>=e;n-=2)i=d(t,e,n)<<o,this.words[s]|=67108863&i,o>=18?(o-=18,s+=1,this.words[s]|=i>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n<t.length;n+=2)i=d(t,e,n)<<o,this.words[s]|=67108863&i,o>=18?(o-=18,s+=1,this.words[s]|=i>>>26):o+=8;this.strip()},o.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,s=o%n,a=Math.min(o,o-s)+r,d=0,h=r;h<a;h+=n)d=u(t,h,h+n,e),this.imuln(i),this.words[0]+d<67108864?this.words[0]+=d:this._iaddn(d);if(0!==s){var l=1;for(d=u(t,h,t.length,e),h=0;h<s;h++)l*=e;this.imuln(l),this.words[0]+d<67108864?this.words[0]+=d:this._iaddn(d)}this.strip()},o.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},o.prototype.clone=function(){var t=new o(null);return this.copy(t),t},o.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},o.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function c(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],s=i*o,a=67108863&s,d=s/67108864|0;r.words[0]=a;for(var u=1;u<n;u++){for(var h=d>>>26,l=67108863&d,f=Math.min(u,e.length-1),c=Math.max(0,u-t.length+1);c<=f;c++){var g=u-c|0;h+=(s=(i=0|t.words[g])*(o=0|e.words[c])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,d=0|h}return 0!==d?r.words[u]=0|d:r.length--,r.strip()}o.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var i=0,o=0,s=0;s<this.length;s++){var a=this.words[s],d=(16777215&(a<<i|o)).toString(16);o=a>>>24-i&16777215,(i+=2)>=26&&(i-=26,s--),r=0!==o||s!==this.length-1?h[6-d.length]+d+r:d+r}for(0!==o&&(r=o.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=l[t],c=f[t];r="";var g=this.clone();for(g.negative=0;!g.isZero();){var p=g.modn(c).toString(t);r=(g=g.idivn(c)).isZero()?p+r:h[u-p.length]+p+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return n(void 0!==s),this.toArrayLike(s,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),o=r||Math.max(1,i);n(i<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0"),this.strip();var s,a,d="le"===e,u=new t(o),h=this.clone();if(d){for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),u[a]=s;for(;a<o;a++)u[a]=0}else{for(a=0;a<o-i;a++)u[a]=0;for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),u[o-a-1]=s}return u},Math.clz32?o.prototype._countBits=function(t){return 32-Math.clz32(t)}:o.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 8191&e||(r+=13,e>>>=13),127&e||(r+=7,e>>>=7),15&e||(r+=4,e>>>=4),3&e||(r+=2,e>>>=2),1&e||r++,r},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},o.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},o.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},o.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},o.prototype.isNeg=function(){return 0!==this.negative},o.prototype.neg=function(){return this.clone().ineg()},o.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},o.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},o.prototype.ior=function(t){return n(!(this.negative|t.negative)),this.iuor(t)},o.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},o.prototype.iand=function(t){return n(!(this.negative|t.negative)),this.iuand(t)},o.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n<r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n<e.length;n++)this.words[n]=e.words[n];return this.length=e.length,this.strip()},o.prototype.ixor=function(t){return n(!
vendor: 2,330 bytes, line 15672
15672(this.negative|t.negative)),this.iuxor(t)},o.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<<i:this.words[r]&~(1<<i),this.strip()},o.prototype.iadd=function(t){var e,r,n;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o<n.length;o++)e=(0|r.words[o])+(0|n.words[o])+i,this.words[o]=67108863&e,i=e>>>26;for(;0!==i&&o<r.length;o++)e=(0|r.words[o])+i,this.words[o]=67108863&e,i=e>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},o.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,s=0;s<n.length;s++)o=(e=(0|r.words[s])-(0|n.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},o.prototype.sub=function(t){return this.clone().isub(t)};var
vendor: 7,651 bytes, line 15672
15672g=function(t,e,r){var n,i,o,s=t.words,a=e.words,d=r.words,u=0,h=0|s[0],l=8191&h,f=h>>>13,c=0|s[1],g=8191&c,p=c>>>13,m=0|s[2],b=8191&m,y=m>>>13,v=0|s[3],_=8191&v,M=v>>>13,w=0|s[4],$=8191&w,S=w>>>13,N=0|s[5],E=8191&N,T=N>>>13,A=0|s[6],R=8191&A,P=A>>>13,O=0|s[7],C=8191&O,I=O>>>13,L=0|s[8],D=8191&L,U=L>>>13,k=0|s[9],x=8191&k,F=k>>>13,B=0|a[0],V=8191&B,j=B>>>13,H=0|a[1],G=8191&H,W=H>>>13,Y=0|a[2],z=8191&Y,q=Y>>>13,K=0|a[3],Z=8191&K,X=K>>>13,J=0|a[4],Q=8191&J,tt=J>>>13,et=0|a[5],rt=8191&et,nt=et>>>13,it=0|a[6],ot=8191&it,st=it>>>13,at=0|a[7],dt=8191&at,ut=at>>>13,ht=0|a[8],lt=8191&ht,ft=ht>>>13,ct=0|a[9],gt=8191&ct,pt=ct>>>13;r.negative=t.negative^e.negative,r.length=19;var mt=(u+(n=Math.imul(l,V))|0)+((8191&(i=(i=Math.imul(l,j))+Math.imul(f,V)|0))<<13)|0;u=((o=Math.imul(f,j))+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(g,V),i=(i=Math.imul(g,j))+Math.imul(p,V)|0,o=Math.imul(p,j);var bt=(u+(n=n+Math.imul(l,G)|0)|0)+((8191&(i=(i=i+Math.imul(l,W)|0)+Math.imul(f,G)|0))<<13)|0;u=((o=o+Math.imul(f,W)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(b,V),i=(i=Math.imul(b,j))+Math.imul(y,V)|0,o=Math.imul(y,j),n=n+Math.imul(g,G)|0,i=(i=i+Math.imul(g,W)|0)+Math.imul(p,G)|0,o=o+Math.imul(p,W)|0;var yt=(u+(n=n+Math.imul(l,z)|0)|0)+((8191&(i=(i=i+Math.imul(l,q)|0)+Math.imul(f,z)|0))<<13)|0;u=((o=o+Math.imul(f,q)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(_,V),i=(i=Math.imul(_,j))+Math.imul(M,V)|0,o=Math.imul(M,j),n=n+Math.imul(b,G)|0,i=(i=i+Math.imul(b,W)|0)+Math.imul(y,G)|0,o=o+Math.imul(y,W)|0,n=n+Math.imul(g,z)|0,i=(i=i+Math.imul(g,q)|0)+Math.imul(p,z)|0,o=o+Math.imul(p,q)|0;var vt=(u+(n=n+Math.imul(l,Z)|0)|0)+((8191&(i=(i=i+Math.imul(l,X)|0)+Math.imul(f,Z)|0))<<13)|0;u=((o=o+Math.imul(f,X)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul($,V),i=(i=Math.imul($,j))+Math.imul(S,V)|0,o=Math.imul(S,j),n=n+Math.imul(_,G)|0,i=(i=i+Math.imul(_,W)|0)+Math.imul(M,G)|0,o=o+Math.imul(M,W)|0,n=n+Math.imul(b,z)|0,i=(i=i+Math.imul(b,q)|0)+Math.imul(y,z)|0,o=o+Math.imul(y,q)|0,n=n+Math.imul(g,Z)|0,i=(i=i+Math.imul(g,X)|0)+Math.imul(p,Z)|0,o=o+Math.imul(p,X)|0;var _t=(u+(n=n+Math.imul(l,Q)|0)|0)+((8191&(i=(i=i+Math.imul(l,tt)|0)+Math.imul(f,Q)|0))<<13)|0;u=((o=o+Math.imul(f,tt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(E,V),i=(i=Math.imul(E,j))+Math.imul(T,V)|0,o=Math.imul(T,j),n=n+Math.imul($,G)|0,i=(i=i+Math.imul($,W)|0)+Math.imul(S,G)|0,o=o+Math.imul(S,W)|0,n=n+Math.imul(_,z)|0,i=(i=i+Math.imul(_,q)|0)+Math.imul(M,z)|0,o=o+Math.imul(M,q)|0,n=n+Math.imul(b,Z)|0,i=(i=i+Math.imul(b,X)|0)+Math.imul(y,Z)|0,o=o+Math.imul(y,X)|0,n=n+Math.imul(g,Q)|0,i=(i=i+Math.imul(g,tt)|0)+Math.imul(p,Q)|0,o=o+Math.imul(p,tt)|0;var Mt=(u+(n=n+Math.imul(l,rt)|0)|0)+((8191&(i=(i=i+Math.imul(l,nt)|0)+Math.imul(f,rt)|0))<<13)|0;u=((o=o+Math.imul(f,nt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(R,V),i=(i=Math.imul(R,j))+Math.imul(P,V)|0,o=Math.imul(P,j),n=n+Math.imul(E,G)|0,i=(i=i+Math.imul(E,W)|0)+Math.imul(T,G)|0,o=o+Math.imul(T,W)|0,n=n+Math.imul($,z)|0,i=(i=i+Math.imul($,q)|0)+Math.imul(S,z)|0,o=o+Math.imul(S,q)|0,n=n+Math.imul(_,Z)|0,i=(i=i+Math.imul(_,X)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,X)|0,n=n+Math.imul(b,Q)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(y,Q)|0,o=o+Math.imul(y,tt)|0,n=n+Math.imul(g,rt)|0,i=(i=i+Math.imul(g,nt)|0)+Math.imul(p,rt)|0,o=o+Math.imul(p,nt)|0;var wt=(u+(n=n+Math.imul(l,ot)|0)|0)+((8191&(i=(i=i+Math.imul(l,st)|0)+Math.imul(f,ot)|0))<<13)|0;u=((o=o+Math.imul(f,st)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(C,V),i=(i=Math.imul(C,j))+Math.imul(I,V)|0,o=Math.imul(I,j),n=n+Math.imul(R,G)|0,i=(i=i+Math.imul(R,W)|0)+Math.imul(P,G)|0,o=o+Math.imul(P,W)|0,n=n+Math.imul(E,z)|0,i=(i=i+Math.imul(E,q)|0)+Math.imul(T,z)|0,o=o+Math.imul(T,q)|0,n=n+Math.imul($,Z)|0,i=(i=i+Math.imul($,X)|0)+Math.imul(S,Z)|0,o=o+Math.imul(S,X)|0,n=n+Math.imul(_,Q)|0,i=(i=i+Math.imul(_,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(y,rt)|0,o=o+Math.imul(y,nt)|0,n=n+Math.imul(g,ot)|0,i=(i=i+Math.imul(g,st)|0)+Math.imul(p,ot)|0,o=o+Math.imul(p,st)|0;var $t=(u+(n=n+Math.imul(l,dt)|0)|0)+((8191&(i=(i=i+Math.imul(l,ut)|0)+Math.imul(f,dt)|0))<<13)|0;u=((o=o+Math.imul(f,ut)|0)+(i>>>13)|0)+($t>>>26)|0,$t&=67108863,n=Math.imul(D,V),i=(i=Math.imul(D,j))+Math.imul(U,V)|0,o=Math.imul(U,j),n=n+Math.imul(C,G)|0,i=(i=i+Math.imul(C,W)|0)+Math.imul(I,G)|0,o=o+Math.imul(I,W)|0,n=n+Math.imul(R,z)|0,i=(i=i+Math.imul(R,q)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,q)|0,n=n+Math.imul(E,Z)|0,i=(i=i+Math.imul(E,X)|0)+Math.imul(T,Z)|0,o=o+Math.imul(T,X)|0,n=n+Math.imul($,Q)|0,i=(i=i+Math.imul($,tt)|0)+Math.imul(S,Q)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(_,rt)|0,i=(i=i+Math.imul(_,nt)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,nt)|0,n=n+Math.imul(b,ot)|0,i=(i=i+Math.imul(b,st)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,st)|0,n=n+Math.imul(g,dt)|0,i=(i=i+Math.imul(g,ut)|0)+Math.imul(p,dt)|0,o=o+Math.imul(p,ut)|0;var St=(u+(n=n+Math.imul(l,lt)|0)|0)+((8191&(i=(i=i+Math.imul(l,ft)|0)+Math.imul(f,lt)|0))<<13)|0;u=((o=o+Math.imul(f,ft)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(x,V),i=(i=Math.imul(x,j))+Math.imul(F,V)|0,o=Math.imul(F,j),n=n+Math.imul(D,G)|0,i=(i=i+Math.imul(D,W)|0)+Math.imul(U,G)|0,o=o+Math.imul(U,W)|0,n=n+Math.imul(C,z)|0,i=(i=i+Math.imul(C,q)|0)+Math.imul(I,z)|0,o=o+Math.imul(I,q)|0,n=n+Math.imul(R,Z)|0,i=(i=i+Math.imul(R,X)|0)+Math.imul(P,Z)|0,o=o+Math.imul(P,X)|0,n=n+Math.imul(E,Q)|0,i=(i=i+Math.imul(E,tt)|0)+Math.imul(T,Q)|0,o=o+Math.imul(T,tt)|0,n=n+Math.imul($,rt)|0,i=(i=i+Math.imul($,nt)|0)+Math.imul(S,rt)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(_,ot)|0,i=(i=i+Math.imul(_,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,n=n+Math.imul(b,dt)|0,i=(i=i+Math.imul(b,ut)|0)+Math.imul(y,dt)|0,o=o+Math.imul(y,ut)|0,n=n+Math.imul(g,lt)|0,i=(i=i+Math.imul(g,ft)|0)+Math.imul(p,lt)|0,o=o+Math.imul(p,ft)|0;var Nt=(u+(n=n+Math.imul(l,gt)|0)|0)+((8191&(i=(i=i+Math.imul(l,pt)|0)+Math.imul(f,gt)|0))<<13)|0;u=((o=o+Math.imul(f,pt)|0)+(i>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,n=Math.imul(x,G),i=(i=Math.imul(x,W))+Math.imul(F,G)|0,o=Math.imul(F,W),n=n+Math.imul(D,z)|0,i=(i=i+Math.imul(D,q)|0)+Math.imul(U,z)|0,o=o+Math.imul(U,q)|0,n=n+Math.imul(C,Z)|0,i=(i=i+Math.imul(C,X)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,X)|0,n=n+Math.imul(R,Q)|0,i=(i=i+Math.imul(R,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,n=n+Math.imul(E,rt)|0,i=(i=i+Math.imul(E,nt)|0)+Math.imul(T,rt)|0,o=o+Math.imul(T,nt)|0,n=n+Math.imul($,ot)|0,i=(i=i+Math.imul($,st)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,st)|0,n=n+Math.imul(_,dt)|0,i=(i=i+Math.imul(_,ut)|0)+Math.imul(M,dt)|0,o=o+Math.imul(M,ut)|0,n=n+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ft)|0)+Math.imul(y,lt)|0,o=o+Math.imul(y,ft)|0;var Et=(u+(n=n+Math.imul(g,gt)|0)|0)+((8191&(i=(i=i+Math.imul(g,pt)|0)+Math.imul(p,gt)|0))<<13)|0;u=((o=o+Math.imul(p,pt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(x,z),i=(i=Math.imul(x,q))+Math.imul(F,z)|0,o=Math.imul(F,q),n=n+Math.imul(D,Z)|0,i=(i=i+Math.imul(D,X)|0)+Math.imul(U,Z)|0,o=o+Math.imul(U,X)|0,n=n+Math.imul(C,Q)|0,i=(i=i+Math.imul(C,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,n=n+Math.imul(R,rt)|0,i=(i=i+Math.imul(R,nt)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,nt)|0,n=n+Math.imul(E,ot)|0,i=(i=i+Math.imul(E,st)|0)+Math.imul(T,ot)|0,o=o+Math.imul(T,st)|0,n=n+Math.imul($,dt)|0,i=(i=i+Math.imul($,ut)|0)+Math.imul(S,dt)|0,o=o+Math.imul(S,ut)|0,n=n+Math.imul(_,lt)|0,i=(i=i+Math.imul(_,ft)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,ft)|0;var Tt=(u+(n=n+Math.imul(b,gt)|0)|0)+((8191&(i=(i=i+Math.imul(b,pt)|0)+Math.imul(y,gt)|0))<<13)|0;u=((o=o+Math.imul(y,pt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(x,Z),i=(i=Math.imul(x,X))+Math.imul(F,Z)|0,o=Math.imul(F,X
vendor: 5,428 bytes, line 15672
15672),n=n+Math.imul(D,Q)|0,i=(i=i+Math.imul(D,tt)|0)+Math.imul(U,Q)|0,o=o+Math.imul(U,tt)|0,n=n+Math.imul(C,rt)|0,i=(i=i+Math.imul(C,nt)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,nt)|0,n=n+Math.imul(R,ot)|0,i=(i=i+Math.imul(R,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,n=n+Math.imul(E,dt)|0,i=(i=i+Math.imul(E,ut)|0)+Math.imul(T,dt)|0,o=o+Math.imul(T,ut)|0,n=n+Math.imul($,lt)|0,i=(i=i+Math.imul($,ft)|0)+Math.imul(S,lt)|0,o=o+Math.imul(S,ft)|0;var At=(u+(n=n+Math.imul(_,gt)|0)|0)+((8191&(i=(i=i+Math.imul(_,pt)|0)+Math.imul(M,gt)|0))<<13)|0;u=((o=o+Math.imul(M,pt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(x,Q),i=(i=Math.imul(x,tt))+Math.imul(F,Q)|0,o=Math.imul(F,tt),n=n+Math.imul(D,rt)|0,i=(i=i+Math.imul(D,nt)|0)+Math.imul(U,rt)|0,o=o+Math.imul(U,nt)|0,n=n+Math.imul(C,ot)|0,i=(i=i+Math.imul(C,st)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,st)|0,n=n+Math.imul(R,dt)|0,i=(i=i+Math.imul(R,ut)|0)+Math.imul(P,dt)|0,o=o+Math.imul(P,ut)|0,n=n+Math.imul(E,lt)|0,i=(i=i+Math.imul(E,ft)|0)+Math.imul(T,lt)|0,o=o+Math.imul(T,ft)|0;var Rt=(u+(n=n+Math.imul($,gt)|0)|0)+((8191&(i=(i=i+Math.imul($,pt)|0)+Math.imul(S,gt)|0))<<13)|0;u=((o=o+Math.imul(S,pt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(x,rt),i=(i=Math.imul(x,nt))+Math.imul(F,rt)|0,o=Math.imul(F,nt),n=n+Math.imul(D,ot)|0,i=(i=i+Math.imul(D,st)|0)+Math.imul(U,ot)|0,o=o+Math.imul(U,st)|0,n=n+Math.imul(C,dt)|0,i=(i=i+Math.imul(C,ut)|0)+Math.imul(I,dt)|0,o=o+Math.imul(I,ut)|0,n=n+Math.imul(R,lt)|0,i=(i=i+Math.imul(R,ft)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ft)|0;var Pt=(u+(n=n+Math.imul(E,gt)|0)|0)+((8191&(i=(i=i+Math.imul(E,pt)|0)+Math.imul(T,gt)|0))<<13)|0;u=((o=o+Math.imul(T,pt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(x,ot),i=(i=Math.imul(x,st))+Math.imul(F,ot)|0,o=Math.imul(F,st),n=n+Math.imul(D,dt)|0,i=(i=i+Math.imul(D,ut)|0)+Math.imul(U,dt)|0,o=o+Math.imul(U,ut)|0,n=n+Math.imul(C,lt)|0,i=(i=i+Math.imul(C,ft)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ft)|0;var Ot=(u+(n=n+Math.imul(R,gt)|0)|0)+((8191&(i=(i=i+Math.imul(R,pt)|0)+Math.imul(P,gt)|0))<<13)|0;u=((o=o+Math.imul(P,pt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(x,dt),i=(i=Math.imul(x,ut))+Math.imul(F,dt)|0,o=Math.imul(F,ut),n=n+Math.imul(D,lt)|0,i=(i=i+Math.imul(D,ft)|0)+Math.imul(U,lt)|0,o=o+Math.imul(U,ft)|0;var Ct=(u+(n=n+Math.imul(C,gt)|0)|0)+((8191&(i=(i=i+Math.imul(C,pt)|0)+Math.imul(I,gt)|0))<<13)|0;u=((o=o+Math.imul(I,pt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(x,lt),i=(i=Math.imul(x,ft))+Math.imul(F,lt)|0,o=Math.imul(F,ft);var It=(u+(n=n+Math.imul(D,gt)|0)|0)+((8191&(i=(i=i+Math.imul(D,pt)|0)+Math.imul(U,gt)|0))<<13)|0;u=((o=o+Math.imul(U,pt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Lt=(u+(n=Math.imul(x,gt))|0)+((8191&(i=(i=Math.imul(x,pt))+Math.imul(F,gt)|0))<<13)|0;return u=((o=Math.imul(F,pt))+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,d[0]=mt,d[1]=bt,d[2]=yt,d[3]=vt,d[4]=_t,d[5]=Mt,d[6]=wt,d[7]=$t,d[8]=St,d[9]=Nt,d[10]=Et,d[11]=Tt,d[12]=At,d[13]=Rt,d[14]=Pt,d[15]=Ot,d[16]=Ct,d[17]=It,d[18]=Lt,0!==u&&(d[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(g=c),o.prototype.mulTo=function(t,e){var r,n=this.length+t.length;return r=10===this.length&&10===t.length?g(this,t,e):n<63?c(this,t,e):n<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o<r.length-1;o++){var s=i;i=0;for(var a=67108863&n,d=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=d;u++){var h=o-u,l=(0|t.words[h])*(0|e.words[u]),f=67108863&l;a=67108863&(f=f+a|0),i+=(s=(s=s+(l/67108864|0)|0)+(f>>>26)|0)>>>26,s&=67108863}r.words[o]=a,n=s,s=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}(this,t,e):p(this,t,e),r},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=o.prototype._countBits(t)-1,n=0;n<t;n++)e[n]=this.revBin(n,r,t);return e},m.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,i=0;i<e;i++)n|=(1&t)<<e-i-1,t>>=1;return n},m.prototype.permute=function(t,e,r,n,i,o){for(var s=0;s<o;s++)n[s]=e[t[s]],i[s]=r[t[s]]},m.prototype.transform=function(t,e,r,n,i,o){this.permute(o,t,e,r,n,i);for(var s=1;s<i;s<<=1)for(var a=s<<1,d=Math.cos(2*Math.PI/a),u=Math.sin(2*Math.PI/a),h=0;h<i;h+=a)for(var l=d,f=u,c=0;c<s;c++){var g=r[h+c],p=n[h+c],m=r[h+c+s],b=n[h+c+s],y=l*m-f*b;b=l*b+f*m,m=y,r[h+c]=g+m,n[h+c]=p+b,r[h+c+s]=g-m,n[h+c+s]=p-b,c!==a&&(y=d*l-u*f,f=d*f+u*l,l=y)}},m.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},m.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=t[n];t[n]=t[r-n-1],t[r-n-1]=i,i=e[n],e[n]=-e[r-n-1],e[r-n-1]=-i}},m.prototype.normalize13b=function(t,e){for(var r=0,n=0;n<e/2;n++){var i=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&i,r=i<67108864?0:i/67108864|0}return t},m.prototype.convert13b=function(t,e,r,i){for(var o=0,s=0;s<e;s++)o+=0|t[s],r[2*s]=8191&o,o>>>=13,r[2*s+1]=8191&o,o>>>=13;for(s=2*e;s<i;++s)r[s]=0;n(0===o),n(!(-8192&o))},m.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},m.prototype.mulp=function(t,e,r){var n=2*this.guessLen13b(t.length,e.length),i=this.makeRBT(n),o=this.stub(n),s=new Array(n),a=new Array(n),d=new Array(n),u=new Array(n),h=new Array(n),l=new Array(n),f=r.words;f.length=n,this.convert13b(t.words,t.length,s,n),this.convert13b(e.words,e.length,u,n),this.transform(s,o,a,d,n,i),this.transform(u,o,h,l,n,i);for(var c=0;c<n;
vendor: 16,384 bytes, line 15672
15672c++){var g=a[c]*h[c]-d[c]*l[c];d[c]=a[c]*l[c]+d[c]*h[c],a[c]=g}return this.conjugate(a,d,n),this.transform(a,d,f,o,n,i),this.conjugate(f,o,n),this.normalize13b(f,n),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},o.prototype.mul=function(t){var e=new o(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},o.prototype.mulf=function(t){var e=new o(null);return e.words=new Array(this.length+t.length),p(this,t,e)},o.prototype.imul=function(t){return this.clone().mulTo(t,this)},o.prototype.imuln=function(t){n("number"==typeof t),n(t<67108864);for(var e=0,r=0;r<this.length;r++){var i=(0|this.words[r])*t,o=(67108863&i)+(67108863&e);e>>=26,e+=i/67108864|0,e+=o>>>26,this.words[r]=67108863&o}return 0!==e&&(this.words[r]=e,this.length++),this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var n=r/26|0,i=r%26;e[r]=(t.words[n]&1<<i)>>>i}return e}(t);if(0===e.length)return new o(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var i=r.sqr();n<e.length;n++,i=i.sqr())0!==e[n]&&(r=r.mul(i));return r},o.prototype.iushln=function(t){n("number"==typeof t&&t>=0);var e,r=t%26,i=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var s=0;for(e=0;e<this.length;e++){var a=this.words[e]&o,d=(0|this.words[e])-a<<r;this.words[e]=d|s,s=a>>>26-r}s&&(this.words[e]=s,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this.strip()},o.prototype.ishln=function(t){return n(0===this.negative),this.iushln(t)},o.prototype.iushrn=function(t,e,r){var i;n("number"==typeof t&&t>=0),i=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<<o,d=r;if(i-=s,i=Math.max(0,i),d){for(var u=0;u<s;u++)d.words[u]=this.words[u];d.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var h=0;for(u=this.length-1;u>=0&&(0!==h||u>=i);u--){var l=0|this.words[u];this.words[u]=h<<26-o|l>>>o,h=l&a}return d&&0!==h&&(d.words[d.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<<e;return!(this.length<=r||!(this.words[r]&i))},o.prototype.imaskn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this.strip()},o.prototype.maskn=function(t){return this.clone().imaskn(t)},o.prototype.iaddn=function(t){return n("number"==typeof t),n(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},o.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},o.prototype.addn=function(t){return this.clone().iaddn(t)},o.prototype.subn=function(t){return this.clone().isubn(t)},o.prototype.iabs=function(){return this.negative=0,this},o.prototype.abs=function(){return this.clone().iabs()},o.prototype._ishlnsubmul=function(t,e,r){var i,o,s=t.length+r;this._expand(s);var a=0;for(i=0;i<t.length;i++){o=(0|this.words[i+r])+a;var d=(0|t.words[i])*e;a=((o-=67108863&d)>>26)-(d/67108864|0),this.words[i+r]=67108863&o}for(;i<this.length-r;i++)a=(o=(0|this.words[i+r])+a)>>26,this.words[i+r]=67108863&o;if(0===a)return this.strip();for(n(-1===a),a=0,i=0;i<this.length;i++)a=(o=-(0|this.words[i])+a)>>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,s=0|i.words[i.length-1];0!=(r=26-this._countBits(s))&&(i=i.ushln(r),n.iushln(r),s=0|i.words[i.length-1]);var a,d=n.length-i.length;if("mod"!==e){(a=new o(null)).length=d+1,a.words=new Array(a.length);for(var u=0;u<a.length;u++)a.words[u]=0}var h=n.clone()._ishlnsubmul(i,1,d);0===h.negative&&(n=h,a&&(a.words[d]=1));for(var l=d-1;l>=0;l--){var f=67108864*(0|n.words[i.length+l])+(0|n.words[i.length+l-1]);for(f=Math.min(f/s|0,67108863),n._ishlnsubmul(i,f,l);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(i,1,l),n.isZero()||(n.negative^=1);a&&(a.words[l]=f)}return a&&a.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:a||null,mod:n}},o.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(i=a.div.neg()),"div"!==e&&(s=a.mod.neg(),r&&0!==s.negative&&s.iadd(t)),{div:i,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(i=a.div.neg()),{div:i,mod:a.mod}):this.negative&t.negative?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),r&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,s,a},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},o.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new o(1),s=new o(0),a=new o(0),d=new o(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var h=r.clone(),l=e.clone();!e.isZero();){for(var f=0,c=1;!(e.words[0]&c)&&f<26;++f,c<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(i.isOdd()||s.isOdd())&&(i.iadd(h),s.isub(l)),i.iushrn(1),s.iushrn(1);for(var g=0,p=1;!(r.words[0]&p)&&g<26;++g,p<<=1);if(g>0)for(r.iushrn(g);g-- >0;)(a.isOdd()||d.isOdd())&&(a.iadd(h),d.isub(l)),a.iushrn(1),d.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(a),s.isub(d)):(r.isub(e),a.isub(i),d.isub(s))}return{a,b:d,gcd:r.iushln(u)}},o.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,s=new o(1),a=new o(0),d=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,h=1;!(e.words[0]&h)&&u<26;++u,h<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(d),s.iushrn(1);for(var l=0,f=1;!(r.words[0]&f)&&l<26;++l,f<<=1);if(l>0)for(r.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(d),a.iushrn(1);e.cmp(r)>=0?(e.isub(r),s.isub(a)):(r.isub(e),a.isub(s))}return(i=0===e.cmpn(1)?s:a).cmpn(0)<0&&i.iadd(t),i},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return!(1&this.words[0])},o.prototype.isOdd=function(){return!(1&~this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,i=1<<e;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var o=i,s=r;0!==o&&s<this.length;s++){var a=0|this.words[s];o=(a+=o)>>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:i<t?-1:1}return 0!==this.negative?0|-e:e},o.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},o.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){n<i?e=-1:n>i&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new $(t)},o.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var b={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function _(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function M(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function $(t){if("string"==typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function S(t){$.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},i(v,y),v.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i<n;i++)e.words[i]=t.words[i];if(e.length=n,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,i=10;i<t.length;i++){var s=0|t.words[i];t.words[i-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[i-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(_,y),i(M,y),i(w,y),w.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,i=67108863&n;n>>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(b[t])return b[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new _;else if("p192"===t)e=new M;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new w}return b[t]=e,e},$.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},$.prototype._verify2=function(t,e){n(!(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},$.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},$.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},$.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},$.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},$.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},$.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},$.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},$.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},$.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},$.prototype.isqr=function(t){return this.imul(t,t.clone())},$.prototype.sqr=function(t){return th
vendor: 1,235 bytes, line 15672
15672is.mul(t,t)},$.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new o(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),s=0;!i.isZero()&&0===i.andln(1);)s++,i.iushrn(1);n(!i.isZero());var a=new o(1).toRed(this),d=a.redNeg(),u=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new o(2*h*h).toRed(this);0!==this.pow(h,u).cmp(d);)h.redIAdd(d);for(var l=this.pow(h,i),f=this.pow(t,i.addn(1).iushrn(1)),c=this.pow(t,i),g=s;0!==c.cmp(a);){for(var p=c,m=0;0!==p.cmp(a);m++)p=p.redSqr();n(m<g);var b=this.pow(l,new o(1).iushln(g-m-1));f=f.redMul(b),l=b.redSqr(),c=c.redMul(l),g=m}return f},$.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},$.prototype.pow=function(t,e){if(e.isZero())return new o(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new o(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var i=r[0],s=0,a=0,d=e.bitLength()%26;for(0===d&&(d=26),n=e.length-1;n>=0;n--){for(var u=e.words[n],h=d-1;h>=0;h--){var l=u>>h&1;i!==r[0]&&(i=this.sqr(i)),0!==l||0!==s?(s<<=1,s|=l,(4==++a||0===n&&0===h)&&(i=this.mul(i,r[s]),a=0,s=0)):a=0}
15672d=26}return i},$.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},$.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new S(t)},i(S,$),S.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},S.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),s=i;return i.cmp(this.m)>=0?s=i.isub(this.m):i.cmpn(0)<0&&(s=i.iadd(this.m)),s._forceRed(this)},S.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},2505:(t,e,r)=>{t.exports=r(8015)},5592:(t,e,r)=>{"use strict";var n=r(9516),i=r(7522),o=r(3948),s=r(9106),a=r(9615),d=r(2012),u=r(4202),h=r(4896),l=r(5845),f=r(8563),c=r(5656),g=r(5721);t.exports=function(t){return new Promise((function(e,r){var p,m=t.data,b=t.headers,y=t.responseType,v=t.withXSRFToken;function _(){t.cancelToken&&t.cancelToken.unsubscribe(p),t.signal&&t.signal.removeEventListener("abort",p)}n.isFormData(m)&&n.isStandardBrowserEnv()&&delete b["Content-Type"];var M=new XMLHttpRequest;if(t.auth){var w=t.auth.username||"",$=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";b.Authorization="Basic "+btoa(w+":"+$)}var S=a(t.baseURL,t.url,t.allowAbsoluteUrls);function N(){if(M){var n="getAllResponseHeaders"in M?d(M.getAllResponseHeaders()):null,o={data:y&&"text"!==y&&"json"!==y?M.response:M.responseText,status:M.status,statusText:M.statusText,headers:n,config:t,request:M};i((function(t){e(t),_()}),(function(t){r(t),_()}),o),M=null}}if(M.open(t.method.toUpperCase(),s(S,t.params,t.paramsSerializer),!0),M.timeout=t.timeout,"onloadend"in M?M.onloadend=N:M.onreadystatechange=function(){M&&4===M.readyState&&(0!==M.status||M.responseURL&&0===M.responseURL.indexOf("file:"))&&setTimeout(N)},M.onabort=function(){M&&(r(new l("Request aborted",l.ECONNABORTED,t,M)),M=null)},M.onerror=function(){r(new l("Network Error",l.ERR_NETWORK,t,M)),M=null},M.ontimeout=function(){var e=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",n=t.transitional||h;t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),r(new l(e,n.clarifyTimeoutError?l.ETIMEDOUT:l.ECONNABORTED,t,M)),M=null},n.isStandardBrowserEnv()&&(v&&n.isFunction(v)&&(v=v(t)),v||!1!==v&&u(S))){var E=t.xsrfHeaderName&&t.xsrfCookieName&&o.read(t.xsrfCookieName);E&&(b[t.xsrfHeaderName]=E)}"setRequestHeader"in M&&n.forEach(b,(function(t,e){void 0===m&&"content-type"===e.toLowerCase()?delete b[e]:M.setRequestHeader(e,t)}
vendor: 22,987 bytes, line 15672
15672)),n.isUndefined(t.withCredentials)||(M.withCredentials=!!t.withCredentials),y&&"json"!==y&&(M.responseType=t.responseType),"function"==typeof t.onDownloadProgress&&M.addEventListener("progress",t.onDownloadProgress),"function"==typeof t.onUploadProgress&&M.upload&&M.upload.addEventListener("progress",t.onUploadProgress),(t.cancelToken||t.signal)&&(p=function(e){M&&(r(!e||e.type?new f(null,t,M):e),M.abort(),M=null)},t.cancelToken&&t.cancelToken.subscribe(p),t.signal&&(t.signal.aborted?p():t.signal.addEventListener("abort",p))),m||!1===m||0===m||""===m||(m=null);var T=c(S);T&&-1===g.protocols.indexOf(T)?r(new l("Unsupported protocol "+T+":",l.ERR_BAD_REQUEST,t)):M.send(m)}))}},8015:(t,e,r)=>{"use strict";var n=r(9516),i=r(9012),o=r(5155),s=r(5343),a=r(7412),d=r(4298),u=function t(e){var r=new o(e),a=i(o.prototype.request,r);return n.extend(a,o.prototype,r),n.extend(a,r),a.create=function(r){return t(s(e,r))},a}(a);u.Axios=o,u.CanceledError=r(8563),u.CancelToken=r(3191),u.isCancel=r(3864),u.VERSION=r(9641).version,u.toFormData=r(6440),u.AxiosError=r(5845),u.Cancel=u.CanceledError,u.all=function(t){return Promise.all(t)},u.spread=r(7980),u.isAxiosError=r(5019),u.formToJSON=function(t){return d(n.isHTMLForm(t)?new FormData(t):t)},t.exports=u,t.exports.default=u},3191:(t,e,r)=>{"use strict";var n=r(8563);function i(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");var e;this.promise=new Promise((function(t){e=t}));var r=this;this.promise.then((function(t){if(r._listeners){for(var e=r._listeners.length;e-- >0;)r._listeners[e](t);r._listeners=null}})),this.promise.then=function(t){var e,n=new Promise((function(t){r.subscribe(t),e=t})).then(t);return n.cancel=function(){r.unsubscribe(e)},n},t((function(t,i,o){r.reason||(r.reason=new n(t,i,o),e(r.reason))}))}i.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},i.prototype.subscribe=function(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]},i.prototype.unsubscribe=function(t){if(this._listeners){var e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}},i.source=function(){var t;return{token:new i((function(e){t=e})),cancel:t}},t.exports=i},8563:(t,e,r)=>{"use strict";var n=r(5845);function i(t,e,r){n.call(this,null==t?"canceled":t,n.ERR_CANCELED,e,r),this.name="CanceledError"}r(9516).inherits(i,n,{__CANCEL__:!0}),t.exports=i},3864:t=>{"use strict";t.exports=function(t){return!(!t||!t.__CANCEL__)}},5155:(t,e,r)=>{"use strict";var n=r(9516),i=r(9106),o=r(3471),s=r(4490),a=r(5343),d=r(9615),u=r(4841),h=u.validators;function l(t){this.defaults=t,this.interceptors={request:new o,response:new o}}l.prototype.request=function(t,e){"string"==typeof t?(e=e||{}).url=t:e=t||{},(e=a(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var r=e.transitional;void 0!==r&&u.assertOptions(r,{silentJSONParsing:h.transitional(h.boolean),forcedJSONParsing:h.transitional(h.boolean),clarifyTimeoutError:h.transitional(h.boolean)},!1);var i=e.paramsSerializer;null!=i&&(n.isFunction(i)?e.paramsSerializer={serialize:i}:u.assertOptions(i,{encode:h.function,serialize:h.function},!0));var o=[],d=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(d=d&&t.synchronous,o.unshift(t.fulfilled,t.rejected))}));var l,f=[];if(this.interceptors.response.forEach((function(t){f.push(t.fulfilled,t.rejected)})),!d){var c=[s,void 0];for(Array.prototype.unshift.apply(c,o),c=c.concat(f),l=Promise.resolve(e);c.length;)l=l.then(c.shift(),c.shift());return l}for(var g=e;o.length;){var p=o.shift(),m=o.shift();try{g=p(g)}catch(t){m(t);break}}try{l=s(g)}catch(t){return Promise.reject(t)}for(;f.length;)l=l.then(f.shift(),f.shift());return l},l.prototype.getUri=function(t){t=a(this.defaults,t);var e=d(t.baseURL,t.url,t.allowAbsoluteUrls);return i(e,t.params,t.paramsSerializer)},n.forEach(["delete","get","head","options"],(function(t){l.prototype[t]=function(e,r){return this.request(a(r||{},{method:t,url:e,data:(r||{}).data}))}})),n.forEach(["post","put","patch"],(function(t){function e(e){return function(r,n,i){return this.request(a(i||{},{method:t,headers:e?{"Content-Type":"multipart/form-data"}:{},url:r,data:n}))}}l.prototype[t]=e(),l.prototype[t+"Form"]=e(!0)})),t.exports=l},5845:(t,e,r)=>{"use strict";var n=r(9516);function i(t,e,r,n,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=t,this.name="AxiosError",e&&(this.code=e),r&&(this.config=r),n&&(this.request=n),i&&(this.response=i)}n.inherits(i,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var o=i.prototype,s={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((function(t){s[t]={value:t}})),Object.defineProperties(i,s),Object.defineProperty(o,"isAxiosError",{value:!0}),i.from=function(t,e,r,s,a,d){var u=Object.create(o);return n.toFlatObject(t,u,(function(t){return t!==Error.prototype})),i.call(u,t.message,e,r,s,a),u.cause=t,u.name=t.name,d&&Object.assign(u,d),u},t.exports=i},3471:(t,e,r)=>{"use strict";var n=r(9516);function i(){this.handlers=[]}i.prototype.use=function(t,e,r){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1},i.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)},i.prototype.clear=function(){this.handlers&&(this.handlers=[])},i.prototype.forEach=function(t){n.forEach(this.handlers,(function(e){null!==e&&t(e)}))},t.exports=i},9615:(t,e,r)=>{"use strict";var n=r(9137),i=r(4680);t.exports=function(t,e,r){var o=!n(e);return t&&(o||!1===r)?i(t,e):e}},4490:(t,e,r)=>{"use strict";var n=r(9516),i=r(2881),o=r(3864),s=r(7412),a=r(8563),d=r(7018);function u(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new a}t.exports=function(t){return u(t),t.headers=t.headers||{},t.data=i.call(t,t.data,t.headers,null,t.transformRequest),d(t.headers,"Accept"),d(t.headers,"Content-Type"),t.headers=n.merge(t.headers.common||{},t.headers[t.method]||{},t.headers),n.forEach(["delete","get","head","post","put","patch","common"],(function(e){delete t.headers[e]})),(t.adapter||s.adapter)(t).then((function(e){return u(t),e.data=i.call(t,e.data,e.headers,e.status,t.transformResponse),e}),(function(e){return o(e)||(u(t),e&&e.response&&(e.response.data=i.call(t,e.response.data,e.response.headers,e.response.status,t.transformResponse))),Promise.reject(e)}))}},5343:(t,e,r)=>{"use strict";var n=r(9516);t.exports=function(t,e){e=e||{};var r={};function i(t,e){return n.isPlainObject(t)&&n.isPlainObject(e)?n.merge(t,e):n.isEmptyObject(e)?n.merge({},t):n.isPlainObject(e)?n.merge({},e):n.isArray(e)?e.slice():e}function o(r){return n.isUndefined(e[r])?n.isUndefined(t[r])?void 0:i(void 0,t[r]):i(t[r],e[r])}function s(t){if(!n.isUndefined(e[t]))return i(void 0,e[t])}function a(r){return n.isUndefined(e[r])?n.isUndefined(t[r])?void 0:i(void 0,t[r]):i(void 0,e[r])}function d(r){return r in e?i(t[r],e[r]):r in t?i(void 0,t[r]):void 0}var u={url:s,method:s,data:s,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:d};return n.forEach(Object.keys(t).concat(Object.keys(e)),(function(t){var e=u[t]||o,i=e(t);n.isUndefined(i)&&e!==d||(r[t]=i)})),r}},7522:(t,e,r)=>{"use strict";var n=r(5845);t.exports=function(t,e,r){var i=r.config.validateStatus;r.status&&i&&!i(r.status)?e(new n("Request failed with status code "+r.status,[n.ERR_BAD_REQUEST,n.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r)):t(r)}},2881:(t,e,r)=>{"use strict";var n=r(9516),i=r(7412);t.exports=function(t,e,r,o){var s=this||i;return n.forEach(o,(function(n){t=n.call(s,t,e,r)})),t}},7412:(t,e,r)=>{"use strict";var n=r(5606),i=r(9516),o=r(7018),s=r(5845),a=r(4896),d=r(6440),u=r(6069),h=r(5721),l=r(4298),f={"Content-Type":"application/x-www-form-urlencoded"};function c(t,e){!i.isUndefined(t)&&i.isUndefined(t["Content-Type"])&&(t["Content-Type"]=e)}var g,p={transitional:a,adapter:(("undefined"!=typeof XMLHttpRequest||void 0!==n&&"[object process]"===Object.prototype.toString.call(n))&&(g=r(5592)),g),transformRequest:[function(t,e){o(e,"Accept"),o(e,"Content-Type");var r,n=e&&e["Content-Type"]||"",s=n.indexOf("application/json")>-1,a=i.isObject(t);if(a&&i.isHTMLForm(t)&&(t=new FormData(t)),i.isFormData(t))return s?JSON.stringify(l(t)):t;if(i.isArrayBuffer(t)||i.isBuffer(t)||i.isStream(t)||i.isFile(t)||i.isBlob(t))return t;if(i.isArrayBufferView(t))return t.buffer;if(i.isURLSearchParams(t))return c(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString();if(a){if(-1!==n.indexOf("application/x-www-form-urlencoded"))return u(t,this.formSerializer).toString();if((r=i.isFileList(t))||n.indexOf("multipart/form-data")>-1){var h=this.env&&this.env.FormData;return d(r?{"files[]":t}:t,h&&new h,this.formSerializer)}}return a||s?(c(e,"application/json"),function(t){if(i.isString(t))try{return(0,JSON.parse)(t),i.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return(0,JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){var e=this.transitional||p.transitional,r=e&&e.forcedJSONParsing,n="json"===this.responseType;if(t&&i.isString(t)&&(r&&!this.responseType||n)){var o=!(e&&e.silentJSONParsing)&&n;try{return JSON.parse(t)}catch(t){if(o){if("SyntaxError"===t.name)throw s.from(t,s.ERR_BAD_RESPONSE,this,null,this.response);throw t}}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:h.classes.FormData,Blob:h.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};i.forEach(["delete","get","head"],(function(t){p.headers[t]={}})),i.forEach(["post","put","patch"],(function(t){p.headers[t]=i.merge(f)})),t.exports=p},4896:t=>{"use strict";t.exports={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1}},786:(t,e,r)=>{t.exports=r(1894)},9641:t=>{t.exports={version:"0.30.0"}},170:(t,e,r)=>{"use strict";var n=r(6440);function i(t){var e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'\(\)~]|%20|%00/g,(function(t){return e[t]}))}function o(t,e){this._pairs=[],t&&n(t,this,e)}var s=o.prototype;s.append=function(t,e){this._pairs.push([t,e])},s.toString=function(t){var e=t?function(e){return t.call(this,e,i)}:i;return this._pairs.map((function(t){return e(t[0])+"="+e(t[1])}),"").join("&")},t.exports=o},9012:t=>{"use strict";t.exports=function(t,e){return function(){return t.apply(e,arguments)}}},9106:(t,e,r)=>{"use strict";var n=r(9516),i=r(170);function o(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}t.exports=function(t,e,r){if(!e)return t;var s=t.indexOf("#");-1!==s&&(t=t.slice(0,s));var a,d=r&&r.encode||o,u=r&&r.serialize;return(a=u?u(e,r):n.isURLSearchParams(e)?e.toString():new i(e,r).toString(d))&&(t+=(-1===t.indexOf("?")?"?":"&")+a),t}},4680:t=>{"use strict";t.exports=function(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}},3948:(t,e,r)=>{"use strict";var n=r(9516);t.exports=n.isStandardBrowserEnv()?{write:function(t,e,r,i,o,s){var a=[];a.push(t+"="+encodeURIComponent(e)),n.isNumber(r)&&a.push("expires="+new Date(r).toGMTString()),n.isString(i)&&a.push("path="+i),n.isString(o)&&a.push("domain="+o),!0===s&&a.push("secure"),document.cookie=a.join("; ")},read:function(t){var e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},4298:(t,e,r)=>{"use strict";var n=r(9516);t.exports=function(t){function e(t,r,i,o){var s=t[o++];if("__proto__"===s)return!0;var a=Number.isFinite(+s),d=o>=t.length;return s=!s&&n.isArray(i)?i.length:s,d?(n.hasOwnProperty(i,s)?i[s]=[i[s],r]:i[s]=r,!a):(i[s]&&n.isObject(i[s])||(i[s]=[]),e(t,r,i[s],o)&&n.isArray(i[s])&&(i[s]=function(t){var e,r,n={},i=Object.keys(t),o=i.length;for(e=0;e<o;e++)n[r=i[e]]=t[r];return n}(i[s])),!a)}if(n.isFormData(t)&&n.isFunction(t.entries)){var r={};return n.forEachEntry(t,(function(t,i){e(function(t){return n.matchAll(/\w+|\[(\w*)]/g,t).map((function(t){return"[]"===t[0]?"":t[1]||t[0]}))}(t),i,r,0)})),r}return null}},9137:t=>{"use strict";t.exports=function(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}},5019:(t,e,r)=>{"use strict";var n=r(9516);t.exports=function(t){return n.isObject(t)&&!0===t.isAxiosError}},4202:(t,e,r)=>{"use strict";var n=r(9516);t.exports=n.isStandardBrowserEnv()?function(){var t,e=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a");function i(t){var n=t;return e&&(r.setAttribute("href",n),n=r.href),r.setAttribute("href",n),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:"/"===r.pathname.charAt(0)?r.pathname:"/"+r.pathname}}return t=i(window.location.href),function(e){var r=n.isString(e)?i(e):e;return r.protocol===t.protocol&&r.host===t.host}}():function(){return!0}},7018:(t,e,r)=>{"use strict";var n=r(9516);t.exports=function(t,e){n.forEach(t,(function(r,n){n!==e&&n.toUpperCase()===e.toUpperCase()&&(t[e]=r,delete t[n])}))}},2012:(t,e,r)=>{"use strict";var n=r(9516),i=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];t.exports=function(t){var e,r,o,s={};return t?(n.forEach(t.split("\n"),(function(t){if(o=t.indexOf(":"),e=n.trim(t.slice(0,o)).toLowerCase(),r=n.trim(t.slice(o+1)),e){if(s[e]&&i.indexOf(e)>=0)return;s[e]="set-cookie"===e?(s[e]?s[e]:[]).concat([r]):s[e]?s[e]+", "+r:r}})),s):s}},5656:t=>{"use strict";t.exports=function(t){var e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}},7980:t=>{"use strict";t.exports=function(t){return function(e){return t.apply(null,e)}}},6440:(t,e,r)=>{"use strict";var n=r(9516),i=r(5845),o=r(786);function s(t){return n.isPlainObject(t)||n.isArray(t)}function a(t){return n.endsWith(t,"[]")?t.slice(0,-2):t}function d(t,e,r){return t?t.concat(e).map((function(t,e){return t=a(t),!r&&e?"["+t+"]":t})).join(r?".":""):e}var u=n.toFlatObject(n,{},null,(function(t){return/^is[A-Z]/.test(t)}));t.exports=function(t,e,r){if(!n.isObject(t))throw new TypeError("target must be an object");e=e||new(o||FormData);var h,l=(r=n.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(t,e){return!n.isUndefined(e[t])}))).metaTokens,f=r.visitor||b,c=r.dots,g=r.indexes,p=(r.Blob||"undefined"!=typeof Blob&&Blob)&&(h=e)&&n.isFunction(h.append)&&"FormData"===h[Symbol.toStringTag]&&h[Symbol.iterator];if(!n.isFunction(f))throw new TypeError("visitor must be a function");function m(t){if(null===t)return"";if(n.isDate(t))return t.toISOString();if(!p&&n.isBlob(t))throw new i("Blob is not supported. Use a Buffer instead.");return n.isArrayBuffer(t)||n.isTypedArray(t)?p&&"function"==typeof Blob?new Blob([t]):Buffer.from(t):t}function b(t,r,i){var o=t;if(t&&!i&&"object"==typeof t)if(n.endsWith(r,"{}"))r=l?r:r.slice(0,-2),t=JSON.stringify(t);else if(n.isArray(t)&&function(t){return n.isArray(t)&&!t.some(s)}(t)||n.isFileList(t)||n.endsWith(r,"[]")&&(o=n.toArray(t)))return r=a(r),o.forEach((function(t,i){!n.isUndefined(t)&&null!==t&&e.append(!0===g?d([r],i,c):null===g?r:r+"[]",m(t))})),!1;return!!s(t)||(e.append(d(i,r,c),m(t)),!1)}var y=[],v=Object.assign(u,{defaultVisitor:b,convertValue:m,isVisitable:s});if(!n.isObject(t))throw new TypeError("data must be an object");return function t(r,i){if(!n.isUndefined(r)){if(-1!==y.indexOf(r))throw Error("Circular reference detected in "+i.join("."));y.push(r),n.forEach(r,(function(r,o){!0===(!(n.isUndefined(r)||null===r)&&f.call(e,r,n.isString(o)?o.trim():o,i,v))&&t(r,i?i.concat(o):[o])})),y.pop()}}(t),e}},6069:(t,e,r)=>{"use strict";var n=r(9516),i=r(6440),o=r(5721);t.exports=function(t,e){return i(t,new o.classes.URLSearchParams,Object.assign({visitor:function(t,e,r,i){return o.isNode&&n.isBuffer(t)?(this.append(e,t.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)}},e))}},4841:(t,e,r)=>{"use strict";var n=r(9641).version,i=r(5845),o={};["object","boolean","number","function","string","symbol"].forEach((function(t,e){o[t]=function(r){return typeof r===t||"a"+(e<1?"n ":" ")+t}}));var s={};o.transitional=function(t,e,r){function o(t,e){return"[Axios v"+n+"] Transitional option '"+t+"'"+e+(r?". "+r:"")}return function(r,n,a){if(!1===t)throw new i(o(n," has been removed"+(e?" in "+e:"")),i.ERR_DEPRECATED);return e&&!s[n]&&(s[n]=!0,console.warn(o(n," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(r,n,a)}},t.exports={assertOptions:function(t,e,r){if("object"!=typeof t)throw new i("options must be an object",i.ERR_BAD_OPTION_VALUE);for(var n=Object.keys(t),o=n.length;o-- >0;){var s=n[o],a=e[s];if(a){var d=t[s],u=void 0===d||a(d,s,t);if(!0!==u)throw new i("option "+s+" must be "+u,i.ERR_BAD_OPTION_VALUE)}else if(!0!==r)throw new i("Unknown option "+s,i.ERR_BAD_OPTION)}},validators:o}},243:t=>{"use strict";t.exports=FormData},2002:(t,e,r)=>{"use strict";var n=r(170);t.exports="undefined"!=typeof URLSearchParams?URLSearchParams:n},9490:(t,e,r)=>{"use strict";t.exports={isBrowser:!0,classes:{URLSearchParams:r(2002),FormData:r(243),Blob},protocols:["http","https","file","blob","url","data"]}},5721:(t,e,r)=>{"use strict";t.exports=r(9490)},9516:(t,e,r)=>{"use strict";var n,i=r(9012),o=Object.prototype.toString,s=(n=Object.create(null),function(t){var e=o.call(t);return n[e]||(n[e]=e.slice(8,-1).toLowerCase())});function a(t){return t=t.toLowerCase(),function(e){return s(e)===t}}function d(t){return Array.isArray(t)}function u(t){return void 0===t}var h=a("ArrayBuffer");function l(t){return"number"==typeof t}function f(t){return null!==t&&"object"==typeof t}function c(t){if("object"!==s(t))return!1;var e=Object.getPrototypeOf(t);return null===e||e===Object.prototype}var g=a("Date"),p=a("File"),m=a("Blob"),b=a("FileList");function y(t){return"[object Function]"===o.call(t)}var v=a("URLSearchParams");function _(t,e){if(null!=t)if("object"!=typeof t&&(t=[t]),d(t))for(var r=0,n=t.length;r<n;r++)e.call(null,t[r],r,t);else for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&e.call(null,t[i],i,t)}var M,w,$=(M="undefined"!=typeof Uint8Array&&Object.getPrototypeOf(Uint8Array),function(t){return M&&t instanceof M}),S=a("HTMLFormElement"),N=(w=Object.prototype.hasOwnProperty,function(t,e){return w.call(t,e)});t.exports={isArray:d,isArrayBuffer:h,isBuffer:function(t){return null!==t&&!u(t)&&null!==t.constructor&&!u(t.constructor)&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)},isFormData:function(t){var e="[object FormData]";return t&&("function"==typeof FormData&&t instanceof FormData||o.call(t)===e||y(t.toString)&&t.toString()===e)},isArrayBufferView:function(t){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&h(t.buffer)},isString:function(t){return"string"==typeof t},isNumber:l,isObject:f,isPlainObject:c,isEmptyObject:function(t){return t&&0===Object.keys(t).length&&Object.getPrototypeOf(t)===Object.prototype},isUndefined:u,isDate:g,isFile:p,isBlob:m,isFunction:y,isStream:function(t){return f(t)&&y(t.pipe)},isURLSearchParams:v,isStandardBrowserEnv:function(){var t;return("undefined"==typeof navigator||"ReactNative"!==(t=navigator.product)&&"NativeScript"!==t&&"NS"!==t)&&"undefined"!=typeof window&&"undefined"!=typeof document},forEach:_,merge:function t(){var e={};function r(r,n){c(e[n])&&c(r)?e[n]=t(e[n],r):c(r)?e[n]=t({},r):d(r)?e[n]=r.slice():e[n]=r}for(var n=0,i=arguments.length;n<i;n++)_(arguments[n],r);return e},extend:function(t,e,r){return _(e,(function(e,n){t[n]=r&&"function"==typeof e?i(e,r):e})),t},trim:function(t){return t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},stripBOM:function(t){return 65279===t.charCodeAt(0)&&(t=t.slice(1)),t},inherits:function(t,e,r,n){t.prototype=Object.create(e.prototype,n),t.prototype.constructor=t,r&&Object.assign(t.prototype,r)},toFlatObject:function(t,e,r,n){var i,o,s,a={};if(e=e||{},null==t)return e;do{for(o=(i=Object.getOwnPropertyNames(t)).length;o-- >0;)s=i[o],n&&!n(s,t,e)||a[s]||(e[s]=t[s],a[s]=!0);t=!1!==r&&Object.getPrototypeOf(t)}while(t&&(!r||r(t,e))&&t!==Object.prototype);return e},kindOf:s,kindOfTest:a,endsWith:function(t,e,r){t=String(t),(void 0===r||r>t.length)&&(r=t.length),r-=e.length;var n=t.indexOf(e,r);return-1!==n&&n===r},toArray:function(t){if(!t)return null;if(d(t))return t;var e=t.length;if(!l(e))return null;for(var r=new Array(e);e-- >0;)r[e]=t[e];return r},isTypedArray:$,isFileList:b,forEachEntry:function(t,e){for(var r,n=(t&&t[Symbol.iterator]).call(t);(r=n.next())&&!r.done;){var i=r.value;e.call(t,i[0],i[1])}},matchAll:function(t,e){for(var r,n=[];null!==(r=t.exec(e));)n.push(r);return n},isHTMLForm:S,hasOwnProperty:N}},7526:(t,e)=>{"use strict";e.byteLength=function(t){var e=a(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,o=a(t),s=o[0],d=o[1],u=new i(function(t,e,r){return 3*(e+r)/4-r}(0,s,d)),h=0,l=d>0?s-4:s;for(r=0;r<l;r+=4)e=n[t.charCodeAt(r)]<<18|n[t.charCodeAt(r+1)]<<12|n[t.charCodeAt(r+2)]<<6|n[t.charCodeAt(r+3)],u[h++]=e>>16&255,u[h++]=e>>8&255,u[h++]=255&e;return 2===d&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,u[h++]=255&e),1===d&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,u[h++]=e>>8&255,u[h++]=255&e),u},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,o=[],s=16383,a=0,u=n-i;a<u;a+=s)o.push(d(t,a,a+s>u?u:a+s));return 1===i?(e=t[n-1],o.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],o.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),o.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
vendor: 5,306 bytes, line 15672
15672+/",s=0;s<64;++s)r[s]=o[s],n[o.charCodeAt(s)]=s;function a(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function d(t,e,n){for(var i,o,s=[],a=e;a<n;a+=3)i=(t[a]<<16&16711680)+(t[a+1]<<8&65280)+(255&t[a+2]),s.push(r[(o=i)>>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return s.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},9404:function(t,e,r){!function(t,e){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function o(t,e,r){if(o.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var s;"object"==typeof t?t.exports=o:e.BN=o,o.BN=o,o.wordSize=26;try{s="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(7790).Buffer}catch(t){}function a(t,e){var r=t.charCodeAt(e);return r>=48&&r<=57?r-48:r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:void n(!1,"Invalid character in "+t)}function d(t,e,r){var n=a(t,r);return r-1>=e&&(n|=a(t,r-1)<<4),n}function u(t,e,r,i){for(var o=0,s=0,a=Math.min(t.length,r),d=e;d<a;d++){var u=t.charCodeAt(d)-48;o*=i,s=u>=49?u-49+10:u>=17?u-17+10:u,n(u>=0&&s<i,"Invalid character"),o+=s}return o}function h(t,e){t.words=e.words,t.length=e.length,t.negative=e.negative,t.red=e.red}if(o.isBN=function(t){return t instanceof o||null!==t&&"object"==typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i<t.length&&(16===e?this._parseHex(t,i,r):(this._parseBase(t,e,i),"le"===r&&this._initArray(this.toArray(),e,r)))},o.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initArray=function(t,e,r){if(n("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var o,s,a=0;if("be"===r)for(i=t.length-1,o=0;i>=0;i-=3)s=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===r)for(i=0,o=0;i<t.length;i+=3)s=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this._strip()},o.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var i,o=0,s=0;if("be"===r)for(n=t.length-1;n>=e;n-=2)i=d(t,e,n)<<o,this.words[s]|=67108863&i,o>=18?(o-=18,s+=1,this.words[s]|=i>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n<t.length;n+=2)i=d(t,e,n)<<o,this.words[s]|=67108863&i,o>=18?(o-=18,s+=1,this.words[s]|=i>>>26):o+=8;this._strip()},o.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,s=o%n,a=Math.min(o,o-s)+r,d=0,h=r;h<a;h+=n)d=u(t,h,h+n,e),this.imuln(i),this.words[0]+d<67108864?this.words[0]+=d:this._iaddn(d);if(0!==s){var l=1;for(d=u(t,h,t.length,e),h=0;h<s;h++)l*=e;this.imuln(l),this.words[0]+d<67108864?this.words[0]+=d:this._iaddn(d)}this._strip()},o.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},o.prototype._move=function(t){h(t,this)},o.prototype.clone=function(){var t=new o(null);return this.copy(t),t},o.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},o.prototype._strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{o.prototype[Symbol.for("nodejs.util.inspect.custom")]=l}catch(t){o.prototype.inspect=l}else o.prototype.inspect=l;function l(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var f=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],c=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],g=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16
vendor: 4,945 bytes, line 15672
15672777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],s=i*o,a=67108863&s,d=s/67108864|0;r.words[0]=a;for(var u=1;u<n;u++){for(var h=d>>>26,l=67108863&d,f=Math.min(u,e.length-1),c=Math.max(0,u-t.length+1);c<=f;c++){var g=u-c|0;h+=(s=(i=0|t.words[g])*(o=0|e.words[c])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,d=0|h}return 0!==d?r.words[u]=0|d:r.length--,r._strip()}o.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var i=0,o=0,s=0;s<this.length;s++){var a=this.words[s],d=(16777215&(a<<i|o)).toString(16);o=a>>>24-i&16777215,(i+=2)>=26&&(i-=26,s--),r=0!==o||s!==this.length-1?f[6-d.length]+d+r:d+r}for(0!==o&&(r=o.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=c[t],h=g[t];r="";var l=this.clone();for(l.negative=0;!l.isZero();){var p=l.modrn(h).toString(t);r=(l=l.idivn(h)).isZero()?p+r:f[u-p.length]+p+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16,2)},s&&(o.prototype.toBuffer=function(t,e){return this.toArrayLike(s,t,e)}),o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,r){this._strip();var i=this.byteLength(),o=r||Math.max(1,i);n(i<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0");var s=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](s,i),s},o.prototype._toArrayLikeLE=function(t,e){for(var r=0,n=0,i=0,o=0;i<this.length;i++){var s=this.words[i]<<o|n;t[r++]=255&s,r<t.length&&(t[r++]=s>>8&255),r<t.length&&(t[r++]=s>>16&255),6===o?(r<t.length&&(t[r++]=s>>24&255),n=0,o=0):(n=s>>>24,o+=2)}if(r<t.length)for(t[r++]=n;r<t.length;)t[r++]=0},o.prototype._toArrayLikeBE=function(t,e){for(var r=t.length-1,n=0,i=0,o=0;i<this.length;i++){var s=this.words[i]<<o|n;t[r--]=255&s,r>=0&&(t[r--]=s>>8&255),r>=0&&(t[r--]=s>>16&255),6===o?(r>=0&&(t[r--]=s>>24&255),n=0,o=0):(n=s>>>24,o+=2)}if(r>=0)for(t[r--]=n;r>=0;)t[r--]=0},Math.clz32?o.prototype._countBits=function(t){return 32-Math.clz32(t)}:o.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 8191&e||(r+=13,e>>>=13),127&e||(r+=7,e>>>=7),15&e||(r+=4,e>>>=4),3&e||(r+=2,e>>>=2),1&e||r++,r},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},o.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},o.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},o.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},o.prototype.isNeg=function(){return 0!==this.negative},o.prototype.neg=function(){return this.clone().ineg()},o.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},o.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this._strip()},o.prototype.ior=function(t){return n(!(this.negative|t.negative)),this.iuor(t)},o.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this._strip()},o.prototype.iand=function(t){return n(!(this.negative|t.negative)),this.iuand(t)},o.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n<r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n<e.length;n++)this.words[n]=e.words[n];return this.length=e.length,this._strip()},o.prototype.ixor=function(t){return n(!
vendor: 1,945 bytes, line 15672
15672(this.negative|t.negative)),this.iuxor(t)},o.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this._strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<<i:this.words[r]&~(1<<i),this._strip()},o.prototype.iadd=function(t){var e,r,n;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o<n.length;o++)e=(0|r.words[o])+(0|n.words[o])+i,this.words[o]=67108863&e,i=e>>>26;for(;0!==i&&o<r.length;o++)e=(0|r.words[o])+i,this.words[o]=67108863&e,i=e>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},o.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,
vendor: 6,300 bytes, line 15672
15672s=0;s<n.length;s++)o=(e=(0|r.words[s])-(0|n.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this._strip()},o.prototype.sub=function(t){return this.clone().isub(t)};var m=function(t,e,r){var n,i,o,s=t.words,a=e.words,d=r.words,u=0,h=0|s[0],l=8191&h,f=h>>>13,c=0|s[1],g=8191&c,p=c>>>13,m=0|s[2],b=8191&m,y=m>>>13,v=0|s[3],_=8191&v,M=v>>>13,w=0|s[4],$=8191&w,S=w>>>13,N=0|s[5],E=8191&N,T=N>>>13,A=0|s[6],R=8191&A,P=A>>>13,O=0|s[7],C=8191&O,I=O>>>13,L=0|s[8],D=8191&L,U=L>>>13,k=0|s[9],x=8191&k,F=k>>>13,B=0|a[0],V=8191&B,j=B>>>13,H=0|a[1],G=8191&H,W=H>>>13,Y=0|a[2],z=8191&Y,q=Y>>>13,K=0|a[3],Z=8191&K,X=K>>>13,J=0|a[4],Q=8191&J,tt=J>>>13,et=0|a[5],rt=8191&et,nt=et>>>13,it=0|a[6],ot=8191&it,st=it>>>13,at=0|a[7],dt=8191&at,ut=at>>>13,ht=0|a[8],lt=8191&ht,ft=ht>>>13,ct=0|a[9],gt=8191&ct,pt=ct>>>13;r.negative=t.negative^e.negative,r.length=19;var mt=(u+(n=Math.imul(l,V))|0)+((8191&(i=(i=Math.imul(l,j))+Math.imul(f,V)|0))<<13)|0;u=((o=Math.imul(f,j))+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(g,V),i=(i=Math.imul(g,j))+Math.imul(p,V)|0,o=Math.imul(p,j);var bt=(u+(n=n+Math.imul(l,G)|0)|0)+((8191&(i=(i=i+Math.imul(l,W)|0)+Math.imul(f,G)|0))<<13)|0;u=((o=o+Math.imul(f,W)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(b,V),i=(i=Math.imul(b,j))+Math.imul(y,V)|0,o=Math.imul(y,j),n=n+Math.imul(g,G)|0,i=(i=i+Math.imul(g,W)|0)+Math.imul(p,G)|0,o=o+Math.imul(p,W)|0;var yt=(u+(n=n+Math.imul(l,z)|0)|0)+((8191&(i=(i=i+Math.imul(l,q)|0)+Math.imul(f,z)|0))<<13)|0;u=((o=o+Math.imul(f,q)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(_,V),i=(i=Math.imul(_,j))+Math.imul(M,V)|0,o=Math.imul(M,j),n=n+Math.imul(b,G)|0,i=(i=i+Math.imul(b,W)|0)+Math.imul(y,G)|0,o=o+Math.imul(y,W)|0,n=n+Math.imul(g,z)|0,i=(i=i+Math.imul(g,q)|0)+Math.imul(p,z)|0,o=o+Math.imul(p,q)|0;var vt=(u+(n=n+Math.imul(l,Z)|0)|0)+((8191&(i=(i=i+Math.imul(l,X)|0)+Math.imul(f,Z)|0))<<13)|0;u=((o=o+Math.imul(f,X)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul($,V),i=(i=Math.imul($,j))+Math.imul(S,V)|0,o=Math.imul(S,j),n=n+Math.imul(_,G)|0,i=(i=i+Math.imul(_,W)|0)+Math.imul(M,G)|0,o=o+Math.imul(M,W)|0,n=n+Math.imul(b,z)|0,i=(i=i+Math.imul(b,q)|0)+Math.imul(y,z)|0,o=o+Math.imul(y,q)|0,n=n+Math.imul(g,Z)|0,i=(i=i+Math.imul(g,X)|0)+Math.imul(p,Z)|0,o=o+Math.imul(p,X)|0;var _t=(u+(n=n+Math.imul(l,Q)|0)|0)+((8191&(i=(i=i+Math.imul(l,tt)|0)+Math.imul(f,Q)|0))<<13)|0;u=((o=o+Math.imul(f,tt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(E,V),i=(i=Math.imul(E,j))+Math.imul(T,V)|0,o=Math.imul(T,j),n=n+Math.imul($,G)|0,i=(i=i+Math.imul($,W)|0)+Math.imul(S,G)|0,o=o+Math.imul(S,W)|0,n=n+Math.imul(_,z)|0,i=(i=i+Math.imul(_,q)|0)+Math.imul(M,z)|0,o=o+Math.imul(M,q)|0,n=n+Math.imul(b,Z)|0,i=(i=i+Math.imul(b,X)|0)+Math.imul(y,Z)|0,o=o+Math.imul(y,X)|0,n=n+Math.imul(g,Q)|0,i=(i=i+Math.imul(g,tt)|0)+Math.imul(p,Q)|0,o=o+Math.imul(p,tt)|0;var Mt=(u+(n=n+Math.imul(l,rt)|0)|0)+((8191&(i=(i=i+Math.imul(l,nt)|0)+Math.imul(f,rt)|0))<<13)|0;u=((o=o+Math.imul(f,nt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(R,V),i=(i=Math.imul(R,j))+Math.imul(P,V)|0,o=Math.imul(P,j),n=n+Math.imul(E,G)|0,i=(i=i+Math.imul(E,W)|0)+Math.imul(T,G)|0,o=o+Math.imul(T,W)|0,n=n+Math.imul($,z)|0,i=(i=i+Math.imul($,q)|0)+Math.imul(S,z)|0,o=o+Math.imul(S,q)|0,n=n+Math.imul(_,Z)|0,i=(i=i+Math.imul(_,X)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,X)|0,n=n+Math.imul(b,Q)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(y,Q)|0,o=o+Math.imul(y,tt)|0,n=n+Math.imul(g,rt)|0,i=(i=i+Math.imul(g,nt)|0)+Math.imul(p,rt)|0,o=o+Math.imul(p,nt)|0;var wt=(u+(n=n+Math.imul(l,ot)|0)|0)+((8191&(i=(i=i+Math.imul(l,st)|0)+Math.imul(f,ot)|0))<<13)|0;u=((o=o+Math.imul(f,st)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(C,V),i=(i=Math.imul(C,j))+Math.imul(I,V)|0,o=Math.imul(I,j),n=n+Math.imul(R,G)|0,i=(i=i+Math.imul(R,W)|0)+Math.imul(P,G)|0,o=o+Math.imul(P,W)|0,n=n+Math.imul(E,z)|0,i=(i=i+Math.imul(E,q)|0)+Math.imul(T,z)|0,o=o+Math.imul(T,q)|0,n=n+Math.imul($,Z)|0,i=(i=i+Math.imul($,X)|0)+Math.imul(S,Z)|0,o=o+Math.imul(S,X)|0,n=n+Math.imul(_,Q)|0,i=(i=i+Math.imul(_,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(y,rt)|0,o=o+Math.imul(y,nt)|0,n=n+Math.imul(g,ot)|0,i=(i=i+Math.imul(g,st)|0)+Math.imul(p,ot)|0,o=o+Math.imul(p,st)|0;var $t=(u+(n=n+Math.imul(l,dt)|0)|0)+((8191&(i=(i=i+Math.imul(l,ut)|0)+Math.imul(f,dt)|0))<<13)|0;u=((o=o+Math.imul(f,ut)|0)+(i>>>13)|0)+($t>>>26)|0,$t&=67108863,n=Math.imul(D,V),i=(i=Math.imul(D,j))+Math.imul(U,V)|0,o=Math.imul(U,j),n=n+Math.imul(C,G)|0,i=(i=i+Math.imul(C,W)|0)+Math.imul(I,G)|0,o=o+Math.imul(I,W)|0,n=n+Math.imul(R,z)|0,i=(i=i+Math.imul(R,q)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,q)|0,n=n+Math.imul(E,Z)|0,i=(i=i+Math.imul(E,X)|0)+Math.imul(T,Z)|0,o=o+Math.imul(T,X)|0,n=n+Math.imul($,Q)|0,i=(i=i+Math.imul($,tt)|0)+Math.imul(S,Q)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(_,rt)|0,i=(i=i+Math.imul(_,nt)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,nt)|0,n=n+Math.imul(b,ot)|0,i=(i=i+Math.imul(b,st)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,st)|0,n=n+Math.imul(g,dt)|0,i=(i=i+Math.imul(g,ut)|0)+Math.imul(p,dt)|0,o=o+Math.imul(p,ut)|0;var St=(u+(n=n+Math.imul(l,lt)|0)|0)+((8191&(i=(i=i+Math.imul(l,ft)|0)+Math.imul(f,lt)|0))<<13)|0;u=((o=o+Math.imul(f,ft)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(x,V),i=(i=Math.imul(x,j))+Math.imul(F,V)|0,o=Math.imul(F,j),n=n+Math.imul(D,G)|0,i=(i=i+Math.imul(D,W)|0)+Math.imul(U,G)|0,o=o+Math.imul(U,W)|0,n=n+Math.imul(C,z)|0,i=(i=i+Math.imul(C,q)|0)+Math.imul(I,z)|0,o=o+Math.imul(I,q)|0,n=n+Math.imul(R,Z)|0,i=(i=i+Math.imul(R,X)|0)+Math.imul(P,Z)|0,o=o+Math.imul(P,X)|0,n=n+Math.imul(E,Q)|0,i=(i=i+Math.imul(E,tt)|0)+Math.imul(T,Q)|0,o=o+Math.imul(T,tt)|0,n=n+Math.imul($,rt)|0,i=(i=i+Math.imul($,nt)|0)+Math.imul(S,rt)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(_,ot)|0,i=(i=i+Math.imul(_,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,n=n+Math.imul(b,dt)|0,i=(i=i+Math.imul(b,ut)|0)+Math.imul(y,dt)|0,o=o+Math.imul(y,ut)|0,n=n+Math.imul(g,lt)|0,i=(i=i+Math.imul(g,ft)|0)+Math.imul(p,lt)|0,o=o+Math.imul(p,ft)|0;var Nt=(u+(n=n+Math.imul(l,gt)|0)|0)+((8191&(i=(i=i+Math.imul(l,pt)|0)+Math.imul(f,gt)|0)
vendor: 1,739 bytes, line 15672
15672)<<13)|0;u=((o=o+Math.imul(f,pt)|0)+(i>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,n=Math.imul(x,G),i=(i=Math.imul(x,W))+Math.imul(F,G)|0,o=Math.imul(F,W),n=n+Math.imul(D,z)|0,i=(i=i+Math.imul(D,q)|0)+Math.imul(U,z)|0,o=o+Math.imul(U,q)|0,n=n+Math.imul(C,Z)|0,i=(i=i+Math.imul(C,X)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,X)|0,n=n+Math.imul(R,Q)|0,i=(i=i+Math.imul(R,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,n=n+Math.imul(E,rt)|0,i=(i=i+Math.imul(E,nt)|0)+Math.imul(T,rt)|0,o=o+Math.imul(T,nt)|0,n=n+Math.imul($,ot)|0,i=(i=i+Math.imul($,st)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,st)|0,n=n+Math.imul(_,dt)|0,i=(i=i+Math.imul(_,ut)|0)+Math.imul(M,dt)|0,o=o+Math.imul(M,ut)|0,n=n+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ft)|0)+Math.imul(y,lt)|0,o=o+Math.imul(y,ft)|0;var Et=(u+(n=n+Math.imul(g,gt)|0)|0)+((8191&(i=(i=i+Math.imul(g,pt)|0)+Math.imul(p,gt)|0))<<13)|0;u=((o=o+Math.imul(p,pt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(x,z),i=(i=Math.imul(x,q))+Math.imul(F,z)|0,o=Math.imul(F,q),n=n+Math.imul(D,Z)|0,i=(i=i+Math.imul(D,X)|0)+Math.imul(U,Z)|0,o=o+Math.imul(U,X)|0,n=n+Math.imul(C,Q)|0,i=(i=i+Math.imul(C,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,n=n+Math.imul(R,rt)|0,i=(i=i+Math.imul(R,nt)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,nt)|0,n=n+Math.imul(E,ot)|0,i=(i=i+Math.imul(E,st)|0)+Math.imul(T,ot)|0,o=o+Math.imul(T,st)|0,n=n+Math.imul($,dt)|0,i=(i=i+Math.imul($,ut)|0)+Math.imul(S,dt)|0,o=o+Math.imul(S,ut)|0,n=n+Math.imul(_,lt)|0,i=(i=i+Math.imul(_,ft)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,ft)|0;var Tt=(u+(n=n+Math.imul(b,gt)|0)|0)+((8191&(i=(i=i+Math.imul(b,pt)|0)+Math.imul(y,gt)|0))<<13)|0;u=((o=o+Math.imul(y,pt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(x,Z),i=(i=Math.imul(x,X))+Math.imul(F,Z)|0,o=Math.imul(F,X
vendor: 5,416 bytes, line 15672
15672),n=n+Math.imul(D,Q)|0,i=(i=i+Math.imul(D,tt)|0)+Math.imul(U,Q)|0,o=o+Math.imul(U,tt)|0,n=n+Math.imul(C,rt)|0,i=(i=i+Math.imul(C,nt)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,nt)|0,n=n+Math.imul(R,ot)|0,i=(i=i+Math.imul(R,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,n=n+Math.imul(E,dt)|0,i=(i=i+Math.imul(E,ut)|0)+Math.imul(T,dt)|0,o=o+Math.imul(T,ut)|0,n=n+Math.imul($,lt)|0,i=(i=i+Math.imul($,ft)|0)+Math.imul(S,lt)|0,o=o+Math.imul(S,ft)|0;var At=(u+(n=n+Math.imul(_,gt)|0)|0)+((8191&(i=(i=i+Math.imul(_,pt)|0)+Math.imul(M,gt)|0))<<13)|0;u=((o=o+Math.imul(M,pt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(x,Q),i=(i=Math.imul(x,tt))+Math.imul(F,Q)|0,o=Math.imul(F,tt),n=n+Math.imul(D,rt)|0,i=(i=i+Math.imul(D,nt)|0)+Math.imul(U,rt)|0,o=o+Math.imul(U,nt)|0,n=n+Math.imul(C,ot)|0,i=(i=i+Math.imul(C,st)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,st)|0,n=n+Math.imul(R,dt)|0,i=(i=i+Math.imul(R,ut)|0)+Math.imul(P,dt)|0,o=o+Math.imul(P,ut)|0,n=n+Math.imul(E,lt)|0,i=(i=i+Math.imul(E,ft)|0)+Math.imul(T,lt)|0,o=o+Math.imul(T,ft)|0;var Rt=(u+(n=n+Math.imul($,gt)|0)|0)+((8191&(i=(i=i+Math.imul($,pt)|0)+Math.imul(S,gt)|0))<<13)|0;u=((o=o+Math.imul(S,pt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(x,rt),i=(i=Math.imul(x,nt))+Math.imul(F,rt)|0,o=Math.imul(F,nt),n=n+Math.imul(D,ot)|0,i=(i=i+Math.imul(D,st)|0)+Math.imul(U,ot)|0,o=o+Math.imul(U,st)|0,n=n+Math.imul(C,dt)|0,i=(i=i+Math.imul(C,ut)|0)+Math.imul(I,dt)|0,o=o+Math.imul(I,ut)|0,n=n+Math.imul(R,lt)|0,i=(i=i+Math.imul(R,ft)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ft)|0;var Pt=(u+(n=n+Math.imul(E,gt)|0)|0)+((8191&(i=(i=i+Math.imul(E,pt)|0)+Math.imul(T,gt)|0))<<13)|0;u=((o=o+Math.imul(T,pt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(x,ot),i=(i=Math.imul(x,st))+Math.imul(F,ot)|0,o=Math.imul(F,st),n=n+Math.imul(D,dt)|0,i=(i=i+Math.imul(D,ut)|0)+Math.imul(U,dt)|0,o=o+Math.imul(U,ut)|0,n=n+Math.imul(C,lt)|0,i=(i=i+Math.imul(C,ft)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ft)|0;var Ot=(u+(n=n+Math.imul(R,gt)|0)|0)+((8191&(i=(i=i+Math.imul(R,pt)|0)+Math.imul(P,gt)|0))<<13)|0;u=((o=o+Math.imul(P,pt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(x,dt),i=(i=Math.imul(x,ut))+Math.imul(F,dt)|0,o=Math.imul(F,ut),n=n+Math.imul(D,lt)|0,i=(i=i+Math.imul(D,ft)|0)+Math.imul(U,lt)|0,o=o+Math.imul(U,ft)|0;var Ct=(u+(n=n+Math.imul(C,gt)|0)|0)+((8191&(i=(i=i+Math.imul(C,pt)|0)+Math.imul(I,gt)|0))<<13)|0;u=((o=o+Math.imul(I,pt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(x,lt),i=(i=Math.imul(x,ft))+Math.imul(F,lt)|0,o=Math.imul(F,ft);var It=(u+(n=n+Math.imul(D,gt)|0)|0)+((8191&(i=(i=i+Math.imul(D,pt)|0)+Math.imul(U,gt)|0))<<13)|0;u=((o=o+Math.imul(U,pt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Lt=(u+(n=Math.imul(x,gt))|0)+((8191&(i=(i=Math.imul(x,pt))+Math.imul(F,gt)|0))<<13)|0;return u=((o=Math.imul(F,pt))+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,d[0]=mt,d[1]=bt,d[2]=yt,d[3]=vt,d[4]=_t,d[5]=Mt,d[6]=wt,d[7]=$t,d[8]=St,d[9]=Nt,d[10]=Et,d[11]=Tt,d[12]=At,d[13]=Rt,d[14]=Pt,d[15]=Ot,d[16]=Ct,d[17]=It,d[18]=Lt,0!==u&&(d[19]=u,r.length++),r};function b(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o<r.length-1;o++){var s=i;i=0;for(var a=67108863&n,d=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=d;u++){var h=o-u,l=(0|t.words[h])*(0|e.words[u]),f=67108863&l;a=67108863&(f=f+a|0),i+=(s=(s=s+(l/67108864|0)|0)+(f>>>26)|0)>>>26,s&=67108863}r.words[o]=a,n=s,s=i}return 0!==n?r.words[o]=n:r.length--,r._strip()}function y(t,e,r){return b(t,e,r)}function v(t,e){this.x=t,this.y=e}Math.imul||(m=p),o.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?m(this,t,e):r<63?p(this,t,e):r<1024?b(this,t,e):y(this,t,e)},v.prototype.makeRBT=function(t){for(var e=new Array(t),r=o.prototype._countBits(t)-1,n=0;n<t;n++)e[n]=this.revBin(n,r,t);return e},v.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,i=0;i<e;i++)n|=(1&t)<<e-i-1,t>>=1;return n},v.prototype.permute=function(t,e,r,n,i,o){for(var s=0;s<o;s++)n[s]=e[t[s]],i[s]=r[t[s]]},v.prototype.transform=function(t,e,r,n,i,o){this.permute(o,t,e,r,n,i);for(var s=1;s<i;s<<=1)for(var a=s<<1,d=Math.cos(2*Math.PI/a),u=Math.sin(2*Math.PI/a),h=0;h<i;h+=a)for(var l=d,f=u,c=0;c<s;c++){var g=r[h+c],p=n[h+c],m=r[h+c+s],b=n[h+c+s],y=l*m-f*b;b=l*b+f*m,m=y,r[h+c]=g+m,n[h+c]=p+b,r[h+c+s]=g-m,n[h+c+s]=p-b,c!==a&&(y=d*l-u*f,f=d*f+u*l,l=y)}},v.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},v.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=t[n];t[n]=t[r-n-1],t[r-n-1]=i,i=e[n],e[n]=-e[r-n-1],e[r-n-1]=-i}},v.prototype.normalize13b=function(t,e){for(var r=0,n=0;n<e/2;n++){var i=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&i,r=i<67108864?0:i/67108864|0}return t},v.prototype.convert13b=function(t,e,r,i){for(var o=0,s=0;s<e;s++)o+=0|t[s],r[2*s]=8191&o,o>>>=13,r[2*s+1]=8191&o,o>>>=13;for(s=2*e;s<i;++s)r[s]=0;n(0===o),n(!(-8192&o))},v.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},v.prototype.mulp=function(t,e,r){var n=2*this.guessLen13b(t.length,e.length),i=this.makeRBT(n),o=this.stub(n),s=new Array(n),a=new Array(n),d=new Array(n),u=new Array(n),h=new Array(n),l=new Array(n),f=r.words;f.length=n,this.convert13b(t.words,t.length,s,n),this.convert13b(e.words,e.length,u,n),this.transform(s,o,a,d,n,i),this.transform(u,o,h,l,n,i);for(var c=0;c<n;
vendor: 16,384 bytes, line 15672
15672c++){var g=a[c]*h[c]-d[c]*l[c];d[c]=a[c]*l[c]+d[c]*h[c],a[c]=g}return this.conjugate(a,d,n),this.transform(a,d,f,o,n,i),this.conjugate(f,o,n),this.normalize13b(f,n),r.negative=t.negative^e.negative,r.length=t.length+e.length,r._strip()},o.prototype.mul=function(t){var e=new o(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},o.prototype.mulf=function(t){var e=new o(null);return e.words=new Array(this.length+t.length),y(this,t,e)},o.prototype.imul=function(t){return this.clone().mulTo(t,this)},o.prototype.imuln=function(t){var e=t<0;e&&(t=-t),n("number"==typeof t),n(t<67108864);for(var r=0,i=0;i<this.length;i++){var o=(0|this.words[i])*t,s=(67108863&o)+(67108863&r);r>>=26,r+=o/67108864|0,r+=s>>>26,this.words[i]=67108863&s}return 0!==r&&(this.words[i]=r,this.length++),e?this.ineg():this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var n=r/26|0,i=r%26;e[r]=t.words[n]>>>i&1}return e}(t);if(0===e.length)return new o(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var i=r.sqr();n<e.length;n++,i=i.sqr())0!==e[n]&&(r=r.mul(i));return r},o.prototype.iushln=function(t){n("number"==typeof t&&t>=0);var e,r=t%26,i=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var s=0;for(e=0;e<this.length;e++){var a=this.words[e]&o,d=(0|this.words[e])-a<<r;this.words[e]=d|s,s=a>>>26-r}s&&(this.words[e]=s,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this._strip()},o.prototype.ishln=function(t){return n(0===this.negative),this.iushln(t)},o.prototype.iushrn=function(t,e,r){var i;n("number"==typeof t&&t>=0),i=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<<o,d=r;if(i-=s,i=Math.max(0,i),d){for(var u=0;u<s;u++)d.words[u]=this.words[u];d.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var h=0;for(u=this.length-1;u>=0&&(0!==h||u>=i);u--){var l=0|this.words[u];this.words[u]=h<<26-o|l>>>o,h=l&a}return d&&0!==h&&(d.words[d.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},o.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<<e;return!(this.length<=r||!(this.words[r]&i))},o.prototype.imaskn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this._strip()},o.prototype.maskn=function(t){return this.clone().imaskn(t)},o.prototype.iaddn=function(t){return n("number"==typeof t),n(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<=t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},o.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this._strip()},o.prototype.addn=function(t){return this.clone().iaddn(t)},o.prototype.subn=function(t){return this.clone().isubn(t)},o.prototype.iabs=function(){return this.negative=0,this},o.prototype.abs=function(){return this.clone().iabs()},o.prototype._ishlnsubmul=function(t,e,r){var i,o,s=t.length+r;this._expand(s);var a=0;for(i=0;i<t.length;i++){o=(0|this.words[i+r])+a;var d=(0|t.words[i])*e;a=((o-=67108863&d)>>26)-(d/67108864|0),this.words[i+r]=67108863&o}for(;i<this.length-r;i++)a=(o=(0|this.words[i+r])+a)>>26,this.words[i+r]=67108863&o;if(0===a)return this._strip();for(n(-1===a),a=0,i=0;i<this.length;i++)a=(o=-(0|this.words[i])+a)>>26,this.words[i]=67108863&o;return this.negative=1,this._strip()},o.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,s=0|i.words[i.length-1];0!=(r=26-this._countBits(s))&&(i=i.ushln(r),n.iushln(r),s=0|i.words[i.length-1]);var a,d=n.length-i.length;if("mod"!==e){(a=new o(null)).length=d+1,a.words=new Array(a.length);for(var u=0;u<a.length;u++)a.words[u]=0}var h=n.clone()._ishlnsubmul(i,1,d);0===h.negative&&(n=h,a&&(a.words[d]=1));for(var l=d-1;l>=0;l--){var f=67108864*(0|n.words[i.length+l])+(0|n.words[i.length+l-1]);for(f=Math.min(f/s|0,67108863),n._ishlnsubmul(i,f,l);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(i,1,l),n.isZero()||(n.negative^=1);a&&(a.words[l]=f)}return a&&a._strip(),n._strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:a||null,mod:n}},o.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(i=a.div.neg()),"div"!==e&&(s=a.mod.neg(),r&&0!==s.negative&&s.iadd(t)),{div:i,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(i=a.div.neg()),{div:i,mod:a.mod}):this.negative&t.negative?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),r&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modrn(t.words[0]))}:this._wordDiv(t,e);var i,s,a},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modrn=function(t){var e=t<0;e&&(t=-t),n(t<=67108863);for(var r=(1<<26)%t,i=0,o=this.length-1;o>=0;o--)i=(r*i+(0|this.words[o]))%t;return e?-i:i},o.prototype.modn=function(t){return this.modrn(t)},o.prototype.idivn=function(t){var e=t<0;e&&(t=-t),n(t<=67108863);for(var r=0,i=this.length-1;i>=0;i--){var o=(0|this.words[i])+67108864*r;this.words[i]=o/t|0,r=o%t}return this._strip(),e?this.ineg():this},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new o(1),s=new o(0),a=new o(0),d=new o(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var h=r.clone(),l=e.clone();!e.isZero();){for(var f=0,c=1;!(e.words[0]&c)&&f<26;++f,c<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(i.isOdd()||s.isOdd())&&(i.iadd(h),s.isub(l)),i.iushrn(1),s.iushrn(1);for(var g=0,p=1;!(r.words[0]&p)&&g<26;++g,p<<=1);if(g>0)for(r.iushrn(g);g-- >0;)(a.isOdd()||d.isOdd())&&(a.iadd(h),d.isub(l)),a.iushrn(1),d.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(a),s.isub(d)):(r.isub(e),a.isub(i),d.isub(s))}return{a,b:d,gcd:r.iushln(u)}},o.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,s=new o(1),a=new o(0),d=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,h=1;!(e.words[0]&h)&&u<26;++u,h<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(d),s.iushrn(1);for(var l=0,f=1;!(r.words[0]&f)&&l<26;++l,f<<=1);if(l>0)for(r.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(d),a.iushrn(1);e.cmp(r)>=0?(e.isub(r),s.isub(a)):(r.isub(e),a.isub(s))}return(i=0===e.cmpn(1)?s:a).cmpn(0)<0&&i.iadd(t),i},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return!(1&this.words[0])},o.prototype.isOdd=function(){return!(1&~this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,i=1<<e;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var o=i,s=r;0!==o&&s<this.length;s++){var a=0|this.words[s];o=(a+=o)>>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this._strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:i<t?-1:1}return 0!==this.negative?0|-e:e},o.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},o.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){n<i?e=-1:n>i&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new E(t)},o.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var _={k256:null,p224:null,p192:null,p25519:null};function M(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function w(){M.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function $(){M.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function S(){M.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function N(){M.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(t){if("string"==typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function T(t){E.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}M.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},M.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},M.prototype.split=function(t,e){t.iushrn(this.n,0,e)},M.prototype.imulK=function(t){return t.imul(this.k)},i(w,M),w.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i<n;i++)e.words[i]=t.words[i];if(e.length=n,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,i=10;i<t.length;i++){var s=0|t.words[i];t.words[i-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[i-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},w.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i($,M),i(S,M),i(N,M),N.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,i=67108863&n;n>>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(_[t])return _[t];var e;if("k256"===t)e=new w;else if("p224"===t)e=new $;else if("p192"===t)e=new S;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new N}return _[t]=e,e},E.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},E.prototype._verify2=function(t,e){n(!(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},E.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(h(t,t.umod(this.m)._forceRed(this)),t)},E.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},E.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},E.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},E.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},E.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},E.prot
vendor: 1,403 bytes, line 15672
15672otype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},E.prototype.isqr=function(t){return this.imul(t,t.clone())},E.prototype.sqr=function(t){return this.mul(t,t)},E.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new o(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),s=0;!i.isZero()&&0===i.andln(1);)s++,i.iushrn(1);n(!i.isZero());var a=new o(1).toRed(this),d=a.redNeg(),u=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new o(2*h*h).toRed(this);0!==this.pow(h,u).cmp(d);)h.redIAdd(d);for(var l=this.pow(h,i),f=this.pow(t,i.addn(1).iushrn(1)),c=this.pow(t,i),g=s;0!==c.cmp(a);){for(var p=c,m=0;0!==p.cmp(a);m++)p=p.redSqr();n(m<g);var b=this.pow(l,new o(1).iushln(g-m-1));f=f.redMul(b),l=b.redSqr(),c=c.redMul(l),g=m}return f},E.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},E.prototype.pow=function(t,e){if(e.isZero())return new o(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new o(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var i=r[0],s=0,a=0,d=e.bitLength()%26;for(0===d&&(d=26),n=e.length-1;n>=0;n--){for(var u=e.words[n],h=d-1;h>=0;h--){var l=u>>h&1;i!==r[0]&&(i=this.sqr(i)),0!==l||0!==s?(s<<=1,s|=l,(4==++a||0===n&&0===h)&&(i=this.mul(i,r[s]),a=0,s=0)):a=0}
vendor: 16,729 bytes, line 15672
15672d=26}return i},E.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},E.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new T(t)},i(T,E),T.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},T.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},T.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},T.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),s=i;return i.cmp(this.m)>=0?s=i.isub(this.m):i.cmpn(0)<0&&(s=i.iadd(this.m)),s._forceRed(this)},T.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},5037:(t,e,r)=>{var n;function i(t){this.rand=t}if(t.exports=function(t){return n||(n=new i(null)),n.generate(t)},t.exports.Rand=i,i.prototype.generate=function(t){return this._rand(t)},i.prototype._rand=function(t){if(this.rand.getBytes)return this.rand.getBytes(t);for(var e=new Uint8Array(t),r=0;r<e.length;r++)e[r]=this.rand.getByte();return e},"object"==typeof self)self.crypto&&self.crypto.getRandomValues?i.prototype._rand=function(t){var e=new Uint8Array(t);return self.crypto.getRandomValues(e),e}:self.msCrypto&&self.msCrypto.getRandomValues?i.prototype._rand=function(t){var e=new Uint8Array(t);return self.msCrypto.getRandomValues(e),e}:"object"==typeof window&&(i.prototype._rand=function(){throw new Error("Not implemented yet")});else try{var o=r(3776);if("function"!=typeof o.randomBytes)throw new Error("Not supported");i.prototype._rand=function(t){return o.randomBytes(t)}}catch(t){}},462:(t,e,r)=>{var n=r(2861).Buffer;function i(t){n.isBuffer(t)||(t=n.from(t));for(var e=t.length/4|0,r=new Array(e),i=0;i<e;i++)r[i]=t.readUInt32BE(4*i);return r}function o(t){for(;0<t.length;t++)t[0]=0}function s(t,e,r,n,i){for(var o,s,a,d,u=r[0],h=r[1],l=r[2],f=r[3],c=t[0]^e[0],g=t[1]^e[1],p=t[2]^e[2],m=t[3]^e[3],b=4,y=1;y<i;y++)o=u[c>>>24]^h[g>>>16&255]^l[p>>>8&255]^f[255&m]^e[b++],s=u[g>>>24]^h[p>>>16&255]^l[m>>>8&255]^f[255&c]^e[b++],a=u[p>>>24]^h[m>>>16&255]^l[c>>>8&255]^f[255&g]^e[b++],d=u[m>>>24]^h[c>>>16&255]^l[g>>>8&255]^f[255&p]^e[b++],c=o,g=s,p=a,m=d;return o=(n[c>>>24]<<24|n[g>>>16&255]<<16|n[p>>>8&255]<<8|n[255&m])^e[b++],s=(n[g>>>24]<<24|n[p>>>16&255]<<16|n[m>>>8&255]<<8|n[255&c])^e[b++],a=(n[p>>>24]<<24|n[m>>>16&255]<<16|n[c>>>8&255]<<8|n[255&g])^e[b++],d=(n[m>>>24]<<24|n[c>>>16&255]<<16|n[g>>>8&255]<<8|n[255&p])^e[b++],[o>>>=0,s>>>=0,a>>>=0,d>>>=0]}var a=[0,1,2,4,8,16,32,64,128,27,54],d=function(){for(var t=new Array(256),e=0;e<256;e++)t[e]=e<128?e<<1:e<<1^283;for(var r=[],n=[],i=[[],[],[],[]],o=[[],[],[],[]],s=0,a=0,d=0;d<256;++d){var u=a^a<<1^a<<2^a<<3^a<<4;u=u>>>8^255&u^99,r[s]=u,n[u]=s;var h=t[s],l=t[h],f=t[l],c=257*t[u]^16843008*u;i[0][s]=c<<24|c>>>8,i[1][s]=c<<16|c>>>16,i[2][s]=c<<8|c>>>24,i[3][s]=c,c=16843009*f^65537*l^257*h^16843008*s,o[0][u]=c<<24|c>>>8,o[1][u]=c<<16|c>>>16,o[2][u]=c<<8|c>>>24,o[3][u]=c,0===s?s=a=1:(s=h^t[t[t[f^h]]],a^=t[t[a]])}return{SBOX:r,INV_SBOX:n,SUB_MIX:i,INV_SUB_MIX:o}}();function u(t){this._key=i(t),this._reset()}u.blockSize=16,u.keySize=32,u.prototype.blockSize=u.blockSize,u.prototype.keySize=u.keySize,u.prototype._reset=function(){for(var t=this._key,e=t.length,r=e+6,n=4*(r+1),i=[],o=0;o<e;o++)i[o]=t[o];for(o=e;o<n;o++){var s=i[o-1];o%e==0?(s=s<<8|s>>>24,s=d.SBOX[s>>>24]<<24|d.SBOX[s>>>16&255]<<16|d.SBOX[s>>>8&255]<<8|d.SBOX[255&s],s^=a[o/e|0]<<24):e>6&&o%e==4&&(s=d.SBOX[s>>>24]<<24|d.SBOX[s>>>16&255]<<16|d.SBOX[s>>>8&255]<<8|d.SBOX[255&s]),i[o]=i[o-e]^s}for(var u=[],h=0;h<n;h++){var l=n-h,f=i[l-(h%4?0:4)];u[h]=h<4||l<=4?f:d.INV_SUB_MIX[0][d.SBOX[f>>>24]]^d.INV_SUB_MIX[1][d.SBOX[f>>>16&255]]^d.INV_SUB_MIX[2][d.SBOX[f>>>8&255]]^d.INV_SUB_MIX[3][d.SBOX[255&f]]}this._nRounds=r,this._keySchedule=i,this._invKeySchedule=u},u.prototype.encryptBlockRaw=function(t){return s(t=i(t),this._keySchedule,d.SUB_MIX,d.SBOX,this._nRounds)},u.prototype.encryptBlock=function(t){var e=this.encryptBlockRaw(t),r=n.allocUnsafe(16);return r.writeUInt32BE(e[0],0),r.writeUInt32BE(e[1],4),r.writeUInt32BE(e[2],8),r.writeUInt32BE(e[3],12),r},u.prototype.decryptBlock=function(t){var e=(t=i(t))[1];t[1]=t[3],t[3]=e;var r=s(t,this._invKeySchedule,d.INV_SUB_MIX,d.INV_SBOX,this._nRounds),o=n.allocUnsafe(16);return o.writeUInt32BE(r[0],0),o.writeUInt32BE(r[3],4),o.writeUInt32BE(r[2],8),o.writeUInt32BE(r[1],12),o},u.prototype.scrub=function(){o(this._keySchedule),o(this._invKeySchedule),o(this._key)},t.exports.AES=u},2356:(t,e,r)=>{var n=r(462),i=r(2861).Buffer,o=r(6168),s=r(6698),a=r(5892),d=r(295),u=r(5122);function h(t,e,r,s){o.call(this);var d=i.alloc(4,0);this._cipher=new n.AES(e);var h=this._cipher.encryptBlock(d);this._ghash=new a(h),r=function(t,e,r){if(12===e.length)return t._finID=i.concat([e,i.from([0,0,0,1])]),i.concat([e,i.from([0,0,0,2])]);var n=new a(r),o=e.length,s=o%16;n.update(e),s&&(s=16-s,n.update(i.alloc(s,0))),n.update(i.alloc(8,0));var d=8*o,h=i.alloc(8);h.writeUIntBE(d,0,8),n.update(h),t._finID=n.state;var l=i.from(t._finID);return u(l),l}(this,r,h),this._prev=i.from(r),this._cache=i.allocUnsafe(0),this._secCache=i.allocUnsafe(0),this._decrypt=s,this._alen=0,this._len=0,this._mode=t,this._authTag=null,this._called=!1}s(h,o),h.prototype._update=function(t){if(!this._called&&this._alen){var e=16-this._alen%16;e<16&&(e=i.alloc(e,0),this._ghash.update(e))}this._called=!0;var r=this._mode.encrypt(this,t);return this._decrypt?this._ghash.update(t):this._ghash.update(r),this._len+=t.length,r},h.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var t=d(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function(t,e){var r=0;t.length!==e.length&&r++;for(var n=Math.min(t.length,e.length),i=0;i<n;++i)r+=t[i]^e[i];return r}(t,this._authTag))throw new Error("Unsupported state or unable to authenticate data");this._authTag=t,this._cipher.scrub()},h.prototype.getAuthTag=function(){if(this._decrypt||!i.isBuffer(this._authTag))throw new Error("Attempting to get auth tag in unsupported state");return this._authTag},h.prototype.setAuthTag=function(t){if(!this._decrypt)throw new Error("Attempting to set auth tag in unsupported state");this._authTag=t},h.prototype.setAAD=function(t){if(this._called)throw new Error("Attempting to set AAD in unsupported state");this._ghash.update(t),this._alen+=t.length},t.exports=h},1241:(t,e,r)=>{var n=r(5799),i=r(6171),o=r(3219);e.createCipher=e.Cipher=n.createCipher,e.createCipheriv=e.Cipheriv=n.createCipheriv,e.createDecipher=e.Decipher=i.createDecipher,e.createDecipheriv=e.Decipheriv=i.createDecipheriv,e.listCiphers=e.getCiphers=function(){return Object.keys(o)}},6171:(t,e,r)=>{var n=r(2356),i=r(2861).Buffer,o=r(530),s=r(650),a=r(6168),d=r(462),u=r(8078);function h(t,e,r){a.call(this),this._cache=new l,this._last=void 0,this._cipher=new d.AES(e),this._prev=i.from(r),this._mode=t,this._autopadding=!0}function l(){this.cache=i.allocUnsafe(0)}function f(t,e,r){var a=o[t.toLowerCase()];if(!a)throw new TypeError("invalid suite type");if("string"==typeof r&&(r=i.from(r)),"GCM"!==a.mode&&r.length!==a.iv)throw new TypeError("invalid iv length "+r.length);if("string"==typeof e&&(e=i.from(e)),e.length!==a.key/8)throw new TypeError("invalid key length "+e.length);return"stream"===a.type?new s(a.module,e,r,!0):"auth"===a.type?new n(a.module,e,r,!0):new h(a.module,e,r)}r(6698)(h,a),h.prototype._update=function(t){var e,r;this._cache.add(t);for(var n=[];e=this._cache.get(this._autopadding);)r=this._mode.decrypt(this,e),n.push(r);return i.concat(n)},h.prototype._final=function(){var t=this._cache.flush();if(this._autopadding)return function(t){var e=t[15];if(e<1||e>16)throw new Error("unable to decrypt data");for(var r=-1;++r<e;)if(t[r+(16-e)]!==e)throw new Error("unable to decrypt data");if(16!==e)return t.slice(0,16-e)}(this._mode.decrypt(this,t));if(t)throw new Error("data not multiple of block length")},h.prototype.setAutoPadding=function(t){return this._autopadding=!!t,this},l.prototype.add=function(t){this.cache=i.concat([this.cache,t])},l.prototype.get=function(t){var e;if(t){if(this.cache.length>16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e}else if(this.cache.length>=16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e;return null},l.prototype.flush=function(){if(this.cache.length)return this.cache},e.createDecipher=function(t,e){var r=o[t.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var n=u(e,!1,r.key,r.iv);return f(t,n.key,n.iv)},e.createDecipheriv=f},5799:(t,e,r)=>{var n=r(530),i=r(2356),o=r(2861).Buffer,s=r(650),a=r(6168),d=r(462),u=r(8078);function h(t,e,r){a.call(this),this._cache=new f,this._cipher=new d.AES(e),this._prev=o.from(r),this._mode=t,this._autopadding=!0}r(6698)(h,a),h.prototype._update=function(t){var e,r;this._cache.add(t);for(var n=[];e=this._cache.get();)r=this._mode.encrypt(this,e),n.push(r);return o.concat(n)};var l=o.alloc(16,16);function f(){this.cache=o.allocUnsafe(0)}function c(t,e,r){var a=n[t.toLowerCase()];if(!a)throw new TypeError("invalid suite type");if("string"==typeof e&&(e=o.from(e)),e.length!==a.key/8)throw new TypeError("invalid key length "+e.length);if("string"==typeof r&&(r=o.from(r)),"GCM"!==a.mode&&r.length!==a.iv)throw new TypeError("invalid iv length "+r.length);return"stream"===a.type?new s(a.module,e,r):"auth"===a.type?new i(a.module,e,r):new h(a.module,e,r)}h.prototype._final=function(){var t=this._cache.flush();if(this._autopadding)return t=this._mode.encrypt(this,t),this._cipher.scrub(),t;if(!t.equals(l))throw this._cipher.scrub(),new Error("data not multiple of block length")},h.prototype.setAutoPadding=function(t){return this._autopadding=!!t,this},f.prototype.add=function(t){this.cache=o.concat([this.cache,t])},f.prototype.get=function(){if(this.cache.length>15){var t=this.cache.slice(0,16);return this.cache=this.cache.slice(16),t}return null},f.prototype.flush=function(){for(var t=16-this.cache.length,e=o.allocUnsafe(t),r=-1;++r<t;)e.writeUInt8(t,r);return o.concat([this.cache,e])},e.createCipheriv=c,e.createCipher=function(t,e){var r=n[t.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var i=u(e,!1,r.key,r.iv);return c(t,i.key,i.iv)}},5892:(t,e,r)=>{var n=r(2861).Buffer,i=n.alloc(16,0);function o(t){var e=n.allocUnsafe(16);return e.writeUInt32BE(t[0]>>>0,0),e.writeUInt32BE(t[1]>>>0,4),e.writeUInt32BE(t[2]>>>0,8),e.writeUInt32BE(t[3]>>>0,12),e}function s(t){this.h=t,this.state=n.alloc(16,0),this.cache=n.allocUnsafe(0)}s.prototype.ghash=function(t){for(var e=-1;++e<t.length;)this.state[e]^=t[e];this._multiply()},s.prototype._multiply=function(){for(var t,e,r,n=[(t=this.h).readUInt32BE(0),t.readUInt32BE(4),t.readUInt32BE(8),t.readUInt32BE(12)],i=[0,0,0,0],s=-1;++s<128;){for(!!(this.state[~~(s/8)]&1<<7-s%8)&&(i[0]^=n[0],i[1]^=n[1],i[2]^=n[2],i[3]^=n[3]),r=!!(1&n[3]),e=3;e>0;e--)n[e]=n[e]>>>1|(1&n[e-1])<<31;n[0]=n[0]>>>1,r&&(n[0]=n[0]^225<<24)}this.state=o(i)},s.prototype.update=function(t){var e;for(this.cache=n.concat([this.cache,t]);this.cache.length>=16;)e=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(e)},s.prototype.final=function(t,e){return this.cache.length&&this.ghash(n.concat([this.cache,i],16)),this.ghash(o([0,t,0,e])),this.state},t.exports=s},5122:t=>{t.exports=function(t){for(var e,r=t.length;r--;){if(255!==(e=t.readUInt8(r))){e++,t.writeUInt8(e,r);break}t.writeUInt8(0,r)}}},2884:(t,e,r)=>{var n=r(295);e.encrypt=function(t,e){var r=n(e,t._prev);return t._prev=t._cipher.encryptBlock(r),t._prev},e.decrypt=function(t,e){var r=t._prev;t._prev=e;var i=t._cipher.decryptBlock(e);return n(i,r)}},6383:(t,e,r)=>{var n=r(2861).Buffer,i=r(295);function o(t,e,r){var o=e.length,s=i(e,t._cache);return t._cache=t._cache.slice(o),t._prev=n.concat([t._prev,r?e:s]),s}e.encrypt=function(t,e,r){for(var i,s=n.allocUnsafe(0);e.length;){if(0===t._cache.length&&(t._cache=t._cipher.encryptBlock(t._prev),t._prev=n.allocUnsafe(0)),!(t._cache.length<=e.length)){s=n.concat([s,o(t,e,r)]);break}i=t._cache.length,s=n.concat([s,o(t,e.slice(0,i),r)]),e=e.slice(i)}return s}},5264:(t,e,r)=>{var n=r(2861).Buffer;function i(t,e,r){for(var n,i,s=-1,a=0;++s<8;)n=e&1<<7-s?128:0,a+=(128&(i=t._cipher.encryptBlock(t._prev)[0]^n))>>s%8,t._prev=o(t._prev,r?n:i);return a}function o(t,e){var r=t.length,i=-1,o=n.allocUnsafe(t.length);for(t=n.concat([t,n.from([e])]);++i<r;)o[i]=t[i]<<1|t[i+1]>>7;return o}e.encrypt=function(t,e,r){for(var o=e.length,s=n.allocUnsafe(o),a=-1;++a<o;)s[a]=i(t,e[a],r);return s}},6975:(t,e,r)=>{var n=r(2861).Buffer;function i(t,e,r){var i=t._cipher.encryptBlock(t._prev)[0]^e;return t._prev=n.concat([t._prev.slice(1),n.from([r?e:i])]),i}e.encrypt=function(t,e,r){for(var o=e.length,s=n.allocUnsafe(o),a=-1;++a<o;)s[a]=i(t,e[a],r);return s}},3053:(t,e,r)=>{var n=r(295),i=r(2861).Buffer,o=r(5122);function s(t){var e=t._cipher.encryptBlockRaw(t._prev);return o(t._prev),e}e.encrypt=function(t,e){var r=Math.ceil(e.length/16),o=t._cache.length;t._cache=i.concat([t._cache,i.allocUnsafe(16*r)]);for(var a=0;a<r;a++){var d=s(t),u=o+16*a;t._cache.writeUInt32BE(d[0],u+0),t._cache.writeUInt32BE(d[1],u+4),t._cache.writeUInt32BE(d[2],u+8),t._cache.writeUInt32BE(d[3],u+12)}var h=t._cache.slice(0,e.length);return t._cache=t._cache.slice(e.length),n(e,h)}},2632:(t,e)=>{e.encrypt=function(t,e){return t._cipher.encryptBlock(e)},e.decrypt=function(t,e){return t._cipher.decryptBlock(e)}},530:(t,e,r)=>{var n={ECB:r(2632),CBC:r(2884),CFB:r(6383),CFB8:r(6975),CFB1:r(5264),OFB:r(6843),CTR:r(3053),GCM:r(3053)},i=r(3219);for(var o in i)i[o].module=n[i[o].mode];t.exports=i},6843:(t,e,r)=>{var n=r(295);function i(t){return t._prev=t._cipher.encryptBlock(t._prev),t._prev}e.encrypt=function(t,e){for(;t._cache.length<e.length;)t._cache=Buffer.concat([t._cache,i(t)]);var r=t._cache.slice(0,e.length);return t._cache=t._cache.slice(e.length),n(e,r)}},650:(t,e,r)=>{var n=r(462),i=r(2861).Buffer,o=r(6168);function s(t,e,r,s){o.call(this),this._cipher=new n.AES(e),this._prev=i.from(r),this._cache=i.allocUnsafe(0),this._secCache=i.allocUnsafe(0),this._decrypt=s,this._mode=t}r(6698)(s,o),s.prototype._update=function(t){return this._mode.encrypt(this,t,this._decrypt)},s.prototype._final=function(){this._cipher.scrub()},t.exports=s},125:(t,e,r)=>{var n=r(4050),i=r(1241),o=r(530),s=r(2438),a=r(8078);function d(t,e,r){if(t=t.toLowerCase(),o[t])return i.createCipheriv(t,e,r);if(s[t])return new n({key:e,iv:r,mode:t});throw new TypeError("invalid suite type")}function u(t,e,r){if(t=t.toLowerCase(),o[t])return i.createDecipheriv(t,e,r);if(s[t])return new n({key:e,iv:r,mode:t,decrypt:!0});throw new TypeError("invalid suite type")}e.createCipher=e.Cipher=function(t,e){var r,n;if(t=t.toLowerCase(),o[t])r=o[t].key,n=o[t].iv;else{if(!s[t])throw new TypeError("invalid suite type");r=8*s[t].key,n=s[t].iv}var i=a(e,!1,r,n);return d(t,i.key,i.iv)},e.createCipheriv=e.Cipheriv=d,e.createDecipher=e.Decipher=function(t,e){var r,n;if(t=t.toLowerCase(),o[t])r=o[t].key,n=o[t].iv;else{if(!s[t])throw new TypeError("invalid suite type");r=8*s[t].key,n=s[t].iv}var i=a(e,!1,r,n);return u(t,i.key,i.iv)},e.createDecipheriv=e.Decipheriv=u,e.listCiphers=e.getCiphers=function(){return Object.keys(s).concat(i.getCiphers())}},4050:(t,e,r)=>{var n=r(6168),i=r(9560),o=r(6698),s=r(2861).Buffer,a={"des-ede3-cbc":i.CBC.instantiate(i.EDE),"des-ede3":i.EDE,"des-ede-cbc":i.CBC.instantiate(i.EDE),"des-ede":i.EDE,"des-cbc":i.CBC.instantiate(i.DES),"des-ecb":i.DES};function d(t){n.call(this);var e,r=t.mode.toLowerCase(),i=a[r];e=t.decrypt?"decrypt":"encrypt";var o=t.key;s.isBuffer(o)||(o=s.from(o)),"des-ede"!==r&&"des-ede-cbc"!==r||(o=s.concat([o,o.slice(0,8)]));var d=t.iv;s.isBuffer(d)||(d=s.from(d)),this._des=i.create({key:o,iv:d,type:e})}a.des=a["des-cbc"],a.des3=a["des-ede3-cbc"],t.exports=d,o(d,n),d.prototype._update=function(t){return s.from(this._des.update(t))},d.prototype._final=function(){return s.from(this._des.final())}},2438:(t,e)=>{e["des-ecb"]={key:8,iv:0},e["des-cbc"]=e.des={key:8,iv:8},e["des-ede3-cbc"]=e.des3={key:24,iv:8},e["des-ede3"]={key:24,iv:0},e["des-ede-cbc"]={key:16,iv:8},e["des-ede"]={key:16,iv:0}},7332:(t,e,r)=>{"use strict";var n=r(9404),i=r(3209),o=r(2861).Buffer;function s(t){var e,r=t.modulus.byteLength();
vendor: 12,141 bytes, line 15672
15672do{e=new n(i(r))}while(e.cmp(t.modulus)>=0||!e.umod(t.prime1)||!e.umod(t.prime2));return e}function a(t,e){var r=function(t){var e=s(t);return{blinder:e.toRed(n.mont(t.modulus)).redPow(new n(t.publicExponent)).fromRed(),unblinder:e.invm(t.modulus)}}(e),i=e.modulus.byteLength(),a=new n(t).mul(r.blinder).umod(e.modulus),d=a.toRed(n.mont(e.prime1)),u=a.toRed(n.mont(e.prime2)),h=e.coefficient,l=e.prime1,f=e.prime2,c=d.redPow(e.exponent1).fromRed(),g=u.redPow(e.exponent2).fromRed(),p=c.isub(g).imul(h).umod(l).imul(f);return g.iadd(p).imul(r.unblinder).umod(e.modulus).toArrayLike(o,"be",i)}a.getr=s,t.exports=a},5715:(t,e,r)=>{"use strict";t.exports=r(2951)},20:(t,e,r)=>{"use strict";var n=r(2861).Buffer,i=r(7108),o=r(6737),s=r(6698),a=r(5359),d=r(4847),u=r(2951);function h(t){o.Writable.call(this);var e=u[t];if(!e)throw new Error("Unknown message digest");this._hashType=e.hash,this._hash=i(e.hash),this._tag=e.id,this._signType=e.sign}function l(t){o.Writable.call(this);var e=u[t];if(!e)throw new Error("Unknown message digest");this._hash=i(e.hash),this._tag=e.id,this._signType=e.sign}function f(t){return new h(t)}function c(t){return new l(t)}Object.keys(u).forEach((function(t){u[t].id=n.from(u[t].id,"hex"),u[t.toLowerCase()]=u[t]})),s(h,o.Writable),h.prototype._write=function(t,e,r){this._hash.update(t),r()},h.prototype.update=function(t,e){return this._hash.update("string"==typeof t?n.from(t,e):t),this},h.prototype.sign=function(t,e){this.end();var r=this._hash.digest(),n=a(r,t,this._hashType,this._signType,this._tag);return e?n.toString(e):n},s(l,o.Writable),l.prototype._write=function(t,e,r){this._hash.update(t),r()},l.prototype.update=function(t,e){return this._hash.update("string"==typeof t?n.from(t,e):t),this},l.prototype.verify=function(t,e,r){var i="string"==typeof e?n.from(e,r):e;this.end();var o=this._hash.digest();return d(i,o,t,this._signType,this._tag)},t.exports={Sign:f,Verify:c,createSign:f,createVerify:c}},5359:(t,e,r)=>{"use strict";var n=r(2861).Buffer,i=r(3507),o=r(7332),s=r(6729).ec,a=r(9404),d=r(8170),u=r(4589);function h(t,e,r,o){if((t=n.from(t.toArray())).length<e.byteLength()){var s=n.alloc(e.byteLength()-t.length);t=n.concat([s,t])}var a=r.length,d=function(t,e){t=(t=l(t,e)).mod(e);var r=n.from(t.toArray());if(r.length<e.byteLength()){var i=n.alloc(e.byteLength()-r.length);r=n.concat([i,r])}return r}(r,e),u=n.alloc(a);u.fill(1);var h=n.alloc(a);return h=i(o,h).update(u).update(n.from([0])).update(t).update(d).digest(),u=i(o,h).update(u).digest(),{k:h=i(o,h).update(u).update(n.from([1])).update(t).update(d).digest(),v:u=i(o,h).update(u).digest()}}function l(t,e){var r=new a(t),n=(t.length<<3)-e.bitLength();return n>0&&r.ishrn(n),r}function f(t,e,r){var o,s;do{for(o=n.alloc(0);8*o.length<t.bitLength();)e.v=i(r,e.k).update(e.v).digest(),o=n.concat([o,e.v]);s=l(o,t),e.k=i(r,e.k).update(e.v).update(n.from([0])).digest(),e.v=i(r,e.k).update(e.v).digest()}while(-1!==s.cmp(t));return s}function c(t,e,r,n){return t.toRed(a.mont(r)).redPow(e).fromRed().mod(n)}t.exports=function(t,e,r,i,g){var p=d(e);if(p.curve){if("ecdsa"!==i&&"ecdsa/rsa"!==i)throw new Error("wrong private key type");return function(t,e){var r=u[e.curve.join(".")];if(!r)throw new Error("unknown curve "+e.curve.join("."));var i=new s(r).keyFromPrivate(e.privateKey).sign(t);return n.from(i.toDER())}(t,p)}if("dsa"===p.type){if("dsa"!==i)throw new Error("wrong private key type");return function(t,e,r){for(var i,o=e.params.priv_key,s=e.params.p,d=e.params.q,u=e.params.g,g=new a(0),p=l(t,d).mod(d),m=!1,b=h(o,d,t,r);!1===m;)g=c(u,i=f(d,b,r),s,d),0===(m=i.invm(d).imul(p.add(o.mul(g))).mod(d)).cmpn(0)&&(m=!1,g=new a(0));return function(t,e){t=t.toArray(),e=e.toArray(),128&t[0]&&(t=[0].concat(t)),128&e[0]&&(e=[0].concat(e));var r=[48,t.length+e.length+4,2,t.length];return r=r.concat(t,[2,e.length],e),n.from(r)}(g,m)}(t,p,r)}if("rsa"!==i&&"ecdsa/rsa"!==i)throw new Error("wrong private key type");if(void 0!==e.padding&&1!==e.padding)throw new Error("illegal or unsupported padding mode");t=n.concat([g,t]);for(var m=p.modulus.byteLength(),b=[0,1];t.length+b.length+1<m;)b.push(255);b.push(0);for(var y=-1;++y<t.length;)b.push(t[y]);return o(b,p)},t.exports.getKey=h,t.exports.makeKey=f},4847:(t,e,r)=>{"use strict";var n=r(2861).Buffer,i=r(9404),o=r(6729).ec,s=r(8170),a=r(4589);function d(t,e){if(t.cmpn(0)<=0)throw new Error("invalid sig");if(t.cmp(e)>=0)throw new Error("invalid sig")}t.exports=function(t,e,r,u,h){var l=s(r);if("ec"===l.type){if("ecdsa"!==u&&"ecdsa/rsa"!==u)throw new Error("wrong public key type");return function(t,e,r){var n=a[r.data.algorithm.curve.join(".")];if(!n)throw new Error("unknown curve "+r.data.algorithm.curve.join("."));var i=new o(n),s=r.data.subjectPrivateKey.data;return i.verify(e,t,s)}(t,e,l)}if("dsa"===l.type){if("dsa"!==u)throw new Error("wrong public key type");return function(t,e,r){var n=r.data.p,o=r.data.q,a=r.data.g,u=r.data.pub_key,h=s.signature.decode(t,"der"),l=h.s,f=h.r;d(l,o),d(f,o);var c=i.mont(n),g=l.invm(o);return 0===a.toRed(c).redPow(new i(e).mul(g).mod(o)).fromRed().mul(u.toRed(c).redPow(f.mul(g).mod(o)).fromRed()).mod(n).mod(o).cmp(f)}(t,e,l)}if("rsa"!==u&&"ecdsa/rsa"!==u)throw new Error("wrong public key type");e=n.concat([h,e]);for(var f=l.modulus.byteLength(),c=[1],g=0;e.length+c.length+2<f;)c.push(255),g+=1;c.push(0);for(var p=-1;++p<e.length;)c.push(e[p]);c=n.from(c);var m=i.mont(l.modulus);t=(t=new i(t).toRed(m)).redPow(new i(l.publicExponent)),t=n.from(t.fromRed().toArray());var b=g<8?1:0;for(f=Math.min(t.length,c.length),t.length!==c.length&&(b=1),p=-1;++p<f;)b|=t[p]^c[p];return 0===b}},6248:(t,e,r)=>{"use strict";var n=r(3225),i=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=l;var o=Object.create(r(5622));o.inherits=r(6698);var s=r(206),a=r(7314);o.inherits(l,s);for(var d=i(a.prototype),u=0;u<d.length;u++){var h=d[u];l.prototype[h]||(l.prototype[h]=a.prototype[h])}function l(t){if(!(this instanceof l))return new l(t);s.call(this,t),a.call(this,t),t&&!1===t.readable&&(this.readable=!1),t&&!1===t.writable&&(this.writable=!1),this.allowHalfOpen=!0,t&&!1===t.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",f)}function f(){this.allowHalfOpen||this._writableState.ended||n.nextTick(c,this)}function c(t){t.end()}Object.defineProperty(l.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(l.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&this._readableState.destroyed&&this._writableState.destroyed},set:function(t){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=t,this._writableState.destroyed=t)}}),l.prototype._destroy=function(t,e){this.push(null),this.end(),n.nextTick(e,t)}},5242:(t,e,r)=>{"use strict";t.exports=o;var n=r(1816),i=Object.create(r(5622));function o(t){if(!(this instanceof o))return new o(t);n.call(this,t)}i.inherits=r(6698),i.inherits(o,n),o.prototype._transform=function(t,e,r){r(null,t)}},206:(t,e,r)=>{"use strict";var n=r(5606),i=r(3225);t.exports=v;var o,s=r(4634);v.ReadableState=y,r(7007).EventEmitter;var a=function(t,e){return t.listeners(e).length},d=r(5567),u=r(4116).Buffer,h=(void 0!==r.g?r.g:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){},l=Object.create(r(5622));l.inherits=r(6698);var f=r(2668),c=void 0;c=f&&f.debuglog?f.debuglog("stream"):function(){};var g,p=r(672),m=r(6278);l.inherits(v,d);var b=["error","close","destroy","pause","resume"];function y(t,e){t=t||{};var n=e instanceof(o=o||r(6248));this.objectMode=!!t.objectMode,n&&(this.objectMode=this.objectMode||!!t.readableObjectMode);var i=t.highWaterMark,s=t.readableHighWaterMark,a=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:n&&(s||0===s)?s:a,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new p,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(g||(g=r(6427).I),this.decoder=new g(t.encoding),this.encoding=t.encoding)}function v(t){if(o=o||r(6248),!(this instanceof v))return new v(t);this._readableState=new y(t,this),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),d.call(this)}function _(t,e,r,n,i){var o,s=t._readableState;return null===e?(s.reading=!1,function(t,e){if(!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,S(t)}}(t,s)):(i||(o=function(t,e){var r,n;return n=e,u.isBuffer(n)||n instanceof h||"string"==typeof e||void 0===e||t.objectMode||(r=new TypeError("Invalid non-string/buffer chunk")),r}(s,e)),o?t.emit("error",o):s.objectMode||e&&e.length>0?("string"==typeof e||s.objectMode||Object.getPrototypeOf(e)===u.prototype||(e=function(t){return u.from(t)}(e)),n?s.endEmitted?t.emit("error",new Error("stream.unshift() after end event")):M(t,s,e,!0):s.ended?t.emit("error",new Error("stream.push() after EOF")):(s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||0!==e.length?M(t,s,e,!1):E(t,s)):M(t,s,e,!1))):n||(s.reading=!1)),function(t){return!t.ended&&(t.needReadable||t.length<t.highWaterMark||0===t.length)}(s)}function M(t,e,r,n){e.flowing&&0===e.length&&!e.sync?(t.emit("data",r),t.read(0)):(e.length+=e.objectMode?1:r.length,n?e.buffer.unshift(r):e.buffer.push(r),e.needReadable&&S(t)),E(t,e)}Object.defineProperty(v.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}}),v.prototype.destroy=m.destroy,v.prototype._undestroy=m.undestroy,v.prototype._destroy=function(t,e){this.push(null),e(t)},v.prototype.push=function(t,e){var r,n=this._readableState;return n.objectMode?r=!0:"string"==typeof t&&((e=e||n.defaultEncoding)!==n.encoding&&(t=u.from(t,e),e=""),r=!0),_(this,t,e,!1,r)},v.prototype.unshift=function(t){return _(this,t,null,!0,!1)},v.prototype.isPaused=function(){return!1===this._readableState.flowing},v.prototype.setEncoding=function(t){return g||(g=r(6427).I),this._readableState.decoder=new g(t),this._readableState.encoding=t,this};var w=8388608;function $(t,e){return t<=0||0===e.length&&e.ended?0:e.objectMode?1:t!=t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=function(t){return t>=w?t=w:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function S(t){var e=t._readableState;e.needReadable=!1,e.emittedReadable||(c("emitReadable",e.flowing),e.emittedReadable=!0,e.sync?i.nextTick(N,t):N(t))}function N(t){c("emit readable"),t.emit("readable"),P(t)}function E(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(T,t,e))}function T(t,e){for(var r=e.length;!e.reading&&!e.flowing&&!e.ended&&e.length<e.highWaterMark&&(c("maybeReadMore read 0"),t.read(0),r!==e.length);)r=e.length;e.readingMore=!1}function A(t){c("readable nexttick read 0"),t.read(0)}function R(t,e){e.reading||(c("resume read 0"),t.read(0)),e.resumeScheduled=!1,e.awaitDrain=0,t.emit("resume"),P(t),e.flowing&&!e.reading&&t.read(0)}function P(t){var e=t._readableState;for(c("flow",e.flowing);e.flowing&&null!==t.read(););}function O(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.head.data:e.buffer.concat(e.length),e.buffer.clear()):r=function(t,e,r){var n;return t<e.head.data.length?(n=e.head.data.slice(0,t),e.head.data=e.head.data.slice(t)):n=t===e.head.data.length?e.shift():r?function(t,e){var r=e.head,n=1,i=r.data;for(t-=i.length;r=r.next;){var o=r.data,s=t>o.length?o.length:t;if(s===o.length?i+=o:i+=o.slice(0,t),0==(t-=s)){s===o.length?(++n,r.next?e.head=r.next:e.head=e.tail
vendor: 4,617 bytes, line 15672
15672=null):(e.head=r,r.data=o.slice(s));break}++n}return e.length-=n,i}(t,e):function(t,e){var r=u.allocUnsafe(t),n=e.head,i=1;for(n.data.copy(r),t-=n.data.length;n=n.next;){var o=n.data,s=t>o.length?o.length:t;if(o.copy(r,r.length-t,0,s),0==(t-=s)){s===o.length?(++i,n.next?e.head=n.next:e.head=e.tail=null):(e.head=n,n.data=o.slice(s));break}++i}return e.length-=i,r}(t,e),n}(t,e.buffer,e.decoder),r);var r}function C(t){var e=t._readableState;if(e.length>0)throw new Error('"endReadable()" called on non-empty stream');e.endEmitted||(e.ended=!0,i.nextTick(I,e,t))}function I(t,e){t.endEmitted||0!==t.length||(t.endEmitted=!0,e.readable=!1,e.emit("end"))}function L(t,e){for(var r=0,n=t.length;r<n;r++)if(t[r]===e)return r;return-1}v.prototype.read=function(t){c("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(0!==t&&(e.emittedReadable=!1),0===t&&e.needReadable&&(e.length>=e.highWaterMark||e.ended))return c("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?C(this):S(this),null;if(0===(t=$(t,e))&&e.ended)return 0===e.length&&C(this),null;var n,i=e.needReadable;return c("need readable",i),(0===e.length||e.length-t<e.highWaterMark)&&c("length less than watermark",i=!0),e.ended||e.reading?c("reading or ended",i=!1):i&&(c("do read"),e.reading=!0,e.sync=!0,0===e.length&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1,e.reading||(t=$(r,e))),null===(n=t>0?O(t,e):null)?(e.needReadable=!0,t=0):e.length-=t,0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&C(this)),null!==n&&this.emit("data",n),n},v.prototype._read=function(t){this.emit("error",new Error("_read() is not implemented"))},v.prototype.pipe=function(t,e){var r=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=t;break;case 1:o.pipes=[o.pipes,t];break;default:o.pipes.push(t)}o.pipesCount+=1,c("pipe count=%d opts=%j",o.pipesCount,e);var d=e&&!1===e.end||t===n.stdout||t===n.stderr?y:u;function u(){c("onend"),t.end()}o.endEmitted?i.nextTick(d):r.once("end",d),t.on("unpipe",(function e(n,i){c("onunpipe"),n===r&&i&&!1===i.hasUnpiped&&(i.hasUnpiped=!0,c("cleanup"),t.removeListener("close",m),t.removeListener("finish",b),t.removeListener("drain",h),t.removeListener("error",p),t.removeListener("unpipe",e),r.removeListener("end",u),r.removeListener("end",y),r.removeListener("data",g),l=!0,!o.awaitDrain||t._writableState&&!t._writableState.needDrain||h())}));var h=function(t){return function(){var e=t._readableState;c("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&a(t,"data")&&(e.flowing=!0,P(t))}}(r);t.on("drain",h);var l=!1,f=!1;function g(e){c("ondata"),f=!1,!1!==t.write(e)||f||((1===o.pipesCount&&o.pipes===t||o.pipesCount>1&&-1!==L(o.pipes,t))&&!l&&(c("false write response, pause",o.awaitDrain),o.awaitDrain++,f=!0),r.pause())}function p(e){c("onerror",e),y(),t.removeListener("error",p),0===a(t,"error")&&t.emit("error",e)}function m(){t.removeListener("finish",b),y()}function b(){c("onfinish"),t.removeListener("close",m),y()}function y(){c("unpipe"),r.unpipe(t)}return r.on("data",g),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?s(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,"error",p),t.once("close",m),t.once("finish",b),t.emit("pipe",r),o.flowing||(c("pipe resume"),r.resume()),t},v.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o<i;o++)n[o].emit("unpipe",this,{hasUnpiped:!1});return this}var s=L(e.pipes,t);return-1===s||(e.pipes.splice(s,1),e.pipesCount-=1,1===e.pipesCount&&(e.pipes=e.pipes[0]),t.emit("unpipe",this,r)),this},v.prototype.on=function(t,e){var r=d.prototype.on.call(this,t,e);if("data"===t)!1!==this._readableState.flowing&&this.resume();else if("readable"===t){var n=this._readableState;n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.emittedReadable=!1,n.reading?n.length&&S(this):i.nextTick(A,this))}return r},v.prototype.addListener=v.prototype.on,v.prototype.resume=function(){var t=this._readableState;return t.flowing||(c("resume"),t.flowing=!0,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,i.nextTick(R,t,e))}(this,t)),this},v.prototype.pause=function(){return c("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(c("pause"),this._readableState.flowing=!1,this.emit
vendor: 13,517 bytes, line 15672
15672("pause")),this},v.prototype.wrap=function(t){var e=this,r=this._readableState,n=!1;for(var i in t.on("end",(function(){if(c("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(i){c("wrapped data"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i||(r.objectMode||i&&i.length)&&(e.push(i)||(n=!0,t.pause()))})),t)void 0===this[i]&&"function"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var o=0;o<b.length;o++)t.on(b[o],this.emit.bind(this,b[o]));return this._read=function(e){c("wrapped _read",e),n&&(n=!1,t.resume())},this},Object.defineProperty(v.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),v._fromList=O},1816:(t,e,r)=>{"use strict";t.exports=s;var n=r(6248),i=Object.create(r(5622));function o(t,e){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(!n)return this.emit("error",new Error("write callback called multiple times"));r.writechunk=null,r.writecb=null,null!=e&&this.push(e),n(t);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function s(t){if(!(this instanceof s))return new s(t);n.call(this,t),this._transformState={afterTransform:o.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,t&&("function"==typeof t.transform&&(this._transform=t.transform),"function"==typeof t.flush&&(this._flush=t.flush)),this.on("prefinish",a)}function a(){var t=this;"function"==typeof this._flush?this._flush((function(e,r){d(t,e,r)})):d(this,null,null)}function d(t,e,r){if(e)return t.emit("error",e);if(null!=r&&t.push(r),t._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(t._transformState.transforming)throw new Error("Calling transform done when still transforming");return t.push(null)}i.inherits=r(6698),i.inherits(s,n),s.prototype.push=function(t,e){return this._transformState.needTransform=!1,n.prototype.push.call(this,t,e)},s.prototype._transform=function(t,e,r){throw new Error("_transform() is not implemented")},s.prototype._write=function(t,e,r){var n=this._transformState;if(n.writecb=r,n.writechunk=t,n.writeencoding=e,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},s.prototype._read=function(t){var e=this._transformState;null!==e.writechunk&&e.writecb&&!e.transforming?(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform)):e.needTransform=!0},s.prototype._destroy=function(t,e){var r=this;n.prototype._destroy.call(this,t,(function(t){e(t),r.emit("close")}))}},7314:(t,e,r)=>{"use strict";var n=r(5606),i=r(3225);function o(t){var e=this;this.next=null,this.entry=null,this.finish=function(){!function(t,e){var r=t.entry;for(t.entry=null;r;){var n=r.callback;e.pendingcb--,n(undefined),r=r.next}e.corkedRequestsFree.next=t}(e,t)}}t.exports=b;var s,a=!n.browser&&["v0.10","v0.9."].indexOf(n.version.slice(0,5))>-1?setImmediate:i.nextTick;b.WritableState=m;var d=Object.create(r(5622));d.inherits=r(6698);var u,h={deprecate:r(4643)},l=r(5567),f=r(4116).Buffer,c=(void 0!==r.g?r.g:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){},g=r(6278);function p(){}function m(t,e){s=s||r(6248),t=t||{};var n=e instanceof s;this.objectMode=!!t.objectMode,n&&(this.objectMode=this.objectMode||!!t.writableObjectMode);var d=t.highWaterMark,u=t.writableHighWaterMark,h=this.objectMode?16:16384;this.highWaterMark=d||0===d?d:n&&(u||0===u)?u:h,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var l=!1===t.decodeStrings;this.decodeStrings=!l,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var r=t._writableState,n=r.sync,o=r.writecb;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(r),e)!function(t,e,r,n,o){--e.pendingcb,r?(i.nextTick(o,n),i.nextTick($,t,e),t._writableState.errorEmitted=!0,t.emit("error",n)):(o(n),t._writableState.errorEmitted=!0,t.emit("error",n),$(t,e))}(t,r,n,e,o);else{var s=M(r);s||r.corked||r.bufferProcessing||!r.bufferedRequest||_(t,r),n?a(v,t,r,s,o):v(t,r,s,o)}}(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new o(this)}function b(t){if(s=s||r(6248),!(u.call(b,this)||this instanceof s))return new b(t);this._writableState=new m(t,this),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),l.call(this)}function y(t,e,r,n,i,o,s){e.writelen=n,e.writecb=s,e.writing=!0,e.sync=!0,r?t._writev(i,e.onwrite):t._write(i,o,e.onwrite),e.sync=!1}function v(t,e,r,n){r||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}(t,e),e.pendingcb--,n(),$(t,e)}function _(t,e){e.bufferProcessing=!0;var r=e.bufferedRequest;if(t._writev&&r&&r.next){var n=e.bufferedRequestCount,i=new Array(n),s=e.corkedRequestsFree;s.entry=r;for(var a=0,d=!0;r;)i[a]=r,r.isBuf||(d=!1),r=r.next,a+=1;i.allBuffers=d,y(t,e,!0,e.length,i,"",s.finish),e.pendingcb++,e.lastBufferedRequest=null,s.next?(e.corkedRequestsFree=s.next,s.next=null):e.corkedRequestsFree=new o(e),e.bufferedRequestCount=0}else{for(;r;){var u=r.chunk,h=r.encoding,l=r.callback;if(y(t,e,!1,e.objectMode?1:u.length,u,h,l),r=r.next,e.bufferedRequestCount--,e.writing)break}null===r&&(e.lastBufferedRequest=null)}e.bufferedRequest=r,e.bufferProcessing=!1}function M(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function w(t,e){t._final((function(r){e.pendingcb--,r&&t.emit("error",r),e.prefinished=!0,t.emit("prefinish"),$(t,e)}))}function $(t,e){var r=M(e);return r&&(function(t,e){e.prefinished||e.finalCalled||("function"==typeof t._final?(e.pendingcb++,e.finalCalled=!0,i.nextTick(w,t,e)):(e.prefinished=!0,t.emit("prefinish")))}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"))),r}d.inherits(b,l),m.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(m.prototype,"buffer",{get:h.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(u=Function.prototype[Symbol.hasInstance],Object.defineProperty(b,Symbol.hasInstance,{value:function(t){return!!u.call(this,t)||this===b&&t&&t._writableState instanceof m}})):u=function(t){return t instanceof this},b.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},b.prototype.write=function(t,e,r){var n,o=this._writableState,s=!1,a=!o.objectMode&&(n=t,f.isBuffer(n)||n instanceof c);return a&&!f.isBuffer(t)&&(t=function(t){return f.from(t)}(t)),"function"==typeof e&&(r=e,e=null),a?e="buffer":e||(e=o.defaultEncoding),"function"!=typeof r&&(r=p),o.ended?function(t,e){var r=new Error("write after end");t.emit("error",r),i.nextTick(e,r)}(this,r):(a||function(t,e,r,n){var o=!0,s=!1;return null===r?s=new TypeError("May not write null values to stream"):"string"==typeof r||void 0===r||e.objectMode||(s=new TypeError("Invalid non-string/buffer chunk")),s&&(t.emit("error",s),i.nextTick(n,s),o=!1),o}(this,o,t,r))&&(o.pendingcb++,s=function(t,e,r,n,i,o){if(!r){var s=function(t,e,r){return t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=f.from(e,r)),e}(e,n,i);n!==s&&(r=!0,i="buffer",n=s)}var a=e.objectMode?1:n.length;e.length+=a;var d=e.length<e.highWaterMark;if(d||(e.needDrain=!0),e.writing||e.corked){var u=e.lastBufferedRequest;e.lastBufferedRequest={chunk:n,encoding:i,isBuf:r,callback:o,next:null},u?u.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else y(t,e,!1,a,n,i,o);return d}(this,o,a,t,e,r)),s},b.prototype.cork=function(){this._writableState.corked++},b.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,t.writing||t.corked||t.bufferProcessing||!t.bufferedRequest||_(this,t))},b.prototype.setDefaultEncoding=function(t){if("string"==typeof t&&(t=t.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((t+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(b.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),b.prototype._write=function(t,e,r){r(new Error("_write() is not implemented"))},b.prototype._writev=null,b.prototype.end=function(t,e,r){var n=this._writableState;"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),n.corked&&(n.corked=1,this.uncork()),n.ending||function(t,e,r){e.ending=!0,$(t,e),r&&(e.finished?i.nextTick(r):t.once("finish",r)),e.ended=!0,t.writable=!1}(this,n,r)},Object.defineProperty(b.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),b.prototype.destroy=g.destroy,b.prototype._undestroy=g.undestroy,b.prototype._destroy=function(t,e){this.end(),e(t)}},672:(t,e,r)=>{"use strict";var n=r(4116).Buffer,i=r(1638);t.exports=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.head=null,this.tail=null,this.length=0}return t.prototype.push=function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length},t.prototype.unshift=function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length},t.prototype.shift=function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}},t.prototype.clear=function(){this.head=this.tail=null,this.length=0},t.prototype.join=function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r},t.prototype.concat=function(t){if(0===this.length)return n.alloc(0);for(var e,r,i=n.allocUnsafe(t>>>0),o=this.head,s=0;o;)e=i,r=s,o.data.copy(e,r),s+=o.data.length,o=o.next;return i},t}(),i&&i.inspect&&i.inspect.custom&&(t.exports.prototype[i.inspect.custom]=function(){var t=i.inspect({length:this.length});return this.constructor.name+" "+t})},6278:(t,e,r)=>{"use strict";var n=r(3225);function i(t,e){t.emit("error",e)}t.exports={destroy:function(t,e){var r=this,o=this._readableState&&this._readableState.destroyed,s=this._writableState&&this._writableState.destroyed;return o||s?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,n.nextTick(i,this,t)):n.nextTick(i,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,(function(t){!e&&t?r._writableState?r._writableState.errorEmitted||(r._writableState.errorEmitted=!0,n.nextTick(i,r,t)):n.nextTick(i,r,t):e&&e(t)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},5567:(t,e,r)=>{t.exports=r(7007).EventEmitter},4116:(t,e,r)=>{var n=r(8287),i=n.Buffer;function o(t,e){for(var r in t)e[r]=t[r]}function s(t,e,r){return i(t,e,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=n:(o(n,e),e.Buffer=s),o(i,s),s.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,r)},s.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=i(t);return void 0!==e?"string"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n},s.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},s.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n.SlowBuffer(t)}},6737:(t,e,r)=>{(e=t.exports=r(206)).Stream=e,e.Readable=e,e.Writable=r(7314),e.Duplex=r(6248),e.Transform=r(1816),e.PassThrough=r(5242)},6427:(t,e,r)=>{"use strict";var n=r(8393).Buffer,i=n.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";
vendor: 4,202 bytes, line 15672
15672case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(n.isEncoding===i||!i(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=d,this.end=u,e=4;break;case"utf8":this.fillLast=a,e=4;break;case"base64":this.text=h,this.end=l,e=3;break;default:return this.write=f,void(this.end=c)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(e)}function s(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function a(t){var e=this.lastTotal-this.lastNeed,r=function(t,e){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function d(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function u(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function h(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function l(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function f(t){return t.toString(this.encoding)}function c(t){return t&&t.length?this.write(t):""}e.I=o,o.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<t.length?e?e+this.text(t,r):this.text(t,r):e||""},o.prototype.end=function(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"�":e},o.prototype.text=function(t,e){var r=function(t,e,r){var n=e.length-1;if(n<r)return 0;var i=s(e[n]);return i>=0?(i>0&&(t.lastNeed=i-1),i):--n<r||-2===i?0:(i=s(e[n]))>=0?(i>0&&(t.lastNeed=i-2),i):--n<r||-2===i?0:(i=s(e[n]))>=0?(i>0&&(2===i?i=0:t.lastNeed=i-3),i):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)},o.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},8393:(t,e,r)=>{var n=r(8287),i=n.Buffer;function o(t,e){for(var r in t)e[r]=t[r]}function s(t,e,r){return i(t,e,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=n:(o(n,e),e.Buffer=s),o(i,s),s.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,r)},s.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=i(t);return void 0!==e?"string"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n},s.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},s.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n.SlowBuffer(t)}},295:t=>{t.exports=function(t,e){for(var r=Math.min(t.length,e.length),n=new Buffer(r),i=0;i<r;++i)n[i]=t[i]^e[i];return n}},8287:(t,e,r)=>{"use strict";const n=r(7526),i=r(251),o="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=d,e.SlowBuffer=function(t){return+t!=t&&(t=0),d.alloc(+t)},e.INSPECT_MAX_BYTES=50;const s=2147483647;function a(t){if(t>
vendor: 21,466 bytes, line 15672
15672s)throw new RangeError('The value "'+t+'" is invalid for option "size"');const e=new Uint8Array(t);return Object.setPrototypeOf(e,d.prototype),e}function d(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return l(t)}return u(t,e,r)}function u(t,e,r){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!d.isEncoding(e))throw new TypeError("Unknown encoding: "+e);const r=0|p(t,e);let n=a(r);const i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(K(t,Uint8Array)){const e=new Uint8Array(t);return c(e.buffer,e.byteOffset,e.byteLength)}return f(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(K(t,ArrayBuffer)||t&&K(t.buffer,ArrayBuffer))return c(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(K(t,SharedArrayBuffer)||t&&K(t.buffer,SharedArrayBuffer)))return c(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');const n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return d.from(n,e,r);const i=function(t){if(d.isBuffer(t)){const e=0|g(t.length),r=a(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||Z(t.length)?a(0):f(t):"Buffer"===t.type&&Array.isArray(t.data)?f(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return d.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function h(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function l(t){return h(t),a(t<0?0:0|g(t))}function f(t){const e=t.length<0?0:0|g(t.length),r=a(e);for(let n=0;n<e;n+=1)r[n]=255&t[n];return r}function c(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('"length" is outside of buffer bounds');let n;return n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r),Object.setPrototypeOf(n,d.prototype),n}function g(t){if(t>=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return 0|t}function p(t,e){if(d.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||K(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);const r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;let i=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Y(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return z(t).length;default:if(i)return n?-1:Y(t).length;e=(""+e).toLowerCase(),i=!0}}function m(t,e,r){let n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return P(this,e,r);case"utf8":case"utf-8":return E(this,e,r);case"ascii":return A(this,e,r);case"latin1":case"binary":return R(this,e,r);case"base64":return N(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return O(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function b(t,e,r){const n=t[e];t[e]=t[r],t[r]=n}function y(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),Z(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=d.from(e,n)),d.isBuffer(e))return 0===e.length?-1:v(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):v(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function v(t,e,r,n,i){let o,s=1,a=t.length,d=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;s=2,a/=2,d/=2,r/=2}function u(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(i){let n=-1;for(o=r;o<a;o++)if(u(t,o)===u(e,-1===n?0:o-n)){if(-1===n&&(n=o),o-n+1===d)return n*s}else-1!==n&&(o-=o-n),n=-1}else for(r+d>a&&(r=a-d),o=r;o>=0;o--){let r=!0;for(let n=0;n<d;n++)if(u(t,o+n)!==u(e,n)){r=!1;break}if(r)return o}return-1}function _(t,e,r,n){r=Number(r)||0;const i=t.length-r;n?(n=Number(n))>i&&(n=i):n=i;const o=e.length;let s;for(n>o/2&&(n=o/2),s=0;s<n;++s){const n=parseInt(e.substr(2*s,2),16);if(Z(n))return s;t[r+s]=n}return s}function M(t,e,r,n){return q(Y(e,t.length-r),t,r,n)}function w(t,e,r,n){return q(function(t){const e=[];for(let r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,n)}function $(t,e,r,n){return q(z(e),t,r,n)}function S(t,e,r,n){return q(function(t,e){let r,n,i;const o=[];for(let s=0;s<t.length&&!((e-=2)<0);++s)r=t.charCodeAt(s),n=r>>8,i=r%256,o.push(i),o.push(n);return o}(e,t.length-r),t,r,n)}function N(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function E(t,e,r){r=Math.min(t.length,r);const n=[];let i=e;for(;i<r;){const e=t[i];let o=null,s=e>239?4:e>223?3:e>191?2:1;if(i+s<=r){let r,n,a,d;switch(s){case 1:e<128&&(o=e);break;case 2:r=t[i+1],128==(192&r)&&(d=(31&e)<<6|63&r,d>127&&(o=d));break;case 3:r=t[i+1],n=t[i+2],128==(192&r)&&128==(192&n)&&(d=(15&e)<<12|(63&r)<<6|63&n,d>2047&&(d<55296||d>57343)&&(o=d));break;case 4:r=t[i+1],n=t[i+2],a=t[i+3],128==(192&r)&&128==(192&n)&&128==(192&a)&&(d=(15&e)<<18|(63&r)<<12|(63&n)<<6|63&a,d>65535&&d<1114112&&(o=d))}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return function(t){const e=t.length;if(e<=T)return String.fromCharCode.apply(String,t);let r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=T));return r}(n)}e.kMaxLength=s,d.TYPED_ARRAY_SUPPORT=function(){try{const t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),d.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(d.prototype,"parent",{enumerable:!0,get:function(){if(d.isBuffer(this))return this.buffer}}),Object.defineProperty(d.prototype,"offset",{enumerable:!0,get:function(){if(d.isBuffer(this))return this.byteOffset}}),d.poolSize=8192,d.from=function(t,e,r){return u(t,e,r)},Object.setPrototypeOf(d.prototype,Uint8Array.prototype),Object.setPrototypeOf(d,Uint8Array),d.alloc=function(t,e,r){return function(t,e,r){return h(t),t<=0?a(t):void 0!==e?"string"==typeof r?a(t).fill(e,r):a(t).fill(e):a(t)}(t,e,r)},d.allocUnsafe=function(t){return l(t)},d.allocUnsafeSlow=function(t){return l(t)},d.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==d.prototype},d.compare=function(t,e){if(K(t,Uint8Array)&&(t=d.from(t,t.offset,t.byteLength)),K(e,Uint8Array)&&(e=d.from(e,e.offset,e.byteLength)),!d.isBuffer(t)||!d.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;let r=t.length,n=e.length;for(let i=0,o=Math.min(r,n);i<o;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0},d.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},d.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return d.alloc(0);let r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;const n=d.allocUnsafe(e);let i=0;for(r=0;r<t.length;++r){let e=t[r];if(K(e,Uint8Array))i+e.length>n.length?(d.isBuffer(e)||(e=d.from(e)),e.copy(n,i)):Uint8Array.prototype.set.call(n,e,i);else{if(!d.isBuffer(e))throw new TypeError('"list" argument must be an Array of Buffers');e.copy(n,i)}i+=e.length}return n},d.byteLength=p,d.prototype._isBuffer=!0,d.prototype.swap16=function(){const t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let e=0;e<t;e+=2)b(this,e,e+1);return this},d.prototype.swap32=function(){const t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let e=0;e<t;e+=4)b(this,e,e+3),b(this,e+1,e+2);return this},d.prototype.swap64=function(){const t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let e=0;e<t;e+=8)b(this,e,e+7),b(this,e+1,e+6),b(this,e+2,e+5),b(this,e+3,e+4);return this},d.prototype.toString=function(){const t=this.length;return 0===t?"":0===arguments.length?E(this,0,t):m.apply(this,arguments)},d.prototype.toLocaleString=d.prototype.toString,d.prototype.equals=function(t){if(!d.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===d.compare(this,t)},d.prototype.inspect=function(){let t="";const r=e.INSPECT_MAX_BYTES;return t=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(t+=" ... "),"<Buffer "+t+">"},o&&(d.prototype[o]=d.prototype.inspect),d.prototype.compare=function(t,e,r,n,i){if(K(t,Uint8Array)&&(t=d.from(t,t.offset,t.byteLength)),!d.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;let o=(i>>>=0)-(n>>>=0),s=(r>>>=0)-(e>>>=0);const a=Math.min(o,s),u=this.slice(n,i),h=t.slice(e,r);for(let t=0;t<a;++t)if(u[t]!==h[t]){o=u[t],s=h[t];break}return o<s?-1:s<o?1:0},d.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},d.prototype.indexOf=function(t,e,r){return y(this,t,e,r,!0)},d.prototype.lastIndexOf=function(t,e,r){return y(this,t,e,r,!1)},d.prototype.write=function(t,e,r,n){if(void 0===e)n="utf8",r=this.length,e=0;else if(void 0===r&&"string"==typeof e)n=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}const i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let o=!1;for(;;)switch(n){case"hex":return _(this,t,e,r);case"utf8":case"utf-8":return M(this,t,e,r);case"ascii":case"latin1":case"binary":return w(this,t,e,r);case"base64":return $(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},d.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const T=4096;function A(t,e,r){let n="";r=Math.min(t.length,r);for(let i=e;i<r;++i)n+=String.fromCharCode(127&t[i]);return n}function R(t,e,r){let n="";r=Math.min(t.length,r);for(let i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}function P(t,e,r){const n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);let i="";for(let n=e;n<r;++n)i+=X[t[n]];return i}function O(t,e,r){const n=t.slice(e,r);let i="";for(let t=0;t<n.length-1;t+=2)i+=String.fromCharCode(n[t]+256*n[t+1]);return i}function C(t,e,r){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}function I(t,e,r,n,i,o){if(!d.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||e<o)throw new RangeError('"value" argument is out of bounds');if(r+n>t.length)throw new RangeError("Index out of range")}function L(t,e,r,n,i){j(e,n,i,t,r,7);let o=Number(e&BigInt(4294967295));t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o;let s=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=s,s>>=8,t[r++]=s,s>>=8,t[r++]=s,s>>=8,t[r++]=s,r}function D(t,e,r,n,i){j(e,n,i,t,r,7);let o=Number(e&BigInt(4294967295));t[r+7]=o,o>>=8,t[r+6]=o,o>>=8,t[r+5]=o,o>>=8,t[r+4]=o;let s=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=s,s>>=8,t[r+2]=s,s>>=8,t[r+1]=s,s>>=8,t[r]=s,r+8}function U(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function k(t,e,r,n,o){return e=+e,r>>>=0,o||U(t,0,r,4),i.write(t,e,r,n,23,4),r+4}function x(t,e,r,n,o){return e=+e,r>>>=0,o||U(t,0,r,8),i.write(t,e,r,n,52,8),r+8}d.prototype.slice=function(t,e){const r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t);const n=this.subarray(t,e);return Object.setPrototypeOf(n,d.prototype),n},d.prototype.readUintLE=d.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||C(t,e,this.length);let n=this[t],i=1,o=0;for(;++o<e&&(i*=256);)n+=this[t+o]*i;return n},d.prototype.readUintBE=d.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||C(t,e,this.length);let n=this[t+--e],i=1;for(;e>0&&(i*=256);)n+=this[t+--e]*i;return n},d.prototype.readUint8=d.prototype.readUInt8=function(t,e){return t>>>=0,e||C(t,1,this.length),this[t]},d.prototype.readUint16LE=d.prototype.readUInt16LE=function(t,e){return t>>>=0,e||C(t,2,this.length),this[t]|this[t+1]<<8},d.prototype.readUint16BE=d.prototype.readUInt16BE=function(t,e){return t>>>=0,e||C(t,2,this.length),this[t]<<8|this[t+1]},d.prototype.readUint32LE=d.prototype.readUInt32LE=function(t,e){return t>>>=0,e||C(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},d.prototype.readUint32BE=d.prototype.readUInt32BE=function(t,e){return t>>>=0,e||C(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},d.prototype.readBigUInt64LE=J((function(t){H(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||G(t,this.length-8);const n=e+256*this[++t]+65536*this[++t]+this[++t]*2**24,i=this[++t]+256*this[++t]+65536*this[++t]+r*2**24;return BigInt(n)+(BigInt(i)<<BigInt(32))})),d.prototype.readBigUInt64BE=J((function(t){H(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||G(t,this.length-8);const n=e*2**24+65536*this[++t]+256*this[++t]+this[++t],i=this[++t]*2**24+65536*this[++t]+256*this[++t]+r;return(BigInt(n)<<BigInt(32))+BigInt(i)})),d.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||C(t,e,this.length);let n=this[t],i=1,o=0;for(;++o<e&&(i*=256);)n+=this[t+o]*i;return i*=128,n>=i&&(n-=Math.pow(2,8*e)),n},d.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||C(t,e,this.length);let n=e,i=1,o=this[t+--n];for(;n>0&&(i*=256);)o+=this[t+--n]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*e)),o},d.prototype.readInt8=function(t,e){return t>>>=0,e||C(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},d.prototype.readInt16LE=function(t,e){t>>>=0,e||C(t,2,this.length);const r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},d.prototype.readInt16BE=function(t,e){t>>>=0,e||C(t,2,this.length);const r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},d.prototype.readInt32LE=function(t,e){return t>>>=0,e||C(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},d.prototype.readInt32BE=function(t,e){return t>>>=0,e||C(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},d.prototype.readBigInt64LE=J((function(t){H(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||G(t,this.length-8);const n=this[t+4]+256*this[t+5]+65536*this[t+6]+(r<<24);return(BigInt(n)<<BigInt(32))+BigInt(e+256*this[++t]+65536*this[++t]+this[++t]*2**24)})),d.prototype.readBigInt64BE=J((function(t){H(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||G(t,this.length-8);const n=(e<<24)+65536*this[++t]+256*this[++t]+this[++t];return(BigInt(n)<<BigInt(32))+BigInt(this[++t]*2**24+65536*this[++t]+256*this[++t]+r)})),d.prototype.readFloatLE=function(t,e){return t>>>=0,e||C(t,4,this.length),i.read(this,t,!0,23,4)},d.prototype.readFloatBE=function(t,e){return t>>>=0,e||C(t,4,this.length),i.read(this,t,!1,23,4)},d.prototype.readDoubleLE=function(t,e){return t>>>=0,e||C(t,8,this.length),i.read(this,t,!0,52,8)},d.prototype.readDoubleBE=function(t,e){return t>>>=0,e||C(t,8,this.length),i.read(this,t,!1,52,8)},d.prototype.writeUintLE=d.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||I(this,t,e,r,Math.pow(2,8*r)-1,0);let i=1,o=0;for(this[e]=255&t;++o<r&&(i*=256);)this[e+o]=t/i&255;return e+r},d.prototype.writeUintBE=d.prototype.writeUIntBE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||I(this,t,e,r,Math.pow(2,8*r)-1,0);let i=r-1,o=1;for(this[e+i]=255&t;--i>=0&&(o*=256);)this[e+i]=t/o&255;return e+r},d.prototype.writeUint8=d.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||I(this,t,e,1,255,0),this[e]=255&t,e+1},d.prototype.writeUint16LE=d.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||I(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},d.prototype.writeUint16BE=d.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||I(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},d.prototype.writeUint32LE=d.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||I(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},d.prototype.writeUint32BE=d.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||I(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},d.prototype.writeBigUInt64LE=J((function(t,e=0){return L(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),d.prototype.writeBigUInt64BE=J((function(t,e=0){return D(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),d.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){const n=Math.pow(2,8*r-1);I(this,t,e,r,n-1,-n)}let i=0,o=1,s=0;for(this[e]=255&t;++i<r&&(o*=256);)t<0&&0===s&&0!==this[e+i-1]&&(s=1),this[e+i]=(t/o|0)-s&255;return e+r},d.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){const n=Math.pow(2,8*r-1);I(this,t,e,r,n-1,-n)}let i=r-1,o=1,s=0;for(this[e+i]=255&t;--i>=0&&(o*=256);)t<0&&0===s&&0!==this[e+i+1]&&(s=1),this[e+i]=(t/o|0)-s&255;return e+r},d.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||I(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},d.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||I(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},d.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||I(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},d.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||I(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},d.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||I(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},d.prototype.writeBigInt64LE=J((function(t,e=0){return L(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),d.prototype.writeBigInt64BE=J((function(t,e=0){return D(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),d.prototype.writeFloatLE=function(t,e,r){return k(this,t,e,!0,r)},d.prototype.writeFloatBE=function(t,e,r){return k(this,t,e,!1,r)},d.prototype.writeDoubleLE=function(t,e,r){return x(this,t,e,!0,r)},d.prototype.writeDoubleBE=function(t,e,r){return x(this,t,e,!1,r)},d.prototype.copy=function(t,e,r,n){if(!d.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);const i=n-r;return this===t&&"function"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(e,r,n):Uint8Array.prototype.set.call(t,this.subarray(r,n),e),i},d.prototype.fill=function(t,e,r,n){if("string"==typeof t){if("string"==typeof e?(n=e,e=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!d.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(1===t.length){const e=t.charCodeAt(0);("utf8"===n&&e<128||"latin1"===n)&&(t=e)}}else"number"==typeof t?t&=255:"boolean"==typeof t&&(t=Number(t));if(e<0||this.length<e||this.length<r)throw new RangeError("Out of range index");if(r<=e)return this;let i;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(i=e;i<r;++i)this[i]=t;else{const o=d.isBuffer(t)?t:d.from(t,n),s=o.length;
vendor: 16,923 bytes, line 15672
15672if(0===s)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(i=0;i<r-e;++i)this[i+e]=o[i%s]}return this};const F={};function B(t,e,r){F[t]=class extends r{constructor(){super(),Object.defineProperty(this,"message",{value:e.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${t}]`,this.stack,delete this.name}get code(){return t}set code(t){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:t,writable:!0})}toString(){return`${this.name} [${t}]: ${this.message}`}}}function V(t){let e="",r=t.length;const n="-"===t[0]?1:0;for(;r>=n+4;r-=3)e=`_${t.slice(r-3,r)}${e}`;return`${t.slice(0,r)}${e}`}function j(t,e,r,n,i,o){if(t>r||t<e){const n="bigint"==typeof e?"n":"";let i;throw i=o>3?0===e||e===BigInt(0)?`>= 0${n} and < 2${n} ** ${8*(o+1)}${n}`:`>= -(2${n} ** ${8*(o+1)-1}${n}) and < 2 ** ${8*(o+1)-1}${n}`:`>= ${e}${n} and <= ${r}${n}`,new F.ERR_OUT_OF_RANGE("value",i,t)}!function(t,e,r){H(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||G(e,t.length-(r+1))}(n,i,o)}function H(t,e){if("number"!=typeof t)throw new F.ERR_INVALID_ARG_TYPE(e,"number",t)}function G(t,e,r){if(Math.floor(t)!==t)throw H(t,r),new F.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new F.ERR_BUFFER_OUT_OF_BOUNDS;throw new F.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${e}`,t)}B("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),B("ERR_INVALID_ARG_TYPE",(function(t,e){return`The "${t}" argument must be of type number. Received type ${typeof e}`}),TypeError),B("ERR_OUT_OF_RANGE",(function(t,e,r){let n=`The value of "${t}" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>2**32?i=V(String(r)):"bigint"==typeof r&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=V(i)),i+="n"),n+=` It must be ${e}. Received ${i}`,n}),RangeError);const W=/[^+/0-9A-Za-z-_]/g;function Y(t,e){let r;e=e||1/0;const n=t.length;let i=null;const o=[];for(let s=0;s<n;++s){if(r=t.charCodeAt(s),r>55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function z(t){return n.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(W,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function q(t,e,r,n){let i;for(i=0;i<n&&!(i+r>=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function K(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function Z(t){return t!=t}const X=function(){const t="0123456789abcdef",e=new Array(256);for(let r=0;r<16;++r){const n=16*r;for(let i=0;i<16;++i)e[n+i]=t[r]+t[i]}return e}();function J(t){return"undefined"==typeof BigInt?Q:t}function Q(){throw new Error("BigInt not supported")}},6168:(t,e,r)=>{"use strict";var n=r(2861).Buffer,i=r(8310).Transform,o=r(3141).I;function s(t){i.call(this),this.hashMode="string"==typeof t,this.hashMode?this[t]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}r(6698)(s,i);var a="undefined"!=typeof Uint8Array,d="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&ArrayBuffer.isView&&(n.prototype instanceof Uint8Array||n.TYPED_ARRAY_SUPPORT);s.prototype.update=function(t,e,r){var i=function(t,e){if(t instanceof n)return t;if("string"==typeof t)return n.from(t,e);if(d&&ArrayBuffer.isView(t)){if(0===t.byteLength)return n.alloc(0);var r=n.from(t.buffer,t.byteOffset,t.byteLength);if(r.byteLength===t.byteLength)return r}if(a&&t instanceof Uint8Array)return n.from(t);if(n.isBuffer(t)&&t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t))return n.from(t);throw new TypeError('The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView.')}(t,e),o=this._update(i);return this.hashMode?this:(r&&(o=this._toString(o,r)),o)},s.prototype.setAutoPadding=function(){},s.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},s.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},s.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},s.prototype._transform=function(t,e,r){var n;try{this.hashMode?this._update(t):this.push(this._update(t))}catch(t){n=t}finally{r(n)}},s.prototype._flush=function(t){var e;try{this.push(this.__final())}catch(t){e=t}t(e)},s.prototype._finalOrDigest=function(t){var e=this.__final()||n.alloc(0);return t&&(e=this._toString(e,t,!0)),e},s.prototype._toString=function(t,e,r){if(this._decoder||(this._decoder=new o(e),this._encoding=e),this._encoding!==e)throw new Error("canât switch encodings");var n=this._decoder.write(t);return r&&(n+=this._decoder.end()),n},t.exports=s},5622:(t,e,r)=>{function n(t){return Object.prototype.toString.call(t)}e.isArray=function(t){return Array.isArray?Array.isArray(t):"[object Array]"===n(t)},e.isBoolean=function(t){return"boolean"==typeof t},e.isNull=function(t){return null===t},e.isNullOrUndefined=function(t){return null==t},e.isNumber=function(t){return"number"==typeof t},e.isString=function(t){return"string"==typeof t},e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=function(t){return void 0===t},e.isRegExp=function(t){return"[object RegExp]"===n(t)},e.isObject=function(t){return"object"==typeof t&&null!==t},e.isDate=function(t){return"[object Date]"===n(t)},e.isError=function(t){return"[object Error]"===n(t)||t instanceof Error},e.isFunction=function(t){return"function"==typeof t},e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=r(8287).Buffer.isBuffer},1324:(t,e,r)=>{var n=r(6729),i=r(2801);t.exports=function(t){return new s(t)};var o={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};function s(t){this.curveType=o[t],this.curveType||(this.curveType={name:t}),this.curve=new n.ec(this.curveType.name),this.keys=void 0}function a(t,e,r){Array.isArray(t)||(t=t.toArray());var n=new Buffer(t);if(r&&n.length<r){var i=new Buffer(r-n.length);i.fill(0),n=Buffer.concat([i,n])}return e?n.toString(e):n}o.p224=o.secp224r1,o.p256=o.secp256r1=o.prime256v1,o.p192=o.secp192r1=o.prime192v1,o.p384=o.secp384r1,o.p521=o.secp521r1,s.prototype.generateKeys=function(t,e){return this.keys=this.curve.genKeyPair(),this.getPublicKey(t,e)},s.prototype.computeSecret=function(t,e,r){return e=e||"utf8",Buffer.isBuffer(t)||(t=new Buffer(t,e)),a(this.curve.keyFromPublic(t).getPublic().mul(this.keys.getPrivate()).getX(),r,this.curveType.byteLength)},s.prototype.getPublicKey=function(t,e){var r=this.keys.getPublic("compressed"===e,!0);return"hybrid"===e&&(r[r.length-1]%2?r[0]=7:r[0]=6),a(r,t)},s.prototype.getPrivateKey=function(t){return a(this.keys.getPrivate(),t)},s.prototype.setPublicKey=function(t,e){return e=e||"utf8",Buffer.isBuffer(t)||(t=new Buffer(t,e)),this.keys._importPublic(t),this},s.prototype.setPrivateKey=function(t,e){e=e||"utf8",Buffer.isBuffer(t)||(t=new Buffer(t,e));var r=new i(t);return r=r.toString(16),this.keys=this.curve.genKeyPair(),this.keys._importPrivate(r),this}},2801:function(t,e,r){!function(t,e){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function o(t,e,r){if(o.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var s;"object"==typeof t?t.exports=o:e.BN=o,o.BN=o,o.wordSize=26;try{s="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(7965).Buffer}catch(t){}function a(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function d(t,e,r){var n=a(t,r);return r-1>=e&&(n|=a(t,r-1)<<4),n}function u(t,e,r,n){for(var i=0,o=Math.min(t.length,r),s=e;s<o;s++){var a=t.charCodeAt(s)-48;i*=n,i+=a>=49?a-49+10:a>=17?a-17+10:a}return i}o.isBN=function(t){return t instanceof o||null!==t&&"object"==typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i<t.length&&(16===e?this._parseHex(t,i,r):(this._parseBase(t,e,i),"le"===r&&this._initArray(this.toArray(),e,r)))},o.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initArray=function(t,e,r){if(n("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var o,s,a=0;if("be"===r)for(i=t.length-1,o=0;i>=0;i-=3)s=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===r)for(i=0,o=0;i<t.length;i+=3)s=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var i,o=0,s=0;if("be"===r)for(n=t.length-1;n>=e;n-=2)i=d(t,e,n)<<o,this.words[s]|=67108863&i,o>=18?(o-=18,s+=1,this.words[s]|=i>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n<t.length;n+=2)i=d(t,e,n)<<o,this.words[s]|=67108863&i,o>=18?(o-=18,s+=1,this.words[s]|=i>>>26):o+=8;this.strip()},o.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,s=o%n,a=Math.min(o,o-s)+r,d=0,h=r;h<a;h+=n)d=u(t,h,h+n,e),this.imuln(i),this.words[0]+d<67108864?this.words[0]+=d:this._iaddn(d);if(0!==s){var l=1;for(d=u(t,h,t.length,e),h=0;h<s;h++)l*=e;this.imuln(l),this.words[0]+d<67108864?this.words[0]+=d:this._iaddn(d)}this.strip()},o.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},o.prototype.clone=function(){var t=new o(null);return this.copy(t),t},o.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},o.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function c(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],s=i*o,a=67108863&s,d=s/67108864|0;r.words[0]=a;for(var u=1;u<n;u++){for(var h=d>>>26,l=67108863&d,f=Math.min(u,e.length-1),c=Math.max(0,u-t.length+1);c<=f;c++){var g=u-c|0;h+=(s=(i=0|t.words[g])*(o=0|e.words[c])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,d=0|h}return 0!==d?r.words[u]=0|d:r.length--,r.strip()}o.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var i=0,o=0,s=0;s<this.length;s++){var a=this.words[s],d=(16777215&(a<<i|o)).toString(16);o=a>>>24-i&16777215,(i+=2)>=26&&(i-=26,s--),r=0!==o||s!==this.length-1?h[6-d.length]+d+r:d+r}for(0!==o&&(r=o.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=l[t],c=f[t];r="";var g=this.clone();for(g.negative=0;!g.isZero();){var p=g.modn(c).toString(t);r=(g=g.idivn(c)).isZero()?p+r:h[u-p.length]+p+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return n(void 0!==s),this.toArrayLike(s,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),o=r||Math.max(1,i);n(i<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0"),this.strip();var s,a,d="le"===e,u=new t(o),h=this.clone();if(d){for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),u[a]=s;for(;a<o;a++)u[a]=0}else{for(a=0;a<o-i;a++)u[a]=0;for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),u[o-a-1]=s}return u},Math.clz32?o.prototype._countBits=function(t){return 32-Math.clz32(t)}:o.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 8191&e||(r+=13,e>>>=13),127&e||(r+=7,e>>>=7),15&e||(r+=4,e>>>=4),3&e||(r+=2,e>>>=2),1&e||r++,r},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},o.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},o.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},o.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},o.prototype.isNeg=function(){return 0!==this.negative},o.prototype.neg=function(){return this.clone().ineg()},o.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},o.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},o.prototype.ior=function(t){return n(!(this.negative|t.negative)),this.iuor(t)},o.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},o.prototype.iand=function(t){return n(!(this.negative|t.negative)),this.iuand(t)},o.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n<r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n<e.length;n++)this.words[n]=e.words[n];return this.length=e.length,this.strip()},o.prototype.ixor=function(t){return n(!
vendor: 2,330 bytes, line 15672
15672(this.negative|t.negative)),this.iuxor(t)},o.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<<i:this.words[r]&~(1<<i),this.strip()},o.prototype.iadd=function(t){var e,r,n;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o<n.length;o++)e=(0|r.words[o])+(0|n.words[o])+i,this.words[o]=67108863&e,i=e>>>26;for(;0!==i&&o<r.length;o++)e=(0|r.words[o])+i,this.words[o]=67108863&e,i=e>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},o.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,s=0;s<n.length;s++)o=(e=(0|r.words[s])-(0|n.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},o.prototype.sub=function(t){return this.clone().isub(t)};var
vendor: 7,651 bytes, line 15672
15672g=function(t,e,r){var n,i,o,s=t.words,a=e.words,d=r.words,u=0,h=0|s[0],l=8191&h,f=h>>>13,c=0|s[1],g=8191&c,p=c>>>13,m=0|s[2],b=8191&m,y=m>>>13,v=0|s[3],_=8191&v,M=v>>>13,w=0|s[4],$=8191&w,S=w>>>13,N=0|s[5],E=8191&N,T=N>>>13,A=0|s[6],R=8191&A,P=A>>>13,O=0|s[7],C=8191&O,I=O>>>13,L=0|s[8],D=8191&L,U=L>>>13,k=0|s[9],x=8191&k,F=k>>>13,B=0|a[0],V=8191&B,j=B>>>13,H=0|a[1],G=8191&H,W=H>>>13,Y=0|a[2],z=8191&Y,q=Y>>>13,K=0|a[3],Z=8191&K,X=K>>>13,J=0|a[4],Q=8191&J,tt=J>>>13,et=0|a[5],rt=8191&et,nt=et>>>13,it=0|a[6],ot=8191&it,st=it>>>13,at=0|a[7],dt=8191&at,ut=at>>>13,ht=0|a[8],lt=8191&ht,ft=ht>>>13,ct=0|a[9],gt=8191&ct,pt=ct>>>13;r.negative=t.negative^e.negative,r.length=19;var mt=(u+(n=Math.imul(l,V))|0)+((8191&(i=(i=Math.imul(l,j))+Math.imul(f,V)|0))<<13)|0;u=((o=Math.imul(f,j))+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(g,V),i=(i=Math.imul(g,j))+Math.imul(p,V)|0,o=Math.imul(p,j);var bt=(u+(n=n+Math.imul(l,G)|0)|0)+((8191&(i=(i=i+Math.imul(l,W)|0)+Math.imul(f,G)|0))<<13)|0;u=((o=o+Math.imul(f,W)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(b,V),i=(i=Math.imul(b,j))+Math.imul(y,V)|0,o=Math.imul(y,j),n=n+Math.imul(g,G)|0,i=(i=i+Math.imul(g,W)|0)+Math.imul(p,G)|0,o=o+Math.imul(p,W)|0;var yt=(u+(n=n+Math.imul(l,z)|0)|0)+((8191&(i=(i=i+Math.imul(l,q)|0)+Math.imul(f,z)|0))<<13)|0;u=((o=o+Math.imul(f,q)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(_,V),i=(i=Math.imul(_,j))+Math.imul(M,V)|0,o=Math.imul(M,j),n=n+Math.imul(b,G)|0,i=(i=i+Math.imul(b,W)|0)+Math.imul(y,G)|0,o=o+Math.imul(y,W)|0,n=n+Math.imul(g,z)|0,i=(i=i+Math.imul(g,q)|0)+Math.imul(p,z)|0,o=o+Math.imul(p,q)|0;var vt=(u+(n=n+Math.imul(l,Z)|0)|0)+((8191&(i=(i=i+Math.imul(l,X)|0)+Math.imul(f,Z)|0))<<13)|0;u=((o=o+Math.imul(f,X)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul($,V),i=(i=Math.imul($,j))+Math.imul(S,V)|0,o=Math.imul(S,j),n=n+Math.imul(_,G)|0,i=(i=i+Math.imul(_,W)|0)+Math.imul(M,G)|0,o=o+Math.imul(M,W)|0,n=n+Math.imul(b,z)|0,i=(i=i+Math.imul(b,q)|0)+Math.imul(y,z)|0,o=o+Math.imul(y,q)|0,n=n+Math.imul(g,Z)|0,i=(i=i+Math.imul(g,X)|0)+Math.imul(p,Z)|0,o=o+Math.imul(p,X)|0;var _t=(u+(n=n+Math.imul(l,Q)|0)|0)+((8191&(i=(i=i+Math.imul(l,tt)|0)+Math.imul(f,Q)|0))<<13)|0;u=((o=o+Math.imul(f,tt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(E,V),i=(i=Math.imul(E,j))+Math.imul(T,V)|0,o=Math.imul(T,j),n=n+Math.imul($,G)|0,i=(i=i+Math.imul($,W)|0)+Math.imul(S,G)|0,o=o+Math.imul(S,W)|0,n=n+Math.imul(_,z)|0,i=(i=i+Math.imul(_,q)|0)+Math.imul(M,z)|0,o=o+Math.imul(M,q)|0,n=n+Math.imul(b,Z)|0,i=(i=i+Math.imul(b,X)|0)+Math.imul(y,Z)|0,o=o+Math.imul(y,X)|0,n=n+Math.imul(g,Q)|0,i=(i=i+Math.imul(g,tt)|0)+Math.imul(p,Q)|0,o=o+Math.imul(p,tt)|0;var Mt=(u+(n=n+Math.imul(l,rt)|0)|0)+((8191&(i=(i=i+Math.imul(l,nt)|0)+Math.imul(f,rt)|0))<<13)|0;u=((o=o+Math.imul(f,nt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(R,V),i=(i=Math.imul(R,j))+Math.imul(P,V)|0,o=Math.imul(P,j),n=n+Math.imul(E,G)|0,i=(i=i+Math.imul(E,W)|0)+Math.imul(T,G)|0,o=o+Math.imul(T,W)|0,n=n+Math.imul($,z)|0,i=(i=i+Math.imul($,q)|0)+Math.imul(S,z)|0,o=o+Math.imul(S,q)|0,n=n+Math.imul(_,Z)|0,i=(i=i+Math.imul(_,X)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,X)|0,n=n+Math.imul(b,Q)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(y,Q)|0,o=o+Math.imul(y,tt)|0,n=n+Math.imul(g,rt)|0,i=(i=i+Math.imul(g,nt)|0)+Math.imul(p,rt)|0,o=o+Math.imul(p,nt)|0;var wt=(u+(n=n+Math.imul(l,ot)|0)|0)+((8191&(i=(i=i+Math.imul(l,st)|0)+Math.imul(f,ot)|0))<<13)|0;u=((o=o+Math.imul(f,st)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(C,V),i=(i=Math.imul(C,j))+Math.imul(I,V)|0,o=Math.imul(I,j),n=n+Math.imul(R,G)|0,i=(i=i+Math.imul(R,W)|0)+Math.imul(P,G)|0,o=o+Math.imul(P,W)|0,n=n+Math.imul(E,z)|0,i=(i=i+Math.imul(E,q)|0)+Math.imul(T,z)|0,o=o+Math.imul(T,q)|0,n=n+Math.imul($,Z)|0,i=(i=i+Math.imul($,X)|0)+Math.imul(S,Z)|0,o=o+Math.imul(S,X)|0,n=n+Math.imul(_,Q)|0,i=(i=i+Math.imul(_,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(y,rt)|0,o=o+Math.imul(y,nt)|0,n=n+Math.imul(g,ot)|0,i=(i=i+Math.imul(g,st)|0)+Math.imul(p,ot)|0,o=o+Math.imul(p,st)|0;var $t=(u+(n=n+Math.imul(l,dt)|0)|0)+((8191&(i=(i=i+Math.imul(l,ut)|0)+Math.imul(f,dt)|0))<<13)|0;u=((o=o+Math.imul(f,ut)|0)+(i>>>13)|0)+($t>>>26)|0,$t&=67108863,n=Math.imul(D,V),i=(i=Math.imul(D,j))+Math.imul(U,V)|0,o=Math.imul(U,j),n=n+Math.imul(C,G)|0,i=(i=i+Math.imul(C,W)|0)+Math.imul(I,G)|0,o=o+Math.imul(I,W)|0,n=n+Math.imul(R,z)|0,i=(i=i+Math.imul(R,q)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,q)|0,n=n+Math.imul(E,Z)|0,i=(i=i+Math.imul(E,X)|0)+Math.imul(T,Z)|0,o=o+Math.imul(T,X)|0,n=n+Math.imul($,Q)|0,i=(i=i+Math.imul($,tt)|0)+Math.imul(S,Q)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(_,rt)|0,i=(i=i+Math.imul(_,nt)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,nt)|0,n=n+Math.imul(b,ot)|0,i=(i=i+Math.imul(b,st)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,st)|0,n=n+Math.imul(g,dt)|0,i=(i=i+Math.imul(g,ut)|0)+Math.imul(p,dt)|0,o=o+Math.imul(p,ut)|0;var St=(u+(n=n+Math.imul(l,lt)|0)|0)+((8191&(i=(i=i+Math.imul(l,ft)|0)+Math.imul(f,lt)|0))<<13)|0;u=((o=o+Math.imul(f,ft)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(x,V),i=(i=Math.imul(x,j))+Math.imul(F,V)|0,o=Math.imul(F,j),n=n+Math.imul(D,G)|0,i=(i=i+Math.imul(D,W)|0)+Math.imul(U,G)|0,o=o+Math.imul(U,W)|0,n=n+Math.imul(C,z)|0,i=(i=i+Math.imul(C,q)|0)+Math.imul(I,z)|0,o=o+Math.imul(I,q)|0,n=n+Math.imul(R,Z)|0,i=(i=i+Math.imul(R,X)|0)+Math.imul(P,Z)|0,o=o+Math.imul(P,X)|0,n=n+Math.imul(E,Q)|0,i=(i=i+Math.imul(E,tt)|0)+Math.imul(T,Q)|0,o=o+Math.imul(T,tt)|0,n=n+Math.imul($,rt)|0,i=(i=i+Math.imul($,nt)|0)+Math.imul(S,rt)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(_,ot)|0,i=(i=i+Math.imul(_,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,n=n+Math.imul(b,dt)|0,i=(i=i+Math.imul(b,ut)|0)+Math.imul(y,dt)|0,o=o+Math.imul(y,ut)|0,n=n+Math.imul(g,lt)|0,i=(i=i+Math.imul(g,ft)|0)+Math.imul(p,lt)|0,o=o+Math.imul(p,ft)|0;var Nt=(u+(n=n+Math.imul(l,gt)|0)|0)+((8191&(i=(i=i+Math.imul(l,pt)|0)+Math.imul(f,gt)|0))<<13)|0;u=((o=o+Math.imul(f,pt)|0)+(i>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,n=Math.imul(x,G),i=(i=Math.imul(x,W))+Math.imul(F,G)|0,o=Math.imul(F,W),n=n+Math.imul(D,z)|0,i=(i=i+Math.imul(D,q)|0)+Math.imul(U,z)|0,o=o+Math.imul(U,q)|0,n=n+Math.imul(C,Z)|0,i=(i=i+Math.imul(C,X)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,X)|0,n=n+Math.imul(R,Q)|0,i=(i=i+Math.imul(R,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,n=n+Math.imul(E,rt)|0,i=(i=i+Math.imul(E,nt)|0)+Math.imul(T,rt)|0,o=o+Math.imul(T,nt)|0,n=n+Math.imul($,ot)|0,i=(i=i+Math.imul($,st)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,st)|0,n=n+Math.imul(_,dt)|0,i=(i=i+Math.imul(_,ut)|0)+Math.imul(M,dt)|0,o=o+Math.imul(M,ut)|0,n=n+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ft)|0)+Math.imul(y,lt)|0,o=o+Math.imul(y,ft)|0;var Et=(u+(n=n+Math.imul(g,gt)|0)|0)+((8191&(i=(i=i+Math.imul(g,pt)|0)+Math.imul(p,gt)|0))<<13)|0;u=((o=o+Math.imul(p,pt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(x,z),i=(i=Math.imul(x,q))+Math.imul(F,z)|0,o=Math.imul(F,q),n=n+Math.imul(D,Z)|0,i=(i=i+Math.imul(D,X)|0)+Math.imul(U,Z)|0,o=o+Math.imul(U,X)|0,n=n+Math.imul(C,Q)|0,i=(i=i+Math.imul(C,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,n=n+Math.imul(R,rt)|0,i=(i=i+Math.imul(R,nt)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,nt)|0,n=n+Math.imul(E,ot)|0,i=(i=i+Math.imul(E,st)|0)+Math.imul(T,ot)|0,o=o+Math.imul(T,st)|0,n=n+Math.imul($,dt)|0,i=(i=i+Math.imul($,ut)|0)+Math.imul(S,dt)|0,o=o+Math.imul(S,ut)|0,n=n+Math.imul(_,lt)|0,i=(i=i+Math.imul(_,ft)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,ft)|0;var Tt=(u+(n=n+Math.imul(b,gt)|0)|0)+((8191&(i=(i=i+Math.imul(b,pt)|0)+Math.imul(y,gt)|0))<<13)|0;u=((o=o+Math.imul(y,pt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(x,Z),i=(i=Math.imul(x,X))+Math.imul(F,Z)|0,o=Math.imul(F,X
vendor: 5,428 bytes, line 15672
15672),n=n+Math.imul(D,Q)|0,i=(i=i+Math.imul(D,tt)|0)+Math.imul(U,Q)|0,o=o+Math.imul(U,tt)|0,n=n+Math.imul(C,rt)|0,i=(i=i+Math.imul(C,nt)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,nt)|0,n=n+Math.imul(R,ot)|0,i=(i=i+Math.imul(R,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,n=n+Math.imul(E,dt)|0,i=(i=i+Math.imul(E,ut)|0)+Math.imul(T,dt)|0,o=o+Math.imul(T,ut)|0,n=n+Math.imul($,lt)|0,i=(i=i+Math.imul($,ft)|0)+Math.imul(S,lt)|0,o=o+Math.imul(S,ft)|0;var At=(u+(n=n+Math.imul(_,gt)|0)|0)+((8191&(i=(i=i+Math.imul(_,pt)|0)+Math.imul(M,gt)|0))<<13)|0;u=((o=o+Math.imul(M,pt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(x,Q),i=(i=Math.imul(x,tt))+Math.imul(F,Q)|0,o=Math.imul(F,tt),n=n+Math.imul(D,rt)|0,i=(i=i+Math.imul(D,nt)|0)+Math.imul(U,rt)|0,o=o+Math.imul(U,nt)|0,n=n+Math.imul(C,ot)|0,i=(i=i+Math.imul(C,st)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,st)|0,n=n+Math.imul(R,dt)|0,i=(i=i+Math.imul(R,ut)|0)+Math.imul(P,dt)|0,o=o+Math.imul(P,ut)|0,n=n+Math.imul(E,lt)|0,i=(i=i+Math.imul(E,ft)|0)+Math.imul(T,lt)|0,o=o+Math.imul(T,ft)|0;var Rt=(u+(n=n+Math.imul($,gt)|0)|0)+((8191&(i=(i=i+Math.imul($,pt)|0)+Math.imul(S,gt)|0))<<13)|0;u=((o=o+Math.imul(S,pt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(x,rt),i=(i=Math.imul(x,nt))+Math.imul(F,rt)|0,o=Math.imul(F,nt),n=n+Math.imul(D,ot)|0,i=(i=i+Math.imul(D,st)|0)+Math.imul(U,ot)|0,o=o+Math.imul(U,st)|0,n=n+Math.imul(C,dt)|0,i=(i=i+Math.imul(C,ut)|0)+Math.imul(I,dt)|0,o=o+Math.imul(I,ut)|0,n=n+Math.imul(R,lt)|0,i=(i=i+Math.imul(R,ft)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ft)|0;var Pt=(u+(n=n+Math.imul(E,gt)|0)|0)+((8191&(i=(i=i+Math.imul(E,pt)|0)+Math.imul(T,gt)|0))<<13)|0;u=((o=o+Math.imul(T,pt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(x,ot),i=(i=Math.imul(x,st))+Math.imul(F,ot)|0,o=Math.imul(F,st),n=n+Math.imul(D,dt)|0,i=(i=i+Math.imul(D,ut)|0)+Math.imul(U,dt)|0,o=o+Math.imul(U,ut)|0,n=n+Math.imul(C,lt)|0,i=(i=i+Math.imul(C,ft)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ft)|0;var Ot=(u+(n=n+Math.imul(R,gt)|0)|0)+((8191&(i=(i=i+Math.imul(R,pt)|0)+Math.imul(P,gt)|0))<<13)|0;u=((o=o+Math.imul(P,pt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(x,dt),i=(i=Math.imul(x,ut))+Math.imul(F,dt)|0,o=Math.imul(F,ut),n=n+Math.imul(D,lt)|0,i=(i=i+Math.imul(D,ft)|0)+Math.imul(U,lt)|0,o=o+Math.imul(U,ft)|0;var Ct=(u+(n=n+Math.imul(C,gt)|0)|0)+((8191&(i=(i=i+Math.imul(C,pt)|0)+Math.imul(I,gt)|0))<<13)|0;u=((o=o+Math.imul(I,pt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(x,lt),i=(i=Math.imul(x,ft))+Math.imul(F,lt)|0,o=Math.imul(F,ft);var It=(u+(n=n+Math.imul(D,gt)|0)|0)+((8191&(i=(i=i+Math.imul(D,pt)|0)+Math.imul(U,gt)|0))<<13)|0;u=((o=o+Math.imul(U,pt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Lt=(u+(n=Math.imul(x,gt))|0)+((8191&(i=(i=Math.imul(x,pt))+Math.imul(F,gt)|0))<<13)|0;return u=((o=Math.imul(F,pt))+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,d[0]=mt,d[1]=bt,d[2]=yt,d[3]=vt,d[4]=_t,d[5]=Mt,d[6]=wt,d[7]=$t,d[8]=St,d[9]=Nt,d[10]=Et,d[11]=Tt,d[12]=At,d[13]=Rt,d[14]=Pt,d[15]=Ot,d[16]=Ct,d[17]=It,d[18]=Lt,0!==u&&(d[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(g=c),o.prototype.mulTo=function(t,e){var r,n=this.length+t.length;return r=10===this.length&&10===t.length?g(this,t,e):n<63?c(this,t,e):n<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o<r.length-1;o++){var s=i;i=0;for(var a=67108863&n,d=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=d;u++){var h=o-u,l=(0|t.words[h])*(0|e.words[u]),f=67108863&l;a=67108863&(f=f+a|0),i+=(s=(s=s+(l/67108864|0)|0)+(f>>>26)|0)>>>26,s&=67108863}r.words[o]=a,n=s,s=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}(this,t,e):p(this,t,e),r},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=o.prototype._countBits(t)-1,n=0;n<t;n++)e[n]=this.revBin(n,r,t);return e},m.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,i=0;i<e;i++)n|=(1&t)<<e-i-1,t>>=1;return n},m.prototype.permute=function(t,e,r,n,i,o){for(var s=0;s<o;s++)n[s]=e[t[s]],i[s]=r[t[s]]},m.prototype.transform=function(t,e,r,n,i,o){this.permute(o,t,e,r,n,i);for(var s=1;s<i;s<<=1)for(var a=s<<1,d=Math.cos(2*Math.PI/a),u=Math.sin(2*Math.PI/a),h=0;h<i;h+=a)for(var l=d,f=u,c=0;c<s;c++){var g=r[h+c],p=n[h+c],m=r[h+c+s],b=n[h+c+s],y=l*m-f*b;b=l*b+f*m,m=y,r[h+c]=g+m,n[h+c]=p+b,r[h+c+s]=g-m,n[h+c+s]=p-b,c!==a&&(y=d*l-u*f,f=d*f+u*l,l=y)}},m.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},m.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=t[n];t[n]=t[r-n-1],t[r-n-1]=i,i=e[n],e[n]=-e[r-n-1],e[r-n-1]=-i}},m.prototype.normalize13b=function(t,e){for(var r=0,n=0;n<e/2;n++){var i=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&i,r=i<67108864?0:i/67108864|0}return t},m.prototype.convert13b=function(t,e,r,i){for(var o=0,s=0;s<e;s++)o+=0|t[s],r[2*s]=8191&o,o>>>=13,r[2*s+1]=8191&o,o>>>=13;for(s=2*e;s<i;++s)r[s]=0;n(0===o),n(!(-8192&o))},m.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},m.prototype.mulp=function(t,e,r){var n=2*this.guessLen13b(t.length,e.length),i=this.makeRBT(n),o=this.stub(n),s=new Array(n),a=new Array(n),d=new Array(n),u=new Array(n),h=new Array(n),l=new Array(n),f=r.words;f.length=n,this.convert13b(t.words,t.length,s,n),this.convert13b(e.words,e.length,u,n),this.transform(s,o,a,d,n,i),this.transform(u,o,h,l,n,i);for(var c=0;c<n;
vendor: 16,384 bytes, line 15672
15672c++){var g=a[c]*h[c]-d[c]*l[c];d[c]=a[c]*l[c]+d[c]*h[c],a[c]=g}return this.conjugate(a,d,n),this.transform(a,d,f,o,n,i),this.conjugate(f,o,n),this.normalize13b(f,n),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},o.prototype.mul=function(t){var e=new o(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},o.prototype.mulf=function(t){var e=new o(null);return e.words=new Array(this.length+t.length),p(this,t,e)},o.prototype.imul=function(t){return this.clone().mulTo(t,this)},o.prototype.imuln=function(t){n("number"==typeof t),n(t<67108864);for(var e=0,r=0;r<this.length;r++){var i=(0|this.words[r])*t,o=(67108863&i)+(67108863&e);e>>=26,e+=i/67108864|0,e+=o>>>26,this.words[r]=67108863&o}return 0!==e&&(this.words[r]=e,this.length++),this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var n=r/26|0,i=r%26;e[r]=(t.words[n]&1<<i)>>>i}return e}(t);if(0===e.length)return new o(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var i=r.sqr();n<e.length;n++,i=i.sqr())0!==e[n]&&(r=r.mul(i));return r},o.prototype.iushln=function(t){n("number"==typeof t&&t>=0);var e,r=t%26,i=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var s=0;for(e=0;e<this.length;e++){var a=this.words[e]&o,d=(0|this.words[e])-a<<r;this.words[e]=d|s,s=a>>>26-r}s&&(this.words[e]=s,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this.strip()},o.prototype.ishln=function(t){return n(0===this.negative),this.iushln(t)},o.prototype.iushrn=function(t,e,r){var i;n("number"==typeof t&&t>=0),i=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<<o,d=r;if(i-=s,i=Math.max(0,i),d){for(var u=0;u<s;u++)d.words[u]=this.words[u];d.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var h=0;for(u=this.length-1;u>=0&&(0!==h||u>=i);u--){var l=0|this.words[u];this.words[u]=h<<26-o|l>>>o,h=l&a}return d&&0!==h&&(d.words[d.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<<e;return!(this.length<=r||!(this.words[r]&i))},o.prototype.imaskn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this.strip()},o.prototype.maskn=function(t){return this.clone().imaskn(t)},o.prototype.iaddn=function(t){return n("number"==typeof t),n(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},o.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},o.prototype.addn=function(t){return this.clone().iaddn(t)},o.prototype.subn=function(t){return this.clone().isubn(t)},o.prototype.iabs=function(){return this.negative=0,this},o.prototype.abs=function(){return this.clone().iabs()},o.prototype._ishlnsubmul=function(t,e,r){var i,o,s=t.length+r;this._expand(s);var a=0;for(i=0;i<t.length;i++){o=(0|this.words[i+r])+a;var d=(0|t.words[i])*e;a=((o-=67108863&d)>>26)-(d/67108864|0),this.words[i+r]=67108863&o}for(;i<this.length-r;i++)a=(o=(0|this.words[i+r])+a)>>26,this.words[i+r]=67108863&o;if(0===a)return this.strip();for(n(-1===a),a=0,i=0;i<this.length;i++)a=(o=-(0|this.words[i])+a)>>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,s=0|i.words[i.length-1];0!=(r=26-this._countBits(s))&&(i=i.ushln(r),n.iushln(r),s=0|i.words[i.length-1]);var a,d=n.length-i.length;if("mod"!==e){(a=new o(null)).length=d+1,a.words=new Array(a.length);for(var u=0;u<a.length;u++)a.words[u]=0}var h=n.clone()._ishlnsubmul(i,1,d);0===h.negative&&(n=h,a&&(a.words[d]=1));for(var l=d-1;l>=0;l--){var f=67108864*(0|n.words[i.length+l])+(0|n.words[i.length+l-1]);for(f=Math.min(f/s|0,67108863),n._ishlnsubmul(i,f,l);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(i,1,l),n.isZero()||(n.negative^=1);a&&(a.words[l]=f)}return a&&a.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:a||null,mod:n}},o.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(i=a.div.neg()),"div"!==e&&(s=a.mod.neg(),r&&0!==s.negative&&s.iadd(t)),{div:i,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(i=a.div.neg()),{div:i,mod:a.mod}):this.negative&t.negative?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),r&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,s,a},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},o.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new o(1),s=new o(0),a=new o(0),d=new o(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var h=r.clone(),l=e.clone();!e.isZero();){for(var f=0,c=1;!(e.words[0]&c)&&f<26;++f,c<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(i.isOdd()||s.isOdd())&&(i.iadd(h),s.isub(l)),i.iushrn(1),s.iushrn(1);for(var g=0,p=1;!(r.words[0]&p)&&g<26;++g,p<<=1);if(g>0)for(r.iushrn(g);g-- >0;)(a.isOdd()||d.isOdd())&&(a.iadd(h),d.isub(l)),a.iushrn(1),d.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(a),s.isub(d)):(r.isub(e),a.isub(i),d.isub(s))}return{a,b:d,gcd:r.iushln(u)}},o.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,s=new o(1),a=new o(0),d=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,h=1;!(e.words[0]&h)&&u<26;++u,h<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(d),s.iushrn(1);for(var l=0,f=1;!(r.words[0]&f)&&l<26;++l,f<<=1);if(l>0)for(r.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(d),a.iushrn(1);e.cmp(r)>=0?(e.isub(r),s.isub(a)):(r.isub(e),a.isub(s))}return(i=0===e.cmpn(1)?s:a).cmpn(0)<0&&i.iadd(t),i},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return!(1&this.words[0])},o.prototype.isOdd=function(){return!(1&~this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,i=1<<e;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var o=i,s=r;0!==o&&s<this.length;s++){var a=0|this.words[s];o=(a+=o)>>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:i<t?-1:1}return 0!==this.negative?0|-e:e},o.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},o.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){n<i?e=-1:n>i&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new $(t)},o.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var b={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function _(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function M(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function $(t){if("string"==typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function S(t){$.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},i(v,y),v.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i<n;i++)e.words[i]=t.words[i];if(e.length=n,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,i=10;i<t.length;i++){var s=0|t.words[i];t.words[i-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[i-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(_,y),i(M,y),i(w,y),w.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,i=67108863&n;n>>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(b[t])return b[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new _;else if("p192"===t)e=new M;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new w}return b[t]=e,e},$.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},$.prototype._verify2=function(t,e){n(!(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},$.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},$.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},$.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},$.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},$.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},$.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},$.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},$.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},$.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},$.prototype.isqr=function(t){return this.imul(t,t.clone())},$.prototype.sqr=function(t){return th
vendor: 1,235 bytes, line 15672
15672is.mul(t,t)},$.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new o(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),s=0;!i.isZero()&&0===i.andln(1);)s++,i.iushrn(1);n(!i.isZero());var a=new o(1).toRed(this),d=a.redNeg(),u=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new o(2*h*h).toRed(this);0!==this.pow(h,u).cmp(d);)h.redIAdd(d);for(var l=this.pow(h,i),f=this.pow(t,i.addn(1).iushrn(1)),c=this.pow(t,i),g=s;0!==c.cmp(a);){for(var p=c,m=0;0!==p.cmp(a);m++)p=p.redSqr();n(m<g);var b=this.pow(l,new o(1).iushln(g-m-1));f=f.redMul(b),l=b.redSqr(),c=c.redMul(l),g=m}return f},$.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},$.prototype.pow=function(t,e){if(e.isZero())return new o(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new o(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var i=r[0],s=0,a=0,d=e.bitLength()%26;for(0===d&&(d=26),n=e.length-1;n>=0;n--){for(var u=e.words[n],h=d-1;h>=0;h--){var l=u>>h&1;i!==r[0]&&(i=this.sqr(i)),0!==l||0!==s?(s<<=1,s|=l,(4==++a||0===n&&0===h)&&(i=this.mul(i,r[s]),a=0,s=0)):a=0}
vendor: 9,436 bytes, line 15672
15672d=26}return i},$.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},$.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new S(t)},i(S,$),S.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},S.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),s=i;return i.cmp(this.m)>=0?s=i.isub(this.m):i.cmpn(0)<0&&(s=i.iadd(this.m)),s._forceRed(this)},S.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},7108:(t,e,r)=>{"use strict";var n=r(6698),i=r(8276),o=r(6011),s=r(2802),a=r(6168);function d(t){a.call(this,"digest"),this._hash=t}n(d,a),d.prototype._update=function(t){this._hash.update(t)},d.prototype._final=function(){return this._hash.digest()},t.exports=function(t){return"md5"===(t=t.toLowerCase())?new i:"rmd160"===t||"ripemd160"===t?new o:new d(s(t))}},320:(t,e,r)=>{var n=r(8276);t.exports=function(t){return(new n).update(t).digest()}},3507:(t,e,r)=>{"use strict";var n=r(6698),i=r(1800),o=r(6168),s=r(2861).Buffer,a=r(320),d=r(6011),u=r(2802),h=s.alloc(128);function l(t,e){o.call(this,"digest"),"string"==typeof e&&(e=s.from(e));var r="sha512"===t||"sha384"===t?128:64;this._alg=t,this._key=e,e.length>r?e=("rmd160"===t?new d:u(t)).update(e).digest():e.length<r&&(e=s.concat([e,h],r));for(var n=this._ipad=s.allocUnsafe(r),i=this._opad=s.allocUnsafe(r),a=0;a<r;a++)n[a]=54^e[a],i[a]=92^e[a];this._hash="rmd160"===t?new d:u(t),this._hash.update(n)}n(l,o),l.prototype._update=function(t){this._hash.update(t)},l.prototype._final=function(){var t=this._hash.digest();return("rmd160"===this._alg?new d:u(this._alg)).update(this._opad).update(t).digest()},t.exports=function(t,e){return"rmd160"===(t=t.toLowerCase())||"ripemd160"===t?new l("rmd160",e):"md5"===t?new i(a,e):new l(t,e)}},1800:(t,e,r)=>{"use strict";var n=r(6698),i=r(2861).Buffer,o=r(6168),s=i.alloc(128),a=64;function d(t,e){o.call(this,"digest"),"string"==typeof e&&(e=i.from(e)),this._alg=t,this._key=e,e.length>a?e=t(e):e.length<a&&(e=i.concat([e,s],a));for(var r=this._ipad=i.allocUnsafe(a),n=this._opad=i.allocUnsafe(a),d=0;d<a;d++)r[d]=54^e[d],n[d]=92^e[d];this._hash=[r]}n(d,o),d.prototype._update=function(t){this._hash.push(t)},d.prototype._final=function(){var t=this._alg(i.concat(this._hash));return this._alg(i.concat([this._opad,t]))},t.exports=d},1565:(t,e,r)=>{"use strict";e.randomBytes=e.rng=e.pseudoRandomBytes=e.prng=r(3209),e.createHash=e.Hash=r(7108),e.createHmac=e.Hmac=r(3507);var n=r(5715),i=Object.keys(n),o=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(i);e.getHashes=function(){return o};var s=r(8396);e.pbkdf2=s.pbkdf2,e.pbkdf2Sync=s.pbkdf2Sync;var a=r(125);e.Cipher=a.Cipher,e.createCipher=a.createCipher,e.Cipheriv=a.Cipheriv,e.createCipheriv=a.createCipheriv,e.Decipher=a.Decipher,e.createDecipher=a.createDecipher,e.Decipheriv=a.Decipheriv,e.createDecipheriv=a.createDecipheriv,e.getCiphers=a.getCiphers,e.listCiphers=a.listCiphers;var d=r(5380);e.DiffieHellmanGroup=d.DiffieHellmanGroup,e.createDiffieHellmanGroup=d.createDiffieHellmanGroup,e.getDiffieHellman=d.getDiffieHellman,e.createDiffieHellman=d.createDiffieHellman,e.DiffieHellman=d.DiffieHellman;var u=r(20);e.createSign=u.createSign,e.Sign=u.Sign,e.createVerify=u.createVerify,e.Verify=u.Verify,e.createECDH=r(1324);var h=r(7168);e.publicEncrypt=h.publicEncrypt,e.privateEncrypt=h.privateEncrypt,e.publicDecrypt=h.publicDecrypt,e.privateDecrypt=h.privateDecrypt;var l=r(6983);e.randomFill=l.randomFill,e.randomFillSync=l.randomFillSync,e.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join("\n"))},e.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}},9560:(t,e,r)=>{"use strict";e.utils=r(7626),e.Cipher=r(2808),e.DES=r(2211),e.CBC=r(3389),e.EDE=r(5279)},3389:(t,e,r)=>{"use strict";var n=r(3349),i=r(6698),o={};function s(t){n.equal(t.length,8,"Invalid IV length"),this.iv=new Array(8);for(var e=0;e<this.iv.length;e++)this.iv[e]=t[e]}e.instantiate=function(t){function e(e){t.call(this,e),this._cbcInit()}i(e,t);for(var r=Object.keys(o),n=0;n<r.length;n++){var s=r[n];e.prototype[s]=o[s]}return e.create=function(t){return new e(t)},e},o._cbcInit=function(){var t=new s(this.options.iv);this._cbcState=t},o._update=function(t,e,r,n){var i=this._cbcState,o=this.constructor.super_.prototype,s=i.iv;if("encrypt"===this.type){for(var a=0;a<this.blockSize;a++)s[a]^=t[e+a];for(o._update.call(this,s,0,r,n),a=0;a<this.blockSize;a++)s[a]=r[n+a]}else{for(o._update.call(this,t,e,r,n),a=0;a<this.blockSize;a++)r[n+a]^=s[a];for(a=0;a<this.blockSize;a++)s[a]=t[e+a]}}},2808:(t,e,r)=>{"use strict";var n=r(3349);function i(t){this.options=t,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0,this.padding=!1!==t.padding}t.exports=i,i.prototype._init=function(){},i.prototype.update=function(t){return 0===t.length?[]:"decrypt"===this.type?this._updateDecrypt(t):this._updateEncrypt(t)},i.prototype._buffer=function(t,e){for(var r=Math.min(this.buffer.length-this.bufferOff,t.length-e),n=0;n<r;n++)this.buffer[this.bufferOff+n]=t[e+n];return this.bufferOff+=r,r},i.prototype._flushBuffer=function(t,e){return this._update(this.buffer,0,t,e),this.bufferOff=0,this.blockSize},i.prototype._updateEncrypt=function(t){var e=0,r=0,n=(this.bufferOff+t.length)/this.blockSize|0,i=new Array(n*this.blockSize);0!==this.bufferOff&&(e+=this._buffer(t,e),this.bufferOff===this.buffer.length&&(r+=this._flushBuffer(i,r)));for(var o=t.length-(t.length-e)%this.blockSize;e<o;e+=this.blockSize)this._update(t,e,i,r),r+=this.blockSize;for(;e<t.length;e++,this.bufferOff++)this.buffer[this.bufferOff]=t[e];return i},i.prototype._updateDecrypt=function(t){for(var e=0,r=0,n=Math.ceil((this.bufferOff+t.length)/this.blockSize)-1,i=new Array(n*this.blockSize);n>0;n--)e+=this._buffer(t,e),r+=this._flushBuffer(i,r);return e+=this._buffer(t,e),i},i.prototype.final=function(t){var e,r;return t&&(e=this.update(t)),r="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),e?e.concat(r):r},i.prototype._pad=function(t,e){if(0===e)return!1;for(;e<t.length;)t[e++]=0;return!0},i.prototype._finalEncrypt=function(){if(!this._pad(this.buffer,this.bufferOff))return[];var t=new Array(this.blockSize);return this._update(this.buffer,0,t,0),t},i.prototype._unpad=function(t){return t},i.prototype._finalDecrypt=function(){n.equal(this.bufferOff,this.blockSize,"Not enough data to decrypt");var t=new Array(this.blockSize);return this._flushBuffer(t,0),this._unpad(t)}},2211:(t,e,r)=>{"use strict";var n=r(3349),i=r(6698),o=r(7626),s=r(2808);function a(){this.tmp=new Array(2),this.keys=null}function d(t){s.call(this,t);var e=new a;this._desState=e,this.deriveKeys(e,t.key)}i(d,s),t.exports=d,d.create=function(t){return new d(t)};var u=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];d.prototype.deriveKeys=function(t,e){t.keys=new Array(32),n.equal(e.length,this.blockSize,"Invalid key length");var r=o.readUInt32BE(e,0),i=o.readUInt32BE(e,4);o.pc1(r,i,t.tmp,0),r=t.tmp[0],i=t.tmp[1];for(var s=0;s<t.keys.length;s+=2){var a=u[s>>>1];r=o.r28shl(r,a),i=o.r28shl(i,a),o.pc2(r,i,t.keys,s)}},d.prototype._update=function(t,e,r,n){var i=this._desState,s=o.readUInt32BE(t,e),a=o.readUInt32BE(t,e+4);o.ip(s,a,i.tmp,0),s=i.tmp[0],a=i.tmp[1],"encrypt"===this.type?this._encrypt(i,s,a,i.tmp,0):this._decrypt(i,s,a,i.tmp,0),s=i.tmp[0],a=i.tmp[1],o.writeUInt32BE(r,s,n),o.writeUInt32BE(r,a,n+4)},d.prototype._pad=function(t,e){if(!1===this.padding)return!1;for(var r=t.length-e,n=e;n<t.length;n++)t[n]=r;return!0},d.prototype._unpad=function(t){if(!1===this.padding)return t;for(var e=t[t.length-1],r=t.length-e;r<t.length;r++)n.equal(t[r],e);return t.slice(0,t.length-e)},d.prototype._encrypt=function(t,e,r,n,i){for(var s=e,a=r,d=0;d<t.keys.length;d+=2){var u=t.keys[d],h=t.keys[d+1];o.expand(a,t.tmp,0),u^=t.tmp[0],h^=t.tmp[1];var l=o.substitute(u,h),f=a;a=(s^o.permute(l))>>>0,s=f}o.rip(a,s,n,i)},d.prototype._decrypt=function(t,e,r,n,i){for(var s=r,a=e,d=t.keys.length-2;d>=0;d-=2){var u=t.keys[d],h=t.keys[d+1];o.expand(s,t.tmp,0),u^=t.tmp[0],h^=t.tmp[1];var l=o.substitute(u,h),f=s;s=(a^o.permute(l))>>>0,a=f}o.rip(s,a,n,i)}},5279:(t,e,r)=>{"use strict";var n=r(3349),i=r(6698),o=r(2808),s=r(2211);function a(t,e){n.equal(e.length,24,"Invalid key length");var r=e.slice(0,8),i=e.slice(8,16),o=e.slice(16,24);this.ciphers="encrypt"===t?[s.create({type:"encrypt",key:r}),s.create({type:"decrypt",key:i}
15672),s.create({type:"encrypt",key:o})]:[s.create({type:"decrypt",key:o}),s.create({type:"encrypt",key:i}),s.create({type:"decrypt",key:r})]}function d(t){o.call(this,t);var e=new a(this.type,this.options.key);this._edeState=e}i(d,o),t.exports=d,d.create=function(t){return new d(t)},d.prototype._update=function(t,e,r,n){var i=this._edeState;i.ciphers[0]._update(t,e,r,n),i.ciphers[1]._update(r,n,r,n),i.ciphers[2]._update(r,n,r,n)},d.prototype._pad=s.prototype._pad,d.prototype._unpad=s.prototype._unpad},7626:(t,e)=>{"use strict";e.readUInt32BE=function(t,e){return(t[0+e]<<24|t[1+e]<<16|t[2+e]<<8|t[3+e])>>>0},e.writeUInt32BE=function(t,e,r){t[0+r]=e>>>24,t[1+r]=e>>>16&255,t[2+r]=e>>>8&255,t[3+r]=255&e},e.ip=function(t,e,r,n){for(var i=0,o=0,s=6;s>=0;s-=2){for(var a=0;a<=24;a+=8)i<<=1,i|=e>>>a+s&1;for(a=0;a<=24;a+=8)i<<=1,i|=t>>>a+s&1}for(s=6;s>=0;s-=2){for(a=1;a<=25;a+=8)o<<=1,o|=e>>>a+s&1;for(a=1;a<=25;a+=8)o<<=1,o|=t>>>a+s&1}r[n+0]=i>>>0,r[n+1]=o>>>0},e.rip=function(t,e,r,n){for(var i=0,o=0,s=0;s<4;s++)for(var a=24;a>=0;a-=8)i<<=1,i|=e>>>a+s&1,i<<=1,i|=t>>>a+s&1;for(s=4;s<8;s++)for(a=24;a>=0;a-=8)o<<=1,o|=e>>>a+s&1,o<<=1,o|=t>>>a+s&1;r[n+0]=i>>>0,r[n+1]=o>>>0},e.pc1=function(t,e,r,n){for(var i=0,o=0,s=7;s>=5;s--){for(var a=0;a<=24;a+=8)i<<=1,i|=e>>a+s&1;for(a=0;a<=24;a+=8)i<<=1,i|=t>>a+s&1}for(a=0;a<=24;a+=8)i<<=1,i|=e>>a+s&1;for(s=1;s<=3;s++){for(a=0;a<=24;a+=8)o<<=1,o|=e>>a+s&1;for(a=0;a<=24;a+=8)o<<=1,o|=t>>a+s&1}for(a=0;a<=24;a+=8)o<<=1,o|=t>>a+s&1;r[n+0]=i>>>0,r[n+1]=o>>>0},e.r28shl=function(t,e){return t<<e&268435455|t>>>28-e};var r=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];e.pc2=function(t,e,n,i){for(var o=0,s=0,a=r.length>>>1,d=0;d<a;d++)o<<=1,o|=t>>>r[d]&1;for(d=a;d<r.length;d++)s<<=1,s|=e>>>r[d]&1;n[i+0]=o>>>0,n[i+1]=s>>>0},e.expand=function(t,e,r){var n=0,i=0;n=(1&t)<<5|t>>>27;for(var o=23;o>=15;o-=4)n<<=6,n|=t>>>o&63;for(o=11;o>=3;o-=4)i|=t>>>o&63,i<<=6;i|=(31&t)<<1|t>>>31,e[r+0]=n>>>0,e[r+1]=i>>>0};var n=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];e.substitute=function(t,e){for(var r=0,i=0;i<4;i++)r<<=4,r|=n[64*i+(t>>>18-6*i&63)];for(i=0;i<4;i++)r<<=4,r|=n[256+64*i+(e>>>18-6*i&63)];return r>>>0};var i=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];e.permute=function(t){for(var e=0,r=0;r<i.length;r++)e<<=1,e|=t>>>i[r]&1;return e>>>0},e.padSplit=function(t,e,r){for(var n=t.toString(2);n.length<e;)n="0"+n;for(var i=[],o=0;o<e;o+=r)i.push(n.slice(o,o+r));return i.join(" ")}},7515:(t,e,r)=>{"use strict";var n,i=r(5606);!function(){var o,s="Fake/5.0 (FakeOS) AppleWebKit/123 (KHTML, like Gecko) Fake/12.3.4567.89 Fake/123.45";if("object"==typeof i&&"object"==typeof i.versions&&i.versions.node&&!i.browser){var a=i.versions.node.toString().replace("v","");s="Nodejs/"+a+" (NodeOS) AppleWebKit/"+a+" (KHTML, like Gecko) Nodejs/"+a+" Nodejs/"+a}o=void 0!==r.g?r.g:window,"undefined"==typeof window&&("undefined"==typeof window&&void 0!==r.g&&(r.g.navigator={userAgent:s,getUserMedia:function(){}},o.window=r.g),"undefined"==typeof location&&(o.location={protocol:"file:",href:"",hash:""}),"undefined"==typeof screen&&(o.screen={width:0,height:0}));var d=window.navigator;void 0!==d?(void 0!==d.webkitGetUserMedia&&(d.getUserMedia=d.webkitGetUserMedia),void 0!==d.mozGetUserMedia&&(d.getUserMedia=d.mozGetUserMedia)):d={getUserMedia:function(){},userAgent:s};var u=!!/Android|webOS|iPhone|iPad|iPod|BB10|BlackBerry|IEMobile|Opera Mini|Mobile|mobile/i.test(d.userAgent||""),h=!(-1===d.userAgent.indexOf("Edge")||!d.msSaveOrOpenBlob&&!d.msSaveBlob),l=!!window.opera||d.userAgent.indexOf(" OPR/")>=0,f=d.userAgent.toLowerCase().indexOf("firefox")>-1&&"netscape"in window&&/ rv:/.test(d.userAgent),c=/^((?!chrome|android).)*safari/i.test(d.userAgent),g=!!window.chrome&&!l,p="undefined"!=typeof document&&!!document.documentMode&&!h;function m(t,e){var r=0,n=!1,i=window.setInterval((function(){t()&&(window.clearInterval(i),e(n)),r++>50&&(window.clearInterval(i),e(n=!0))}),10)}var b,y,v={Android:function(){return d.userAgent.match(/Android/i)},BlackBerry:function(){return d.userAgent.match(/BlackBerry|BB10/i)},iOS:function(){return d.userAgent.match(/iPhone|iPad|iPod/i)},Opera:function(){return d.userAgent.match(/Opera Mini/i)},Windows:function(){return d.userAgent.match(/IEMobile/i)},any:function(){return v.Android()||v.BlackBerry()||v.iOS()||v.Opera()||v.Windows()},getOsName:function(){var t="Unknown OS";return v.Android()&&(t="Android"),v.BlackBerry()&&(t="BlackBerry"),v.iOS()&&(t="iOS"),v.Opera()&&(t="Opera Mini"),v.Windows()&&(t="Windows"),t}},_="Unknown OS",M="Unknown OS Version",w=function(){for(var t,e=d.appVersion,r=d.userAgent,n="-",i=[{s:"Chrome OS",r:/CrOS/}
15672,{s:"Windows 10",r:/(Windows 10.0|Windows NT 10.0)/},{s:"Windows 8.1",r:/(Windows 8.1|Windows NT 6.3)/},{s:"Windows 8",r:/(Windows 8|Windows NT 6.2)/},{s:"Windows 7",r:/(Windows 7|Windows NT 6.1)/},{s:"Windows Vista",r:/Windows NT 6.0/},{s:"Windows Server 2003",r:/Windows NT 5.2/},{s:"Windows XP",r:/(Windows NT 5.1|Windows XP)/},{s:"Windows 2000",r:/(Windows NT 5.0|Windows 2000)/},{s:"Windows ME",r:/(Win 9x 4.90|Windows ME)/},{s:"Windows 98",r:/(Windows 98|Win98)/},{s:"Windows 95",r:/(Windows 95|Win95|Windows_95)/},{s:"Windows NT 4.0",r:/(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)/},{s:"Windows CE",r:/Windows CE/},{s:"Windows 3.11",r:/Win16/},{s:"Android",r:/Android/},{s:"Open BSD",r:/OpenBSD/},{s:"Sun OS",r:/SunOS/},{s:"Linux",r:/(Linux|X11)/},{s:"iOS",r:/(iPhone|iPad|iPod)/},{s:"Mac OS X",r:/Mac OS X/},{s:"Mac OS",r:/(MacPPC|MacIntel|Mac_PowerPC|Macintosh)/},{s:"QNX",r:/QNX/},{s:"UNIX",r:/UNIX/},{s:"BeOS",r:/BeOS/},{s:"OS/2",r:/OS\/2/},{s:"Search Bot",r:/(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\/Teoma|ia_archiver)/}],o=0;t=i[o];o++)if(t.r.test(r)){n=t.s;break}var s="-";switch(/Windows/.test(n)&&(/Windows (.*)/.test(n)&&(s=/Windows (.*)/.exec(n)[1]),n="Windows"),n){case"Mac OS X":/Mac OS X (10[\.\_\d]+)/.test(r)&&(s=/Mac OS X (10[\.\_\d]+)/.exec(r)[1]);break;case"Android":/Android ([\.\_\d]+)/.test(r)&&(s=/Android ([\.\_\d]+)/.exec(r)[1]);break;case"iOS":/OS (\d+)_(\d+)_?(\d+)?/.test(r)&&(s=/OS (\d+)_(\d+)_?(\d+)?/.exec(e))&&s.length>3&&(s=s[1]+"."+s[2]+"."+(0|s[3]))}return{osName:n,osVersion:s}}();w&&w.osName&&"-"!=w.osName?(_=w.osName,M=w.osVersion):v.any()&&"Android"==(_=v.getOsName())&&(M=!!(y=(b=(b||d.userAgent).toLowerCase()).match(/android\s([0-9\.]*)/))&&y[1]);var $="object"==typeof i&&"object"==typeof i.versions&&i.versions.node;"Unknown OS"===_&&$&&(_="Nodejs",M=i.versions.node.toString().replace("v",""));var S=!1,N=!1;["captureStream","mozCaptureStream","webkitCaptureStream"].forEach((function(t){"undefined"!=typeof document&&"function"==typeof document.createElement&&(!S&&t in document.createElement("canvas")&&(S=!0),!N&&t in document.createElement("video")&&(N=!0))}));var E=/^(192\.168\.|169\.254\.|10\.|172\.(1[6-9]|2\d|3[01]))/,T=/([0-9]{1,3}(\.[0-9]{1,3}){3})/,A=/[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7}/,R=[],P=[],O=[],C=[];d.mediaDevices&&d.mediaDevices.enumerateDevices&&(d.enumerateDevices=function(t){var e=d.mediaDevices.enumerateDevices();e&&e.then?d.mediaDevices.enumerateDevices().then(t).catch((function(){t([])})):t([])});var I=!1;("undefined"!=typeof MediaStreamTrack&&"getSources"in MediaStreamTrack||d.mediaDevices&&d.mediaDevices.enumerateDevices)&&(I=!0);var L=!1,D=!1,U=!1,k=!1,x=!1;var F=window.DetectRTC||{};F.browser=function(){d.appVersion;var t,e,r,n=d.userAgent,i=d.appName,o=""+parseFloat(d.appVersion),s=parseInt(d.appVersion,10);if(l){i="Opera";try{s=(o=d.userAgent.split("OPR/")[1].split(" ")[0]).split(".")[0]}catch(t){o="0.0.0.0",s=0}}else p?((e=n.indexOf("rv:"))>0?o=n.substring(e+3):(e=n.indexOf("MSIE"),o=n.substring(e+5)),i="IE"):g?(e=n.indexOf("Chrome"),i="Chrome",o=n.substring(e+7)):c?-1!==n.indexOf("CriOS")?(e=n.indexOf("CriOS"),i="Chrome",o=n.substring(e+6)):-1!==n.indexOf("FxiOS")?(e=n.indexOf("FxiOS"),i="Firefox",o=n.substring(e+6)):(e=n.indexOf("Safari"),i="Safari",o=n.substring(e+7),-1!==(e=n.indexOf("Version"))&&(o=n.substring(e+8)),-1!==d.userAgent.indexOf("Version/")&&(o=d.userAgent.split("Version/")[1].split(" ")[0])):f?(e=n.indexOf("Firefox"),i="Firefox",o=n.substring(e+8)):(t=n.lastIndexOf(" ")+1)<(e=n.lastIndexOf("/"))&&(i=n.substring(t,e),o=n.substring(e+1),i.toLowerCase()===i.toUpperCase()&&(i=d.appName));return h&&(i="Edge",o=d.userAgent.split("Edge/")[1]),-1!==(r=o.search(/[; \)]/))&&(o=o.substring(0,r)),s=parseInt(""+o,10),isNaN(s)&&(o=""+parseFloat(d.appVersion),s=parseInt(d.appVersion,10)),{fullVersion:o,version:s,name:i,isPrivateBrowsing:!1}}(),function(){var t;try{if(window.webkitRequestFileSystem)window.webkitRequestFileSystem(window.TEMPORARY,1,(function(){t=!1}),(function(e){t=!0}));else if(window.indexedDB&&/Firefox/.test(window.navigator.userAgent)){var e;try{(e=window.indexedDB.open("test")).onerror=function(){return!0}}catch(e){t=!0}void 0===t&&m((function(){return"done"===e.readyState}),(function(r){r||(t=!e.result)}))}else if(function(){var t=window.navigator.userAgent.toLowerCase();if(0===t.indexOf("msie")&&0===t.indexOf("trident"))return!1;var e=/(?:msie|rv:)\s?([\d\.]+)/.exec(t);return!!(e&&parseInt(e[1],10)>=10)}()){t=!1;try{window.indexedDB||(t=!0)}catch(e){t=!0}}else if(window.localStorage&&/Safari/.test(window.navigator.userAgent)){try{window.localStorage.setItem("test",1)}catch(e){t=!0}void 0===t&&(t=!1,window.localStorage.removeItem("test"))}}catch(e){t=!1}m((function(){return void 0!==t}),(function(e){var r;r=t,F.browser.isPrivateBrowsing=!!r}))}(),F.browser["is"+F.browser.name]=!0,F.osName=_,F.osVersion=M,"object"==typeof i&&"object"==typeof i.versions&&i.versions["node-webkit"];var B=!1;["RTCPeerConnection","webkitRTCPeerConnection","mozRTCPeerConnection","RTCIceGatherer"].forEach((function(t){B||t in window&&(B=!0)})),F.isWebRTCSupported=B,F.isORTCSupported="undefined"!=typeof RTCIceGatherer;var V=!1;(F.browser.isChrome&&F.browser.version>=35||F.browser.isFirefox&&F.browser.version>=34||F.browser.isEdge&&F.browser.version>=17||"Android"===F.osName&&F.browser.isChrome)&&(V=!0),(d.getDisplayMedia||d.mediaDevices&&d.mediaDevices.getDisplayMedia)&&(V=!0),/^(https:|chrome-extension:)$/g.test(location.protocol||"")||("undefined"!=typeof document&&"string"==typeof document.domain&&document.domain.search&&-1===document.domain.search(/localhost|127.0./g)&&(F.browser.isChrome||F.browser.isEdge||F.browser.isOpera)||F.browser.isFirefox)&&(V=!1),F.isScreenCapturingSupported=V;
15672var j={isSupported:!1,isCreateMediaStreamSourceSupported:!1};["AudioContext","webkitAudioContext","mozAudioContext","msAudioContext"].forEach((function(t){j.isSupported||t in window&&(j.isSupported=!0,window[t]&&"createMediaStreamSource"in window[t].prototype&&(j.isCreateMediaStreamSourceSupported=!0))})),F.isAudioContextSupported=j.isSupported,F.isCreateMediaStreamSourceSupported=j.isCreateMediaStreamSourceSupported;var H=!1;F.browser.isChrome&&F.browser.version>31&&(H=!0),F.isRtpDataChannelsSupported=H;var G=!1;(F.browser.isFirefox&&F.browser.version>28||F.browser.isChrome&&F.browser.version>25||F.browser.isOpera&&F.browser.version>=11)&&(G=!0),F.isSctpDataChannelsSupported=G,F.isMobileDevice=u;var W=!1;(d.getUserMedia||d.mediaDevices&&d.mediaDevices.getUserMedia)&&(W=!0),F.browser.isChrome&&F.browser.version>=46&&!/^(https:|chrome-extension:)$/g.test(location.protocol||"")&&"undefined"!=typeof document&&"string"==typeof document.domain&&document.domain.search&&-1===document.domain.search(/localhost|127.0./g)&&(W="Requires HTTPs"),"Nodejs"===F.osName&&(W=!1),F.isGetUserMediaSupported=W;var Y,z,q,K="";screen.width&&(K+=(screen.width?screen.width:"")+" x "+(screen.height?screen.height:"")),F.displayResolution=K,F.displayAspectRatio=(Y=screen.width,z=screen.height,q=function t(e,r){return 0==r?e:t(r,e%r)}(Y,z),Y/q/(z/q)).toFixed(2),F.isCanvasSupportsStreamCapturing=S,F.isVideoSupportsStreamCapturing=N,"Chrome"==F.browser.name&&F.browser.version>=53&&(F.isCanvasSupportsStreamCapturing||(F.isCanvasSupportsStreamCapturing="Requires chrome flag: enable-experimental-web-platform-features"),F.isVideoSupportsStreamCapturing||(F.isVideoSupportsStreamCapturing="Requires chrome flag: enable-experimental-web-platform-features")),F.DetectLocalIPAddress=function(t,e){if(F.isWebRTCSupported){var r=!0,n=!0;!function(t,e){if("undefined"!=typeof document&&"function"==typeof document.getElementById){var r={},n=window.RTCPeerConnection||window.mozRTCPeerConnection||window.webkitRTCPeerConnection;if(!n){var i=document.getElementById("iframe");if(!i)return;var o=i.contentWindow;n=o.RTCPeerConnection||o.mozRTCPeerConnection||o.webkitRTCPeerConnection}if(n){var s=null;"Chrome"===F.browser&&F.browser.version<58&&(s={optional:[{RtpDataChannels:!0}]});var a=new n({iceServers:[{urls:"stun:stun.l.google.com:19302"}]},s);if(e&&(a.addStream?a.addStream(e):a.addTrack&&e.getTracks()[0]&&a.addTrack(e.getTracks()[0],e)),a.onicecandidate=function(t){t.candidate&&t.candidate.candidate?d(t.candidate.candidate):d()},!e)try{a.createDataChannel("sctp",{})}catch(t){}F.isPromisesSupported?a.createOffer().then((function(t){a.setLocalDescription(t).then(u)})):a.createOffer((function(t){a.setLocalDescription(t,u,(function(){}))}),(function(){}))}}function d(e){if(e){var n=T.exec(e);if(n){var i=n[1];e.match(E);void 0===r[i]&&t(i),r[i]=!0}}else t()}function u(){a.localDescription.sdp.split("\n").forEach((function(t){t&&0===t.indexOf("a=candidate:")&&d(t)}))}}((function(e){e?e.match(E)?t("Local: "+e,r=!1,n):e.match(A)?t("Public: "+e,r,n=!1):t("Public: "+e,r,n):t()}),e)}},F.isWebSocketsSupported="WebSocket"in window&&2===window.WebSocket.CLOSING,F.isWebSocketsBlocked=!F.isWebSocketsSupported,"Nodejs"===F.osName&&(F.isWebSocketsSupported=!0,F.isWebSocketsBlocked=!1),F.checkWebSocketsSupport=function(t){t=t||function(){};try{var e,r=new WebSocket("wss://echo.websocket.org:443/");r.onopen=function(){F.isWebSocketsBlocked=!1,e=(new Date).getTime(),r.send("ping")},r.onmessage=function(){F.WebsocketLatency=(new Date).getTime()-e+"ms",t(),r.close(),r=null},r.onerror=function(){F.isWebSocketsBlocked=!0,t()}}catch(e){F.isWebSocketsBlocked=!0,t()}},F.load=function(t){!function(t){if(I)if(!d.enumerateDevices&&window.MediaStreamTrack&&window.MediaStreamTrack.getSources&&(d.enumerateDevices=window.MediaStreamTrack.getSources.bind(window.MediaStreamTrack)),!d.enumerateDevices&&d.enumerateDevices&&(d.enumerateDevices=d.enumerateDevices.bind(d)),d.enumerateDevices){R=[],P=[],O=[],C=[],L=!1,D=!1,U=!1,k=!1,x=!1;var e={};d.enumerateDevices((function(r){R=[],P=[],O=[],C=[],r.forEach((function(t){var r={};for(var n in t)try{"function"!=typeof t[n]&&(r[n]=t[n])}catch(t){}e[r.deviceId+r.label+r.kind]||("audio"===r.kind&&(r.kind="audioinput"),"video"===r.kind&&(r.kind="videoinput"),r.deviceId||(r.deviceId=r.id),r.id||(r.id=r.deviceId),r.label?("videoinput"!==r.kind||x||(x=!0),"audioinput"!==r.kind||k||(k=!0)):(r.isCustomLabel=!0,"videoinput"===r.kind?r.label="Camera "+(C.length+1):"audioinput"===r.kind?r.label="Microphone "+(P.length+1):"audiooutput"===r.kind?r.label="Speaker "+(O.length+1):r.label="Please invoke getUserMedia once.",void 0!==F&&F.browser.isChrome&&F.browser.version>=46&&!/^(https:|chrome-extension:)$/g.test(location.protocol||"")&&"undefined"!=typeof document&&"string"==typeof document.domain&&document.domain.search&&-1===document.domain.search(/localhost|127.0./g)&&(r.label="HTTPs is required to get label of this "+r.kind+" device.")),"audioinput"===r.kind&&(L=!0,-1===P.indexOf(r)&&P.push(r)),"audiooutput"===r.kind&&(D=!0,-1===O.indexOf(r)&&O.push(r)),"videoinput"===r.kind&&(U=!0,-1===C.indexOf(r)&&C.push(r)),R.push(r),e[r.deviceId+r.label+r.kind]=r)}
15672)),void 0!==F&&(F.MediaDevices=R,F.hasMicrophone=L,F.hasSpeakers=D,F.hasWebcam=U,F.isWebsiteHasWebcamPermissions=x,F.isWebsiteHasMicrophonePermissions=k,F.audioInputDevices=P,F.audioOutputDevices=O,F.videoInputDevices=C),t&&t()}))}else t&&t();else t&&t()}(t=t||function(){})},F.MediaDevices=void 0!==R?R:[],F.hasMicrophone=L,F.hasSpeakers=D,F.hasWebcam=U,F.isWebsiteHasWebcamPermissions=x,F.isWebsiteHasMicrophonePermissions=k,F.audioInputDevices=P,F.audioOutputDevices=O,F.videoInputDevices=C;var Z=!1;"undefined"!=typeof document&&"function"==typeof document.createElement&&"setSinkId"in document.createElement("video")&&(Z=!0),F.isSetSinkIdSupported=Z;var X=!1;F.browser.isFirefox&&"undefined"!=typeof mozRTCPeerConnection?"getSenders"in mozRTCPeerConnection.prototype&&(X=!0):F.browser.isChrome&&"undefined"!=typeof webkitRTCPeerConnection&&"getSenders"in webkitRTCPeerConnection.prototype&&(X=!0),F.isRTPSenderReplaceTracksSupported=X;var J=!1;F.browser.isFirefox&&F.browser.version>38&&(J=!0),F.isRemoteStreamProcessingSupported=J;var Q=!1;"undefined"!=typeof MediaStreamTrack&&"applyConstraints"in MediaStreamTrack.prototype&&(Q=!0),F.isApplyConstraintsSupported=Q;var tt=!1;F.browser.isFirefox&&F.browser.version>=43&&(tt=!0),F.isMultiMonitorScreenCapturingSupported=tt,F.isPromisesSupported=!!("Promise"in window),F.version="1.4.1",void 0===F&&(window.DetectRTC={});var et=window.MediaStream;void 0===et&&"undefined"!=typeof webkitMediaStream&&(et=webkitMediaStream),F.MediaStream=void 0!==et&&"function"==typeof et&&Object.keys(et.prototype),"undefined"!=typeof MediaStreamTrack?F.MediaStreamTrack=Object.keys(MediaStreamTrack.prototype):F.MediaStreamTrack=!1;var rt=window.RTCPeerConnection||window.mozRTCPeerConnection||window.webkitRTCPeerConnection;F.RTCPeerConnection=void 0!==rt&&Object.keys(rt.prototype),window.DetectRTC=F,t.exports=F,void 0===(n=function(){return F}.apply(e,[]))||(t.exports=n)}()},5380:(t,e,r)=>{var n=r(4934),i=r(3241),o=r(4910),s={binary:!0,hex:!0,base64:!0};e.DiffieHellmanGroup=e.createDiffieHellmanGroup=e.getDiffieHellman=function(t){var e=new Buffer(i[t].prime,"hex"),r=new Buffer(i[t].gen,"hex");return new o(e,r)},e.createDiffieHellman=e.DiffieHellman=function t(e,r,i,a){return Buffer.isBuffer(r)||void 0===s[r]?t(e,"binary",r,i):(r=r||"binary",a=a||"binary",i=i||new Buffer([2]),Buffer.isBuffer(i)||(i=new Buffer(i,a)),"number"==typeof e?new o(n(e,i),i,!0):(Buffer.isBuffer(e)||(e=new Buffer(e,r)),new o(e,i,!0)))}},4910:(t,e,r)=>{var n=r(6473),i=new(r(2244)),o=new n(24),s=new n(11),a=new n(10),d=new n(3),u=new n(7),h=r(4934),l=r(3209);function f(t,e){return e=e||"utf8",Buffer.isBuffer(t)||(t=new Buffer(t,e)),this._pub=new n(t),this}function c(t,e){return e=e||"utf8",Buffer.isBuffer(t)||(t=new Buffer(t,e)),this._priv=new n(t),this}t.exports=p;var g={};function p(t,e,r){this.setGenerator(e),this.__prime=new n(t),this._prime=n.mont(this.__prime),this._primeLen=t.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,r?(this.setPublicKey=f,this.setPrivateKey=c):this._primeCode=8}function m(t,e){var r=new Buffer(t.toArray());return e?r.toString(e):r}Object.defineProperty(p.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=function(t,e){var r=e.toString("hex"),n=[r,t.toString(16)].join("_");if(n in g)return g[n];var l,f=0;if(t.isEven()||!h.simpleSieve||!h.fermatTest(t)||!i.test(t))return f+=1,f+="02"===r||"05"===r?8:4,g[n]=f,f;switch(i.test(t.shrn(1))||(f+=2),r){case"02":t.mod(o).cmp(s)&&(f+=8);break;case"05":(l=t.mod(a)).cmp(d)&&l.cmp(u)&&(f+=8);break;default:f+=4}return g[n]=f,f}(this.__prime,this.__gen)),this._primeCode}}),p.prototype.generateKeys=function(){return this._priv||(this._priv=new n(l(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},p.prototype.computeSecret=function(t){var e=(t=(t=new n(t)).toRed(this._prime)).redPow(this._priv).fromRed(),r=new Buffer(e.toArray()),i=this.getPrime();if(r.length<i.length){var o=new Buffer(i.length-r.length);o.fill(0),r=Buffer.concat([o,r])}return r},p.prototype.getPublicKey=function(t){return m(this._pub,t)},p.prototype.getPrivateKey=function(t){return m(this._priv,t)},p.prototype.getPrime=function(t){return m(this.__prime,t)},p.prototype.getGenerator=function(t){return m(this._gen,t)},p.prototype.setGenerator=function(t,e){return e=e||"utf8",Buffer.isBuffer(t)||(t=new Buffer(t,e)),this.__gen=t,this._gen=new n(t),this}},4934:(t,e,r)=>{var n=r(3209);t.exports=y,y.simpleSieve=m,y.fermatTest=b;var i=r(6473),o=new i(24),s=new(r(2244)),a=new i(1),d=new i(2),u=new i(5),h=(new i(16),new i(8),new i(10)),l=new i(3),f=(new i(7),new i(11)),c=new i(4),g=(new i(12),null);function p(){if(null!==g)return g;var t=[];t[0]=2;
vendor: 5,186 bytes, line 15672
15672for(var e=1,r=3;r<1048576;r+=2){for(var n=Math.ceil(Math.sqrt(r)),i=0;i<e&&t[i]<=n&&r%t[i]!=0;i++);e!==i&&t[i]<=n||(t[e++]=r)}return g=t,t}function m(t){for(var e=p(),r=0;r<e.length;r++)if(0===t.modn(e[r]))return 0===t.cmpn(e[r]);return!0}function b(t){var e=i.mont(t);return 0===d.toRed(e).redPow(t.subn(1)).fromRed().cmpn(1)}function y(t,e){if(t<16)return new i(2===e||5===e?[140,123]:[140,39]);var r,g;for(e=new i(e);;){for(r=new i(n(Math.ceil(t/8)));r.bitLength()>t;)r.ishrn(1);if(r.isEven()&&r.iadd(a),r.testn(1)||r.iadd(d),e.cmp(d)){if(!e.cmp(u))for(;r.mod(h).cmp(l);)r.iadd(c)}else for(;r.mod(o).cmp(f);)r.iadd(c);if(m(g=r.shrn(1))&&m(r)&&b(g)&&b(r)&&s.test(g)&&s.test(r))return r}}},6473:function(t,e,r){!function(t,e){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function o(t,e,r){if(o.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var s;"object"==typeof t?t.exports=o:e.BN=o,o.BN=o,o.wordSize=26;try{s="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(6089).Buffer}catch(t){}function a(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function d(t,e,r){var n=a(t,r);return r-1>=e&&(n|=a(t,r-1)<<4),n}function u(t,e,r,n){for(var i=0,o=Math.min(t.length,r),s=e;s<o;s++){var a=t.charCodeAt(s)-48;i*=n,i+=a>=49?a-49+10:a>=17?a-17+10:a}return i}o.isBN=function(t){return t instanceof o||null!==t&&"object"==typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i<t.length&&(16===e?this._parseHex(t,i,r):(this._parseBase(t,e,i),"le"===r&&this._initArray(this.toArray(),e,r)))},o.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initArray=function(t,e,r){if(n("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var o,s,a=0;if("be"===r)for(i=t.length-1,o=0;i>=0;i-=3)s=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===r)for(i=0,o=0;i<t.length;i+=3)s=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var i,o=0,s=0;if("be"===r)for(n=t.length-1;n>=e;n-=2)i=d(t,e,n)<<o,this.words[s]|=67108863&i,o>=18?(o-=18,s+=1,this.words[s]|=i>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n<t.length;n+=2)i=d(t,e,n)<<o,this.words[s]|=67108863&i,o>=18?(o-=18,s+=1,this.words[s]|=i>>>26):o+=8;this.strip()},o.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,s=o%n,a=Math.min(o,o-s)+r,d=0,h=r;h<a;h+=n)d=u(t,h,h+n,e),this.imuln(i),this.words[0]+d<67108864?this.words[0]+=d:this._iaddn(d);if(0!==s){var l=1;for(d=u(t,h,t.length,e),h=0;h<s;h++)l*=e;this.imuln(l),this.words[0]+d<67108864?this.words[0]+=d:this._iaddn(d)}this.strip()},o.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},o.prototype.clone=function(){var t=new o(null);return this.copy(t),t},o.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},o.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16
vendor: 4,478 bytes, line 15672
15672777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function c(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],s=i*o,a=67108863&s,d=s/67108864|0;r.words[0]=a;for(var u=1;u<n;u++){for(var h=d>>>26,l=67108863&d,f=Math.min(u,e.length-1),c=Math.max(0,u-t.length+1);c<=f;c++){var g=u-c|0;h+=(s=(i=0|t.words[g])*(o=0|e.words[c])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,d=0|h}return 0!==d?r.words[u]=0|d:r.length--,r.strip()}o.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var i=0,o=0,s=0;s<this.length;s++){var a=this.words[s],d=(16777215&(a<<i|o)).toString(16);o=a>>>24-i&16777215,(i+=2)>=26&&(i-=26,s--),r=0!==o||s!==this.length-1?h[6-d.length]+d+r:d+r}for(0!==o&&(r=o.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=l[t],c=f[t];r="";var g=this.clone();for(g.negative=0;!g.isZero();){var p=g.modn(c).toString(t);r=(g=g.idivn(c)).isZero()?p+r:h[u-p.length]+p+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return n(void 0!==s),this.toArrayLike(s,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),o=r||Math.max(1,i);n(i<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0"),this.strip();var s,a,d="le"===e,u=new t(o),h=this.clone();if(d){for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),u[a]=s;for(;a<o;a++)u[a]=0}else{for(a=0;a<o-i;a++)u[a]=0;for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),u[o-a-1]=s}return u},Math.clz32?o.prototype._countBits=function(t){return 32-Math.clz32(t)}:o.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 8191&e||(r+=13,e>>>=13),127&e||(r+=7,e>>>=7),15&e||(r+=4,e>>>=4),3&e||(r+=2,e>>>=2),1&e||r++,r},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},o.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},o.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},o.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},o.prototype.isNeg=function(){return 0!==this.negative},o.prototype.neg=function(){return this.clone().ineg()},o.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},o.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},o.prototype.ior=function(t){return n(!(this.negative|t.negative)),this.iuor(t)},o.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},o.prototype.iand=function(t){return n(!(this.negative|t.negative)),this.iuand(t)},o.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n<r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n<e.length;n++)this.words[n]=e.words[n];return this.length=e.length,this.strip()},o.prototype.ixor=function(t){return n(!
vendor: 2,330 bytes, line 15672
15672(this.negative|t.negative)),this.iuxor(t)},o.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<<i:this.words[r]&~(1<<i),this.strip()},o.prototype.iadd=function(t){var e,r,n;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o<n.length;o++)e=(0|r.words[o])+(0|n.words[o])+i,this.words[o]=67108863&e,i=e>>>26;for(;0!==i&&o<r.length;o++)e=(0|r.words[o])+i,this.words[o]=67108863&e,i=e>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},o.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,s=0;s<n.length;s++)o=(e=(0|r.words[s])-(0|n.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},o.prototype.sub=function(t){return this.clone().isub(t)};var
vendor: 7,651 bytes, line 15672
15672g=function(t,e,r){var n,i,o,s=t.words,a=e.words,d=r.words,u=0,h=0|s[0],l=8191&h,f=h>>>13,c=0|s[1],g=8191&c,p=c>>>13,m=0|s[2],b=8191&m,y=m>>>13,v=0|s[3],_=8191&v,M=v>>>13,w=0|s[4],$=8191&w,S=w>>>13,N=0|s[5],E=8191&N,T=N>>>13,A=0|s[6],R=8191&A,P=A>>>13,O=0|s[7],C=8191&O,I=O>>>13,L=0|s[8],D=8191&L,U=L>>>13,k=0|s[9],x=8191&k,F=k>>>13,B=0|a[0],V=8191&B,j=B>>>13,H=0|a[1],G=8191&H,W=H>>>13,Y=0|a[2],z=8191&Y,q=Y>>>13,K=0|a[3],Z=8191&K,X=K>>>13,J=0|a[4],Q=8191&J,tt=J>>>13,et=0|a[5],rt=8191&et,nt=et>>>13,it=0|a[6],ot=8191&it,st=it>>>13,at=0|a[7],dt=8191&at,ut=at>>>13,ht=0|a[8],lt=8191&ht,ft=ht>>>13,ct=0|a[9],gt=8191&ct,pt=ct>>>13;r.negative=t.negative^e.negative,r.length=19;var mt=(u+(n=Math.imul(l,V))|0)+((8191&(i=(i=Math.imul(l,j))+Math.imul(f,V)|0))<<13)|0;u=((o=Math.imul(f,j))+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(g,V),i=(i=Math.imul(g,j))+Math.imul(p,V)|0,o=Math.imul(p,j);var bt=(u+(n=n+Math.imul(l,G)|0)|0)+((8191&(i=(i=i+Math.imul(l,W)|0)+Math.imul(f,G)|0))<<13)|0;u=((o=o+Math.imul(f,W)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(b,V),i=(i=Math.imul(b,j))+Math.imul(y,V)|0,o=Math.imul(y,j),n=n+Math.imul(g,G)|0,i=(i=i+Math.imul(g,W)|0)+Math.imul(p,G)|0,o=o+Math.imul(p,W)|0;var yt=(u+(n=n+Math.imul(l,z)|0)|0)+((8191&(i=(i=i+Math.imul(l,q)|0)+Math.imul(f,z)|0))<<13)|0;u=((o=o+Math.imul(f,q)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(_,V),i=(i=Math.imul(_,j))+Math.imul(M,V)|0,o=Math.imul(M,j),n=n+Math.imul(b,G)|0,i=(i=i+Math.imul(b,W)|0)+Math.imul(y,G)|0,o=o+Math.imul(y,W)|0,n=n+Math.imul(g,z)|0,i=(i=i+Math.imul(g,q)|0)+Math.imul(p,z)|0,o=o+Math.imul(p,q)|0;var vt=(u+(n=n+Math.imul(l,Z)|0)|0)+((8191&(i=(i=i+Math.imul(l,X)|0)+Math.imul(f,Z)|0))<<13)|0;u=((o=o+Math.imul(f,X)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul($,V),i=(i=Math.imul($,j))+Math.imul(S,V)|0,o=Math.imul(S,j),n=n+Math.imul(_,G)|0,i=(i=i+Math.imul(_,W)|0)+Math.imul(M,G)|0,o=o+Math.imul(M,W)|0,n=n+Math.imul(b,z)|0,i=(i=i+Math.imul(b,q)|0)+Math.imul(y,z)|0,o=o+Math.imul(y,q)|0,n=n+Math.imul(g,Z)|0,i=(i=i+Math.imul(g,X)|0)+Math.imul(p,Z)|0,o=o+Math.imul(p,X)|0;var _t=(u+(n=n+Math.imul(l,Q)|0)|0)+((8191&(i=(i=i+Math.imul(l,tt)|0)+Math.imul(f,Q)|0))<<13)|0;u=((o=o+Math.imul(f,tt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(E,V),i=(i=Math.imul(E,j))+Math.imul(T,V)|0,o=Math.imul(T,j),n=n+Math.imul($,G)|0,i=(i=i+Math.imul($,W)|0)+Math.imul(S,G)|0,o=o+Math.imul(S,W)|0,n=n+Math.imul(_,z)|0,i=(i=i+Math.imul(_,q)|0)+Math.imul(M,z)|0,o=o+Math.imul(M,q)|0,n=n+Math.imul(b,Z)|0,i=(i=i+Math.imul(b,X)|0)+Math.imul(y,Z)|0,o=o+Math.imul(y,X)|0,n=n+Math.imul(g,Q)|0,i=(i=i+Math.imul(g,tt)|0)+Math.imul(p,Q)|0,o=o+Math.imul(p,tt)|0;var Mt=(u+(n=n+Math.imul(l,rt)|0)|0)+((8191&(i=(i=i+Math.imul(l,nt)|0)+Math.imul(f,rt)|0))<<13)|0;u=((o=o+Math.imul(f,nt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(R,V),i=(i=Math.imul(R,j))+Math.imul(P,V)|0,o=Math.imul(P,j),n=n+Math.imul(E,G)|0,i=(i=i+Math.imul(E,W)|0)+Math.imul(T,G)|0,o=o+Math.imul(T,W)|0,n=n+Math.imul($,z)|0,i=(i=i+Math.imul($,q)|0)+Math.imul(S,z)|0,o=o+Math.imul(S,q)|0,n=n+Math.imul(_,Z)|0,i=(i=i+Math.imul(_,X)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,X)|0,n=n+Math.imul(b,Q)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(y,Q)|0,o=o+Math.imul(y,tt)|0,n=n+Math.imul(g,rt)|0,i=(i=i+Math.imul(g,nt)|0)+Math.imul(p,rt)|0,o=o+Math.imul(p,nt)|0;var wt=(u+(n=n+Math.imul(l,ot)|0)|0)+((8191&(i=(i=i+Math.imul(l,st)|0)+Math.imul(f,ot)|0))<<13)|0;u=((o=o+Math.imul(f,st)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(C,V),i=(i=Math.imul(C,j))+Math.imul(I,V)|0,o=Math.imul(I,j),n=n+Math.imul(R,G)|0,i=(i=i+Math.imul(R,W)|0)+Math.imul(P,G)|0,o=o+Math.imul(P,W)|0,n=n+Math.imul(E,z)|0,i=(i=i+Math.imul(E,q)|0)+Math.imul(T,z)|0,o=o+Math.imul(T,q)|0,n=n+Math.imul($,Z)|0,i=(i=i+Math.imul($,X)|0)+Math.imul(S,Z)|0,o=o+Math.imul(S,X)|0,n=n+Math.imul(_,Q)|0,i=(i=i+Math.imul(_,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(y,rt)|0,o=o+Math.imul(y,nt)|0,n=n+Math.imul(g,ot)|0,i=(i=i+Math.imul(g,st)|0)+Math.imul(p,ot)|0,o=o+Math.imul(p,st)|0;var $t=(u+(n=n+Math.imul(l,dt)|0)|0)+((8191&(i=(i=i+Math.imul(l,ut)|0)+Math.imul(f,dt)|0))<<13)|0;u=((o=o+Math.imul(f,ut)|0)+(i>>>13)|0)+($t>>>26)|0,$t&=67108863,n=Math.imul(D,V),i=(i=Math.imul(D,j))+Math.imul(U,V)|0,o=Math.imul(U,j),n=n+Math.imul(C,G)|0,i=(i=i+Math.imul(C,W)|0)+Math.imul(I,G)|0,o=o+Math.imul(I,W)|0,n=n+Math.imul(R,z)|0,i=(i=i+Math.imul(R,q)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,q)|0,n=n+Math.imul(E,Z)|0,i=(i=i+Math.imul(E,X)|0)+Math.imul(T,Z)|0,o=o+Math.imul(T,X)|0,n=n+Math.imul($,Q)|0,i=(i=i+Math.imul($,tt)|0)+Math.imul(S,Q)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(_,rt)|0,i=(i=i+Math.imul(_,nt)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,nt)|0,n=n+Math.imul(b,ot)|0,i=(i=i+Math.imul(b,st)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,st)|0,n=n+Math.imul(g,dt)|0,i=(i=i+Math.imul(g,ut)|0)+Math.imul(p,dt)|0,o=o+Math.imul(p,ut)|0;var St=(u+(n=n+Math.imul(l,lt)|0)|0)+((8191&(i=(i=i+Math.imul(l,ft)|0)+Math.imul(f,lt)|0))<<13)|0;u=((o=o+Math.imul(f,ft)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(x,V),i=(i=Math.imul(x,j))+Math.imul(F,V)|0,o=Math.imul(F,j),n=n+Math.imul(D,G)|0,i=(i=i+Math.imul(D,W)|0)+Math.imul(U,G)|0,o=o+Math.imul(U,W)|0,n=n+Math.imul(C,z)|0,i=(i=i+Math.imul(C,q)|0)+Math.imul(I,z)|0,o=o+Math.imul(I,q)|0,n=n+Math.imul(R,Z)|0,i=(i=i+Math.imul(R,X)|0)+Math.imul(P,Z)|0,o=o+Math.imul(P,X)|0,n=n+Math.imul(E,Q)|0,i=(i=i+Math.imul(E,tt)|0)+Math.imul(T,Q)|0,o=o+Math.imul(T,tt)|0,n=n+Math.imul($,rt)|0,i=(i=i+Math.imul($,nt)|0)+Math.imul(S,rt)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(_,ot)|0,i=(i=i+Math.imul(_,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,n=n+Math.imul(b,dt)|0,i=(i=i+Math.imul(b,ut)|0)+Math.imul(y,dt)|0,o=o+Math.imul(y,ut)|0,n=n+Math.imul(g,lt)|0,i=(i=i+Math.imul(g,ft)|0)+Math.imul(p,lt)|0,o=o+Math.imul(p,ft)|0;var Nt=(u+(n=n+Math.imul(l,gt)|0)|0)+((8191&(i=(i=i+Math.imul(l,pt)|0)+Math.imul(f,gt)|0))<<13)|0;u=((o=o+Math.imul(f,pt)|0)+(i>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,n=Math.imul(x,G),i=(i=Math.imul(x,W))+Math.imul(F,G)|0,o=Math.imul(F,W),n=n+Math.imul(D,z)|0,i=(i=i+Math.imul(D,q)|0)+Math.imul(U,z)|0,o=o+Math.imul(U,q)|0,n=n+Math.imul(C,Z)|0,i=(i=i+Math.imul(C,X)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,X)|0,n=n+Math.imul(R,Q)|0,i=(i=i+Math.imul(R,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,n=n+Math.imul(E,rt)|0,i=(i=i+Math.imul(E,nt)|0)+Math.imul(T,rt)|0,o=o+Math.imul(T,nt)|0,n=n+Math.imul($,ot)|0,i=(i=i+Math.imul($,st)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,st)|0,n=n+Math.imul(_,dt)|0,i=(i=i+Math.imul(_,ut)|0)+Math.imul(M,dt)|0,o=o+Math.imul(M,ut)|0,n=n+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ft)|0)+Math.imul(y,lt)|0,o=o+Math.imul(y,ft)|0;var Et=(u+(n=n+Math.imul(g,gt)|0)|0)+((8191&(i=(i=i+Math.imul(g,pt)|0)+Math.imul(p,gt)|0))<<13)|0;u=((o=o+Math.imul(p,pt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(x,z),i=(i=Math.imul(x,q))+Math.imul(F,z)|0,o=Math.imul(F,q),n=n+Math.imul(D,Z)|0,i=(i=i+Math.imul(D,X)|0)+Math.imul(U,Z)|0,o=o+Math.imul(U,X)|0,n=n+Math.imul(C,Q)|0,i=(i=i+Math.imul(C,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,n=n+Math.imul(R,rt)|0,i=(i=i+Math.imul(R,nt)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,nt)|0,n=n+Math.imul(E,ot)|0,i=(i=i+Math.imul(E,st)|0)+Math.imul(T,ot)|0,o=o+Math.imul(T,st)|0,n=n+Math.imul($,dt)|0,i=(i=i+Math.imul($,ut)|0)+Math.imul(S,dt)|0,o=o+Math.imul(S,ut)|0,n=n+Math.imul(_,lt)|0,i=(i=i+Math.imul(_,ft)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,ft)|0;var Tt=(u+(n=n+Math.imul(b,gt)|0)|0)+((8191&(i=(i=i+Math.imul(b,pt)|0)+Math.imul(y,gt)|0))<<13)|0;u=((o=o+Math.imul(y,pt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(x,Z),i=(i=Math.imul(x,X))+Math.imul(F,Z)|0,o=Math.imul(F,X
vendor: 5,428 bytes, line 15672
15672),n=n+Math.imul(D,Q)|0,i=(i=i+Math.imul(D,tt)|0)+Math.imul(U,Q)|0,o=o+Math.imul(U,tt)|0,n=n+Math.imul(C,rt)|0,i=(i=i+Math.imul(C,nt)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,nt)|0,n=n+Math.imul(R,ot)|0,i=(i=i+Math.imul(R,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,n=n+Math.imul(E,dt)|0,i=(i=i+Math.imul(E,ut)|0)+Math.imul(T,dt)|0,o=o+Math.imul(T,ut)|0,n=n+Math.imul($,lt)|0,i=(i=i+Math.imul($,ft)|0)+Math.imul(S,lt)|0,o=o+Math.imul(S,ft)|0;var At=(u+(n=n+Math.imul(_,gt)|0)|0)+((8191&(i=(i=i+Math.imul(_,pt)|0)+Math.imul(M,gt)|0))<<13)|0;u=((o=o+Math.imul(M,pt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(x,Q),i=(i=Math.imul(x,tt))+Math.imul(F,Q)|0,o=Math.imul(F,tt),n=n+Math.imul(D,rt)|0,i=(i=i+Math.imul(D,nt)|0)+Math.imul(U,rt)|0,o=o+Math.imul(U,nt)|0,n=n+Math.imul(C,ot)|0,i=(i=i+Math.imul(C,st)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,st)|0,n=n+Math.imul(R,dt)|0,i=(i=i+Math.imul(R,ut)|0)+Math.imul(P,dt)|0,o=o+Math.imul(P,ut)|0,n=n+Math.imul(E,lt)|0,i=(i=i+Math.imul(E,ft)|0)+Math.imul(T,lt)|0,o=o+Math.imul(T,ft)|0;var Rt=(u+(n=n+Math.imul($,gt)|0)|0)+((8191&(i=(i=i+Math.imul($,pt)|0)+Math.imul(S,gt)|0))<<13)|0;u=((o=o+Math.imul(S,pt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(x,rt),i=(i=Math.imul(x,nt))+Math.imul(F,rt)|0,o=Math.imul(F,nt),n=n+Math.imul(D,ot)|0,i=(i=i+Math.imul(D,st)|0)+Math.imul(U,ot)|0,o=o+Math.imul(U,st)|0,n=n+Math.imul(C,dt)|0,i=(i=i+Math.imul(C,ut)|0)+Math.imul(I,dt)|0,o=o+Math.imul(I,ut)|0,n=n+Math.imul(R,lt)|0,i=(i=i+Math.imul(R,ft)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ft)|0;var Pt=(u+(n=n+Math.imul(E,gt)|0)|0)+((8191&(i=(i=i+Math.imul(E,pt)|0)+Math.imul(T,gt)|0))<<13)|0;u=((o=o+Math.imul(T,pt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(x,ot),i=(i=Math.imul(x,st))+Math.imul(F,ot)|0,o=Math.imul(F,st),n=n+Math.imul(D,dt)|0,i=(i=i+Math.imul(D,ut)|0)+Math.imul(U,dt)|0,o=o+Math.imul(U,ut)|0,n=n+Math.imul(C,lt)|0,i=(i=i+Math.imul(C,ft)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ft)|0;var Ot=(u+(n=n+Math.imul(R,gt)|0)|0)+((8191&(i=(i=i+Math.imul(R,pt)|0)+Math.imul(P,gt)|0))<<13)|0;u=((o=o+Math.imul(P,pt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(x,dt),i=(i=Math.imul(x,ut))+Math.imul(F,dt)|0,o=Math.imul(F,ut),n=n+Math.imul(D,lt)|0,i=(i=i+Math.imul(D,ft)|0)+Math.imul(U,lt)|0,o=o+Math.imul(U,ft)|0;var Ct=(u+(n=n+Math.imul(C,gt)|0)|0)+((8191&(i=(i=i+Math.imul(C,pt)|0)+Math.imul(I,gt)|0))<<13)|0;u=((o=o+Math.imul(I,pt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(x,lt),i=(i=Math.imul(x,ft))+Math.imul(F,lt)|0,o=Math.imul(F,ft);var It=(u+(n=n+Math.imul(D,gt)|0)|0)+((8191&(i=(i=i+Math.imul(D,pt)|0)+Math.imul(U,gt)|0))<<13)|0;u=((o=o+Math.imul(U,pt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Lt=(u+(n=Math.imul(x,gt))|0)+((8191&(i=(i=Math.imul(x,pt))+Math.imul(F,gt)|0))<<13)|0;return u=((o=Math.imul(F,pt))+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,d[0]=mt,d[1]=bt,d[2]=yt,d[3]=vt,d[4]=_t,d[5]=Mt,d[6]=wt,d[7]=$t,d[8]=St,d[9]=Nt,d[10]=Et,d[11]=Tt,d[12]=At,d[13]=Rt,d[14]=Pt,d[15]=Ot,d[16]=Ct,d[17]=It,d[18]=Lt,0!==u&&(d[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(g=c),o.prototype.mulTo=function(t,e){var r,n=this.length+t.length;return r=10===this.length&&10===t.length?g(this,t,e):n<63?c(this,t,e):n<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o<r.length-1;o++){var s=i;i=0;for(var a=67108863&n,d=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=d;u++){var h=o-u,l=(0|t.words[h])*(0|e.words[u]),f=67108863&l;a=67108863&(f=f+a|0),i+=(s=(s=s+(l/67108864|0)|0)+(f>>>26)|0)>>>26,s&=67108863}r.words[o]=a,n=s,s=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}(this,t,e):p(this,t,e),r},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=o.prototype._countBits(t)-1,n=0;n<t;n++)e[n]=this.revBin(n,r,t);return e},m.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,i=0;i<e;i++)n|=(1&t)<<e-i-1,t>>=1;return n},m.prototype.permute=function(t,e,r,n,i,o){for(var s=0;s<o;s++)n[s]=e[t[s]],i[s]=r[t[s]]},m.prototype.transform=function(t,e,r,n,i,o){this.permute(o,t,e,r,n,i);for(var s=1;s<i;s<<=1)for(var a=s<<1,d=Math.cos(2*Math.PI/a),u=Math.sin(2*Math.PI/a),h=0;h<i;h+=a)for(var l=d,f=u,c=0;c<s;c++){var g=r[h+c],p=n[h+c],m=r[h+c+s],b=n[h+c+s],y=l*m-f*b;b=l*b+f*m,m=y,r[h+c]=g+m,n[h+c]=p+b,r[h+c+s]=g-m,n[h+c+s]=p-b,c!==a&&(y=d*l-u*f,f=d*f+u*l,l=y)}},m.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},m.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=t[n];t[n]=t[r-n-1],t[r-n-1]=i,i=e[n],e[n]=-e[r-n-1],e[r-n-1]=-i}},m.prototype.normalize13b=function(t,e){for(var r=0,n=0;n<e/2;n++){var i=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&i,r=i<67108864?0:i/67108864|0}return t},m.prototype.convert13b=function(t,e,r,i){for(var o=0,s=0;s<e;s++)o+=0|t[s],r[2*s]=8191&o,o>>>=13,r[2*s+1]=8191&o,o>>>=13;for(s=2*e;s<i;++s)r[s]=0;n(0===o),n(!(-8192&o))},m.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},m.prototype.mulp=function(t,e,r){var n=2*this.guessLen13b(t.length,e.length),i=this.makeRBT(n),o=this.stub(n),s=new Array(n),a=new Array(n),d=new Array(n),u=new Array(n),h=new Array(n),l=new Array(n),f=r.words;f.length=n,this.convert13b(t.words,t.length,s,n),this.convert13b(e.words,e.length,u,n),this.transform(s,o,a,d,n,i),this.transform(u,o,h,l,n,i);for(var c=0;c<n;
vendor: 16,384 bytes, line 15672
15672c++){var g=a[c]*h[c]-d[c]*l[c];d[c]=a[c]*l[c]+d[c]*h[c],a[c]=g}return this.conjugate(a,d,n),this.transform(a,d,f,o,n,i),this.conjugate(f,o,n),this.normalize13b(f,n),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},o.prototype.mul=function(t){var e=new o(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},o.prototype.mulf=function(t){var e=new o(null);return e.words=new Array(this.length+t.length),p(this,t,e)},o.prototype.imul=function(t){return this.clone().mulTo(t,this)},o.prototype.imuln=function(t){n("number"==typeof t),n(t<67108864);for(var e=0,r=0;r<this.length;r++){var i=(0|this.words[r])*t,o=(67108863&i)+(67108863&e);e>>=26,e+=i/67108864|0,e+=o>>>26,this.words[r]=67108863&o}return 0!==e&&(this.words[r]=e,this.length++),this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var n=r/26|0,i=r%26;e[r]=(t.words[n]&1<<i)>>>i}return e}(t);if(0===e.length)return new o(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var i=r.sqr();n<e.length;n++,i=i.sqr())0!==e[n]&&(r=r.mul(i));return r},o.prototype.iushln=function(t){n("number"==typeof t&&t>=0);var e,r=t%26,i=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var s=0;for(e=0;e<this.length;e++){var a=this.words[e]&o,d=(0|this.words[e])-a<<r;this.words[e]=d|s,s=a>>>26-r}s&&(this.words[e]=s,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this.strip()},o.prototype.ishln=function(t){return n(0===this.negative),this.iushln(t)},o.prototype.iushrn=function(t,e,r){var i;n("number"==typeof t&&t>=0),i=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<<o,d=r;if(i-=s,i=Math.max(0,i),d){for(var u=0;u<s;u++)d.words[u]=this.words[u];d.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var h=0;for(u=this.length-1;u>=0&&(0!==h||u>=i);u--){var l=0|this.words[u];this.words[u]=h<<26-o|l>>>o,h=l&a}return d&&0!==h&&(d.words[d.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<<e;return!(this.length<=r||!(this.words[r]&i))},o.prototype.imaskn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this.strip()},o.prototype.maskn=function(t){return this.clone().imaskn(t)},o.prototype.iaddn=function(t){return n("number"==typeof t),n(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},o.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},o.prototype.addn=function(t){return this.clone().iaddn(t)},o.prototype.subn=function(t){return this.clone().isubn(t)},o.prototype.iabs=function(){return this.negative=0,this},o.prototype.abs=function(){return this.clone().iabs()},o.prototype._ishlnsubmul=function(t,e,r){var i,o,s=t.length+r;this._expand(s);var a=0;for(i=0;i<t.length;i++){o=(0|this.words[i+r])+a;var d=(0|t.words[i])*e;a=((o-=67108863&d)>>26)-(d/67108864|0),this.words[i+r]=67108863&o}for(;i<this.length-r;i++)a=(o=(0|this.words[i+r])+a)>>26,this.words[i+r]=67108863&o;if(0===a)return this.strip();for(n(-1===a),a=0,i=0;i<this.length;i++)a=(o=-(0|this.words[i])+a)>>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,s=0|i.words[i.length-1];0!=(r=26-this._countBits(s))&&(i=i.ushln(r),n.iushln(r),s=0|i.words[i.length-1]);var a,d=n.length-i.length;if("mod"!==e){(a=new o(null)).length=d+1,a.words=new Array(a.length);for(var u=0;u<a.length;u++)a.words[u]=0}var h=n.clone()._ishlnsubmul(i,1,d);0===h.negative&&(n=h,a&&(a.words[d]=1));for(var l=d-1;l>=0;l--){var f=67108864*(0|n.words[i.length+l])+(0|n.words[i.length+l-1]);for(f=Math.min(f/s|0,67108863),n._ishlnsubmul(i,f,l);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(i,1,l),n.isZero()||(n.negative^=1);a&&(a.words[l]=f)}return a&&a.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:a||null,mod:n}},o.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(i=a.div.neg()),"div"!==e&&(s=a.mod.neg(),r&&0!==s.negative&&s.iadd(t)),{div:i,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(i=a.div.neg()),{div:i,mod:a.mod}):this.negative&t.negative?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),r&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,s,a},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},o.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new o(1),s=new o(0),a=new o(0),d=new o(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var h=r.clone(),l=e.clone();!e.isZero();){for(var f=0,c=1;!(e.words[0]&c)&&f<26;++f,c<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(i.isOdd()||s.isOdd())&&(i.iadd(h),s.isub(l)),i.iushrn(1),s.iushrn(1);for(var g=0,p=1;!(r.words[0]&p)&&g<26;++g,p<<=1);if(g>0)for(r.iushrn(g);g-- >0;)(a.isOdd()||d.isOdd())&&(a.iadd(h),d.isub(l)),a.iushrn(1),d.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(a),s.isub(d)):(r.isub(e),a.isub(i),d.isub(s))}return{a,b:d,gcd:r.iushln(u)}},o.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,s=new o(1),a=new o(0),d=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,h=1;!(e.words[0]&h)&&u<26;++u,h<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(d),s.iushrn(1);for(var l=0,f=1;!(r.words[0]&f)&&l<26;++l,f<<=1);if(l>0)for(r.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(d),a.iushrn(1);e.cmp(r)>=0?(e.isub(r),s.isub(a)):(r.isub(e),a.isub(s))}return(i=0===e.cmpn(1)?s:a).cmpn(0)<0&&i.iadd(t),i},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return!(1&this.words[0])},o.prototype.isOdd=function(){return!(1&~this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,i=1<<e;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var o=i,s=r;0!==o&&s<this.length;s++){var a=0|this.words[s];o=(a+=o)>>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:i<t?-1:1}return 0!==this.negative?0|-e:e},o.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},o.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){n<i?e=-1:n>i&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new $(t)},o.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var b={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function _(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function M(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function $(t){if("string"==typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function S(t){$.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},i(v,y),v.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i<n;i++)e.words[i]=t.words[i];if(e.length=n,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,i=10;i<t.length;i++){var s=0|t.words[i];t.words[i-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[i-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(_,y),i(M,y),i(w,y),w.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,i=67108863&n;n>>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(b[t])return b[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new _;else if("p192"===t)e=new M;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new w}return b[t]=e,e},$.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},$.prototype._verify2=function(t,e){n(!(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},$.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},$.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},$.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},$.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},$.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},$.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},$.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},$.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},$.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},$.prototype.isqr=function(t){return this.imul(t,t.clone())},$.prototype.sqr=function(t){return th
vendor: 1,235 bytes, line 15672
15672is.mul(t,t)},$.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new o(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),s=0;!i.isZero()&&0===i.andln(1);)s++,i.iushrn(1);n(!i.isZero());var a=new o(1).toRed(this),d=a.redNeg(),u=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new o(2*h*h).toRed(this);0!==this.pow(h,u).cmp(d);)h.redIAdd(d);for(var l=this.pow(h,i),f=this.pow(t,i.addn(1).iushrn(1)),c=this.pow(t,i),g=s;0!==c.cmp(a);){for(var p=c,m=0;0!==p.cmp(a);m++)p=p.redSqr();n(m<g);var b=this.pow(l,new o(1).iushln(g-m-1));f=f.redMul(b),l=b.redSqr(),c=c.redMul(l),g=m}return f},$.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},$.prototype.pow=function(t,e){if(e.isZero())return new o(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new o(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var i=r[0],s=0,a=0,d=e.bitLength()%26;for(0===d&&(d=26),n=e.length-1;n>=0;n--){for(var u=e.words[n],h=d-1;h>=0;h--){var l=u>>h&1;i!==r[0]&&(i=this.sqr(i)),0!==l||0!==s?(s<<=1,s|=l,(4==++a||0===n&&0===h)&&(i=this.mul(i,r[s]),a=0,s=0)):a=0}
vendor: 4,974 bytes, line 15672
15672d=26}return i},$.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},$.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new S(t)},i(S,$),S.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},S.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),s=i;return i.cmp(this.m)>=0?s=i.isub(this.m):i.cmpn(0)<0&&(s=i.iadd(this.m)),s._forceRed(this)},S.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},6729:(t,e,r)=>{"use strict";var n=e;n.version=r(1636).rE,n.utils=r(7011),n.rand=r(5037),n.curve=r(894),n.curves=r(480),n.ec=r(7447),n.eddsa=r(8650)},6677:(t,e,r)=>{"use strict";var n=r(8490),i=r(7011),o=i.getNAF,s=i.getJSF,a=i.assert;function d(t,e){this.type=t,this.p=new n(e.p,16),this.red=e.prime?n.red(e.prime):n.mont(this.p),this.zero=new n(0).toRed(this.red),this.one=new n(1).toRed(this.red),this.two=new n(2).toRed(this.red),this.n=e.n&&new n(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function u(t,e){this.curve=t,this.type=e,this.precomputed=null}t.exports=d,d.prototype.point=function(){throw new Error("Not implemented")},d.prototype.validate=function(){throw new Error("Not implemented")},d.prototype._fixedNafMul=function(t,e){a(t.precomputed);var r=t._getDoubles(),n=o(e,1,this._bitLength),i=(1<<r.step+1)-(r.step%2==0?2:1);i/=3;var s,d,u=[];for(s=0;s<n.length;s+=r.step){d=0;for(var h=s+r.step-1;h>=s;h--)d=(d<<1)+n[h];u.push(d)}for(var l=this.jpoint(null,null,null),f=this.jpoint(null,null,null),c=i;c>0;c--){for(s=0;s<u.length;s++)(d=u[s])===c?f=f.mixedAdd(r.points[s]):d===-c&&(f=f.mixedAdd(r.points[s].neg()));l=l.add(f)}return l.toP()},d.prototype._wnafMul=function(t,e){var r=4,n=t._getNAFPoints(r);r=n.wnd;for(var i=n.points,s=o(e,r,this._bitLength),d=this.jpoint(null,null,null),u=s.length-1;u>=0;u--){for(var h=0;u>=0&&0===s[u];u--)h++;if(u>=0&&h++,d=d.dblp(h),u<0)break;var l=s[u];a(0!==l),d="affine"===t.type?l>0?d.mixedAdd(i[l-1>>1]):d.mixedAdd(i[-l-1>>1].neg()):l>0?d.add(i[l-1>>1]):d.add(i[-l-1>>1].neg())}return"affine"===t.type?d.toP():d},d.prototype._wnafMulAdd=function(t,e,r,n,i){var a,d,u,h=this._wnafT1,l=this._wnafT2,f=this._wnafT3,c=0;for(a=0;a<n;a++){var g=(u=e[a])._getNAFPoints(t);h[a]=g.wnd,l[a]=g.points}for(a=n-1;a>=1;a-=2){var p=a-1,m=a;if(1===h[p]&&1===h[m]){var b=[e[p],null,null,e[m]];0===e[p].y.cmp(e[m].y)?(b[1]=e[p].add(e[m]),b[2]=e[p].toJ().mixedAdd(e[m].neg())):0===e[p].y.cmp(e[m].y.redNeg())?(b[1]=e[p].toJ().mixedAdd(e[m]),b[2]=e[p].add(e[m].neg())):(b[1]=e[p].toJ().mixedAdd(e[m]),b[2]=e[p].toJ().mixedAdd(e[m].neg()));var y=[-3,-1,-5,-7,0,7,5,1,3],v=s(r[p],r[m]);for(c=Math.max(v[0].length,c),f[p]=new Array(c),f[m]=new Array(c),d=0;d<c;d++){var _=0|v[0][d],M=0|v[1][d];f[p][d]=y[3*(_+1)+(M+1)],f[m][d]=0,l[p]=b}}else f[p]=o(r[p],h[p],this._bitLength),f[m]=o(r[m],h[m],this._bitLength),c=Math.max(f[p].length,c),c=Math.max(f[m].length,c)}var w=this.jpoint(null,null,null),$=this._wnafT4;for(a=c;a>=0;a--){for(var S=0;a>=0;){var N=!0;for(d=0;d<n;d++)$[d]=0|f[d][a],0!==$[d]&&(N=!1);if(!N)break;S++,a--}if(a>=0&&S++,w=w.dblp(S),a<0)break;for(d=0;d<n;d++){var E=$[d];0!==E&&(E>0?u=l[d][E-1>>1]:E<0&&(u=l[d][-E-1>>1].neg()),w="affine"===u.type?w.mixedAdd(u):w.add(u))}}for(a=0;a<n;a++)l[a]=null;return i?w:w.toP()},d.BasePoint=u,u.prototype.eq=function(){throw new Error("Not implemented")},u.prototype.validate=function(){return this.curve.validate(this)},d.prototype.decodePoint=function(t,e){t=i.toArray(t,e);var r=this.p.byteLength();if((4===t[0]||6===t[0]||7===t[0])&&t.length-1==2*r)return 6===t[0]?a(t[t.length-1]%2==0):7===t[0]&&a(t[t.length-1]%2==1),this.point(t.slice(1,1+r),t.slice(1+r,1+2*r));if((2===t[0]||3===t[0])&&t.length-1===r)return this.pointFromX(t.slice(1,1+r),3===t[0]);throw new Error("Unknown point format")},u.prototype.encodeCompressed=function(t){return this.encode(t,!0)},u.prototype._encode=function(t){var e=this.curve.p.byteLength(),r=this.getX().toArray("be",e);return t?[this.getY().isEven()?2:3].concat(r):[4].concat(r,this.getY().toArray("be",e))},u.prototype.encode=function(t,e){return i.encode(this._encode(e),t)}
vendor: 8,392 bytes, line 15672
15672,u.prototype.precompute=function(t){if(this.precomputed)return this;var e={doubles:null,naf:null,beta:null};return e.naf=this._getNAFPoints(8),e.doubles=this._getDoubles(4,t),e.beta=this._getBeta(),this.precomputed=e,this},u.prototype._hasDoubles=function(t){if(!this.precomputed)return!1;var e=this.precomputed.doubles;return!!e&&e.points.length>=Math.ceil((t.bitLength()+1)/e.step)},u.prototype._getDoubles=function(t,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,i=0;i<e;i+=t){for(var o=0;o<t;o++)n=n.dbl();r.push(n)}return{step:t,points:r}},u.prototype._getNAFPoints=function(t){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var e=[this],r=(1<<t)-1,n=1===r?null:this.dbl(),i=1;i<r;i++)e[i]=e[i-1].add(n);return{wnd:t,points:e}},u.prototype._getBeta=function(){return null},u.prototype.dblp=function(t){for(var e=this,r=0;r<t;r++)e=e.dbl();return e}},1298:(t,e,r)=>{"use strict";var n=r(7011),i=r(8490),o=r(6698),s=r(6677),a=n.assert;function d(t){this.twisted=1!=(0|t.a),this.mOneA=this.twisted&&-1==(0|t.a),this.extended=this.mOneA,s.call(this,"edwards",t),this.a=new i(t.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new i(t.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new i(t.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),a(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|t.c)}function u(t,e,r,n,o){s.BasePoint.call(this,t,"projective"),null===e&&null===r&&null===n?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new i(e,16),this.y=new i(r,16),this.z=n?new i(n,16):this.curve.one,this.t=o&&new i(o,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}o(d,s),t.exports=d,d.prototype._mulA=function(t){return this.mOneA?t.redNeg():this.a.redMul(t)},d.prototype._mulC=function(t){return this.oneC?t:this.c.redMul(t)},d.prototype.jpoint=function(t,e,r,n){return this.point(t,e,r,n)},d.prototype.pointFromX=function(t,e){(t=new i(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr(),n=this.c2.redSub(this.a.redMul(r)),o=this.one.redSub(this.c2.redMul(this.d).redMul(r)),s=n.redMul(o.redInvm()),a=s.redSqrt();if(0!==a.redSqr().redSub(s).cmp(this.zero))throw new Error("invalid point");var d=a.fromRed().isOdd();return(e&&!d||!e&&d)&&(a=a.redNeg()),this.point(t,a)},d.prototype.pointFromY=function(t,e){(t=new i(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr(),n=r.redSub(this.c2),o=r.redMul(this.d).redMul(this.c2).redSub(this.a),s=n.redMul(o.redInvm());if(0===s.cmp(this.zero)){if(e)throw new Error("invalid point");return this.point(this.zero,t)}var a=s.redSqrt();if(0!==a.redSqr().redSub(s).cmp(this.zero))throw new Error("invalid point");return a.fromRed().isOdd()!==e&&(a=a.redNeg()),this.point(a,t)},d.prototype.validate=function(t){if(t.isInfinity())return!0;t.normalize();var e=t.x.redSqr(),r=t.y.redSqr(),n=e.redMul(this.a).redAdd(r),i=this.c2.redMul(this.one.redAdd(this.d.redMul(e).redMul(r)));return 0===n.cmp(i)},o(u,s.BasePoint),d.prototype.pointFromJSON=function(t){return u.fromJSON(this,t)},d.prototype.point=function(t,e,r,n){return new u(this,t,e,r,n)},u.fromJSON=function(t,e){return new u(t,e[0],e[1],e[2])},u.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},u.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},u.prototype._extDbl=function(){var t=this.x.redSqr(),e=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);var n=this.curve._mulA(t),i=this.x.redAdd(this.y).redSqr().redISub(t).redISub(e),o=n.redAdd(e),s=o.redSub(r),a=n.redSub(e),d=i.redMul(s),u=o.redMul(a),h=i.redMul(a),l=s.redMul(o);return this.curve.point(d,u,l,h)},u.prototype._projDbl=function(){var t,e,r,n,i,o,s=this.x.redAdd(this.y).redSqr(),a=this.x.redSqr(),d=this.y.redSqr();if(this.curve.twisted){var u=(n=this.curve._mulA(a)).redAdd(d);this.zOne?(t=s.redSub(a).redSub(d).redMul(u.redSub(this.curve.two)),e=u.redMul(n.redSub(d)),r=u.redSqr().redSub(u).redSub(u)):(i=this.z.redSqr(),o=u.redSub(i).redISub(i),t=s.redSub(a).redISub(d).redMul(o),e=u.redMul(n.redSub(d)),r=u.redMul(o))}else n=a.redAdd(d),i=this.curve._mulC(this.z).redSqr(),o=n.redSub(i).redSub(i),t=this.curve._mulC(s.redISub(n)).redMul(o),e=this.curve._mulC(n).redMul(a.redISub(d)),r=n.redMul(o);return this.curve.point(t,e,r)},u.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},u.prototype._extAdd=function(t){var e=this.y.redSub(this.x).redMul(t.y.redSub(t.x)),r=this.y.redAdd(this.x).redMul(t.y.redAdd(t.x)),n=this.t.redMul(this.curve.dd).redMul(t.t),i=this.z.redMul(t.z.redAdd(t.z)),o=r.redSub(e),s=i.redSub(n),a=i.redAdd(n),d=r.redAdd(e),u=o.redMul(s),h=a.redMul(d),l=o.redMul(d),f=s.redMul(a);return this.curve.point(u,h,f,l)},u.prototype._projAdd=function(t){var e,r,n=this.z.redMul(t.z),i=n.redSqr(),o=this.x.redMul(t.x),s=this.y.redMul(t.y),a=this.curve.d.redMul(o).redMul(s),d=i.redSub(a),u=i.redAdd(a),h=this.x.redAdd(this.y).redMul(t.x.redAdd(t.y)).redISub(o).redISub(s),l=n.redMul(d).redMul(h);return this.curve.twisted?(e=n.redMul(u).redMul(s.redSub(this.curve._mulA(o))),r=d.redMul(u)):(e=n.redMul(u).redMul(s.redSub(o)),r=this.curve._mulC(d).redMul(u)),this.curve.point(l,e,r)},u.prototype.add=function(t){return this.isInfinity()?t:t.isInfinity()?this:this.curve.extended?this._extAdd(t):this._projAdd(t)},u.prototype.mul=function(t){return this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve._wnafMul(this,t)},u.prototype.mulAdd=function(t,e,r){return this.curve._wnafMulAdd(1,[this,e],[t,r],2,!1)},u.prototype.jmulAdd=function(t,e,r){return this.curve._wnafMulAdd(1,[this,e],[t,r],2,!0)},u.prototype.normalize=function(){if(this.zOne)return this;var t=this.z.redInvm();return this.x=this.x.redMul(t),this.y=this.y.redMul(t),this.t&&(this.t=this.t.redMul(t)),this.z=this.curve.one,this.zOne=!0,this},u.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},u.prototype.getX=function(){return this.normalize(),this.x.fromRed()},u.prototype.getY=function(){return this.normalize(),this.y.fromRed()},u.prototype.eq=function(t){return this===t||0===this.getX().cmp(t.getX())&&0===this.getY().cmp(t.getY())},u.prototype.eqXToP=function(t){var e=t.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(e))return!0;for(var r=t.clone(),n=this.curve.redN.redMul(this.z);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(e.redIAdd(n),0===this.x.cmp(e))return!0}},u.prototype.toP=u.prototype.normalize,u.prototype.mixedAdd=u.prototype.add},894:(t,e,r)=>{"use strict";var n=e;n.base=r(6677),n.short=r(9188),n.mont=r(370),n.edwards=r(1298)},370:(t,e,r)=>{"use strict";var n=r(8490),i=r(6698),o=r(6677),s=r(7011);function a(t){o.call(this,"mont",t),this.a=new n(t.a,16).toRed(this.red),this.b=new n(t.b,16).toRed(this.red),this.i4=new n(4).toRed(this.red).redInvm(),this.two=new n(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function d(t,e,r){o.BasePoint.call(this,t,"projective"),null===e&&null===r?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new n(e,16),this.z=new n(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}i(a,o),t.exports=a,a.prototype.validate=function(t){var e=t.normalize().x,r=e.redSqr(),n=r.redMul(e).redAdd(r.redMul(this.a)).redAdd(e);return 0===n.redSqrt().redSqr().cmp(n)},i(d,o.BasePoint),a.prototype.decodePoint=function(t,e){return this.point(s.toArray(t,e),1)},a.prototype.point=function(t,e){return new d(this,t,e)},a.prototype.pointFromJSON=function(t){return d.fromJSON(this,t)},d.prototype.precompute=function(){},d.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},d.fromJSON=function(t,e){return new d(t,e[0],e[1]||t.one)},d.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>
15672":"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},d.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},d.prototype.dbl=function(){var t=this.x.redAdd(this.z).redSqr(),e=this.x.redSub(this.z).redSqr(),r=t.redSub(e),n=t.redMul(e),i=r.redMul(e.redAdd(this.curve.a24.redMul(r)));return this.curve.point(n,i)},d.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},d.prototype.diffAdd=function(t,e){var r=this.x.redAdd(this.z),n=this.x.redSub(this.z),i=t.x.redAdd(t.z),o=t.x.redSub(t.z).redMul(r),s=i.redMul(n),a=e.z.redMul(o.redAdd(s).redSqr()),d=e.x.redMul(o.redISub(s).redSqr());return this.curve.point(a,d)},d.prototype.mul=function(t){for(var e=t.clone(),r=this,n=this.curve.point(null,null),i=[];0!==e.cmpn(0);e.iushrn(1))i.push(e.andln(1));for(var o=i.length-1;o>=0;o--)0===i[o]?(r=r.diffAdd(n,this),n=n.dbl()):(n=r.diffAdd(n,this),r=r.dbl());return n},d.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},d.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},d.prototype.eq=function(t){return 0===this.getX().cmp(t.getX())},d.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},d.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},9188:(t,e,r)=>{"use strict";var n=r(7011),i=r(8490),o=r(6698),s=r(6677),a=n.assert;function d(t){s.call(this,"short",t),this.a=new i(t.a,16).toRed(this.red),this.b=new i(t.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(t),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function u(t,e,r,n){s.BasePoint.call(this,t,"affine"),null===e&&null===r?(this.x=null,this.y=null,this.inf=!0):(this.x=new i(e,16),this.y=new i(r,16),n&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function h(t,e,r,n){s.BasePoint.call(this,t,"jacobian"),null===e&&null===r&&null===n?(this.x=this.curve.one,this.y=this.curve.one,this.z=new i(0)):(this.x=new i(e,16),this.y=new i(r,16),this.z=new i(n,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}o(d,s),t.exports=d,d.prototype._getEndomorphism=function(t){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var e,r;if(t.beta)e=new i(t.beta,16).toRed(this.red);else{var n=this._getEndoRoots(this.p);e=(e=n[0].cmp(n[1])<0?n[0]:n[1]).toRed(this.red)}if(t.lambda)r=new i(t.lambda,16);else{var o=this._getEndoRoots(this.n);0===this.g.mul(o[0]).x.cmp(this.g.x.redMul(e))?r=o[0]:(r=o[1],a(0===this.g.mul(r).x.cmp(this.g.x.redMul(e))))}return{beta:e,lambda:r,basis:t.basis?t.basis.map((function(t){return{a:new i(t.a,16),b:new i(t.b,16)}})):this._getEndoBasis(r)}}},d.prototype._getEndoRoots=function(t){var e=t===this.p?this.red:i.mont(t),r=new i(2).toRed(e).redInvm(),n=r.redNeg(),o=new i(3).toRed(e).redNeg().redSqrt().redMul(r);return[n.redAdd(o).fromRed(),n.redSub(o).fromRed()]},d.prototype._getEndoBasis=function(t){for(var e,r,n,o,s,a,d,u,h,l=this.n.ushrn(Math.floor(this.n.bitLength()/2)),f=t,c=this.n.clone(),g=new i(1),p=new i(0),m=new i(0),b=new i(1),y=0;0!==f.cmpn(0);){var v=c.div(f);u=c.sub(v.mul(f)),h=m.sub(v.mul(g));var _=b.sub(v.mul(p));if(!n&&u.cmp(l)<0)e=d.neg(),r=g,n=u.neg(),o=h;else if(n&&2==++y)break;d=u,c=f,f=u,m=g,g=h,b=p,p=_}s=u.neg(),a=h;var M=n.sqr().add(o.sqr());return s.sqr().add(a.sqr()).cmp(M)>=0&&(s=e,a=r),n.negative&&(n=n.neg(),o=o.neg()),s.negative&&(s=s.neg(),a=a.neg()),[{a:n,b:o},{a:s,b:a}]},d.prototype._endoSplit=function(t){var e=this.endo.basis,r=e[0],n=e[1],i=n.b.mul(t).divRound(this.n),o=r.b.neg().mul(t).divRound(this.n),s=i.mul(r.a),a=o.mul(n.a),d=i.mul(r.b),u=o.mul(n.b);return{k1:t.sub(s).sub(a),k2:d.add(u).neg()}},d.prototype.pointFromX=function(t,e){(t=new i(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),n=r.redSqrt();if(0!==n.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var o=n.fromRed().isOdd();return(e&&!o||!e&&o)&&(n=n.redNeg()),this.point(t,n)},d.prototype.validate=function(t){if(t.inf)return!0;var e=t.x,r=t.y,n=this.a.redMul(e),i=e.redSqr().redMul(e).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(i).cmpn(0)},d.prototype._endoWnafMulAdd=function(t,e,r){for(var n=this._endoWnafT1,i=this._endoWnafT2,o=0;o<t.length;o++){var s=this._endoSplit(e[o]),a=t[o],d=a._getBeta();s.k1.negative&&(s.k1.ineg(),a=a.neg(!0)),s.k2.negative&&(s.k2.ineg(),d=d.neg(!0)),n[2*o]=a,n[2*o+1]=d,i[2*o]=s.k1,i[2*o+1]=s.k2}for(var u=this._wnafMulAdd(1,n,i,2*o,r),h=0;h<2*o;h++)n[h]=null,i[h]=null;return u},o(u,s.BasePoint),d.prototype.point=function(t,e,r){return new u(this,t,e,r)},d.prototype.pointFromJSON=function(t,e){return u.fromJSON(this,t,e)},u.prototype._getBeta=function(){if(this.curve.endo){var t=this.prec
vendor: 7,260 bytes, line 15672
15672omputed;if(t&&t.beta)return t.beta;var e=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(t){var r=this.curve,n=function(t){return r.point(t.x.redMul(r.endo.beta),t.y)};t.beta=e,e.precomputed={beta:null,naf:t.naf&&{wnd:t.naf.wnd,points:t.naf.points.map(n)},doubles:t.doubles&&{step:t.doubles.step,points:t.doubles.points.map(n)}}}return e}},u.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},u.fromJSON=function(t,e,r){"string"==typeof e&&(e=JSON.parse(e));var n=t.point(e[0],e[1],r);if(!e[2])return n;function i(e){return t.point(e[0],e[1],r)}var o=e[2];return n.precomputed={beta:null,doubles:o.doubles&&{step:o.doubles.step,points:[n].concat(o.doubles.points.map(i))},naf:o.naf&&{wnd:o.naf.wnd,points:[n].concat(o.naf.points.map(i))}},n},u.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},u.prototype.isInfinity=function(){return this.inf},u.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(0===this.x.cmp(t.x))return this.curve.point(null,null);var e=this.y.redSub(t.y);0!==e.cmpn(0)&&(e=e.redMul(this.x.redSub(t.x).redInvm()));var r=e.redSqr().redISub(this.x).redISub(t.x),n=e.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},u.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(0===t.cmpn(0))return this.curve.point(null,null);var e=this.curve.a,r=this.x.redSqr(),n=t.redInvm(),i=r.redAdd(r).redIAdd(r).redIAdd(e).redMul(n),o=i.redSqr().redISub(this.x.redAdd(this.x)),s=i.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,s)},u.prototype.getX=function(){return this.x.fromRed()},u.prototype.getY=function(){return this.y.fromRed()},u.prototype.mul=function(t){return t=new i(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)},u.prototype.mulAdd=function(t,e,r){var n=[this,e],i=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},u.prototype.jmulAdd=function(t,e,r){var n=[this,e],i=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},u.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||0===this.x.cmp(t.x)&&0===this.y.cmp(t.y))},u.prototype.neg=function(t){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var r=this.precomputed,n=function(t){return t.neg()};e.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(n)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(n)}}}return e},u.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},o(h,s.BasePoint),d.prototype.jpoint=function(t,e,r){return new h(this,t,e,r)},h.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),e=t.redSqr(),r=this.x.redMul(e),n=this.y.redMul(e).redMul(t);return this.curve.point(r,n)},h.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},h.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(e),i=t.x.redMul(r),o=this.y.redMul(e.redMul(t.z)),s=t.y.redMul(r.redMul(this.z)),a=n.redSub(i),d=o.redSub(s);if(0===a.cmpn(0))return 0!==d.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=a.redSqr(),h=u.redMul(a),l=n.redMul(u),f=d.redSqr().redIAdd(h).redISub(l).redISub(l),c=d.redMul(l.redISub(f)).redISub(o.redMul(h)),g=this.z.redMul(t.z).redMul(a);return this.curve.jpoint(f,c,g)},h.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var e=this.z.redSqr(),r=this.x,n=t.x.redMul(e),i=this.y,o=t.y.redMul(e).redMul(this.z),s=r.redSub(n),a=i.redSub(o);if(0===s.cmpn(0))return 0!==a.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var d=s.redSqr(),u=d.redMul(s),h=r.redMul(d),l=a.redSqr().redIAdd(u).redISub(h).redISub(h),f=a.redMul(h.redISub(l)).redISub(i.redMul(u)),c=this.z.redMul(s);return this.curve.jpoint(l,f,c)},h.prototype.dblp=function(t){if(0===t)return this;if(this.isInfinity())return this;if(!t)return this.dbl();var e;if(this.curve.zeroA||this.curve.threeA){var r=this;for(e=0;e<t;e++)r=r.dbl();return r}var n=this.curve.a,i=this.curve.tinv,o=this.x,s=this.y,a=this.z,d=a.redSqr().redSqr(),u=s.redAdd(s);for(e=0;e<t;e++){var h=o.redSqr(),l=u.redSqr(),f=l.redSqr(),c=h.redAdd(h).redIAdd(h).redIAdd(n.redMul(d)),g=o.redMul(l),p=c.redSqr().redISub(g.redAdd(g)),m=g.redISub(p),b=c.redMul(m);b=b.redIAdd(b).redISub(f);var y=u.redMul(a);e+1<t&&(d=d.redMul(f)),o=p,a=y,u=b}return this.curve.jpoint(o,u.redMul(i),a)},h.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},h.prototype._zeroDbl=function(){var t,e,r;if(this.zOne){var n=this.x.redSqr(),i=this.y.redSqr(),o=i.redSqr(),s=this.x.redAdd(i).redSqr().redISub(n).redISub(o);s=s.redIAdd(s);var a=n.redAdd(n).redIAdd(n),d=a.redSqr().redISub(s).redISub(s),u=o.redIAdd(o);u=(u=u.redIAdd(u)).redIAdd(u),t=d,e=a.redMul(s.redISub(d)).redISub(u),r=this.y.redAdd(this.y)}else{var h=this.x.redSqr(),l=this.y.redSqr(),f=l.redSqr(),c=this.x.redAdd(l).redSqr().redISub(h).redISub(f);c=c.redIAdd(c);var g=h.redAdd(h).redIAdd(h),p=g.redSqr(),m=f.redIAdd(f);m=(m=m.redIAdd(m)).redIAdd(m),t=p.redISub(c).redISub(c),e=g.redMul(c.redISub(t)).redISub(m),r=(r=this.y.redMul(this.z)).redIAdd(r)}return this.curve.jpoint(t,e,r)},h.prototype._threeDbl=function(){var t,e,r;if(this.zOne){var n=this.x.redSqr(),i=this.y.redSqr(),o=i.redSqr(),s=this.x.redAdd(i).redSqr().redISub(n).redISub(o);s=s.redIAdd(s);var a=n.redAdd(n).redIAdd(n).redIAdd(this.curve.a),d=a.redSqr().redISub(s).redISub(s);t=d;var u=o.redIAdd(o);u=(u=u.redIAdd(u)).redIAdd(u),e=a.redMul(s.redISub(d)).redISub(u),r=this.y.redAdd(this.y)}else{var h=this.z.redSqr(),l=this.y.redSqr(),f=this.x.redMul(l),c=this.x.redSub(h).redMul(this.x.redAdd(h));c=c.redAdd(c).redIAdd(c);var g=f.redIAdd(f),p=(g=g.redIAdd(g)).redAdd(g);t=c.redSqr().redISub(p),r=this.y.redAdd(this.z).redSqr().redISub(l).redISub(h);var m=l.redSqr();m=(m=(m=m.redIAdd(m)).redIAdd(m)).redIAdd(m),e=c.redMul(g.redISub(t)).redISub(m)}return this.curve.jpoint(t,e,r)},h.prototype._dbl=function(){var t=this.curve.a,e=this.x,r=this.y,n=this.z,i=n.redSqr().redSqr(),o=e.redSqr(),s=r.redSqr(),a=o.redAdd(o).redIAdd(o).redIAdd(t.redMul(i)),d=e.redAdd(e),u=(d=d.redIAdd(d)).redMul(s),h=a.redSqr().redISub(u.redAdd(u)),l=u.redISub(h),f=s.redSqr();f=(f=(f=f.redIAdd(f)).redIAdd(f)).redIAdd(f);var c=a.redMul(l).redISub(f),g=r.redAdd(r).redMul(n);return this.curve.jpoint(h,c,g)},h.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);
vendor: 4,206 bytes, line 15672
15672var t=this.x.redSqr(),e=this.y.redSqr(),r=this.z.redSqr(),n=e.redSqr(),i=t.redAdd(t).redIAdd(t),o=i.redSqr(),s=this.x.redAdd(e).redSqr().redISub(t).redISub(n),a=(s=(s=(s=s.redIAdd(s)).redAdd(s).redIAdd(s)).redISub(o)).redSqr(),d=n.redIAdd(n);d=(d=(d=d.redIAdd(d)).redIAdd(d)).redIAdd(d);var u=i.redIAdd(s).redSqr().redISub(o).redISub(a).redISub(d),h=e.redMul(u);h=(h=h.redIAdd(h)).redIAdd(h);var l=this.x.redMul(a).redISub(h);l=(l=l.redIAdd(l)).redIAdd(l);var f=this.y.redMul(u.redMul(d.redISub(u)).redISub(s.redMul(a)));f=(f=(f=f.redIAdd(f)).redIAdd(f)).redIAdd(f);var c=this.z.redAdd(s).redSqr().redISub(r).redISub(a);return this.curve.jpoint(l,f,c)},h.prototype.mul=function(t,e){return t=new i(t,e),this.curve._wnafMul(this,t)},h.prototype.eq=function(t){if("affine"===t.type)return this.eq(t.toJ());if(this===t)return!0;var e=this.z.redSqr(),r=t.z.redSqr();if(0!==this.x.redMul(r).redISub(t.x.redMul(e)).cmpn(0))return!1;var n=e.redMul(this.z),i=r.redMul(t.z);return 0===this.y.redMul(i).redISub(t.y.redMul(n)).cmpn(0)},h.prototype.eqXToP=function(t){var e=this.z.redSqr(),r=t.toRed(this.curve.red).redMul(e);if(0===this.x.cmp(r))return!0;for(var n=t.clone(),i=this.curve.redN.redMul(e);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(r.redIAdd(i),0===this.x.cmp(r))return!0}},h.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},h.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},480:(t,e,r)=>{"use strict";var n,i=e,o=r(7952),s=r(894),a=r(7011).assert;function d(t){"short"===t.type?this.curve=new s.short(t):"edwards"===t.type?this.curve=new s.edwards(t):this.curve=new s.mont(t),this.g=this.curve.g,this.n=this.curve.n,this.hash=t.hash,a(this.g.validate(),"Invalid curve"),a(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function u(t,e){Object.defineProperty(i,t,{configurable:!0,enumerable:!0,get:function(){var r=new d(e);return Object.defineProperty(i,t,{configurable:!0,enumerable:!0,value:r}),r}})}i.PresetCurve=d,u("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:o.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),u("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:o.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),u("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:o.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),u("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:o.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}
vendor: 8,645 bytes, line 15672
15672),u("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:o.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),u("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["9"]}),u("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{n=r(4011)}catch(t){n=void 0}u("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:o.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",n]})},7447:(t,e,r)=>{"use strict";var n=r(8490),i=r(2723),o=r(7011),s=r(480),a=r(5037),d=o.assert,u=r(1200),h=r(8545);function l(t){if(!(this instanceof l))return new l(t);"string"==typeof t&&(d(Object.prototype.hasOwnProperty.call(s,t),"Unknown curve "+t),t=s[t]),t instanceof s.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}t.exports=l,l.prototype.keyPair=function(t){return new u(this,t)},l.prototype.keyFromPrivate=function(t,e){return u.fromPrivate(this,t,e)},l.prototype.keyFromPublic=function(t,e){return u.fromPublic(this,t,e)},l.prototype.genKeyPair=function(t){t||(t={});for(var e=new i({hash:this.hash,pers:t.pers,persEnc:t.persEnc||"utf8",entropy:t.entropy||a(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),o=this.n.sub(new n(2));;){var s=new n(e.generate(r));if(!(s.cmp(o)>0))return s.iaddn(1),this.keyFromPrivate(s)}},l.prototype._truncateToN=function(t,e,r){var i;if(n.isBN(t)||"number"==typeof t)i=(t=new n(t,16)).byteLength();else if("object"==typeof t)i=t.length,t=new n(t,16);else{var o=t.toString();i=o.length+1>>>1,t=new n(o,16)}"number"!=typeof r&&(r=8*i);var s=r-this.n.bitLength();return s>0&&(t=t.ushrn(s)),!e&&t.cmp(this.n)>=0?t.sub(this.n):t},l.prototype.sign=function(t,e,r,o){if("object"==typeof r&&(o=r,r=null),o||(o={}),"string"!=typeof t&&"number"!=typeof t&&!n.isBN(t)){d("object"==typeof t&&t&&"number"==typeof t.length,"Expected message to be an array-like, a hex string, or a BN instance"),d(t.length>>>0===t.length);for(var s=0;s<t.length;s++)d((255&t[s])===t[s])}e=this.keyFromPrivate(e,r),t=this._truncateToN(t,!1,o.msgBitLength),d(!t.isNeg(),"Can not sign a negative message");var a=this.n.byteLength(),u=e.getPrivate().toArray("be",a),l=t.toArray("be",a);d(new n(l).eq(t),"Can not sign message");for(var f=new i({hash:this.hash,entropy:u,nonce:l,pers:o.pers,persEnc:o.persEnc||"utf8"}),c=this.n.sub(new n(1)),g=0;;g++){var p=o.k?o.k(g):new n(f.generate(this.n.byteLength()));if(!((p=this._truncateToN(p,!0)).cmpn(1)<=0||p.cmp(c)>=0)){var m=this.g.mul(p);if(!m.isInfinity()){var b=m.getX(),y=b.umod(this.n);if(0!==y.cmpn(0)){var v=p.invm(this.n).mul(y.mul(e.getPrivate()).iadd(t));if(0!==(v=v.umod(this.n)).cmpn(0)){var _=(m.getY().isOdd()?1:0)|(0!==b.cmp(y)?2:0);return o.canonical&&v.cmp(this.nh)>0&&(v=this.n.sub(v),_^=1),new h({r:y,s:v,recoveryParam:_})}}}}}},l.prototype.verify=function(t,e,r,n,i){i||(i={}),t=this._truncateToN(t,!1,i.msgBitLength),r=this.keyFromPublic(r,n);var o=(e=new h(e,"hex")).r,s=e.s;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;if(s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;var a,d=s.invm(this.n),u=d.mul(t).umod(this.n),l=d.mul(o).umod(this.n);return this.curve._maxwellTrick?!(a=this.g.jmulAdd(u,r.getPublic(),l)).isInfinity()&&a.eqXToP(o):!(a=this.g.mulAdd(u,r.getPublic(),l)).isInfinity()&&0===a.getX().umod(this.n).cmp(o)},l.prototype.recoverPubKey=function(t,e,r,i){d((3&r)===r,"The recovery param is more than two bits"),e=new h(e,i);var o=this.n,s=new n(t),a=e.r,u=e.s,l=1&r,f=r>>1;if(a.cmp(this.curve.p.umod(this.curve.n))>=0&&f)throw new Error("Unable to find sencond key candinate");a=f?this.curve.pointFromX(a.add(this.curve.n),l):this.curve.pointFromX(a,l);var c=e.r.invm(o),g=o.sub(s).mul(c).umod(o),p=u.mul(c).umod(o);return this.g.mulAdd(g,a,p)},l.prototype.getKeyRecoveryParam=function(t,e,r,n){if(null!==(e=new h(e,n)).recoveryParam)return e.recoveryParam;for(var i=0;i<4;i++){var o;try{o=this.recoverPubKey(t,e,i)}catch(t){continue}if(o.eq(r))return i}throw new Error("Unable to find valid recovery factor")}},1200:(t,e,r)=>{"use strict";var n=r(8490),i=r(7011).assert;function o(t,e){this.ec=t,this.priv=null,this.pub=null,e.priv&&this._importPrivate(e.priv,e.privEnc),e.pub&&this._importPublic(e.pub,e.pubEnc)}t.exports=o,o.fromPublic=function(t,e,r){return e instanceof o?e:new o(t,{pub:e,pubEnc:r})},o.fromPrivate=function(t,e,r){return e instanceof o?e:new o(t,{priv:e,privEnc:r})},o.prototype.validate=function(){var t=this.getPublic();return t.isInfinity()?{result:!1,reason:"Invalid public key"}:t.validate()?t.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},o.prototype.getPublic=function(t,e){return"string"==typeof t&&(e=t,t=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),e?this.pub.encode(e,t):this.pub},o.prototype.getPrivate=function(t){return"hex"===t?this.priv.toString(16,2):this.priv},o.prototype._importPrivate=function(t,e){this.priv=new n(t,e||16),this.priv=this.priv.umod(this.ec.curve.n)},o.prototype._importPublic=function(t,e){if(t.x||t.y)return"mont"===this.ec.curve.type?i(t.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||i(t.x&&t.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(t.x,t.y));this.pub=this.ec.curve.decodePoint(t,e)},o.prototype.derive=function(t){return t.validate()||i(t.validate(),"public point not validated"),t.mul(this.priv).getX()},o.prototype.sign=function(t,e,r){return this.ec.sign(t,this,e,r)},o.prototype.verify=function(t,e,r){return this.ec.verify(t,e,this,void 0,r)},o.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"}},8545:(t,e,r)=>{"use strict";var n=r(8490),i=r(7011),o=i.assert;function s(t,e){if(t instanceof s)return t;this._importDER(t,e)||(o(t.r&&t.s,"Signature without r or s"),this.r=new n(t.r,16),this.s=new n(t.s,16),void 0===t.recoveryParam?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}function a(){this.place=0}function d(t,e){var r=t[e.place++];if(!(128&r))return r;var n=15&r;if(0===n||n>4)return!1;if(0===t[e.place])return!1;for(var i=0,o=0,s=e.place;o<n;o++,s++)i<<=8,i|=t[s],i>>>=0;return!(i<=127)&&(e.place=s,i)}function u(t){for(var e=0,r=t.length-1;!t[e]&&!(128&t[e+1])&&e<r;)e++;return 0===e?t:t.slice(e)}function h(t,e){if(e<128)t.push(e);else{var r=1+(Math.log(e)/Math.LN2>>>3);for(t.push(128|r);--r;)t.push(e>>>(r<<3)&255);t.push(e)}}t.exports=s,s.prototype._importDER=function(t,e){t=i.toArray(t,e);var r=new a;
vendor: 4,230 bytes, line 15672
15672if(48!==t[r.place++])return!1;var o=d(t,r);if(!1===o)return!1;if(o+r.place!==t.length)return!1;if(2!==t[r.place++])return!1;var s=d(t,r);if(!1===s)return!1;if(128&t[r.place])return!1;var u=t.slice(r.place,s+r.place);if(r.place+=s,2!==t[r.place++])return!1;var h=d(t,r);if(!1===h)return!1;if(t.length!==h+r.place)return!1;if(128&t[r.place])return!1;var l=t.slice(r.place,h+r.place);if(0===u[0]){if(!(128&u[1]))return!1;u=u.slice(1)}if(0===l[0]){if(!(128&l[1]))return!1;l=l.slice(1)}return this.r=new n(u),this.s=new n(l),this.recoveryParam=null,!0},s.prototype.toDER=function(t){var e=this.r.toArray(),r=this.s.toArray();for(128&e[0]&&(e=[0].concat(e)),128&r[0]&&(r=[0].concat(r)),e=u(e),r=u(r);!(r[0]||128&r[1]);)r=r.slice(1);var n=[2];h(n,e.length),(n=n.concat(e)).push(2),h(n,r.length);var o=n.concat(r),s=[48];return h(s,o.length),s=s.concat(o),i.encode(s,t)}},8650:(t,e,r)=>{"use strict";var n=r(7952),i=r(480),o=r(7011),s=o.assert,a=o.parseBytes,d=r(6661),u=r(220);function h(t){if(s("ed25519"===t,"only tested with ed25519 so far"),!(this instanceof h))return new h(t);t=i[t].curve,this.curve=t,this.g=t.g,this.g.precompute(t.n.bitLength()+1),this.pointClass=t.point().constructor,this.encodingLength=Math.ceil(t.n.bitLength()/8),this.hash=n.sha512}t.exports=h,h.prototype.sign=function(t,e){t=a(t);var r=this.keyFromSecret(e),n=this.hashInt(r.messagePrefix(),t),i=this.g.mul(n),o=this.encodePoint(i),s=this.hashInt(o,r.pubBytes(),t).mul(r.priv()),d=n.add(s).umod(this.curve.n);return this.makeSignature({R:i,S:d,Rencoded:o})},h.prototype.verify=function(t,e,r){if(t=a(t),(e=this.makeSignature(e)).S().gte(e.eddsa.curve.n)||e.S().isNeg())return!1;var n=this.keyFromPublic(r),i=this.hashInt(e.Rencoded(),n.pubBytes(),t),o=this.g.mul(e.S());return e.R().add(n.pub().mul(i)).eq(o)},h.prototype.hashInt=function(){for(var t=this.hash(),e=0;e<arguments.length;e++)t.update(arguments[e]);return o.intFromLE(t.digest()).umod(this.curve.n)},h.prototype.keyFromPublic=function(t){return d.fromPublic(this,t)},h.prototype.keyFromSecret=function(t){return d.fromSecret(this,t)},h.prototype.makeSignature=function(t){return t instanceof u?t:new u(this,t)},h.prototype.encodePoint=function(t){var e=t.getY().toArray("le",this.encodingLength);return e[this.encodingLength-1]|=t.getX().isOdd()?128:0,e},h.prototype.decodePoint=function(t){var e=(t=o.parseBytes(t)).length-1,r=t.slice(0,e).concat(-129&t[e]),n=!!(128&t[e]),i=o.intFromLE(r);return this.curve.pointFromY(i,n)},h.prototype.encodeInt=function(t){return t.toArray("le",this.encodingLength)},h.prototype.decodeInt=function(t){return o.intFromLE(t)},h.prototype.isPoint=function(t){return t instanceof this.pointClass}},6661:(t,e,r)=>{"use strict";var n=r(7011),i=n.assert,o=n.parseBytes,s=n.cachedProperty;function a(t,e){this.eddsa=t,this._secret=o(e.secret),t.isPoint(e.pub)?this._pub=e.pub:this._pubBytes=o(e.pub)}a.fromPublic=function(t,e){return e instanceof a?e:new a(t,{pub:e})},a.fromSecret=function(t,e){return e instanceof a?e:new a(t,{secret:e})},a.prototype.secret=function(){return this._secret},s(a,"pubBytes",(function(){return this.eddsa.encodePoint(this.pub())})),s(a,"pub",(function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),s(a,"privBytes",(function(){var t=this.eddsa,e=this.hash(),r=t.encodingLength-1,n=e.slice(0,t.encodingLength);return n[0]&=248,n[r]&=127,n[r]|=64,n})),s(a,"priv",(function(){return this.eddsa.decodeInt(this.privBytes())})),s(a,"hash",(function(){return this.eddsa.hash().update(this.secret()).digest()})),s(a,"messagePrefix",(function(){return this.hash().slice(this.eddsa.encodingLength)})),a.prototype.sign=function(t){return i(this._secret,"KeyPair can only verify"),this.eddsa.sign(t,this)},a.prototype.verify=function(t,e){return this.eddsa.verify(t,e,this)},a.prototype.getSecret=function(t){return i(this._secret,"KeyPair is public only"),n.encode(this.secret(),t)},a.prototype.getPublic=function(t){return n.encode(this.pubBytes(),t)},t.exports=a},220:(t,e,r)=>{"use strict";var n=r(8490),i=r(7011),o=i.assert,s=i.cachedProperty,a=i.parseBytes;function d(t,e){this.eddsa=t,"object"!=typeof e&&(e=a(e)),Array.isArray(e)&&(o(e.length===2*t.encodingLength,"Signature has invali
15672d size"),e={R:e.slice(0,t.encodingLength),S:e.slice(t.encodingLength)}),o(e.R&&e.S,"Signature without R or S"),t.isPoint(e.R)&&(this._R=e.R),e.S instanceof n&&(this._S=e.S),this._Rencoded=Array.isArray(e.R)?e.R:e.Rencoded,this._Sencoded=Array.isArray(e.S)?e.S:e.Sencoded}s(d,"S",(function(){return this.eddsa.decodeInt(this.Sencoded())})),s(d,"R",(function(){return this.eddsa.decodePoint(this.Rencoded())})),s(d,"Rencoded",(function(){return this.eddsa.encodePoint(this.R())})),s(d,"Sencoded",(function(){return this.eddsa.encodeInt(this.S())})),d.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},d.prototype.toHex=function(){return i.encode(this.toBytes(),"hex").toUpperCase()},t.exports=d},4011:t=>{t
vendor: 26,137 bytes, line 15672
15672.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}},
vendor: 9,998 bytes, line 15672
156727011:(t,e,r)=>{"use strict";var n=e,i=r(8490),o=r(3349),s=r(4367);n.assert=o,n.toArray=s.toArray,n.zero2=s.zero2,n.toHex=s.toHex,n.encode=s.encode,n.getNAF=function(t,e,r){var n,i=new Array(Math.max(t.bitLength(),r)+1);for(n=0;n<i.length;n+=1)i[n]=0;var o=1<<e+1,s=t.clone();for(n=0;n<i.length;n++){var a,d=s.andln(o-1);s.isOdd()?(a=d>(o>>1)-1?(o>>1)-d:d,s.isubn(a)):a=0,i[n]=a,s.iushrn(1)}return i},n.getJSF=function(t,e){var r=[[],[]];t=t.clone(),e=e.clone();for(var n,i=0,o=0;t.cmpn(-i)>0||e.cmpn(-o)>0;){var s,a,d=t.andln(3)+i&3,u=e.andln(3)+o&3;3===d&&(d=-1),3===u&&(u=-1),s=1&d?3!=(n=t.andln(7)+i&7)&&5!==n||2!==u?d:-d:0,r[0].push(s),a=1&u?3!=(n=e.andln(7)+o&7)&&5!==n||2!==d?u:-u:0,r[1].push(a),2*i===s+1&&(i=1-i),2*o===a+1&&(o=1-o),t.iushrn(1),e.iushrn(1)}return r},n.cachedProperty=function(t,e,r){var n="_"+e;t.prototype[e]=function(){return void 0!==this[n]?this[n]:this[n]=r.call(this)}},n.parseBytes=function(t){return"string"==typeof t?n.toArray(t,"hex"):t},n.intFromLE=function(t){return new i(t,"hex","le")}},8490:function(t,e,r){!function(t,e){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function o(t,e,r){if(o.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var s;"object"==typeof t?t.exports=o:e.BN=o,o.BN=o,o.wordSize=26;try{s="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(9368).Buffer}catch(t){}function a(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function d(t,e,r){var n=a(t,r);return r-1>=e&&(n|=a(t,r-1)<<4),n}function u(t,e,r,n){for(var i=0,o=Math.min(t.length,r),s=e;s<o;s++){var a=t.charCodeAt(s)-48;i*=n,i+=a>=49?a-49+10:a>=17?a-17+10:a}return i}o.isBN=function(t){return t instanceof o||null!==t&&"object"==typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i<t.length&&(16===e?this._parseHex(t,i,r):(this._parseBase(t,e,i),"le"===r&&this._initArray(this.toArray(),e,r)))},o.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initArray=function(t,e,r){if(n("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var o,s,a=0;if("be"===r)for(i=t.length-1,o=0;i>=0;i-=3)s=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===r)for(i=0,o=0;i<t.length;i+=3)s=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var i,o=0,s=0;if("be"===r)for(n=t.length-1;n>=e;n-=2)i=d(t,e,n)<<o,this.words[s]|=67108863&i,o>=18?(o-=18,s+=1,this.words[s]|=i>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n<t.length;n+=2)i=d(t,e,n)<<o,this.words[s]|=67108863&i,o>=18?(o-=18,s+=1,this.words[s]|=i>>>26):o+=8;this.strip()},o.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,s=o%n,a=Math.min(o,o-s)+r,d=0,h=r;h<a;h+=n)d=u(t,h,h+n,e),this.imuln(i),this.words[0]+d<67108864?this.words[0]+=d:this._iaddn(d);if(0!==s){var l=1;for(d=u(t,h,t.length,e),h=0;h<s;h++)l*=e;this.imuln(l),this.words[0]+d<67108864?this.words[0]+=d:this._iaddn(d)}this.strip()},o.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},o.prototype.clone=function(){var t=new o(null);return this.copy(t),t},o.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},o.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function c(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],s=i*o,a=67108863&s,d=s/67108864|0;r.words[0]=a;for(var u=1;u<n;u++){for(var h=d>>>26,l=67108863&d,f=Math.min(u,e.length-1),c=Math.max(0,u-t.length+1);c<=f;c++){var g=u-c|0;h+=(s=(i=0|t.words[g])*(o=0|e.words[c])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,d=0|h}return 0!==d?r.words[u]=0|d:r.length--,r.strip()}o.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var i=0,o=0,s=0;s<this.length;s++){var a=this.words[s],d=(16777215&(a<<i|o)).toString(16);o=a>>>24-i&16777215,(i+=2)>=26&&(i-=26,s--),r=0!==o||s!==this.length-1?h[6-d.length]+d+r:d+r}for(0!==o&&(r=o.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=l[t],c=f[t];r="";var g=this.clone();for(g.negative=0;!g.isZero();){var p=g.modn(c).toString(t);r=(g=g.idivn(c)).isZero()?p+r:h[u-p.length]+p+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return n(void 0!==s),this.toArrayLike(s,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),o=r||Math.max(1,i);n(i<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0"),this.strip();var s,a,d="le"===e,u=new t(o),h=this.clone();if(d){for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),u[a]=s;for(;a<o;a++)u[a]=0}else{for(a=0;a<o-i;a++)u[a]=0;for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),u[o-a-1]=s}return u},Math.clz32?o.prototype._countBits=function(t){return 32-Math.clz32(t)}:o.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 8191&e||(r+=13,e>>>=13),127&e||(r+=7,e>>>=7),15&e||(r+=4,e>>>=4),3&e||(r+=2,e>>>=2),1&e||r++,r},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},o.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},o.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},o.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},o.prototype.isNeg=function(){return 0!==this.negative},o.prototype.neg=function(){return this.clone().ineg()},o.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},o.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},o.prototype.ior=function(t){return n(!(this.negative|t.negative)),this.iuor(t)},o.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},o.prototype.iand=function(t){return n(!(this.negative|t.negative)),this.iuand(t)},o.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n<r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n<e.length;n++)this.words[n]=e.words[n];return this.length=e.length,this.strip()},o.prototype.ixor=function(t){return n(!
vendor: 2,330 bytes, line 15672
15672(this.negative|t.negative)),this.iuxor(t)},o.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<<i:this.words[r]&~(1<<i),this.strip()},o.prototype.iadd=function(t){var e,r,n;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o<n.length;o++)e=(0|r.words[o])+(0|n.words[o])+i,this.words[o]=67108863&e,i=e>>>26;for(;0!==i&&o<r.length;o++)e=(0|r.words[o])+i,this.words[o]=67108863&e,i=e>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},o.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,s=0;s<n.length;s++)o=(e=(0|r.words[s])-(0|n.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},o.prototype.sub=function(t){return this.clone().isub(t)};var
vendor: 7,651 bytes, line 15672
15672g=function(t,e,r){var n,i,o,s=t.words,a=e.words,d=r.words,u=0,h=0|s[0],l=8191&h,f=h>>>13,c=0|s[1],g=8191&c,p=c>>>13,m=0|s[2],b=8191&m,y=m>>>13,v=0|s[3],_=8191&v,M=v>>>13,w=0|s[4],$=8191&w,S=w>>>13,N=0|s[5],E=8191&N,T=N>>>13,A=0|s[6],R=8191&A,P=A>>>13,O=0|s[7],C=8191&O,I=O>>>13,L=0|s[8],D=8191&L,U=L>>>13,k=0|s[9],x=8191&k,F=k>>>13,B=0|a[0],V=8191&B,j=B>>>13,H=0|a[1],G=8191&H,W=H>>>13,Y=0|a[2],z=8191&Y,q=Y>>>13,K=0|a[3],Z=8191&K,X=K>>>13,J=0|a[4],Q=8191&J,tt=J>>>13,et=0|a[5],rt=8191&et,nt=et>>>13,it=0|a[6],ot=8191&it,st=it>>>13,at=0|a[7],dt=8191&at,ut=at>>>13,ht=0|a[8],lt=8191&ht,ft=ht>>>13,ct=0|a[9],gt=8191&ct,pt=ct>>>13;r.negative=t.negative^e.negative,r.length=19;var mt=(u+(n=Math.imul(l,V))|0)+((8191&(i=(i=Math.imul(l,j))+Math.imul(f,V)|0))<<13)|0;u=((o=Math.imul(f,j))+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(g,V),i=(i=Math.imul(g,j))+Math.imul(p,V)|0,o=Math.imul(p,j);var bt=(u+(n=n+Math.imul(l,G)|0)|0)+((8191&(i=(i=i+Math.imul(l,W)|0)+Math.imul(f,G)|0))<<13)|0;u=((o=o+Math.imul(f,W)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(b,V),i=(i=Math.imul(b,j))+Math.imul(y,V)|0,o=Math.imul(y,j),n=n+Math.imul(g,G)|0,i=(i=i+Math.imul(g,W)|0)+Math.imul(p,G)|0,o=o+Math.imul(p,W)|0;var yt=(u+(n=n+Math.imul(l,z)|0)|0)+((8191&(i=(i=i+Math.imul(l,q)|0)+Math.imul(f,z)|0))<<13)|0;u=((o=o+Math.imul(f,q)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(_,V),i=(i=Math.imul(_,j))+Math.imul(M,V)|0,o=Math.imul(M,j),n=n+Math.imul(b,G)|0,i=(i=i+Math.imul(b,W)|0)+Math.imul(y,G)|0,o=o+Math.imul(y,W)|0,n=n+Math.imul(g,z)|0,i=(i=i+Math.imul(g,q)|0)+Math.imul(p,z)|0,o=o+Math.imul(p,q)|0;var vt=(u+(n=n+Math.imul(l,Z)|0)|0)+((8191&(i=(i=i+Math.imul(l,X)|0)+Math.imul(f,Z)|0))<<13)|0;u=((o=o+Math.imul(f,X)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul($,V),i=(i=Math.imul($,j))+Math.imul(S,V)|0,o=Math.imul(S,j),n=n+Math.imul(_,G)|0,i=(i=i+Math.imul(_,W)|0)+Math.imul(M,G)|0,o=o+Math.imul(M,W)|0,n=n+Math.imul(b,z)|0,i=(i=i+Math.imul(b,q)|0)+Math.imul(y,z)|0,o=o+Math.imul(y,q)|0,n=n+Math.imul(g,Z)|0,i=(i=i+Math.imul(g,X)|0)+Math.imul(p,Z)|0,o=o+Math.imul(p,X)|0;var _t=(u+(n=n+Math.imul(l,Q)|0)|0)+((8191&(i=(i=i+Math.imul(l,tt)|0)+Math.imul(f,Q)|0))<<13)|0;u=((o=o+Math.imul(f,tt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(E,V),i=(i=Math.imul(E,j))+Math.imul(T,V)|0,o=Math.imul(T,j),n=n+Math.imul($,G)|0,i=(i=i+Math.imul($,W)|0)+Math.imul(S,G)|0,o=o+Math.imul(S,W)|0,n=n+Math.imul(_,z)|0,i=(i=i+Math.imul(_,q)|0)+Math.imul(M,z)|0,o=o+Math.imul(M,q)|0,n=n+Math.imul(b,Z)|0,i=(i=i+Math.imul(b,X)|0)+Math.imul(y,Z)|0,o=o+Math.imul(y,X)|0,n=n+Math.imul(g,Q)|0,i=(i=i+Math.imul(g,tt)|0)+Math.imul(p,Q)|0,o=o+Math.imul(p,tt)|0;var Mt=(u+(n=n+Math.imul(l,rt)|0)|0)+((8191&(i=(i=i+Math.imul(l,nt)|0)+Math.imul(f,rt)|0))<<13)|0;u=((o=o+Math.imul(f,nt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(R,V),i=(i=Math.imul(R,j))+Math.imul(P,V)|0,o=Math.imul(P,j),n=n+Math.imul(E,G)|0,i=(i=i+Math.imul(E,W)|0)+Math.imul(T,G)|0,o=o+Math.imul(T,W)|0,n=n+Math.imul($,z)|0,i=(i=i+Math.imul($,q)|0)+Math.imul(S,z)|0,o=o+Math.imul(S,q)|0,n=n+Math.imul(_,Z)|0,i=(i=i+Math.imul(_,X)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,X)|0,n=n+Math.imul(b,Q)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(y,Q)|0,o=o+Math.imul(y,tt)|0,n=n+Math.imul(g,rt)|0,i=(i=i+Math.imul(g,nt)|0)+Math.imul(p,rt)|0,o=o+Math.imul(p,nt)|0;var wt=(u+(n=n+Math.imul(l,ot)|0)|0)+((8191&(i=(i=i+Math.imul(l,st)|0)+Math.imul(f,ot)|0))<<13)|0;u=((o=o+Math.imul(f,st)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(C,V),i=(i=Math.imul(C,j))+Math.imul(I,V)|0,o=Math.imul(I,j),n=n+Math.imul(R,G)|0,i=(i=i+Math.imul(R,W)|0)+Math.imul(P,G)|0,o=o+Math.imul(P,W)|0,n=n+Math.imul(E,z)|0,i=(i=i+Math.imul(E,q)|0)+Math.imul(T,z)|0,o=o+Math.imul(T,q)|0,n=n+Math.imul($,Z)|0,i=(i=i+Math.imul($,X)|0)+Math.imul(S,Z)|0,o=o+Math.imul(S,X)|0,n=n+Math.imul(_,Q)|0,i=(i=i+Math.imul(_,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(y,rt)|0,o=o+Math.imul(y,nt)|0,n=n+Math.imul(g,ot)|0,i=(i=i+Math.imul(g,st)|0)+Math.imul(p,ot)|0,o=o+Math.imul(p,st)|0;var $t=(u+(n=n+Math.imul(l,dt)|0)|0)+((8191&(i=(i=i+Math.imul(l,ut)|0)+Math.imul(f,dt)|0))<<13)|0;u=((o=o+Math.imul(f,ut)|0)+(i>>>13)|0)+($t>>>26)|0,$t&=67108863,n=Math.imul(D,V),i=(i=Math.imul(D,j))+Math.imul(U,V)|0,o=Math.imul(U,j),n=n+Math.imul(C,G)|0,i=(i=i+Math.imul(C,W)|0)+Math.imul(I,G)|0,o=o+Math.imul(I,W)|0,n=n+Math.imul(R,z)|0,i=(i=i+Math.imul(R,q)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,q)|0,n=n+Math.imul(E,Z)|0,i=(i=i+Math.imul(E,X)|0)+Math.imul(T,Z)|0,o=o+Math.imul(T,X)|0,n=n+Math.imul($,Q)|0,i=(i=i+Math.imul($,tt)|0)+Math.imul(S,Q)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(_,rt)|0,i=(i=i+Math.imul(_,nt)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,nt)|0,n=n+Math.imul(b,ot)|0,i=(i=i+Math.imul(b,st)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,st)|0,n=n+Math.imul(g,dt)|0,i=(i=i+Math.imul(g,ut)|0)+Math.imul(p,dt)|0,o=o+Math.imul(p,ut)|0;var St=(u+(n=n+Math.imul(l,lt)|0)|0)+((8191&(i=(i=i+Math.imul(l,ft)|0)+Math.imul(f,lt)|0))<<13)|0;u=((o=o+Math.imul(f,ft)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(x,V),i=(i=Math.imul(x,j))+Math.imul(F,V)|0,o=Math.imul(F,j),n=n+Math.imul(D,G)|0,i=(i=i+Math.imul(D,W)|0)+Math.imul(U,G)|0,o=o+Math.imul(U,W)|0,n=n+Math.imul(C,z)|0,i=(i=i+Math.imul(C,q)|0)+Math.imul(I,z)|0,o=o+Math.imul(I,q)|0,n=n+Math.imul(R,Z)|0,i=(i=i+Math.imul(R,X)|0)+Math.imul(P,Z)|0,o=o+Math.imul(P,X)|0,n=n+Math.imul(E,Q)|0,i=(i=i+Math.imul(E,tt)|0)+Math.imul(T,Q)|0,o=o+Math.imul(T,tt)|0,n=n+Math.imul($,rt)|0,i=(i=i+Math.imul($,nt)|0)+Math.imul(S,rt)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(_,ot)|0,i=(i=i+Math.imul(_,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,n=n+Math.imul(b,dt)|0,i=(i=i+Math.imul(b,ut)|0)+Math.imul(y,dt)|0,o=o+Math.imul(y,ut)|0,n=n+Math.imul(g,lt)|0,i=(i=i+Math.imul(g,ft)|0)+Math.imul(p,lt)|0,o=o+Math.imul(p,ft)|0;var Nt=(u+(n=n+Math.imul(l,gt)|0)|0)+((8191&(i=(i=i+Math.imul(l,pt)|0)+Math.imul(f,gt)|0))<<13)|0;u=((o=o+Math.imul(f,pt)|0)+(i>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,n=Math.imul(x,G),i=(i=Math.imul(x,W))+Math.imul(F,G)|0,o=Math.imul(F,W),n=n+Math.imul(D,z)|0,i=(i=i+Math.imul(D,q)|0)+Math.imul(U,z)|0,o=o+Math.imul(U,q)|0,n=n+Math.imul(C,Z)|0,i=(i=i+Math.imul(C,X)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,X)|0,n=n+Math.imul(R,Q)|0,i=(i=i+Math.imul(R,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,n=n+Math.imul(E,rt)|0,i=(i=i+Math.imul(E,nt)|0)+Math.imul(T,rt)|0,o=o+Math.imul(T,nt)|0,n=n+Math.imul($,ot)|0,i=(i=i+Math.imul($,st)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,st)|0,n=n+Math.imul(_,dt)|0,i=(i=i+Math.imul(_,ut)|0)+Math.imul(M,dt)|0,o=o+Math.imul(M,ut)|0,n=n+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ft)|0)+Math.imul(y,lt)|0,o=o+Math.imul(y,ft)|0;var Et=(u+(n=n+Math.imul(g,gt)|0)|0)+((8191&(i=(i=i+Math.imul(g,pt)|0)+Math.imul(p,gt)|0))<<13)|0;u=((o=o+Math.imul(p,pt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(x,z),i=(i=Math.imul(x,q))+Math.imul(F,z)|0,o=Math.imul(F,q),n=n+Math.imul(D,Z)|0,i=(i=i+Math.imul(D,X)|0)+Math.imul(U,Z)|0,o=o+Math.imul(U,X)|0,n=n+Math.imul(C,Q)|0,i=(i=i+Math.imul(C,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,n=n+Math.imul(R,rt)|0,i=(i=i+Math.imul(R,nt)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,nt)|0,n=n+Math.imul(E,ot)|0,i=(i=i+Math.imul(E,st)|0)+Math.imul(T,ot)|0,o=o+Math.imul(T,st)|0,n=n+Math.imul($,dt)|0,i=(i=i+Math.imul($,ut)|0)+Math.imul(S,dt)|0,o=o+Math.imul(S,ut)|0,n=n+Math.imul(_,lt)|0,i=(i=i+Math.imul(_,ft)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,ft)|0;var Tt=(u+(n=n+Math.imul(b,gt)|0)|0)+((8191&(i=(i=i+Math.imul(b,pt)|0)+Math.imul(y,gt)|0))<<13)|0;u=((o=o+Math.imul(y,pt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(x,Z),i=(i=Math.imul(x,X))+Math.imul(F,Z)|0,o=Math.imul(F,X
vendor: 5,428 bytes, line 15672
15672),n=n+Math.imul(D,Q)|0,i=(i=i+Math.imul(D,tt)|0)+Math.imul(U,Q)|0,o=o+Math.imul(U,tt)|0,n=n+Math.imul(C,rt)|0,i=(i=i+Math.imul(C,nt)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,nt)|0,n=n+Math.imul(R,ot)|0,i=(i=i+Math.imul(R,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,n=n+Math.imul(E,dt)|0,i=(i=i+Math.imul(E,ut)|0)+Math.imul(T,dt)|0,o=o+Math.imul(T,ut)|0,n=n+Math.imul($,lt)|0,i=(i=i+Math.imul($,ft)|0)+Math.imul(S,lt)|0,o=o+Math.imul(S,ft)|0;var At=(u+(n=n+Math.imul(_,gt)|0)|0)+((8191&(i=(i=i+Math.imul(_,pt)|0)+Math.imul(M,gt)|0))<<13)|0;u=((o=o+Math.imul(M,pt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(x,Q),i=(i=Math.imul(x,tt))+Math.imul(F,Q)|0,o=Math.imul(F,tt),n=n+Math.imul(D,rt)|0,i=(i=i+Math.imul(D,nt)|0)+Math.imul(U,rt)|0,o=o+Math.imul(U,nt)|0,n=n+Math.imul(C,ot)|0,i=(i=i+Math.imul(C,st)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,st)|0,n=n+Math.imul(R,dt)|0,i=(i=i+Math.imul(R,ut)|0)+Math.imul(P,dt)|0,o=o+Math.imul(P,ut)|0,n=n+Math.imul(E,lt)|0,i=(i=i+Math.imul(E,ft)|0)+Math.imul(T,lt)|0,o=o+Math.imul(T,ft)|0;var Rt=(u+(n=n+Math.imul($,gt)|0)|0)+((8191&(i=(i=i+Math.imul($,pt)|0)+Math.imul(S,gt)|0))<<13)|0;u=((o=o+Math.imul(S,pt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(x,rt),i=(i=Math.imul(x,nt))+Math.imul(F,rt)|0,o=Math.imul(F,nt),n=n+Math.imul(D,ot)|0,i=(i=i+Math.imul(D,st)|0)+Math.imul(U,ot)|0,o=o+Math.imul(U,st)|0,n=n+Math.imul(C,dt)|0,i=(i=i+Math.imul(C,ut)|0)+Math.imul(I,dt)|0,o=o+Math.imul(I,ut)|0,n=n+Math.imul(R,lt)|0,i=(i=i+Math.imul(R,ft)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ft)|0;var Pt=(u+(n=n+Math.imul(E,gt)|0)|0)+((8191&(i=(i=i+Math.imul(E,pt)|0)+Math.imul(T,gt)|0))<<13)|0;u=((o=o+Math.imul(T,pt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(x,ot),i=(i=Math.imul(x,st))+Math.imul(F,ot)|0,o=Math.imul(F,st),n=n+Math.imul(D,dt)|0,i=(i=i+Math.imul(D,ut)|0)+Math.imul(U,dt)|0,o=o+Math.imul(U,ut)|0,n=n+Math.imul(C,lt)|0,i=(i=i+Math.imul(C,ft)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ft)|0;var Ot=(u+(n=n+Math.imul(R,gt)|0)|0)+((8191&(i=(i=i+Math.imul(R,pt)|0)+Math.imul(P,gt)|0))<<13)|0;u=((o=o+Math.imul(P,pt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(x,dt),i=(i=Math.imul(x,ut))+Math.imul(F,dt)|0,o=Math.imul(F,ut),n=n+Math.imul(D,lt)|0,i=(i=i+Math.imul(D,ft)|0)+Math.imul(U,lt)|0,o=o+Math.imul(U,ft)|0;var Ct=(u+(n=n+Math.imul(C,gt)|0)|0)+((8191&(i=(i=i+Math.imul(C,pt)|0)+Math.imul(I,gt)|0))<<13)|0;u=((o=o+Math.imul(I,pt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(x,lt),i=(i=Math.imul(x,ft))+Math.imul(F,lt)|0,o=Math.imul(F,ft);var It=(u+(n=n+Math.imul(D,gt)|0)|0)+((8191&(i=(i=i+Math.imul(D,pt)|0)+Math.imul(U,gt)|0))<<13)|0;u=((o=o+Math.imul(U,pt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Lt=(u+(n=Math.imul(x,gt))|0)+((8191&(i=(i=Math.imul(x,pt))+Math.imul(F,gt)|0))<<13)|0;return u=((o=Math.imul(F,pt))+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,d[0]=mt,d[1]=bt,d[2]=yt,d[3]=vt,d[4]=_t,d[5]=Mt,d[6]=wt,d[7]=$t,d[8]=St,d[9]=Nt,d[10]=Et,d[11]=Tt,d[12]=At,d[13]=Rt,d[14]=Pt,d[15]=Ot,d[16]=Ct,d[17]=It,d[18]=Lt,0!==u&&(d[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(g=c),o.prototype.mulTo=function(t,e){var r,n=this.length+t.length;return r=10===this.length&&10===t.length?g(this,t,e):n<63?c(this,t,e):n<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o<r.length-1;o++){var s=i;i=0;for(var a=67108863&n,d=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=d;u++){var h=o-u,l=(0|t.words[h])*(0|e.words[u]),f=67108863&l;a=67108863&(f=f+a|0),i+=(s=(s=s+(l/67108864|0)|0)+(f>>>26)|0)>>>26,s&=67108863}r.words[o]=a,n=s,s=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}(this,t,e):p(this,t,e),r},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=o.prototype._countBits(t)-1,n=0;n<t;n++)e[n]=this.revBin(n,r,t);return e},m.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,i=0;i<e;i++)n|=(1&t)<<e-i-1,t>>=1;return n},m.prototype.permute=function(t,e,r,n,i,o){for(var s=0;s<o;s++)n[s]=e[t[s]],i[s]=r[t[s]]},m.prototype.transform=function(t,e,r,n,i,o){this.permute(o,t,e,r,n,i);for(var s=1;s<i;s<<=1)for(var a=s<<1,d=Math.cos(2*Math.PI/a),u=Math.sin(2*Math.PI/a),h=0;h<i;h+=a)for(var l=d,f=u,c=0;c<s;c++){var g=r[h+c],p=n[h+c],m=r[h+c+s],b=n[h+c+s],y=l*m-f*b;b=l*b+f*m,m=y,r[h+c]=g+m,n[h+c]=p+b,r[h+c+s]=g-m,n[h+c+s]=p-b,c!==a&&(y=d*l-u*f,f=d*f+u*l,l=y)}},m.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},m.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=t[n];t[n]=t[r-n-1],t[r-n-1]=i,i=e[n],e[n]=-e[r-n-1],e[r-n-1]=-i}},m.prototype.normalize13b=function(t,e){for(var r=0,n=0;n<e/2;n++){var i=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&i,r=i<67108864?0:i/67108864|0}return t},m.prototype.convert13b=function(t,e,r,i){for(var o=0,s=0;s<e;s++)o+=0|t[s],r[2*s]=8191&o,o>>>=13,r[2*s+1]=8191&o,o>>>=13;for(s=2*e;s<i;++s)r[s]=0;n(0===o),n(!(-8192&o))},m.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},m.prototype.mulp=function(t,e,r){var n=2*this.guessLen13b(t.length,e.length),i=this.makeRBT(n),o=this.stub(n),s=new Array(n),a=new Array(n),d=new Array(n),u=new Array(n),h=new Array(n),l=new Array(n),f=r.words;f.length=n,this.convert13b(t.words,t.length,s,n),this.convert13b(e.words,e.length,u,n),this.transform(s,o,a,d,n,i),this.transform(u,o,h,l,n,i);for(var c=0;c<n;
vendor: 16,384 bytes, line 15672
15672c++){var g=a[c]*h[c]-d[c]*l[c];d[c]=a[c]*l[c]+d[c]*h[c],a[c]=g}return this.conjugate(a,d,n),this.transform(a,d,f,o,n,i),this.conjugate(f,o,n),this.normalize13b(f,n),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},o.prototype.mul=function(t){var e=new o(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},o.prototype.mulf=function(t){var e=new o(null);return e.words=new Array(this.length+t.length),p(this,t,e)},o.prototype.imul=function(t){return this.clone().mulTo(t,this)},o.prototype.imuln=function(t){n("number"==typeof t),n(t<67108864);for(var e=0,r=0;r<this.length;r++){var i=(0|this.words[r])*t,o=(67108863&i)+(67108863&e);e>>=26,e+=i/67108864|0,e+=o>>>26,this.words[r]=67108863&o}return 0!==e&&(this.words[r]=e,this.length++),this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var n=r/26|0,i=r%26;e[r]=(t.words[n]&1<<i)>>>i}return e}(t);if(0===e.length)return new o(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var i=r.sqr();n<e.length;n++,i=i.sqr())0!==e[n]&&(r=r.mul(i));return r},o.prototype.iushln=function(t){n("number"==typeof t&&t>=0);var e,r=t%26,i=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var s=0;for(e=0;e<this.length;e++){var a=this.words[e]&o,d=(0|this.words[e])-a<<r;this.words[e]=d|s,s=a>>>26-r}s&&(this.words[e]=s,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this.strip()},o.prototype.ishln=function(t){return n(0===this.negative),this.iushln(t)},o.prototype.iushrn=function(t,e,r){var i;n("number"==typeof t&&t>=0),i=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<<o,d=r;if(i-=s,i=Math.max(0,i),d){for(var u=0;u<s;u++)d.words[u]=this.words[u];d.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var h=0;for(u=this.length-1;u>=0&&(0!==h||u>=i);u--){var l=0|this.words[u];this.words[u]=h<<26-o|l>>>o,h=l&a}return d&&0!==h&&(d.words[d.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<<e;return!(this.length<=r||!(this.words[r]&i))},o.prototype.imaskn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this.strip()},o.prototype.maskn=function(t){return this.clone().imaskn(t)},o.prototype.iaddn=function(t){return n("number"==typeof t),n(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},o.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},o.prototype.addn=function(t){return this.clone().iaddn(t)},o.prototype.subn=function(t){return this.clone().isubn(t)},o.prototype.iabs=function(){return this.negative=0,this},o.prototype.abs=function(){return this.clone().iabs()},o.prototype._ishlnsubmul=function(t,e,r){var i,o,s=t.length+r;this._expand(s);var a=0;for(i=0;i<t.length;i++){o=(0|this.words[i+r])+a;var d=(0|t.words[i])*e;a=((o-=67108863&d)>>26)-(d/67108864|0),this.words[i+r]=67108863&o}for(;i<this.length-r;i++)a=(o=(0|this.words[i+r])+a)>>26,this.words[i+r]=67108863&o;if(0===a)return this.strip();for(n(-1===a),a=0,i=0;i<this.length;i++)a=(o=-(0|this.words[i])+a)>>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,s=0|i.words[i.length-1];0!=(r=26-this._countBits(s))&&(i=i.ushln(r),n.iushln(r),s=0|i.words[i.length-1]);var a,d=n.length-i.length;if("mod"!==e){(a=new o(null)).length=d+1,a.words=new Array(a.length);for(var u=0;u<a.length;u++)a.words[u]=0}var h=n.clone()._ishlnsubmul(i,1,d);0===h.negative&&(n=h,a&&(a.words[d]=1));for(var l=d-1;l>=0;l--){var f=67108864*(0|n.words[i.length+l])+(0|n.words[i.length+l-1]);for(f=Math.min(f/s|0,67108863),n._ishlnsubmul(i,f,l);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(i,1,l),n.isZero()||(n.negative^=1);a&&(a.words[l]=f)}return a&&a.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:a||null,mod:n}},o.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(i=a.div.neg()),"div"!==e&&(s=a.mod.neg(),r&&0!==s.negative&&s.iadd(t)),{div:i,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(i=a.div.neg()),{div:i,mod:a.mod}):this.negative&t.negative?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),r&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,s,a},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},o.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new o(1),s=new o(0),a=new o(0),d=new o(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var h=r.clone(),l=e.clone();!e.isZero();){for(var f=0,c=1;!(e.words[0]&c)&&f<26;++f,c<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(i.isOdd()||s.isOdd())&&(i.iadd(h),s.isub(l)),i.iushrn(1),s.iushrn(1);for(var g=0,p=1;!(r.words[0]&p)&&g<26;++g,p<<=1);if(g>0)for(r.iushrn(g);g-- >0;)(a.isOdd()||d.isOdd())&&(a.iadd(h),d.isub(l)),a.iushrn(1),d.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(a),s.isub(d)):(r.isub(e),a.isub(i),d.isub(s))}return{a,b:d,gcd:r.iushln(u)}},o.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,s=new o(1),a=new o(0),d=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,h=1;!(e.words[0]&h)&&u<26;++u,h<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(d),s.iushrn(1);for(var l=0,f=1;!(r.words[0]&f)&&l<26;++l,f<<=1);if(l>0)for(r.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(d),a.iushrn(1);e.cmp(r)>=0?(e.isub(r),s.isub(a)):(r.isub(e),a.isub(s))}return(i=0===e.cmpn(1)?s:a).cmpn(0)<0&&i.iadd(t),i},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return!(1&this.words[0])},o.prototype.isOdd=function(){return!(1&~this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,i=1<<e;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var o=i,s=r;0!==o&&s<this.length;s++){var a=0|this.words[s];o=(a+=o)>>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:i<t?-1:1}return 0!==this.negative?0|-e:e},o.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},o.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){n<i?e=-1:n>i&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new $(t)},o.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var b={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function _(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function M(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function $(t){if("string"==typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function S(t){$.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},i(v,y),v.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i<n;i++)e.words[i]=t.words[i];if(e.length=n,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,i=10;i<t.length;i++){var s=0|t.words[i];t.words[i-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[i-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(_,y),i(M,y),i(w,y),w.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,i=67108863&n;n>>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(b[t])return b[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new _;else if("p192"===t)e=new M;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new w}return b[t]=e,e},$.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},$.prototype._verify2=function(t,e){n(!(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},$.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},$.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},$.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},$.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},$.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},$.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},$.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},$.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},$.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},$.prototype.isqr=function(t){return this.imul(t,t.clone())},$.prototype.sqr=function(t){return th
vendor: 1,235 bytes, line 15672
15672is.mul(t,t)},$.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new o(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),s=0;!i.isZero()&&0===i.andln(1);)s++,i.iushrn(1);n(!i.isZero());var a=new o(1).toRed(this),d=a.redNeg(),u=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new o(2*h*h).toRed(this);0!==this.pow(h,u).cmp(d);)h.redIAdd(d);for(var l=this.pow(h,i),f=this.pow(t,i.addn(1).iushrn(1)),c=this.pow(t,i),g=s;0!==c.cmp(a);){for(var p=c,m=0;0!==p.cmp(a);m++)p=p.redSqr();n(m<g);var b=this.pow(l,new o(1).iushln(g-m-1));f=f.redMul(b),l=b.redSqr(),c=c.redMul(l),g=m}return f},$.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},$.prototype.pow=function(t,e){if(e.isZero())return new o(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new o(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var i=r[0],s=0,a=0,d=e.bitLength()%26;for(0===d&&(d=26),n=e.length-1;n>=0;n--){for(var u=e.words[n],h=d-1;h>=0;h--){var l=u>>h&1;i!==r[0]&&(i=this.sqr(i)),0!==l||0!==s?(s<<=1,s|=l,(4==++a||0===n&&0===h)&&(i=this.mul(i,r[s]),a=0,s=0)):a=0}
vendor: 5,711 bytes, line 15672
15672d=26}return i},$.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},$.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new S(t)},i(S,$),S.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},S.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),s=i;return i.cmp(this.m)>=0?s=i.isub(this.m):i.cmpn(0)<0&&(s=i.iadd(this.m)),s._forceRed(this)},S.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},7007:t=>{"use strict";var e,r="object"==typeof Reflect?Reflect:null,n=r&&"function"==typeof r.apply?r.apply:function(t,e,r){return Function.prototype.apply.call(t,e,r)};e=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var i=Number.isNaN||function(t){return t!=t};function o(){o.init.call(this)}t.exports=o,t.exports.once=function(t,e){return new Promise((function(r,n){function i(r){t.removeListener(e,o),n(r)}function o(){"function"==typeof t.removeListener&&t.removeListener("error",i),r([].slice.call(arguments))}p(t,e,o,{once:!0}),"error"!==e&&function(t,e){"function"==typeof t.on&&p(t,"error",e,{once:!0})}(t,i)}))},o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var s=10;function a(t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function d(t){return void 0===t._maxListeners?o.defaultMaxListeners:t._maxListeners}function u(t,e,r,n){var i,o,s,u;if(a(r),void 0===(o=t._events)?(o=t._events=Object.create(null),t._eventsCount=0):(void 0!==o.newListener&&(t.emit("newListener",e,r.listener?r.listener:r),o=t._events),s=o[e]),void 0===s)s=o[e]=r,++t._eventsCount;else if("function"==typeof s?s=o[e]=n?[r,s]:[s,r]:n?s.unshift(r):s.push(r),(i=d(t))>0&&s.length>i&&!s.warned){s.warned=!0;var h=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");h.name="MaxListenersExceededWarning",h.emitter=t,h.type=e,h.count=s.length,u=h,console&&console.warn&&console.warn(u)}return t}function h(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function l(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=h.bind(n);return i.listener=r,n.wrapFn=i,i}function f(t,e,r){var n=t._events;if(void 0===n)return[];var i=n[e];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}(i):g(i,i.length)}function c(t){var e=this._events;if(void 0!==e){var r=e[t];if("function"==typeof r)return 1;if(void 0!==r)return r.length}return 0}function g(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}function p(t,e,r,n){if("function"==typeof t.on)n.once?t.once(e,r):t.on(e,r);else{if("function"!=typeof t.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t);t.addEventListener(e,(function i(o){n.once&&t.removeEventListener(e,i),r(o)}))}}Object.defineProperty(o,"defaultMaxListeners",{enumerable:!0,get:function(){return s},set:function(t){if("number"!=typeof t||t<0||i(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");s=t}}),o.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},o.prototype.setMaxListeners=function(t){if("number"!=typeof t||t<0||i(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this},o.prototype.getMaxListeners=function(){return d(this)},o.prototype.emit=function(t){for(var e=[],r=1;r<arguments.length;r++)e.push(arguments[r]);var i="error"===t,o=this._events;if(void 0!==o)i=i&&void 0===o.error;else if(!i)return!1;if(i){var s;if(e.length>0&&(s=e[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var d=o[t];if(void 0===d)return!1;if("function"==typeof d)n(d,this,e);else{var u=d.length,h=g(d,u);for(r=0;r<u;++r)n(h[r],this,e)}return!0},o.prototype.addListener=function(t,e){return u(this,t,e,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(t,e){return u(this,t,e,!0)},o.prototype.once=function(t,e){return a(e),this.on(t,l(this,t,e)),this},o.prototype.prependOnceListener=function(t,e){return a(e),this.prependListener(t,l(this,t,e)),this},o.prototype.removeListener=function(t,e){var r,n,i,o,s;if(a(e),void 0===(n=this._events))return this;if(void 0===(r=n[t]))return this;if(r===e||r.listener===e)0==--this._eventsCount?this._events=Object.create(null):(delete n[t],n.removeListener&&this.emit
15672("removeListener",t,r.listener||e));else if("function"!=typeof r){for(i=-1,o=r.length-1;o>=0;o--)if(r[o]===e||r[o].listener===e){s=r[o].listener,i=o;break}if(i<0)return this;0===i?r.shift():function(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}(r,i),1===r.length&&(n[t]=r[0]),void 0!==n.removeListener&&this.emit("removeListener",t,s||e)}return this},o.prototype.off=o.prototype.removeListener,o.prototype.removeAllListeners=function(t){var e,r,n;if(void 0===(r=this._events))return this;if(void 0===r.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==r[t]&&(0==--this._eventsCount?this._events=Object.create(null):delete r[t]),this;if(0===arguments.length){var i,o=Object.keys(r);for(n=0;n<o.length;++n)"removeListener"!==(i=o[n])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(e=r[t]))this.removeListener(t,e);else if(void 0!==e)for(n=e.length-1;n>=0;n--)this.removeListener(t,e[n]);return this},o.prototype.listeners=function(t){return f(this,t,!0)},o.prototype.rawListeners=function(t){return f(this,t,!1)},o.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):c.call(t,e)},o.prototype.listenerCount=c,o.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]}},8078:(t,e,r)=>{var n=r(2861).Buffer,i=r(8276);t.exports=function(t,e,r,o){if(n.isBuffer(t)||(t=n.from(t,"binary")),e&&(n.isBuffer(e)||(e=n.from(e,"binary")),8!==e.length))throw new RangeError("salt should be Buffer with 8 byte length");for(var s=r/8,a=n.alloc(s),d=n.alloc(o||0),u=n.alloc(0);s>0||o>0;){var h=new i;h.update(u),h.update(t),e&&h.update(e),u=h.digest();var l=0;if(s>0){var f=a.length-s;l=Math.min(s,u.length),u.copy(a,f,0,l),s-=l}if(l<u.length&&o>0){var c=d.length-o,g=Math.min(o,u.length-l);u.copy(d,c,l,l+g),o-=g}}return u.fill(0),{key:a,iv:d}}},1894:t=>{t.exports="object"==typeof self?self.FormData:window.FormData},7e3:(module,__unused_webpack_exports,__webpack_require__)=>{var f;f=function(){var define,module,exports;return function t(e,r,n){function i(s,a){if(!r[s]){if(!e[s]){if(o)return o(s,!0);var d=new Error("Cannot find module '"+s+"'");throw d.code="MODULE_NOT_FOUND",d}var u=r[s]={exports:{}};e[s][0].call(u.exports,(function(t){return i(e[s][1][t]||t)}),u,u.exports,t,e,r,n)}return r[s].exports}for(var o=void 0,s=0;s<n.length;s++)i(n[s]);return i}({1:[function(require,module,exports){(function(global){(function(){var $jscomp=$jscomp||{};$jscomp.scope={},$jscomp.createTemplateTagFirstArg=function(t){return t.raw=t},$jscomp.createTemplateTagFirstArgWithRaw=function(t,e){return t.raw=e,t},$jscomp.arrayIteratorImpl=function(t){var e=0;return function(){return e<t.length?{done:!1,value:t[e++]}:{done:!0}}},$jscomp.arrayIterator=function(t){return{next:$jscomp.arrayIteratorImpl(t)}},$jscomp.makeIterator=function(t){var e="undefined"!=typeof Symbol&&Symbol.iterator&&t[Symbol.iterator];return e?e.call(t):$jscomp.arrayIterator(t)},$jscomp.arrayFromIterator=function(t){for(var e,r=[];!(e=t.next()).done;)r.push(e.value);return r},$jscomp.arrayFromIterable=function(t){return t instanceof Array?t:$jscomp.arrayFromIterator($jscomp.makeIterator(t))},$jscomp.checkStringArgs=function(t,e,r){if(null==t)throw new TypeError("The 'this' value for String.prototype."+r+" must not be null or undefined");if(e instanceof RegExp)throw new TypeError("First argument to String.prototype."+r+" must not be a regular expression");return t+""},$jscomp.ASSUME_ES5=!1,$jscomp.ASSUME_NO_NATIVE_MAP=!1,$jscomp.ASSUME_NO_NATIVE_SET=!1,$jscomp.SIMPLE_FROUND_POLYFILL=!1,$jscomp.ISOLATE_POLYFILLS=!1,$jscomp.FORCE_POLYFILL_PROMISE=!1,$jscomp.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION=!1,$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(t,e,r){return t==Array.prototype||t==Object.prototype||(t[e]=r.value),t},$jscomp.getGlobal=function(t){t=["object"==typeof globalThis&&globalThis,t,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var e=0;e<t.length;++e){var r=t[e];if(r&&r.Math==Math)return r}throw Error("Cannot find global object")},$jscomp.global=$jscomp.getGlobal(this),$jscomp.IS_SYMBOL_NATIVE="function"==typeof Symbol&&"symbol"==typeof Symbol("x"),$jscomp.TRUST_ES6_POLYFILLS=!$jscomp.ISOLATE_POLYFILLS||$jscomp.IS_SYMBOL_NATIVE,$jscomp.polyfills={},$jscomp.propertyToPolyfillSymbol={},$jscomp.POLYFILL_PREFIX="$jscp$";var $jscomp$lookupPolyfilledValue=function(t,e){var r=$jscomp.propertyToPolyfillSymbol[e];return null==r?t[e]:void 0!==(r=t[r])?r:t[e]};$jscomp.polyfill=function(t,e,r,n){e&&($jscomp.ISOLATE_POLYFILLS?$jscomp.polyfillIsolated(t,e,r,n):$jscomp.polyfillUnisolated(t,e,r,n))},$jscomp.polyfillUnisolated=function(t,e,r,n){for(r=$jscomp.global,t=t.split("."),n=0;n<t.length-1;n++){var i=t[n];if(!(i in r))return;r=r[i]}
15672(e=e(n=r[t=t[t.length-1]]))!=n&&null!=e&&$jscomp.defineProperty(r,t,{configurable:!0,writable:!0,value:e})},$jscomp.polyfillIsolated=function(t,e,r,n){var i=t.split(".");t=1===i.length,n=i[0],n=!t&&n in $jscomp.polyfills?$jscomp.polyfills:$jscomp.global;for(var o=0;o<i.length-1;o++){var s=i[o];if(!(s in n))return;n=n[s]}i=i[i.length-1],null!=(e=e(r=$jscomp.IS_SYMBOL_NATIVE&&"es6"===r?n[i]:null))&&(t?$jscomp.defineProperty($jscomp.polyfills,i,{configurable:!0,writable:!0,value:e}):e!==r&&($jscomp.propertyToPolyfillSymbol[i]=$jscomp.IS_SYMBOL_NATIVE?$jscomp.global.Symbol(i):$jscomp.POLYFILL_PREFIX+i,i=$jscomp.propertyToPolyfillSymbol[i],$jscomp.defineProperty(n,i,{configurable:!0,writable:!0,value:e})))},$jscomp.polyfill("String.prototype.endsWith",(function(t){return t||function(t,e){var r=$jscomp.checkStringArgs(this,t,"endsWith");t+="",void 0===e&&(e=r.length),e=Math.max(0,Math.min(0|e,r.length));for(var n=t.length;0<n&&0<e;)if(r[--e]!=t[--n])return!1;return 0>=n}}),"es6","es3"),$jscomp.findInternal=function(t,e,r){t instanceof String&&(t=String(t));for(var n=t.length,i=0;i<n;i++){var o=t[i];if(e.call(r,o,i,t))return{i,v:o}}return{i:-1,v:void 0}},$jscomp.polyfill("Array.prototype.find",(function(t){return t||function(t,e){return $jscomp.findInternal(this,t,e).v}}),"es6","es3"),$jscomp.polyfill("String.prototype.startsWith",(function(t){return t||function(t,e){var r=$jscomp.checkStringArgs(this,t,"startsWith");t+="";var n=r.length,i=t.length;e=Math.max(0,Math.min(0|e,r.length));for(var o=0;o<i&&e<n;)if(r[e++]!=t[o++])return!1;return o>=i}}),"es6","es3"),$jscomp.polyfill("String.prototype.repeat",(function(t){return t||function(t){var e=$jscomp.checkStringArgs(this,null,"repeat");if(0>t||1342177279<t)throw new RangeError("Invalid count value");t|=0;for(var r="";t;)1&t&&(r+=e),(t>>>=1)&&(e+=e);return r}}),"es6","es3"),$jscomp.initSymbol=function(){},$jscomp.polyfill("Symbol",(function(t){if(t)return t;var e=function(t,e){this.$jscomp$symbol$id_=t,$jscomp.defineProperty(this,"description",{configurable:!0,writable:!0,value:e})};e.prototype.toString=function(){return this.$jscomp$symbol$id_};var r=0,n=function(t){if(this instanceof n)throw new TypeError("Symbol is not a constructor");return new e("jscomp_symbol_"+(t||"")+"_"+r++,t)};return n}),"es6","es3"),$jscomp.polyfill("Symbol.iterator",(function(t){if(t)return t;t=Symbol("Symbol.iterator");for(var e="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),r=0;r<e.length;r++){var n=$jscomp.global[e[r]];"function"==typeof n&&"function"!=typeof n.prototype[t]&&$jscomp.defineProperty(n.prototype,t,{configurable:!0,writable:!0,value:function(){return $jscomp.iteratorPrototype($jscomp.arrayIteratorImpl(this))}})}return t}),"es6","es3"),$jscomp.iteratorPrototype=function(t){return(t={next:t})[Symbol.iterator]=function(){return this},t},$jscomp.iteratorFromArray=function(t,e){t instanceof String&&(t+="");var r=0,n=!1,i={next:function(){if(!n&&r<t.length){var i=r++;return{value:e(i,t[i]),done:!1}}return n=!0,{done:!0,value:void 0}}};return i[Symbol.iterator]=function(){return i},i},$jscomp.polyfill("Array.prototype.keys",(function(t){return t||function(){return $jscomp.iteratorFromArray(this,(function(t){return t}))}}),"es6","es3"),$jscomp.polyfill("Object.is",(function(t){return t||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}}),"es6","es3"),$jscomp.polyfill("Array.prototype.includes",(function(t){return t||function(t,e){var r=this;r instanceof String&&(r=String(r));var n=r.length;for(0>(e=e||0)&&(e=Math.max(e+n,0));e<n;e++){var i=r[e];if(i===t||Object.is(i,t))return!0}return!1}}),"es7","es3"),$jscomp.polyfill("String.prototype.includes",(function(t){return t||function(t,e){return-1!==$jscomp.checkStringArgs(this,t,"includes").indexOf(t,e||0)}}),"es6","es3");var COMPILED=!0,goog=goog||{};function module$contents$goog$debug$Error_DebugError(t){if(Error.captureStackTrace)Error.captureStackTrace(this,module$contents$goog$debug$Error_DebugError);else{var e=Error().stack;e&&(this.stack=e)}t&&(this.message=String(t)),this.reportErrorToServer=!0}goog.global=this||self,goog.exportPath_=function(t,e,r,n){t=t.split("."),n=n||goog.global,t[0]in n||void 0===n.execScript||n.execScript("var "+t[0]);for(var i;t.length&&(i=t.shift());)if(t.length||void 0===e)n=n[i]&&n[i]!==Object.prototype[i]?n[i]:n[i]={};else if(!r&&goog.isObject(e)&&goog.isObject(n[i]))for(var o in e)e.hasOwnProperty(o)&&(n[i][o]=e[o]);else n[i]=e},goog.define=function(t,e){if(!COMPILED){var r=goog.global.CLOSURE_UNCOMPILED_DEFINES,n=goog.global.CLOSURE_DEFINES;r&&void 0===r.nodeType&&Object.prototype.hasOwnProperty.call(r,t)?e=r[t]:n&&void 0===n.nodeType&&Object.prototype.hasOwnProperty.call(n,t)&&(e=n[t])}return e},goog.FEATURESET_YEAR=2012,goog.DEBUG=!0,goog.LOCALE="en",goog.TRUSTED_SITE=!0,goog.DISALLOW_TEST_ONLY_CODE=COMPILED&&!goog.DEBUG,goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1,goog.provide=function(t){if(goog.isInModuleLoader_())throw Error("goog.provide cannot be used within a module.");if(!COMPILED&&goog.isProvided_(t))throw Error('Namespace "'+t+'" already declared.');goog.constructNamespace_(t)},goog.constructNamespace_=function(t,e,r){if(!COMPILED){delete goog.implicitNamespaces_[t];for(var n=t;(n=n.substring(0,n.lastIndexOf(".")))&&!goog.getObjectByName(n);)goog.implicitNamespaces_[n]=!0}goog.exportPath_(t,e,r)},goog.getScriptNonce=function(t){return t&&t!=goog.global?goog.getScriptNonce_(t.document):(null===goog.cspNonce_&&(goog.cspNonce_=goog.getScriptNonce_(goog.global.document)),goog.cspNonce_)},goog.NONCE_PATTERN_=/^[\w+/_-]+[=]{0,2}$/,goog.cspNonce_=null,goog.getScriptNonce_=function(t){return(t=t.querySelector&&t.querySelector("script[n
15672once]"))&&(t=t.nonce||t.getAttribute("nonce"))&&goog.NONCE_PATTERN_.test(t)?t:""},goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/,goog.module=function(t){if("string"!=typeof t||!t||-1==t.search(goog.VALID_MODULE_RE_))throw Error("Invalid module identifier");if(!goog.isInGoogModuleLoader_())throw Error("Module "+t+" has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.");if(goog.moduleLoaderState_.moduleName)throw Error("goog.module may only be called once per module.");if(goog.moduleLoaderState_.moduleName=t,!COMPILED){if(goog.isProvided_(t))throw Error('Namespace "'+t+'" already declared.');delete goog.implicitNamespaces_[t]}},goog.module.get=function(t){return goog.module.getInternal_(t)},goog.module.getInternal_=function(t){if(!COMPILED){if(t in goog.loadedModules_)return goog.loadedModules_[t].exports;if(!goog.implicitNamespaces_[t])return null!=(t=goog.getObjectByName(t))?t:null}return null},goog.ModuleType={ES6:"es6",GOOG:"goog"},goog.moduleLoaderState_=null,goog.isInModuleLoader_=function(){return goog.isInGoogModuleLoader_()||goog.isInEs6ModuleLoader_()},goog.isInGoogModuleLoader_=function(){return!!goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.GOOG},goog.isInEs6ModuleLoader_=function(){if(goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.ES6)return!0;var t=goog.global.$jscomp;return!!t&&"function"==typeof t.getCurrentModulePath&&!!t.getCurrentModulePath()},goog.module.declareLegacyNamespace=function(){if(!COMPILED&&!goog.isInGoogModuleLoader_())throw Error("goog.module.declareLegacyNamespace must be called from within a goog.module");if(!COMPILED&&!goog.moduleLoaderState_.moduleName)throw Error("goog.module must be called prior to goog.module.declareLegacyNamespace.");goog.moduleLoaderState_.declareLegacyNamespace=!0},goog.declareModuleId=function(t){if(!COMPILED){if(!goog.isInEs6ModuleLoader_())throw Error("goog.declareModuleId may only be called from within an ES6 module");if(goog.moduleLoaderState_&&goog.moduleLoaderState_.moduleName)throw Error("goog.declareModuleId may only be called once per module.");if(t in goog.loadedModules_)throw Error('Module with namespace "'+t+'" already exists.')}if(goog.moduleLoaderState_)goog.moduleLoaderState_.moduleName=t;else{var e=goog.global.$jscomp;if(!e||"function"!=typeof e.getCurrentModulePath)throw Error('Module with namespace "'+t+'" has been loaded incorrectly.');e=e.require(e.getCurrentModulePath()),goog.loadedModules_[t]={exports:e,type:goog.ModuleType.ES6,moduleId:t}}},goog.setTestOnly=function(t){if(goog.DISALLOW_TEST_ONLY_CODE)throw t=t||"",Error("Importing test-only code into non-debug environment"+(t?": "+t:"."))},goog.forwardDeclare=function(t){},COMPILED||(goog.isProvided_=function(t){return t in goog.loadedModules_||!goog.implicitNamespaces_[t]&&null!=goog.getObjectByName(t)},goog.implicitNamespaces_={"goog.module":!0}),goog.getObjectByName=function(t,e){t=t.split("."),e=e||goog.global;for(var r=0;r<t.length;r++)if(null==(e=e[t[r]]))return null;return e},goog.addDependency=function(t,e,r,n){!COMPILED&&goog.DEPENDENCIES_ENABLED&&goog.debugLoader_.addDependency(t,e,r,n)},goog.ENABLE_DEBUG_LOADER=!0,goog.logToConsole_=function(t){goog.global.console&&goog.global.console.error(t)},goog.require=function(t){if(!COMPILED){if(goog.ENABLE_DEBUG_LOADER&&goog.debugLoader_.requested(t),goog.isProvided_(t)){if(goog.isInModuleLoader_())return goog.module.getInternal_(t)}else if(goog.ENABLE_DEBUG_LOADER){var e=goog.moduleLoaderState_;goog.moduleLoaderState_=null;try{goog.debugLoader_.load_(t)}finally{goog.moduleLoaderState_=e}}return null}},goog.requireType=function(t){return{}},goog.basePath="",goog.nullFunction=function(){},goog.abstractMethod=function(){throw Error("unimplemented abstract method")},goog.addSingletonGetter=function(t){t.instance_=void 0,t.getInstance=function(){return t.instance_?t.instance_:(goog.DEBUG&&(goog.instantiatedSingletons_[goog.instantiatedSingletons_.length]=t),t.instance_=ne
15672w t)}},goog.instantiatedSingletons_=[],goog.LOAD_MODULE_USING_EVAL=!0,goog.SEAL_MODULE_EXPORTS=goog.DEBUG,goog.loadedModules_={},goog.DEPENDENCIES_ENABLED=!COMPILED&&goog.ENABLE_DEBUG_LOADER,goog.TRANSPILE="detect",goog.ASSUME_ES_MODULES_TRANSPILED=!1,goog.TRANSPILE_TO_LANGUAGE="",goog.TRANSPILER="transpile.js",goog.hasBadLetScoping=null,goog.useSafari10Workaround=function(){if(null==goog.hasBadLetScoping){try{var a=!eval('"use strict";let x = 1; function f() { return typeof x; };f() == "number";')}catch(t){a=!1}goog.hasBadLetScoping=a}return goog.hasBadLetScoping},goog.workaroundSafari10EvalBug=function(t){return"(function(){"+t+"\n;})();\n"},goog.loadModule=function(t){var e=goog.moduleLoaderState_;try{goog.moduleLoaderState_={moduleName:"",declareLegacyNamespace:!1,type:goog.ModuleType.GOOG};var r={},n=r;if("function"==typeof t)n=t.call(void 0,n);else{if("string"!=typeof t)throw Error("Invalid module definition");goog.useSafari10Workaround()&&(t=goog.workaroundSafari10EvalBug(t)),n=goog.loadModuleFromSource_.call(void 0,n,t)}var i=goog.moduleLoaderState_.moduleName;if("string"!=typeof i||!i)throw Error('Invalid module name "'+i+'"');goog.moduleLoaderState_.declareLegacyNamespace?goog.constructNamespace_(i,n,r!==n):goog.SEAL_MODULE_EXPORTS&&Object.seal&&"object"==typeof n&&null!=n&&Object.seal(n),goog.loadedModules_[i]={exports:n,type:goog.ModuleType.GOOG,moduleId:goog.moduleLoaderState_.moduleName}}finally{goog.moduleLoaderState_=e}},goog.loadModuleFromSource_=function(a,b){return eval(b),a},goog.normalizePath_=function(t){t=t.split("/");for(var e=0;e<t.length;)"."==t[e]?t.splice(e,1):e&&".."==t[e]&&t[e-1]&&".."!=t[e-1]?t.splice(--e,2):e++;return t.join("/")},goog.loadFileSync_=function(t){if(goog.global.CLOSURE_LOAD_FILE_SYNC)return goog.global.CLOSURE_LOAD_FILE_SYNC(t);try{var e=new goog.global.XMLHttpRequest;return e.open("get",t,!1),e.send(),0==e.status||200==e.status?e.responseText:null}catch(t){return null}},goog.transpile_=function(t,e,r){var n=goog.global.$jscomp;n||(goog.global.$jscomp=n={});var i=n.transpile;if(!i){var o=goog.basePath+goog.TRANSPILER,s=goog.loadFileSync_(o);if(s){if(function(){(0,eval)(s+"\n//# sourceURL="+o)}.call(goog.global),goog.global.$gwtExport&&goog.global.$gwtExport.$jscomp&&!goog.global.$gwtExport.$jscomp.transpile)throw Error('The transpiler did not properly export the "transpile" method. $gwtExport: '+JSON.stringify(goog.global.$gwtExport));goog.global.$jscomp.transpile=goog.global.$gwtExport.$jscomp.transpile,i=(n=goog.global.$jscomp).transpile}}return i||(i=n.transpile=function(t,e){return goog.logToConsole_(e+" requires transpilation but no transpiler was found."),t}),i(t,e,r)},goog.typeOf=function(t){var e=typeof t;return"object"!=e?e:t?Array.isArray(t)?"array":e:"null"},goog.isArrayLike=function(t){var e=goog.typeOf(t);return"array"==e||"object"==e&&"number"==typeof t.length},goog.isDateLike=function(t){return goog.isObject(t)&&"function"==typeof t.getFullYear},goog.isObject=function(t){var e=typeof t;return"object"==e&&null!=t||"function"==e},goog.getUid=function(t){return Object.prototype.hasOwnProperty.call(t,goog.UID_PROPERTY_)&&t[goog.UID_PROPERTY_]||(t[goog.UID_PROPERTY_]=++goog.uidCounter_)},goog.hasUid=function(t){return!!t[goog.UID_PROPERTY_]},goog.removeUid=function(t){null!==t&&"removeAttribute"in t&&t.removeAttribute(goog.UID_PROPERTY_);try{delete t[goog.UID_PROPERTY_]}catch(t){}},goog.UID_PROPERTY_="closure_uid_"+(1e9*Math.random()>>>0),goog.uidCounter_=0,goog.cloneObject=function(t){var e=goog.typeOf(t);if("object"==e||"array"==e){if("function"==typeof t.clone)return t.clone();for(var r in e="array"==e?[]:{},t)e[r]=goog.cloneObject(t[r]);return e}return t},goog.bindNative_=function(t,e,r){return t.call.apply(t.bind,arguments)},goog.bindJs_=function(t,e,r){if(!t)throw Error();if(2<arguments.length){var n=Array.prototype.slice.call(arguments,2);return function(){var r=Array.prototype.slice.call(arguments);return Array.prototype.unshift.apply(r,n),t.apply(e,r)}}return function(){return t.apply(e,arguments)}},goog.bind=function(t,e,r){return Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?goog.bind=goog.bindNative_:goog.bind=goog.bindJs_,goog.bind.apply(null,arguments)},goog.partial=function(t,e){var r=Array.prototype.slice.call(arguments,1
15672);return function(){var e=r.slice();return e.push.apply(e,arguments),t.apply(this,e)}},goog.mixin=function(t,e){for(var r in e)t[r]=e[r]},goog.now=function(){return Date.now()},goog.globalEval=function(t){(0,eval)(t)},goog.getCssName=function(t,e){if("."==String(t).charAt(0))throw Error('className passed in goog.getCssName must not start with ".". You passed: '+t);var r=function(t){return goog.cssNameMapping_[t]||t},n=function(t){t=t.split("-");for(var e=[],n=0;n<t.length;n++)e.push(r(t[n]));return e.join("-")};return n=goog.cssNameMapping_?"BY_WHOLE"==goog.cssNameMappingStyle_?r:n:function(t){return t},t=e?t+"-"+n(e):n(t),goog.global.CLOSURE_CSS_NAME_MAP_FN?goog.global.CLOSURE_CSS_NAME_MAP_FN(t):t},goog.setCssNameMapping=function(t,e){goog.cssNameMapping_=t,goog.cssNameMappingStyle_=e},!COMPILED&&goog.global.CLOSURE_CSS_NAME_MAPPING&&(goog.cssNameMapping_=goog.global.CLOSURE_CSS_NAME_MAPPING),goog.getMsg=function(t,e,r){return r&&r.html&&(t=t.replace(/</g,"<")),r&&r.unescapeHtmlEntities&&(t=t.replace(/</g,"<").replace(/>/g,">").replace(/'/g,"'").replace(/"/g,'"').replace(/&/g,"&")),e&&(t=t.replace(/\{\$([^}]+)}/g,(function(t,r){return null!=e&&r in e?e[r]:t}))),t},goog.getMsgWithFallback=function(t,e){return t},goog.exportSymbol=function(t,e,r){goog.exportPath_(t,e,!0,r)},goog.exportProperty=function(t,e,r){t[e]=r},goog.inherits=function(t,e){function r(){}r.prototype=e.prototype,t.superClass_=e.prototype,t.prototype=new r,t.prototype.constructor=t,t.base=function(t,r,n){for(var i=Array(arguments.length-2),o=2;o<arguments.length;o++)i[o-2]=arguments[o];return e.prototype[r].apply(t,i)}},goog.scope=function(t){if(goog.isInModuleLoader_())throw Error("goog.scope is not supported within a module.");t.call(goog.global)},COMPILED||(goog.global.COMPILED=COMPILED),goog.defineClass=function(t,e){var r=e.constructor,n=e.statics;return r&&r!=Object.prototype.constructor||(r=function(){throw Error("cannot instantiate an interface (no constructor defined).")}),r=goog.defineClass.createSealingConstructor_(r,t),t&&goog.inherits(r,t),delete e.constructor,delete e.statics,goog.defineClass.applyProperties_(r.prototype,e),null!=n&&(n instanceof Function?n(r):goog.defineClass.applyProperties_(r,n)),r},goog.defineClass.SEAL_CLASS_INSTANCES=goog.DEBUG,goog.defineClass.createSealingConstructor_=function(t,e){return goog.defineClass.SEAL_CLASS_INSTANCES?function(){var e=t.apply(this,arguments)||this;return e[goog.UID_PROPERTY_]=e[goog.UID_PROPERTY_],e}:t},goog.defineClass.OBJECT_PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),goog.defineClass.applyProperties_=function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);for(var n=0;n<goog.defineClass.OBJECT_PROTOTYPE_FIELDS_.length;n++)r=goog.defineClass.OBJECT_PROTOTYPE_FIELDS_[n],Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},!COMPILED&&goog.DEPENDENCIES_ENABLED&&(goog.inHtmlDocument_=function(){var t=goog.global.document;return null!=t&&"write"in t},goog.isDocumentLoading_=function(){var t=goog.global.document;return t.attachEvent?"complete"!=t.readyState:"loading"==t.readyState},goog.findBasePath_=function(){if(null!=goog.global.CLOSURE_BASE_PATH&&"string"==typeof goog.global.CLOSURE_BASE_PATH)goog.basePath=goog.global.CLOSURE_BASE_PATH;else if(goog.inHtmlDocument_()){var t=goog.global.document,e=t.currentScript;for(e=(t=e?[e]:t.getElementsByTagName("SCRIPT")).length-1;0<=e;--e){var r=t[e].src,n=r.lastIndexOf("?");if(n=-1==n?r.length:n,"base.js"==r.substr(n-7,7)){goog.basePath=r.substr(0,n-7);break}}}},goog.findBasePath_(),goog.Transpiler=function(){this.requiresTranspilation_=null,this.transpilationTarget_=goog.TRANSPILE_TO_LANGUAGE},goog.Transpiler.prototype.createRequiresTranspilation_=function(){function a(t,r){e?d[t]=!0:r()?(c=t,d[t]=!1):e=d[t]=!0}function b(g){try{return!!eval(g)}catch(t){return!1}}var c="es3",d={es3:!1},e=!1,f=goog.global.navigator&&goog.global.navigator.userAgent?goog.global.navigator.userAgent:"";return a("es5",(function(){return b("[1,].length==1")})),a("es6",(function(){return!f.match(/Edge\/(\d+)(\.\d)*/i)&&b('(()=>{"use strict";class X{constructor(){if(new.target!=String)throw 1;this.x=42}}let q=Reflect.construct(X,[],String);if(q.x!=42||!(q instanceof String))throw 1;for(const a of[2,3]){if(a==2)continue;function f(z={a}){let a=0;return z.a}{function f(){return 0;}}return f()==3}})()')})),a("es7",(function(){return b("2 ** 2 == 4")})),a("es8",(function(){return b("async () => 1, true")})),a("es9",(function(){return b("({...rest} = {}), true")})),a("es_next",(function(){return!1})),{target:c,map:d}},goog.Transpiler.prototype.needsTranspile=function(t,e){if("always"==goog.TRANSPILE)return!0;
vendor: 5,598 bytes, line 15672
15672if("never"==goog.TRANSPILE)return!1;if(!this.requiresTranspilation_){var r=this.createRequiresTranspilation_();this.requiresTranspilation_=r.map,this.transpilationTarget_=this.transpilationTarget_||r.target}if(t in this.requiresTranspilation_)return!!this.requiresTranspilation_[t]||!(!goog.inHtmlDocument_()||"es6"!=e||"noModule"in goog.global.document.createElement("script"));throw Error("Unknown language mode: "+t)},goog.Transpiler.prototype.transpile=function(t,e){return goog.transpile_(t,e,this.transpilationTarget_)},goog.transpiler_=new goog.Transpiler,goog.protectScriptTag_=function(t){return t.replace(/<\/(SCRIPT)/gi,"\\x3c/$1")},goog.DebugLoader_=function(){this.dependencies_={},this.idToPath_={},this.written_={},this.loadingDeps_=[],this.depsToLoad_=[],this.paused_=!1,this.factory_=new goog.DependencyFactory(goog.transpiler_),this.deferredCallbacks_={},this.deferredQueue_=[]},goog.DebugLoader_.prototype.bootstrap=function(t,e){function r(){n&&(goog.global.setTimeout(n,0),n=null)}var n=e;if(t.length){e=[];for(var i=0;i<t.length;i++){var o=this.getPathFromDeps_(t[i]);if(!o)throw Error("Unregonized namespace: "+t[i]);e.push(this.dependencies_[o])}o=goog.require;var s=0;for(i=0;i<t.length;i++)o(t[i]),e[i].onLoad((function(){++s==t.length&&r()}))}else r()},goog.DebugLoader_.prototype.loadClosureDeps=function(){this.depsToLoad_.push(this.factory_.createDependency(goog.normalizePath_(goog.basePath+"deps.js"),"deps.js",[],[],{},!1)),this.loadDeps_()},goog.DebugLoader_.prototype.requested=function(t,e){(t=this.getPathFromDeps_(t))&&(e||this.areDepsLoaded_(this.dependencies_[t].requires))&&(e=this.deferredCallbacks_[t])&&(delete this.deferredCallbacks_[t],e())},goog.DebugLoader_.prototype.setDependencyFactory=function(t){this.factory_=t},goog.DebugLoader_.prototype.load_=function(t){if(!this.getPathFromDeps_(t))throw t="goog.require could not find: "+t,goog.logToConsole_(t),Error(t);var e=this,r=[],n=function(t){var i=e.getPathFromDeps_(t);if(!i)throw Error("Bad dependency path or symbol: "+t);if(!e.written_[i]){for(e.written_[i]=!0,t=e.dependencies_[i],i=0;i<t.requires.length;i++)goog.isProvided_(t.requires[i])||n(t.requires[i]);r.push(t)}};n(t),t=!!this.depsToLoad_.length,this.depsToLoad_=this.depsToLoad_.concat(r),this.paused_||t||this.loadDeps_()},goog.DebugLoader_.prototype.loadDeps_=function(){for(var t=this,e=this.paused_;this.depsToLoad_.length&&!e;)!function(){var r=!1,n=t.depsToLoad_.shift(),i=!1;t.loading_(n);var o={pause:function(){if(r)throw Error("Cannot call pause after the call to load.");e=!0},resume:function(){r?t.resume_():e=!1},loaded:function(){if(i)throw Error("Double call to loaded.");i=!0,t.loaded_(n)},pending:function(){for(var e=[],r=0;r<t.loadingDeps_.length;r++)e.push(t.loadingDeps_[r]);return e},setModuleState:function(t){goog.moduleLoaderState_={type:t,moduleName:"",declareLegacyNamespace:!1}},registerEs6ModuleExports:function(t,e,r){r&&(goog.loadedModules_[r]={exports:e,type:goog.ModuleType.ES6,moduleId:r||""})},registerGoogModuleExports:function(t,e){goog.loadedModules_[t]={exports:e,type:goog.ModuleType.GOOG,moduleId:t}},clearModuleState:function(){goog.moduleLoaderState_=null},defer:function(e){if(r)throw Error("Cannot register with defer after the call to load.");t.defer_(n,e)},areDepsLoaded:function(){return t.areDepsLoaded_(n.requires)}};try{n.load(o)}finally{r=!0}}();e&&this.pause_()},goog.DebugLoader_.prototype.pause_=function(){this.paused_=!0},goog.DebugLoader_.prototype.resume_=function(){this.paused_&&(this.paused_=!1,this.loadDeps_())},goog.DebugLoader_.prototype.loading_=function(t){this.loadingDeps_.push(t)},goog.DebugLoader_.prototype.loaded_=function(t){for(var e=0;e<this.loadingDeps_.length;e++)if(this.loadingDeps_[e]==t){this.loadingDeps_.splice(e,1);break}for(e=0;e<this.deferredQueue_.length;e++)if(this.deferredQueue_[e]==t.path){this.deferredQueue_.splice(e,1);break}if(this.loadingDeps_.length==this.deferredQueue_.length&&!this.depsToLoad_.length)for(;this.deferredQueue_.length;)this.requested(this.deferredQueue_.shift(),!0);t.loaded()},goog.DebugLoader_.prototype.areDepsLoaded_=function(t){for(var e=0;e<t.length;e++){var r=this.getPathFromDeps_(t[e]);if(!r||!(r in this.deferredCallbacks_)&&!goog.isProvided_(t[e]))return!1}return!0},goog.DebugLoader_.prototype.getPathFromDeps_=function(t){return t in this.idToPath_?this.idToPath_[t]:t in this.dependencies_?t:null},goog.DebugLoader_.prototype.defer_=function(t,e){this.deferredCallbacks_[t.path]=e,this.deferredQueue_.push(t.path)},goog.LoadController=function(){},goog.LoadController.prototype.pause=function(){},goog.LoadController.prototype.resume=function(){},goog.LoadController.prototype.loaded=function(){},goog.LoadController.prototype.pending=function(){},goog.LoadController.prototype.registerEs6ModuleExports=function(t,e,r){},goog.LoadController.prototype.setModuleState=function(t){},goog.LoadController.prototype.clearModuleState=function(){},goog.LoadController.prototype.defer=function(t){},goog.LoadController.prototype.areDepsLoaded=function(){},goog.Dependency=function(t,e,r,n,i){this.path=t,this.relativePath=e,this.provides=r,this.requires=n,this.loadFlags=i,this.loaded_=!1,this.loadCallbacks_=[]},goog.Dependency.prototype.getPathName=function(){var t=this.path,e=t.indexOf("://");return 0<=e&&0<=(e=(t=t.substring(e+3)).indexOf("/"))&&(t=t.substring(e+1)),t},goog.Dependency.prototype.onLoad=function(t){this.loaded_?t():this.loadCallbacks_.push(t)},goog.Dependency.prototype.loaded=function(){this.loaded_=!0;var t=this.loadCallbacks_;this.loadCallbacks_=[];for(var e=0;e<t.length;e++)t[e]()}
15672,goog.Dependency.defer_=!1,goog.Dependency.callbackMap_={},goog.Dependency.registerCallback_=function(t){var e=Math.random().toString(32);return goog.Dependency.callbackMap_[e]=t,e},goog.Dependency.unregisterCallback_=function(t){delete goog.Dependency.callbackMap_[t]},goog.Dependency.callback_=function(t,e){if(!(t in goog.Dependency.callbackMap_))throw Error("Callback key "+t+" does not exist (was base.js loaded more than once?).");for(var r=goog.Dependency.callbackMap_[t],n=[],i=1;i<arguments.length;i++)n.push(arguments[i]);r.apply(void 0,n)},goog.Dependency.prototype.load=function(t){if(goog.global.CLOSURE_IMPORT_SCRIPT)goog.global.CLOSURE_IMPORT_SCRIPT(this.path)?t.loaded():t.pause();else if(goog.inHtmlDocument_()){var e=goog.global.document;if("complete"==e.readyState&&!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING){if(/\bdeps.js$/.test(this.path))return void t.loaded();throw Error('Cannot write "'+this.path+'" after document load')}var r=goog.getScriptNonce();if(!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING&&goog.isDocumentLoading_()){var n=function(e){e.readyState&&"complete"!=e.readyState?e.onload=n:(goog.Dependency.unregisterCallback_(i),t.loaded())},i=goog.Dependency.registerCallback_(n);r=r?' nonce="'+r+'"':"";var o='<script src="'+this.path+'"'+r+(goog.Dependency.defer_?" defer":"")+' id="script-'+i+'"><\/script>';o+="<script"+r+">",o=goog.Dependency.defer_?o+"document.getElementById('script-"+i+"').onload = function() {\n goog.Dependency.callback_('"+i+"', this);\n};\n":o+"goog.Dependency.callback_('"+i+"', document.getElementById('script-"+i+"'));",o+="<\/script>",e.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(o):o)}else{var s=e.createElement("script");s.defer=goog.Dependency.defer_,s.async=!1,r&&(s.nonce=r),goog.DebugLoader_.IS_OLD_IE_?(t.pause(),s.onreadystatechange=function(){"loaded"!=s.readyState&&"complete"!=s.readyState||(t.loaded(),t.resume())}):s.onload=function(){s.onload=null,t.loaded()},s.src=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScriptURL(this.path):this.path,e.head.appendChild(s)}}else goog.logToConsole_("Cannot use default debug loader outside of HTML documents."),"deps.js"==this.relativePath?(goog.logToConsole_("Consider setting CLOSURE_IMPORT_SCRIPT before loading base.js, or setting CLOSURE_NO_DEPS to true."),t.loaded()):t.pause()},goog.Es6ModuleDependency=function(t,e,r,n,i){goog.Dependency.call(this,t,e,r,n,i)},goog.inherits(goog.Es6ModuleDependency,goog.Dependency),goog.Es6ModuleDependency.prototype.load=function(t){if(goog.global.CLOSURE_IMPORT_SCRIPT)goog.global.CLOSURE_IMPORT_SCRIPT(this.path)?t.loaded():t.pause();else if(goog.inHtmlDocument_()){var e=goog.global.document,r=this;if(goog.isDocumentLoading_()){var n=function(t,r){var n="",i=goog.getScriptNonce();i&&(n=' nonce="'+i+'"'),t=r?'<script type="module" crossorigin'+n+">"+r+"<\/script>":'<script type="module" crossorigin src="'+t+'"'+n+"><\/script>",e.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(t):t)};goog.Dependency.defer_=!0}else n=function(t,r){var n=e.createElement("script");n.defer=!0,n.async=!1,n.type="module",n.setAttribute("crossorigin",!0);var i=goog.getScriptNonce();i&&(n.nonce=i),r?n.text=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScript(r):r:n.src=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScriptURL(t):t,e.head.appendChild(n)};var i=goog.Dependency.registerCallback_((function(){goog.Dependency.unregisterCallback_(i),t.setModuleState(goog.ModuleType.ES6)}));n(void 0,'goog.Dependency.callback_("'+i+'")'),n(this.path,void 0);var o=goog.Dependency.registerCallback_((function(e){goog.Dependency.unregisterCallback_(o),t.registerEs6ModuleExports(r.path,e,goog.moduleLoaderState_.moduleName)}));n(void 0,'import * as m from "'+this.path+'"; goog.Dependency.callback_("'+o+'", m)');var s=goog.Dependency.registerCallback_((function(){goog.Dependency.unregisterCallback_(s),t.clearModuleState(),t.loaded()}));n(void 0,'goog.Dependency.callback_("'+s+'")')}else goog.logToConsole_("Cannot use default debug loader outside of HTML documents."),t.pause()},goog.TransformedDependency=function(t,e,r,n,i){goog.Dependency.
15672call(this,t,e,r,n,i),this.contents_=null,this.lazyFetch_=!goog.inHtmlDocument_()||!("noModule"in goog.global.document.createElement("script"))},goog.inherits(goog.TransformedDependency,goog.Dependency),goog.TransformedDependency.prototype.load=function(t){function e(){s.contents_=goog.loadFileSync_(s.path),s.contents_&&(s.contents_=s.transform(s.contents_),s.contents_&&(s.contents_+="\n//# sourceURL="+s.path))}function r(){if(s.lazyFetch_&&e(),s.contents_){a&&t.setModuleState(goog.ModuleType.ES6);try{var r=s.contents_;if(s.contents_=null,goog.globalEval(r),a)var n=goog.moduleLoaderState_.moduleName}finally{a&&t.clearModuleState()}a&&goog.global.$jscomp.require.ensure([s.getPathName()],(function(){t.registerEs6ModuleExports(s.path,goog.global.$jscomp.require(s.getPathName()),n)})),t.loaded()}}var n,i,o,s=this;if(goog.global.CLOSURE_IMPORT_SCRIPT)e(),this.contents_&&goog.global.CLOSURE_IMPORT_SCRIPT("",this.contents_)?(this.contents_=null,t.loaded()):t.pause();else{var a=this.loadFlags.module==goog.ModuleType.ES6;this.lazyFetch_||e();var d=1<t.pending().length,u=d&&goog.DebugLoader_.IS_OLD_IE_;if(d=goog.Dependency.defer_&&(d||goog.isDocumentLoading_()),u||d)t.defer((function(){r()}));else{var h=goog.global.document;if(u=goog.inHtmlDocument_()&&"ActiveXObject"in goog.global,a&&goog.inHtmlDocument_()&&goog.isDocumentLoading_()&&!u){goog.Dependency.defer_=!0,t.pause();var l=h.onreadystatechange;h.onreadystatechange=function(){"interactive"==h.readyState&&(h.onreadystatechange=l,r(),t.resume()),"function"==typeof l&&l.apply(void 0,arguments)}}else!goog.DebugLoader_.IS_OLD_IE_&&goog.inHtmlDocument_()&&goog.isDocumentLoading_()?(n=goog.global.document,i=goog.Dependency.registerCallback_((function(){goog.Dependency.unregisterCallback_(i),r()})),o="<script"+((o=goog.getScriptNonce())?' nonce="'+o+'"':"")+">"+goog.protectScriptTag_('goog.Dependency.callback_("'+i+'");')+"<\/script>",n.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(o):o)):r()}}},goog.TransformedDependency.prototype.transform=function(t){},goog.TranspiledDependency=function(t,e,r,n,i,o){goog.TransformedDependency.call(this,t,e,r,n,i),this.transpiler=o},goog.inherits(goog.TranspiledDependency,goog.TransformedDependency),goog.TranspiledDependency.prototype.transform=function(t){return this.transpiler.transpile(t,this.getPathName())},goog.PreTranspiledEs6ModuleDependency=function(t,e,r,n,i){goog.TransformedDependency.call(this,t,e,r,n,i)},goog.inherits(goog.PreTranspiledEs6ModuleDependency,goog.TransformedDependency),goog.PreTranspiledEs6ModuleDependency.prototype.transform=function(t){return t},goog.GoogModuleDependency=function(t,e,r,n,i,o,s){goog.TransformedDependency.call(this,t,e,r,n,i),this.needsTranspile_=o,this.transpiler_=s},goog.inherits(goog.GoogModuleDependency,goog.TransformedDependency),goog.GoogModuleDependency.prototype.transform=function(t){return this.needsTranspile_&&(t=this.transpiler_.transpile(t,this.getPathName())),goog.LOAD_MODULE_USING_EVAL&&void 0!==goog.global.JSON?"goog.loadModule("+goog.global.JSON.stringify(t+"\n//# sourceURL="+this.path+"\n")+");":'goog.loadModule(function(exports) {"use strict";'+t+"\n;return exports});\n//# sourceURL="+this.path+"\n"},goog.DebugLoader_.IS_OLD_IE_=!(goog.global.atob||!goog.global.document||!goog.global.document.all),goog.DebugLoader_.prototype.addDependency=function(t,e,r,n){e=e||[],t=t.replace(/\\/g,"/");var i=goog.normalizePath_(goog.basePath+t);for(n&&"boolean"!=typeof n||(n=n?{module:goog.ModuleType.GOOG}:{}),r=this.factory_.createDependency(i,t,e,r,n,goog.transpiler_.needsTranspile(n.lang||"es3",n.module)),this.dependencies_[i]=r,r=0;r<e.length;r++)this.idToPath_[e[r]]=i;this.idToPath_[t]=i},goog.DependencyFactory=function(t){this.transpiler=t},goog.DependencyFactory.prototype.createDependency=function(t,e,r,n,i,o){return i.module==goog.ModuleType.GOOG?new goog.GoogModuleDependency(t,e,r,n,i,o,this.transpiler):o?new goog.TranspiledDependency(t,e,r,n,i,this.transpiler):i.module==goog.ModuleType.ES6?"never"==goog.TRANSPILE&&goog.ASSUME_ES_MODULES_TRANSPILED?new goog.PreTranspiledEs6ModuleDependency(t,e,r,n,i):new goog.Es6ModuleDependency(t,e,r,n,i):new goog.Dependency(t,e,r,n,i)},goog.debugLoader_=new goog.DebugLoader_,goog.loadClosureDeps=function(){goog.debugLoader_.loadClosureDeps()},goog.setDependencyFactory=function(t){goog.debugLoader_.setDependencyFactory(t)},goog.TRUSTED_TYPES_POLICY_=goog.TRUSTED_TYPES_POLICY_NAME?goog.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME+"#base"):null,goog.global.CLOSURE_NO_DEPS||goog.debugLoader_.loadClosureDeps(),goog.bootstrap=function(t,e){goog.debugLoader_.bootstrap(t,e)}),goog.TRUSTED_TYPES_POLICY_NAME="goog",goog.identity_=function(t){return t},goog.createTrustedTypesPolicy=function(t){var e=null,r=goog.global.trustedTypes;if(!r||!r.createPolicy)return e;try{e=r.createPolicy(t,{createHTML:goog.identity_,createScript:goog.identity_,createScriptURL:goog.identity_})}catch(t){goog.logToConsole_(t.message)}return e},goog.debug={},goog.inherits(module$contents$goog$debug$Error_DebugError,Error),module$contents$goog$debug$Error_DebugError.prototype.name="CustomError",goog.debug.Error=module$contents$goog$debug$Error_DebugError,goog.dom={},goog.dom.NodeType={ELEMENT:1,ATTRIBUTE:2,TEXT:3,CDATA_SECTION:4,ENTITY_REFERENCE:5,ENTITY:6,PROCESSING_INSTRUCTION:7,COMMENT:8,DOCUMENT:9,DOCUMENT_TYPE:10,DOCUMENT_FRAGMENT:11,NOTATION:12},goog.asserts={},goog.asserts.ENABLE_ASSERTS=goog.DEBUG,goog.asserts.AssertionError=function(t,e){module$contents$goog$debug$Error_DebugError.call(this,goog.asserts.subs_(t,e)),this.messagePattern=t},goog.inherits(goog.asserts.AssertionError,module$contents$goog$debug$Error_DebugError),goog.asserts.AssertionError.prototype.name="AssertionError",goog.asserts.DEFAULT_ERROR_HANDLER=function(t){throw t},goog.asserts.errorHandler_=goog.asserts.DEFAULT_ERROR_HANDLER,goog.asserts.subs_=function(t,e){for(var r="",n=(t=t.split("%s")).length-1,i=0;i<n;i++)r+=t[i]+(i<e.length?e[i]:"%s");return r+t[n]},goog.asserts.doAssertFailure_=function(t,e,r,n){var i="Assertion failed";if(r){i+=": "+r;var o=n}else t&&(i+=": "+t,o=e);t=new goog.asserts.AssertionError(""+i,o||[]),goog.asserts.errorHandler_(t)},goog.asserts.setErrorHandler=function(t){goog.asserts.ENABLE_ASSERTS&&(goog.asserts.errorHandler_=t)},goog.asserts.assert=function(t,e,r){return goog.asserts.ENABLE_ASSERTS&&!t&&goog.asserts.doAssertFailure_("",null,e,Array.prototype.slice.call(arguments,2)),t},goog.asserts.assertExists=function(t,e,r){return goog.asserts.ENABLE_ASSERTS&&null==t&&goog.asserts.doAssertFailure_("Expected to exist: %s.",[t],e,Array.prototype.slice.call(arguments,2)),t},goog.asserts.fail=function(t,e){goog.asserts.ENABLE_ASSERTS&&goog.asserts.errorHandler_(new goog.asserts.AssertionError("Failure"+(t?": "+t:""),Array.prototype.slice.call(arguments,1
vendor: 25,779 bytes, line 15672
15672)))},goog.asserts.assertNumber=function(t,e,r){return goog.asserts.ENABLE_ASSERTS&&"number"!=typeof t&&goog.asserts.doAssertFailure_("Expected number but got %s: %s.",[goog.typeOf(t),t],e,Array.prototype.slice.call(arguments,2)),t},goog.asserts.assertString=function(t,e,r){return goog.asserts.ENABLE_ASSERTS&&"string"!=typeof t&&goog.asserts.doAssertFailure_("Expected string but got %s: %s.",[goog.typeOf(t),t],e,Array.prototype.slice.call(arguments,2)),t},goog.asserts.assertFunction=function(t,e,r){return goog.asserts.ENABLE_ASSERTS&&"function"!=typeof t&&goog.asserts.doAssertFailure_("Expected function but got %s: %s.",[goog.typeOf(t),t],e,Array.prototype.slice.call(arguments,2)),t},goog.asserts.assertObject=function(t,e,r){return goog.asserts.ENABLE_ASSERTS&&!goog.isObject(t)&&goog.asserts.doAssertFailure_("Expected object but got %s: %s.",[goog.typeOf(t),t],e,Array.prototype.slice.call(arguments,2)),t},goog.asserts.assertArray=function(t,e,r){return goog.asserts.ENABLE_ASSERTS&&!Array.isArray(t)&&goog.asserts.doAssertFailure_("Expected array but got %s: %s.",[goog.typeOf(t),t],e,Array.prototype.slice.call(arguments,2)),t},goog.asserts.assertBoolean=function(t,e,r){return goog.asserts.ENABLE_ASSERTS&&"boolean"!=typeof t&&goog.asserts.doAssertFailure_("Expected boolean but got %s: %s.",[goog.typeOf(t),t],e,Array.prototype.slice.call(arguments,2)),t},goog.asserts.assertElement=function(t,e,r){return!goog.asserts.ENABLE_ASSERTS||goog.isObject(t)&&t.nodeType==goog.dom.NodeType.ELEMENT||goog.asserts.doAssertFailure_("Expected Element but got %s: %s.",[goog.typeOf(t),t],e,Array.prototype.slice.call(arguments,2)),t},goog.asserts.assertInstanceof=function(t,e,r,n){return!goog.asserts.ENABLE_ASSERTS||t instanceof e||goog.asserts.doAssertFailure_("Expected instanceof %s but got %s.",[goog.asserts.getType_(e),goog.asserts.getType_(t)],r,Array.prototype.slice.call(arguments,3)),t},goog.asserts.assertFinite=function(t,e,r){return!goog.asserts.ENABLE_ASSERTS||"number"==typeof t&&isFinite(t)||goog.asserts.doAssertFailure_("Expected %s to be a finite number but it is not.",[t],e,Array.prototype.slice.call(arguments,2)),t},goog.asserts.assertObjectPrototypeIsIntact=function(){for(var t in Object.prototype)goog.asserts.fail(t+" should not be enumerable in Object.prototype.")},goog.asserts.getType_=function(t){return t instanceof Function?t.displayName||t.name||"unknown type name":t instanceof Object?t.constructor.displayName||t.constructor.name||Object.prototype.toString.call(t):null===t?"null":typeof t},goog.array={},goog.NATIVE_ARRAY_PROTOTYPES=goog.TRUSTED_SITE;var module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS=2012<goog.FEATURESET_YEAR;function module$contents$goog$array_peek(t){return t[t.length-1]}goog.array.ASSUME_NATIVE_FUNCTIONS=module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS,goog.array.peek=module$contents$goog$array_peek,goog.array.last=module$contents$goog$array_peek;var module$contents$goog$array_indexOf=goog.NATIVE_ARRAY_PROTOTYPES&&(module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS||Array.prototype.indexOf)?function(t,e,r){return goog.asserts.assert(null!=t.length),Array.prototype.indexOf.call(t,e,r)}:function(t,e,r){if(r=null==r?0:0>r?Math.max(0,t.length+r):r,"string"==typeof t)return"string"!=typeof e||1!=e.length?-1:t.indexOf(e,r);for(;r<t.length;r++)if(r in t&&t[r]===e)return r;return-1};goog.array.indexOf=module$contents$goog$array_indexOf;var module$contents$goog$array_lastIndexOf=goog.NATIVE_ARRAY_PROTOTYPES&&(module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS||Array.prototype.lastIndexOf)?function(t,e,r){return goog.asserts.assert(null!=t.length),Array.prototype.lastIndexOf.call(t,e,null==r?t.length-1:r)}:function(t,e,r){if(0>(r=null==r?t.length-1:r)&&(r=Math.max(0,t.length+r)),"string"==typeof t)return"string"!=typeof e||1!=e.length?-1:t.lastIndexOf(e,r);for(;0<=r;r--)if(r in t&&t[r]===e)return r;return-1};goog.array.lastIndexOf=module$contents$goog$array_lastIndexOf;var module$contents$goog$array_forEach=goog.NATIVE_ARRAY_PROTOTYPES&&(module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS||Array.prototype.forEach)?function(t,e,r){goog.asserts.assert(null!=t.length),Array.prototype.forEach.call(t,e,r)}:function(t,e,r){for(var n=t.length,i="string"==typeof t?t.split(""):t,o=0;o<n;o++)o in i&&e.call(r,i[o],o,t)};function module$contents$goog$array_forEachRight(t,e,r){var n=t.length,i="string"==typeof t?t.split(""):t;for(--n;0<=n;--n)n in i&&e.call(r,i[n],n,t)}goog.array.forEach=module$contents$goog$array_forEach,goog.array.forEachRight=module$contents$goog$array_forEachRight;var module$contents$goog$array_filter=goog.NATIVE_ARRAY_PROTOTYPES&&(module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS||Array.prototype.filter)?function(t,e,r){return goog.asserts.assert(null!=t.length),Array.prototype.filter.call(t,e,r)}:function(t,e,r){for(var n=t.length,i=[],o=0,s="string"==typeof t?t.split(""):t,a=0;a<n;a++)if(a in s){var d=s[a];e.call(r,d,a,t)&&(i[o++]=d)}return i};goog.array.filter=module$contents$goog$array_filter;var module$contents$goog$array_map=goog.NATIVE_ARRAY_PROTOTYPES&&(module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS||Array.prototype.map)?function(t,e,r){return goog.asserts.assert(null!=t.length),Array.prototype.map.call(t,e,r)}:function(t,e,r){for(var n=t.length,i=Array(n),o="string"==typeof t?t.split(""):t,s=0;s<n;s++)s in o&&(i[s]=e.call(r,o[s],s,t));return i};goog.array.map=module$contents$goog$array_map;var module$contents$goog$array_reduce=goog.NATIVE_ARRAY_PROTOTYPES&&(module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS||Array.prototype.reduce)?function(t,e,r,n){return goog.asserts.assert(null!=t.length),n&&(e=goog.bind(e,n)),Array.prototype.reduce.call(t,e,r)}:function(t,e,r,n){var i=r;return module$contents$goog$array_forEach(t,(function(r,o){i=e.call(n,i,r,o,t)})),i};goog.array.reduce=module$contents$goog$array_reduce;var module$contents$goog$array_reduceRight=goog.NATIVE_ARRAY_PROTOTYPES&&(module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS||Array.prototype.reduceRight)?function(t,e,r,n){return goog.asserts.assert(null!=t.length),goog.asserts.assert(null!=e),n&&(e=goog.bind(e,n)),Array.prototype.reduceRight.call(t,e,r)}:function(t,e,r,n){var i=r;return module$contents$goog$array_forEachRight(t,(function(r,o){i=e.call(n,i,r,o,t)})),i};goog.array.reduceRight=module$contents$goog$array_reduceRight;var module$contents$goog$array_some=goog.NATIVE_ARRAY_PROTOTYPES&&(module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS||Array.prototype.some)?function(t,e,r){return goog.asserts.assert(null!=t.length),Array.prototype.some.call(t,e,r)}:function(t,e,r){for(var n=t.length,i="string"==typeof t?t.split(""):t,o=0;o<n;o++)if(o in i&&e.call(r,i[o],o,t))return!0;return!1};goog.array.some=module$contents$goog$array_some;var module$contents$goog$array_every=goog.NATIVE_ARRAY_PROTOTYPES&&(module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS||Array.prototype.every)?function(t,e,r){return goog.asserts.assert(null!=t.length),Array.prototype.every.call(t,e,r)}:function(t,e,r){for(var n=t.length,i="string"==typeof t?t.split(""):t,o=0;o<n;o++)if(o in i&&!e.call(r,i[o],o,t))return!1;return!0};function module$contents$goog$array_count(t,e,r){var n=0;return module$contents$goog$array_forEach(t,(function(t,i,o){e.call(r,t,i,o)&&++n}),r),n}function module$contents$goog$array_find(t,e,r){return 0>(e=module$contents$goog$array_findIndex(t,e,r))?null:"string"==typeof t?t.charAt(e):t[e]}function module$contents$goog$array_findIndex(t,e,r){for(var n=t.length,i="string"==typeof t?t.split(""):t,o=0;o<n;o++)if(o in i&&e.call(r,i[o],o,t))return o;return-1}function module$contents$goog$array_findRight(t,e,r){return 0>(e=module$contents$goog$array_findIndexRight(t,e,r))?null:"string"==typeof t?t.charAt(e):t[e]}function module$contents$goog$array_findIndexRight(t,e,r){var n=t.length,i="string"==typeof t?t.split(""):t;for(--n;0<=n;n--)if(n in i&&e.call(r,i[n],n,t))return n;return-1}function module$contents$goog$array_contains(t,e){return 0<=module$contents$goog$array_indexOf(t,e)}function module$contents$goog$array_isEmpty(t){return 0==t.length}function module$contents$goog$array_clear(t){if(!Array.isArray(t))for(var e=t.length-1;0<=e;e--)delete t[e];t.length=0}function module$contents$goog$array_insert(t,e){module$contents$goog$array_contains(t,e)||t.push(e)}function module$contents$goog$array_insertAt(t,e,r){module$contents$goog$array_splice(t,r,0,e)}function module$contents$goog$array_insertArrayAt(t,e,r){goog.partial(module$contents$goog$array_splice,t,r,0).apply(null,e)}function module$contents$goog$array_insertBefore(t,e,r){var n;2==arguments.length||0>(n=module$contents$goog$array_indexOf(t,r))?t.push(e):module$contents$goog$array_insertAt(t,e,n)}function module$contents$goog$array_remove(t,e){var r;return(r=0<=(e=module$contents$goog$array_indexOf(t,e)))&&module$contents$goog$array_removeAt(t,e),r}function module$contents$goog$array_removeLast(t,e){return 0<=(e=module$contents$goog$array_lastIndexOf(t,e))&&(module$contents$goog$array_removeAt(t,e),!0)}function module$contents$goog$array_removeAt(t,e){return goog.asserts.assert(null!=t.length),1==Array.prototype.splice.call(t,e,1).length}function module$contents$goog$array_removeIf(t,e,r){return 0<=(e=module$contents$goog$array_findIndex(t,e,r))&&(module$contents$goog$array_removeAt(t,e),!0)}function module$contents$goog$array_removeAllIf(t,e,r){var n=0;return module$contents$goog$array_forEachRight(t,(function(i,o){e.call(r,i,o,t)&&module$contents$goog$array_removeAt(t,o)&&n++})),n}function module$contents$goog$array_concat(t){return Array.prototype.concat.apply([],arguments)}function module$contents$goog$array_join(t){return Array.prototype.concat.apply([],arguments)}function module$contents$goog$array_toArray(t){var e=t.length;if(0<e){for(var r=Array(e),n=0;n<e;n++)r[n]=t[n];return r}return[]}goog.array.every=module$contents$goog$array_every,goog.array.count=module$contents$goog$array_count,goog.array.find=module$contents$goog$array_find,goog.array.findIndex=module$contents$goog$array_findIndex,goog.array.findRight=module$contents$goog$array_findRight,goog.array.findIndexRight=module$contents$goog$array_findIndexRight,goog.array.contains=module$contents$goog$array_contains,goog.array.isEmpty=module$contents$goog$array_isEmpty,goog.array.clear=module$contents$goog$array_clear,goog.array.insert=module$contents$goog$array_insert,goog.array.insertAt=module$contents$goog$array_insertAt,goog.array.insertArrayAt=module$contents$goog$array_insertArrayAt,goog.array.insertBefore=module$contents$goog$array_insertBefore,goog.array.remove=module$contents$goog$array_remove,goog.array.removeLast=module$contents$goog$array_removeLast,goog.array.removeAt=module$contents$goog$array_removeAt,goog.array.removeIf=module$contents$goog$array_removeIf,goog.array.removeAllIf=module$contents$goog$array_removeAllIf,goog.array.concat=module$contents$goog$array_concat,goog.array.join=module$contents$goog$array_join;var module$contents$goog$array_clone=goog.array.toArray=module$contents$goog$array_toArray;function module$contents$goog$array_extend(t,e){for(var r=1;r<arguments.length;r++){var n=arguments[r];if(goog.isArrayLike(n)){var i=t.length||0,o=n.length||0;t.length=i+o;for(var s=0;s<o;s++)t[i+s]=n[s]}else t.push(n)}}function module$contents$goog$array_splice(t,e,r,n){return goog.asserts.assert(null!=t.length),Array.prototype.splice.apply(t,module$contents$goog$array_slice(arguments,1))}function module$contents$goog$array_slice(t,e,r){return goog.asserts.assert(null!=t.length),2>=arguments.length?Array.prototype.slice.call(t,e):Array.prototype.slice.call(t,e,r)}function module$contents$goog$array_removeDuplicates(t,e,r){e=e||t;var n=function(t){return goog.isObject(t)?"o"+goog.getUid(t):(typeof t).charAt(0)+t};r=r||n,n={};for(var i=0,o=0;o<t.length;){var s=t[o++],a=r(s);Object.prototype.hasOwnProperty.call(n,a)||(n[a]=!0,e[i++]=s)}e.length=i}function module$contents$goog$array_binarySearch(t,e,r){return module$contents$goog$array_binarySearch_(t,r||module$contents$goog$array_defaultCompare,!1,e)}function module$contents$goog$array_binarySelect(t,e,r){return module$contents$goog$array_binarySearch_(t,e,!0,void 0,r)}function module$contents$goog$array_binarySearch_(t,e,r,n,i){for(var o,s=0,a=t.length;s<a;){var d=s+(a-s>>>1),u=r?e.call(i,t[d],d,t):e(n,t[d]);0<u?s=d+1:(a=d,o=!u)}return o?s:-s-1}function module$contents$goog$array_sort(t,e){t.sort(e||module$contents$goog$array_defaultCompare)}function module$contents$goog$array_stableSort(t,e){for(var r=Array(t.length),n=0;n<t.length;n++)r[n]={index:n,value:t[n]};var i=e||module$contents$goog$array_defaultCompare;for(module$contents$goog$array_sort(r,(function(t,e){return i(t.value,e.value)||t.index-e.index})),n=0;n<t.length;n++)t[n]=r[n].value}function module$contents$goog$array_sortByKey(t,e,r){var n=r||module$contents$goog$array_defaultCompare;module$contents$goog$array_sort(t,(function(t,r){return n(e(t),e(r))}))}function module$contents$goog$array_sortObjectsByKey(t,e,r){module$contents$goog$array_sortByKey(t,(function(t){return t[e]}),r)}function module$contents$goog$array_isSorted(t,e,r){e=e||module$contents$goog$array_defaultCompare;for(var n=1;n<t.length;n++){var i=e(t[n-1],t[n]);if(0<i||0==i&&r)return!1}return!0}function module$contents$goog$array_equals(t,e,r){if(!goog.isArrayLike(t)||!goog.isArrayLike(e)||t.length!=e.length)return!1;var n=t.length;r=r||module$contents$goog$array_defaultCompareEquality;for(var i=0;i<n;i++)if(!r(t[i],e[i]))return!1;return!0}function module$contents$goog$array_compare3(t,e,r){r=r||module$contents$goog$array_defaultCompare;for(var n=Math.min(t.length,e.length),i=0;i<n;i++){var o=r(t[i],e[i]);if(0!=o)return o}return module$contents$goog$array_defaultCompare(t.length,e.length)}function module$contents$goog$array_defaultCompare(t,e){return t>e?1:t<e?-1:0}function module$contents$goog$array_inverseDefaultCompare(t,e){return-module$contents$goog$array_defaultCompare(t,e)}function module$contents$goog$array_defaultCompareEquality(t,e){return t===e}function module$contents$goog$array_binaryInsert(t,e,r){return 0>(r=module$contents$goog$array_binarySearch(t,e,r))&&(module$contents$goog$array_insertAt(t,e,-(r+1)),!0)}function module$contents$goog$array_binaryRemove(t,e,r){return 0<=(e=module$contents$goog$array_binarySearch(t,e,r))&&module$contents$goog$array_removeAt(t,e)}function module$contents$goog$array_bucket(t,e,r){for(var n={},i=0;i<t.length;i++){var o=t[i],s=e.call(r,o,i,t);void 0!==s&&(n[s]||(n[s]=[])).push(o)}return n}function module$contents$goog$array_toObject(t,e,r){var n={};return module$contents$goog$array_forEach(t,(function(i,o){n[e.call(r,i,o,t)]=i})),n}function module$contents$goog$array_range(t,e,r){var n=[],i=0,o=t;if(void 0!==e&&(i=t,o=e),0>(r=r||1)*(o-i))return[];if(0<r)for(t=i;t<o;t+=r)n.push(t);else for(t=i;t>o;t+=r)n.push(t);return n}function module$contents$goog$array_repeat(t,e){for(var r=[],n=0;n<e;n++)r[n]=t;return r}function module$contents$goog$array_flatten(t){for(var e=[],r=0;r<arguments.length;r++){var n=arguments[r];if(Array.isArray(n))for(var i=0;i<n.length;i+=8192){var o=module$contents$goog$array_slice(n,i,i+8192);o=module$contents$goog$array_flatten.apply(null,o);for(var s=0;s<o.length;s++)e.push(o[s])}else e.push(n)}return e}function module$contents$goog$array_rotate(t,e){return goog.asserts.assert(null!=t.length),t.length&&(0<(e%=t.length)?Array.prototype.unshift.apply(t,t.splice(-e,e)):0>e&&Array.prototype.push.apply(t,t.splice(0,-e))),t}function module$contents$goog$array_moveItem(t,e,r){goog.asserts.assert(0<=e&&e<t.length),goog.asserts.assert(0<=r&&r<t.length),e=Array.prototype.splice.call(t,e,1),Array.prototype.splice.call(t,r,0,e[0])}function module$contents$goog$array_zip(t){if(!arguments.length)return[];for(var e=[],r=arguments[0].length,n=1;n<arguments.length;n++)arguments[n].length<r&&(r=arguments[n].length);for(n=0;n<r;n++){for(var i=[],o=0;o<arguments.length;o++)i.push(arguments[o][n]);e.push(i)}return e}function module$contents$goog$array_shuffle(t,e){e=e||Math.random;for(var r=t.length-1;0<r;r--){var n=Math.floor(e()*(r+1)),i=t[r];t[r]=t[n],t[n]=i}}function module$contents$goog$array_copyByIndex(t,e){var r=[];return module$contents$goog$array_forEach(e,(function(e){r.push(t[e])})),r}function module$contents$goog$array_concatMap(t,e,r){return module$contents$goog$array_concat.apply([],module$contents$goog$array_map(t,e,r))}goog.array.clone=module$contents$goog$array_clone,goog.array.extend=module$contents$goog$array_extend,goog.array.splice=module$contents$goog$array_splice,goog.array.slice=module$contents$goog$array_slice,goog.array.removeDuplicates=module$contents$goog$array_removeDuplicates,goog.array.binarySearch=module$contents$goog$array_binarySearch,goog.array.binarySelect=module$contents$goog$array_binarySelect,goog.array.sort=module$contents$goog$array_sort,goog.array.stableSort=module$contents$goog$array_stableSort,goog.array.sortByKey=module$contents$goog$array_sortByKey,goog.array.sortObjectsByKey=module$contents$goog$array_sortObjectsByKey,goog.array.isSorted=module$contents$goog$array_isSorted,goog.array.equals=module$contents$goog$array_equals,goog.array.compare3=module$contents$goog$array_compare3,goog.array.defaultCompare=module$contents$goog$array_defaultCompare,goog.array.inverseDefaultCompare=module$contents$goog$array_inverseDefaultCompare,goog.array.defaultCompareEquality=module$contents$goog$array_defaultCompareEquality,goog.array.binaryInsert=module$contents$goog$array_binaryInsert,goog.array.binaryRemove=module$contents$goog$array_binaryRemove,goog.array.bucket=module$contents$goog$array_bucket,goog.array.toObject=module$contents$goog$array_toObject,goog.array.range=module$contents$goog$array_range,goog.array.repeat=module$contents$goog$array_repeat,goog.array.flatten=module$contents$goog$array_flatten,goog.array.rotate=module$contents$goog$array_rotate,goog.array.moveItem=module$contents$goog$array_moveItem,goog.array.zip=module$contents$goog$array_zip,goog.array.shuffle=module$contents$goog$array_shuffle,goog.array.copyByIndex=module$contents$goog$array_copyByIndex,goog.array.concatMap=module$contents$goog$array_concatMap,goog.dom.asserts={},goog.dom.asserts.assertIsLocation=function(t){if(goog.asserts.ENABLE_ASSERTS){var e=goog.dom.asserts.getWindow_(t);e&&(!t||!(t instanceof e.Location)&&t instanceof e.Element)&&goog.asserts.fail("Argument is not a Location (or a non-Element mock); got: %s",goog.dom.asserts.debugStringForType_(t))}return t},goog.dom.asserts.assertIsElementType_=function(t,e){if(goog.asserts.ENABLE_ASSERTS){var r=goog.dom.asserts.getWindow_(t);r&&void 0!==r[e]&&(t&&(t instanceof r[e]||!(t instanceof r.Location||t instanceof r.Element))||goog.asserts.fail("Argument is not a %s (or a non-Element, non-Location mock); got: %s",e,goog.dom.asserts.debugStringForType_(t)))}return t},goog.dom.asserts.assertIsHTMLAnchorElement=function(t){return goog.dom.asserts.assertIsElementType_(t,"HTMLAnchorElement")},goog.dom.asserts.assertIsHTMLButtonElement=function(t){return goog.dom.asserts.assertIsElementType_(t,"HTMLButtonElement")},goog.dom.asserts.assertIsHTMLLinkElement=function(t){return goog.dom.asserts.assertIsElementType_(t,"HTMLLinkElement")},goog.dom.asserts.assertIsHTMLImageElement=function(t){return goog.dom.asserts.assertIsElementType_(t,"HTMLImageElement")},goog.dom.asserts.assertIsHTMLAudioElement=function(t){return goog.dom.asserts.assertIsElementType_(t,"HTMLAudioElement")},goog.dom.asserts.assertIsHTMLVideoElement=function(t){return goog.dom.asserts.assertIsElementType_(t,"HTMLVideoElement")},goog.dom.asserts.assertIsHTMLInputElement=function(t){return goog.dom.asserts.assertIsElementType_(t,"HTMLInputElement")},goog.dom.asserts.assertIsHTMLTextAreaElement=function(t){return goog.dom.asserts.assertIsElementType_(t,"HTMLTextAreaElement")},goog.dom.asserts.assertIsHTMLCanvasElement=function(t){return goog.dom.asserts.assertIsElementType_(t,"HTMLCanvasElement")},goog.dom.asserts.assertIsHTMLEmbedElement=function(t){return goog.dom.asserts.assertIsElementType_(t,"HTMLEmbedElement")},goog.dom.asserts.assertIsHTMLFormElement=function(t){return goog.dom.asserts.assertIsElementType_(t,"HTMLFormElement")},goog.dom.asserts.assertIsHTMLFrameElement=function(t){return goog.dom.asserts.assertIsElementType_(t,"HTMLFrameElement")},goog.dom.asserts.assertIsHTMLIFrameElement=function(t){return goog.dom.asserts.assertIsElementType_(t,"HTMLIFrameElement")},goog.dom.asserts.assertIsHTMLObjectElement=function(t){return goog.dom.asserts.assertIsElementType_(t,"HTMLObjectElement")},goog.dom.asserts.assertIsHTMLScriptElement=function(t){return goog.dom.asserts.assertIsElementType_(t,"HTMLScriptElement")},goog.dom.asserts.debugStringForType_=function(t){if(!goog.isObject(t))return void 0===t?"undefined":null===t?"null":typeof t;try{return t.constructor.displayName||t.constructor.name||Object.prototype.toString.call(t)}catch(t){return"<object could not be stringified>"}},goog.dom.asserts.getWindow_=function(t){try{var e=t&&t.ownerDocument,r=e&&(e.defaultView||e.parentWindow);if((r=r||goog.global).Element&&r.Location)return r}catch(t){}return null},goog.dom.HtmlElement=function(){},goog.functions={},goog.functions.constant=function(t){return function(){return t}},goog.functions.FALSE=function(){return!1},goog.functions.TRUE=function(){return!0},goog.functions.NULL=function(){return null},goog.functions.identity=function(t,e){return t},goog.functions.error=function(t){return function(){throw Error(t)}},goog.functions.fail=function(t){return function(){throw t}},goog.functions.lock=function(t,e){return e=e||0,function(){return t.apply(this,Array.prototype.slice.call(arguments,0,e))}},goog.functions.nth=function(t){return function(){return arguments[t]}},goog.functions.partialRight=function(t,e){var r=Array.prototype.slice.call(arguments,1);return function(){var e=this;e===goog.global&&(e=void 0);var n=Array.prototype.slice.call(arguments);return n.push.apply(n,r),t.apply(e,n)}},goog.functions.withReturnValue=function(t,e){return goog.functions.sequence(t,goog.functions.constant(e))},goog.functions.equalTo=function(t,e){return function(r){return e?t==r:t===r}},goog.functions.compose=function(t,e){var r=arguments,n=r.length;return function(){var t;n&&(t=r[n-1].apply(this,arguments));for(var e=n-2;0<=e;e--)t=r[e].call(this,t);return t}},goog.functions.sequence=function(t){var e=arguments,r=e.length;return function(){for(var t,n=0;n<r;n++)t=e[n].apply(this,arguments);return t}},goog.functions.and=function(t){var e=arguments,r=e.length;return function(){for(var t=0;t<r;t++)if(!e[t].apply(this,arguments))return!1;return!0}},goog.functions.or=function(t){var e=arguments,r=e.length;return function(){for(var t=0;t<r;t++)if(e[t].apply(this,arguments))return!0;return!1}},goog.functions.not=function(t){return function(){return!t.apply(this,arguments)}},goog.functions.create=function(t,e){var r=function(){};return r.prototype=t.prototype,r=new r,t.apply(r,Array.prototype.slice.call(arguments,1)),r},goog.functions.CACHE_RETURN_VALUE=!0,goog.functions.cacheReturnValue=function(t){var e,r=!1;return function(){return goog.functions.CACHE_RETURN_VALUE?(r||(e=t(),r=!0),e):t()}},goog.functions.once=function(t){var e=t;return function(){if(e){var t=e;e=null,t()}}},goog.functions.debounce=function(t,e,r){var n=0;return function(i){goog.global.clearTimeout(n);var o=arguments;n=goog.global.setTimeout((function(){t.apply(r,o)}),e)}},goog.functions.throttle=function(t,e,r){var n=0,i=!1,o=[],s=function(){n=0,i&&(i=!1,a())},a=function(){n=goog.global.setTimeout(s,e),t.apply(r,o)};return function(t){o=arguments,n?i=!0:a()}},goog.functions.rateLimit=function(t,e,r){var n=0,i=function(){n=0};return function(o){n||(n=goog.global.setTimeout(i,e),t.apply(r,arguments))}},goog.functions.isFunction=function(t){return"function"==typeof t},goog.dom.TagName=function(){},goog.dom.TagName.cast=function(t,e){return t},goog.dom.TagName.prototype.toString=function(){},goog.dom.TagName.A="A",goog.dom.TagName.ABBR="ABBR",goog.dom.TagName.ACRONYM="ACRONYM",goog.dom.TagName.ADDRESS="ADDRESS",goog.dom.TagName.APPLET="APPLET",goog.dom.TagName.AREA="AREA",goog.dom.TagName.ARTICLE="ARTICLE",goog.dom.TagName.ASIDE="ASIDE",goog.dom.TagName.AUDIO="AUDIO",goog.dom.TagName.B="B",goog.dom.TagName.BASE="BASE",goog.dom.TagName.BASEFONT="BASEFONT",goog.dom.TagName.BDI="BDI",goog.dom.TagName.BDO="BDO",goog.dom.TagName.BIG="BIG",goog.dom.TagName.BLOCKQUOTE="BLOCKQUOTE",goog.dom.TagName.BODY="BODY",goog.dom.TagName.BR="BR",goog.dom.TagName.BUTTON="BUTTON",goog.dom.TagName.CANVAS="CANVAS",goog.dom.TagName.CAPTION="CAPTION",goog.dom.TagName.CENTER="CENTER",goog.dom.TagName.CITE="CITE",goog.dom.TagName.CODE="CODE",goog.dom.TagName.COL="COL",goog.dom.TagName.COLGROUP="COLGROUP",goog.dom.TagName.COMMAND="COMMAND",goog.dom.TagName.DATA="DATA",goog.dom.TagName.DATALIST="DATALIST",goog.dom.TagName.DD="DD",goog.dom.TagName.DEL="DEL",goog.dom.TagName.DETAILS="DETAILS",goog.dom.TagName.DFN="DFN",goog.dom.TagName.DIALOG="DIALOG",goog.dom.TagName.DIR="DIR",goog.dom.TagName.DIV="DIV",goog.dom.TagName.DL="DL",goog.dom.TagName.DT="DT",goog.dom.TagName.EM="EM",goog.dom.TagName.EMBED="EMBED",goog.dom.TagName.FIELDSET="FIELDSET",goog.dom.TagName.FIGCAPTION="FIGCAPTION",goog.dom.TagName.FIGURE="FIGURE",goog.dom.TagName.FONT="FONT",goog.dom.TagName.FOOTER="FOOTER",goog.dom.TagName.FORM="FORM",goog.dom.TagName.FRAME="FRAME",goog.dom.TagName.FRAMESET="FRAMESET",goog.dom.TagName.H1="H1",goog.dom.TagName.H2="H2",goog.dom.TagName.H3="H3",goog.dom.TagName.H4="H4",goog.dom.TagName.H5="H5",goog.dom.TagName.H6="H6",goog.dom.TagName.HEAD="HEAD",goog.dom.TagName.HEADER="HEADER",goog.dom.TagName.HGROUP="HGROUP",goog.dom.TagName.HR="HR",goog.dom.TagName.HTML="HTML",goog.dom.TagName.I="I",goog.dom.TagName.IFRAME="I
15672FRAME",goog.dom.TagName.IMG="IMG",goog.dom.TagName.INPUT="INPUT",goog.dom.TagName.INS="INS",goog.dom.TagName.ISINDEX="ISINDEX",goog.dom.TagName.KBD="KBD",goog.dom.TagName.KEYGEN="KEYGEN",goog.dom.TagName.LABEL="LABEL",goog.dom.TagName.LEGEND="LEGEND",goog.dom.TagName.LI="LI",goog.dom.TagName.LINK="LINK",goog.dom.TagName.MAIN="MAIN",goog.dom.TagName.MAP="MAP",goog.dom.TagName.MARK="MARK",goog.dom.TagName.MATH="MATH",goog.dom.TagName.MENU="MENU",goog.dom.TagName.MENUITEM="MENUITEM",goog.dom.TagName.META="META",goog.dom.TagName.METER="METER",goog.dom.TagName.NAV="NAV",goog.dom.TagName.NOFRAMES="NOFRAMES",goog.dom.TagName.NOSCRIPT="NOSCRIPT",goog.dom.TagName.OBJECT="OBJECT",goog.dom.TagName.OL="OL",goog.dom.TagName.OPTGROUP="OPTGROUP",goog.dom.TagName.OPTION="OPTION",goog.dom.TagName.OUTPUT="OUTPUT",goog.dom.TagName.P="P",goog.dom.TagName.PARAM="PARAM",goog.dom.TagName.PICTURE="PICTURE",goog.dom.TagName.PRE="PRE",goog.dom.TagName.PROGRESS="PROGRESS",goog.dom.TagName.Q="Q",goog.dom.TagName.RP="RP",goog.dom.TagName.RT="RT",goog.dom.TagName.RTC="RTC",goog.dom.TagName.RUBY="RUBY",goog.dom.TagName.S="S",goog.dom.TagName.SAMP="SAMP",goog.dom.TagName.SCRIPT="SCRIPT",goog.dom.TagName.SECTION="SECTION",goog.dom.TagName.SELECT="SELECT",goog.dom.TagName.SMALL="SMALL",goog.dom.TagName.SOURCE="SOURCE",goog.dom.TagName.SPAN="SPAN",goog.dom.TagName.STRIKE="STRIKE",goog.dom.TagName.STRONG="STRONG",goog.dom.TagName.STYLE="STYLE",goog.dom.TagName.SUB="SUB",goog.dom.TagName.SUMMARY="SUMMARY",goog.dom.TagName.SUP="SUP",goog.dom.TagName.SVG="SVG",goog.dom.TagName.TABLE="TABLE",goog.dom.TagName.TBODY="TBODY",goog.dom.TagName.TD="TD",goog.dom.TagName.TEMPLATE="TEMPLATE",goog.dom.TagName.TEXTAREA="TEXTAREA",goog.dom.TagName.TFOOT="TFOOT",goog.dom.TagName.TH="TH",goog.dom.TagName.THEAD="THEAD",goog.dom.TagName.TIME="TIME",goog.dom.TagName.TITLE="TITLE",goog.dom.TagName.TR="TR",goog.dom.TagName.TRACK="TRACK",goog.dom.TagName.TT="TT",goog.dom.TagName.U="U",goog.dom.TagName.UL="UL",goog.dom.TagName.VAR="VAR",goog.dom.TagName.VIDEO="VIDEO",goog.dom.TagName.WBR="WBR",goog.object={},goog.object.forEach=function(t,e,r){for(var n in t)e.call(r,t[n],n,t)},goog.object.filter=function(t,e,r){var n,i={};for(n in t)e.call(r,t[n],n,t)&&(i[n]=t[n]);return i},goog.object.map=function(t,e,r){var n,i={};for(n in t)i[n]=e.call(r,t[n],n,t);return i},goog.object.some=function(t,e,r){for(var n in t)if(e.call(r,t[n],n,t))return!0;return!1},goog.object.every=function(t,e,r){for(var n in t)if(!e.call(r,t[n],n,t))return!1;return!0},goog.object.getCount=function(t){var e,r=0;for(e in t)r++;return r},goog.object.getAnyKey=function(t){for(var e in t)return e},goog.object.getAnyValue=function(t){for(var e in t)return t[e]},goog.object.contains=function(t,e){return goog.object.containsValue(t,e)},goog.object.getValues=function(t){var e,r=[],n=0;for(e in t)r[n++]=t[e];return r},goog.object.getKeys=function(t){var e,r=[],n=0;for(e in t)r[n++]=e;return r},goog.object.getValueByKeys=function(t,e){var r=goog.isArrayLike(e),n=r?e:arguments;for(r=r?0:1;r<n.length;r++){if(null==t)return;t=t[n[r]]}return t},goog.object.containsKey=function(t,e){return null!==t&&e in t},goog.object.containsValue=function(t,e){for(var r in t)if(t[r]==e)return!0;return!1},goog.object.findKey=function(t,e,r){for(var n in t)if(e.call(r,t[n],n,t))return n},goog.object.findValue=function(t,e,r){return(e=goog.object.findKey(t,e,r))&&t[e]},goog.object.isEmpty=function(t){for(var e in t)return!1;return!0},goog.object.clear=function(t){for(var e in t)delete t[e]},goog.object.remove=function(t,e){var r;return(r=e in t)&&delete t[e],r},goog.object.add=function(t,e,r){if(null!==t&&e in t)throw Error('The object already contains the key "'+e+'"');goog.object.set(t,e,r)},goog.object.get=function(t,e,r){return null!==t&&e in t?t[e]:r},goog.object.set=function(t,e,r){t[e]=r},goog.object.setIfUndefined=function(t,e,r){return e in t?t[e]:t[e]=r},goog.object.setWithReturnValueIfNotSet=function(t,e,r){return e in t?t[e]:(r=r(),t[e]=r)},goog.object.equals=function(t,e){for(var r in t)if(!(r in e)||t[r]!==e[r])return!1;for(var n in e)if(!(n in t))return!1;return!0},goog.object.clone=function(t){var e,r={};for(e in t)r[e]=t[e];return r},goog.object.unsafeClone=function(t){if(!t||"object"!=typeof t)return t;if("function"==typeof t.clone)return t.clone();var e,r=Array.isArray(t)?[]:"function"!=typeof ArrayBuffer||"function"!=typeof ArrayBuffer.isView||!ArrayBuffer.isView(t)||t instanceof DataView?{}:new t.constructor(t.length);for(e in t)r[e]=goog.object.unsafeClone(t[e]);return r},goog.object.transpose=function(t){var e,r={};for(e in t)r[t[e]]=e;return r},goog.object.PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleStr
15672ing toString valueOf".split(" "),goog.object.extend=function(t,e){for(var r,n,i=1;i<arguments.length;i++){for(r in n=arguments[i])t[r]=n[r];for(var o=0;o<goog.object.PROTOTYPE_FIELDS_.length;o++)r=goog.object.PROTOTYPE_FIELDS_[o],Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}},goog.object.create=function(t){var e=arguments.length;if(1==e&&Array.isArray(arguments[0]))return goog.object.create.apply(null,arguments[0]);if(e%2)throw Error("Uneven number of arguments");for(var r={},n=0;n<e;n+=2)r[arguments[n]]=arguments[n+1];return r},goog.object.createSet=function(t){var e=arguments.length;if(1==e&&Array.isArray(arguments[0]))return goog.object.createSet.apply(null,arguments[0]);for(var r={},n=0;n<e;n++)r[arguments[n]]=!0;return r},goog.object.createImmutableView=function(t){var e=t;return Object.isFrozen&&!Object.isFrozen(t)&&(e=Object.create(t),Object.freeze(e)),e},goog.object.isImmutableView=function(t){return!!Object.isFrozen&&Object.isFrozen(t)},goog.object.getAllPropertyNames=function(t,e,r){if(!t)return[];if(!Object.getOwnPropertyNames||!Object.getPrototypeOf)return goog.object.getKeys(t);for(var n={};t&&(t!==Object.prototype||e)&&(t!==Function.prototype||r);){for(var i=Object.getOwnPropertyNames(t),o=0;o<i.length;o++)n[i[o]]=!0;t=Object.getPrototypeOf(t)}return goog.object.getKeys(n)},goog.object.getSuperClass=function(t){return(t=Object.getPrototypeOf(t.prototype))&&t.constructor},goog.dom.tags={},goog.dom.tags.VOID_TAGS_={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},goog.dom.tags.isVoidTag=function(t){return!0===goog.dom.tags.VOID_TAGS_[t]},goog.string={},goog.string.TypedString=function(){},goog.string.Const=function(t,e){this.stringConstValueWithSecurityContract__googStringSecurityPrivate_=t===goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_&&e||"",this.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_=goog.string.Const.TYPE_MARKER_},goog.string.Const.prototype.implementsGoogStringTypedString=!0,goog.string.Const.prototype.getTypedStringValue=function(){return this.stringConstValueWithSecurityContract__googStringSecurityPrivate_},goog.DEBUG&&(goog.string.Const.prototype.toString=function(){return"Const{"+this.stringConstValueWithSecurityContract__googStringSecurityPrivate_+"}"}),goog.string.Const.unwrap=function(t){return t instanceof goog.string.Const&&t.constructor===goog.string.Const&&t.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_===goog.string.Const.TYPE_MARKER_?t.stringConstValueWithSecurityContract__googStringSecurityPrivate_:(goog.asserts.fail("expected object of type Const, got '"+t+"'"),"type_error:Const")},goog.string.Const.from=function(t){return new goog.string.Const(goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_,t)},goog.string.Const.TYPE_MARKER_={},goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_={},goog.string.Const.EMPTY=goog.string.Const.from(""),goog.html={},goog.html.trustedtypes={},goog.html.trustedtypes.getPolicyPrivateDoNotAccessOrElse=function(){return goog.TRUSTED_TYPES_POLICY_NAME?(void 0===goog.html.trustedtypes.cachedPolicy_&&(goog.html.trustedtypes.cachedPolicy_=goog.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME+"#html")),goog.html.trustedtypes.cachedPolicy_):null};var module$contents$goog$html$SafeScript_CONSTRUCTOR_TOKEN_PRIVATE={},module$contents$goog$html$SafeScript_SafeScript=function(t,e){this.privateDoNotAccessOrElseSafeScriptWrappedValue_=e===module$contents$goog$html$SafeScript_CONSTRUCTOR_TOKEN_PRIVATE?t:"",this.implementsGoogStringTypedString=!0};module$contents$goog$html$SafeScript_SafeScript.fromConstant=function(t){return 0===(t=goog.string.Const.unwrap(t)).length?module$contents$goog$html$SafeScript_SafeScript.EMPTY:module$contents$goog$html$SafeScript_SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(t)},module$contents$goog$html$SafeScript_SafeScript.fromConstantAndArgs=function(t,e){for(var r=[],n=1;n<arguments.length;n++)r.push(module$contents$goog$html$SafeScript_SafeScript.stringify_(arguments[n]));return module$contents$goog$html$SafeScript_SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse("("+goog.string.Const.unwrap(t)+")("+r.join(", ")+");")},module$contents$goog$html$SafeScript_SafeScript.fromJson=function(t){return module$contents$goog$html$SafeScript_SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(module$contents$goog$html$SafeScript_SafeScript.stringify_(t))},module$contents$goog$html$SafeScript_SafeScript.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeScriptWrappedValue_.toString()},module$contents$goog$html$SafeScript_SafeScript.unwrap=function(t){return module$contents$goog$html$SafeScript_SafeScript.unwrapTrustedScript(t).toString()},module$contents$goog$html$SafeScript_SafeScript.unwrapTrustedScript=function(t){return t instanceof module$contents$goog$html$SafeScript_SafeScript&&t.constructor===module$contents$goog$html$SafeScript_SafeScript?t.privateDoNotAccessOrElseSafeScriptWrappedValue_:((0,goog.asserts.fail)("expected object of type SafeScript, got '"+t+"' of type "+goog.typeOf(t)),"type_error:SafeScript")},module$contents$goog$html$SafeScript_SafeScript.stringify_=function(t){return JSON.stringify(t).replace(/</g,"\\x3c")},module$contents$goog$html$SafeScript_SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse=function(t){var e=goog.html.trustedtypes.getPolicyPrivateDoNotAccessOrElse();return t=e?e.createScript(t):t,new module$contents$goog$html$SafeScript_SafeScript(t,module$contents$goog$html$SafeScript_CONSTRUCTOR_TOKEN_PRIVATE)},goog.DEBUG&&(module$contents$goog$html$SafeScript_SafeScript.prototype.toString=function(){return"SafeScript{"+this.privateDoNotAccessOrElseSafeScriptWrappedValue_+"}"}),module$contents$goog$html$SafeScript_SafeScript.EMPTY=module$contents$goog$html$SafeScript_SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(""),goog.html.SafeScript=module$contents$goog$html$SafeScript_SafeScript,goog.fs={}
15672,goog.fs.url={},goog.fs.url.createObjectUrl=function(t){return goog.fs.url.getUrlObject_().createObjectURL(t)},goog.fs.url.revokeObjectUrl=function(t){goog.fs.url.getUrlObject_().revokeObjectURL(t)},goog.fs.url.UrlObject_=function(){},goog.fs.url.UrlObject_.prototype.createObjectURL=function(t){},goog.fs.url.UrlObject_.prototype.revokeObjectURL=function(t){},goog.fs.url.getUrlObject_=function(){var t=goog.fs.url.findUrlObject_();if(null!=t)return t;throw Error("This browser doesn't seem to support blob URLs")},goog.fs.url.findUrlObject_=function(){return void 0!==goog.global.URL&&void 0!==goog.global.URL.createObjectURL?goog.global.URL:void 0!==goog.global.webkitURL&&void 0!==goog.global.webkitURL.createObjectURL?goog.global.webkitURL:void 0!==goog.global.createObjectURL?goog.global:null},goog.fs.url.browserSupportsObjectUrls=function(){return null!=goog.fs.url.findUrlObject_()},goog.fs.blob={},goog.fs.blob.getBlob=function(t){var e=goog.global.BlobBuilder||goog.global.WebKitBlobBuilder;if(void 0!==e){e=new e;for(var r=0;r<arguments.length;r++)e.append(arguments[r]);return e.getBlob()}return goog.fs.blob.getBlobWithProperties(module$contents$goog$array_toArray(arguments))},goog.fs.blob.getBlobWithProperties=function(t,e,r){var n=goog.global.BlobBuilder||goog.global.WebKitBlobBuilder;if(void 0!==n){n=new n;for(var i=0;i<t.length;i++)n.append(t[i],r);return n.getBlob(e)}if(void 0!==goog.global.Blob)return n={},e&&(n.type=e),r&&(n.endings=r),new Blob(t,n);throw Error("This browser doesn't seem to support creating Blobs")},goog.i18n={},goog.i18n.bidi={},goog.i18n.bidi.FORCE_RTL=!1,goog.i18n.bidi.IS_RTL=goog.i18n.bidi.FORCE_RTL||("ar"==goog.LOCALE.substring(0,2).toLowerCase()||"fa"==goog.LOCALE.substring(0,2).toLowerCase()||"he"==goog.LOCALE.substring(0,2).toLowerCase()||"iw"==goog.LOCALE.substring(0,2).toLowerCase()||"ps"==goog.LOCALE.substring(0,2).toLowerCase()||"sd"==goog.LOCALE.substring(0,2).toLowerCase()||"ug"==goog.LOCALE.substring(0,2).toLowerCase()||"ur"==goog.LOCALE.substring(0,2).toLowerCase()||"yi"==goog.LOCALE.substring(0,2).toLowerCase())&&(2==goog.LOCALE.length||"-"==goog.LOCALE.substring(2,3)||"_"==goog.LOCALE.substring(2,3))||3<=goog.LOCALE.length&&"ckb"==goog.LOCALE.substring(0,3).toLowerCase()&&(3==goog.LOCALE.length||"-"==goog.LOCALE.substring(3,4)||"_"==goog.LOCALE.substring(3,4))||7<=goog.LOCALE.length&&("-"==goog.LOCALE.substring(2,3)||"_"==goog.LOCALE.substring(2,3))&&("adlm"==goog.LOCALE.substring(3,7).toLowerCase()||"arab"==goog.LOCALE.substring(3,7).toLowerCase()||"hebr"==goog.LOCALE.substring(3,7).toLowerCase()||"nkoo"==goog.LOCALE.substring(3,7).toLowerCase()||"rohg"==goog.LOCALE.substring(3,7).toLowerCase()||"thaa"==goog.LOCALE.substring(3,7).toLowerCase())||8<=goog.LOCALE.length&&("-"==goog.LOCALE.substring(3,4)||"_"==goog.LOCALE.substring(3,4))&&("adlm"==goog.LOCALE.substring(4,8).toLowerCase()||"arab"==goog.LOCALE.substring(4,8).toLowerCase()||"hebr"==goog.LOCALE.substring(4,8).toLowerCase()||"nkoo"==goog.LOCALE.substring(4,8).toLowerCase()||"rohg"==goog.LOCALE.substring(4,8).toLowerCase()||"thaa"==goog.LOCALE.substring(4,8).toLowerCase()),goog.i18n.bidi.Format={LRE:"âª",RLE:"â«",PDF:"â¬",LRM:"â",RLM:"â"},goog.i18n.bidi.Dir={LTR:1,RTL:-1,NEUTRAL:0},goog.i18n.bidi.RIGHT="right",goog.i18n.bidi.LEFT="left",goog.i18n.bidi.I18N_RIGHT=goog.i18n.bidi.IS_RTL?goog.i18n.bidi.LEFT:goog.i18n.bidi.RIGHT,goog.i18n.bidi.I18N_LEFT=goog.i18n.bidi.IS_RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT,goog.i18n.bidi.toDir=function(t,e){return"number"==typeof t?0<t?goog.i18n.bidi.Dir.LTR:0>t?goog.i18n.bidi.Dir.RTL:e?null:goog.i18n.bidi.Dir.NEUTRAL:null==t?null:t?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR},goog.i18n.bidi.ltrChars_="A-Za-zÃ-ÃÃ-öø-ʸÌ-Öà¤-á¿¿ââ°-\ud801\ud804-\ud839\ud83c-\udbffï¤-ï¬ï¸-﹯﻽-ï¿¿",goog.i18n.bidi.rtlChars_="Ö-Û¯Ûº-ࣿâ\ud802-\ud803\ud83a-\ud83bï¬-ï·¿ï¹°-ﻼ",goog.i18n.bidi.htmlSkipReg_=/<[^>]*>|&[^;]+;/g,goog.i18n.bidi.stripHtmlIfNeeded_=function(t,e){return e?t.replace(goog.i18n.bidi.htmlSkipReg_,""):t},goog.i18n.bidi.rtlCharReg_=new RegExp("["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.ltrCharReg_=new RegExp("["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.hasAnyRtl=function(t,e){return goog.i18n.bidi.rtlCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(t,e))},goog.i18n.bidi.hasRtlChar=goog.i18n.bidi.hasAnyRtl,goog.i18n.bidi.hasAnyLtr=function(t,e){return goog.i18n.bidi.ltrCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(t,e))},goog.i18n.bidi.ltrRe_=new RegExp("^["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.rtlRe_=new RegExp("^["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.isRtlChar=function(t){return goog.i18n.bidi.rtlRe_.test(t)},goog.i18n.bidi.isLtrChar=function(t){return goog.i18n.bidi.ltrRe_.test(t)},goog.i18n.bidi.isNeutralChar=function(t){return!goog.i18n.bidi.isLtrChar(t)&&!goog.i18n.bidi.isRtlChar(t)},goog.i18n.bidi.ltrDirCheckRe_=new RegExp("^[^"+goog.i18n.bidi.rtlChars_+"]*["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.rtlDirCheckRe_=new RegExp("^[^"+goog.i18n.bidi.ltrChars_+"]*["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.startsWithRtl=function(t,e){return goog.i18n.bidi.rtlDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(t,e))},goog.i18n.bidi.isRtlText=goog.i18n.bidi.startsWithRtl,goog.i18n.bidi.startsWithLtr=function(t,e){return goog.i18n.bidi.ltrDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(t,e))},goog.i18n.bidi.isLtrText=goog.i18n.bidi.startsWithLtr,goog.i18n.bidi.isRequiredLtrRe_=/^http:\/\/.*/,goog.i18n.bidi.isNeutralText=function(t,e){return t=goog.i18n.bidi.stripHtmlIfNeeded_(t,e),goog.i18n.bidi.isRequiredLtrRe_.test(t)||!goog.i18n.bidi.hasAnyLtr(t)&&!goog.i18n.bidi.hasAnyRtl(t)},goog.i18n.bidi.ltrExitDirCheckRe_=new RegExp("["+goog.i18n.bidi.ltrChars_+"][^"+goog.i18n.bidi.rtlChars_+"]*$"),goog.i18n.bidi.rtlExitDirCheckRe_=new RegExp("["+goog.i18n.bidi.rtlChars_+"][^"+goog.i18n.bidi.ltrChars_+"]*$"),goog.i18n.bidi.endsWithLtr
15672=function(t,e){return goog.i18n.bidi.ltrExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(t,e))},goog.i18n.bidi.isLtrExitText=goog.i18n.bidi.endsWithLtr,goog.i18n.bidi.endsWithRtl=function(t,e){return goog.i18n.bidi.rtlExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(t,e))},goog.i18n.bidi.isRtlExitText=goog.i18n.bidi.endsWithRtl,goog.i18n.bidi.rtlLocalesRe_=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i,goog.i18n.bidi.isRtlLanguage=function(t){return goog.i18n.bidi.rtlLocalesRe_.test(t)},goog.i18n.bidi.bracketGuardTextRe_=/(\(.*?\)+)|(\[.*?\]+)|(\{.*?\}+)|(<.*?>+)/g,goog.i18n.bidi.guardBracketInText=function(t,e){return e=(void 0===e?goog.i18n.bidi.hasAnyRtl(t):e)?goog.i18n.bidi.Format.RLM:goog.i18n.bidi.Format.LRM,t.replace(goog.i18n.bidi.bracketGuardTextRe_,e+"$&"+e)},goog.i18n.bidi.enforceRtlInHtml=function(t){return"<"==t.charAt(0)?t.replace(/<\w+/,"$& dir=rtl"):"\n<span dir=rtl>"+t+"</span>"},goog.i18n.bidi.enforceRtlInText=function(t){return goog.i18n.bidi.Format.RLE+t+goog.i18n.bidi.Format.PDF},goog.i18n.bidi.enforceLtrInHtml=function(t){return"<"==t.charAt(0)?t.replace(/<\w+/,"$& dir=ltr"):"\n<span dir=ltr>"+t+"</span>"},goog.i18n.bidi.enforceLtrInText=function(t){return goog.i18n.bidi.Format.LRE+t+goog.i18n.bidi.Format.PDF},goog.i18n.bidi.dimensionsRe_=/:\s*([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)/g,goog.i18n.bidi.leftRe_=/left/gi,goog.i18n.bidi.rightRe_=/right/gi,goog.i18n.bidi.tempRe_=/%%%%/g,goog.i18n.bidi.mirrorCSS=function(t){return t.replace(goog.i18n.bidi.dimensionsRe_,":$1 $4 $3 $2").replace(goog.i18n.bidi.leftRe_,"%%%%").replace(goog.i18n.bidi.rightRe_,goog.i18n.bidi.LEFT).replace(goog.i18n.bidi.tempRe_,goog.i18n.bidi.RIGHT)},goog.i18n.bidi.doubleQuoteSubstituteRe_=/([\u0591-\u05f2])"/g,goog.i18n.bidi.singleQuoteSubstituteRe_=/([\u0591-\u05f2])'/g,goog.i18n.bidi.normalizeHebrewQuote=function(t){return t.replace(goog.i18n.bidi.doubleQuoteSubstituteRe_,"$1״").replace(goog.i18n.bidi.singleQuoteSubstituteRe_,"$1׳")},goog.i18n.bidi.wordSeparatorRe_=/\s+/,goog.i18n.bidi.hasNumeralsRe_=/[\d\u06f0-\u06f9]/,goog.i18n.bidi.rtlDetectionThreshold_=.4,goog.i18n.bidi.estimateDirection=function(t,e){var r=0,n=0,i=!1;for(t=goog.i18n.bidi.stripHtmlIfNeeded_(t,e).split(goog.i18n.bidi.wordSeparatorRe_),e=0;e<t.length;e++){var o=t[e];goog.i18n.bidi.startsWithRtl(o)?(r++,n++):goog.i18n.bidi.isRequiredLtrRe_.test(o)?i=!0:goog.i18n.bidi.hasAnyLtr(o)?n++:goog.i18n.bidi.hasNumeralsRe_.test(o)&&(i=!0)}return 0==n?i?goog.i18n.bidi.Dir.LTR:goog.i18n.bidi.Dir.NEUTRAL:r/n>goog.i18n.bidi.rtlDetectionThreshold_?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR},goog.i18n.bidi.detectRtlDirectionality=function(t,e){return goog.i18n.bidi.estimateDirection(t,e)==goog.i18n.bidi.Dir.RTL},goog.i18n.bidi.setElementDirAndAlign=function(t,e){t&&(e=goog.i18n.bidi.toDir(e))&&(t.style.textAlign=e==goog.i18n.bidi.Dir.RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT,t.dir=e==goog.i18n.bidi.Dir.RTL?"rtl":"ltr")},goog.i18n.bidi.setElementDirByTextDirectionality=function(t,e){switch(goog.i18n.bidi.estimateDirection(e)){case goog.i18n.bidi.Dir.LTR:"ltr"!==t.dir&&(t.dir="ltr");break;case goog.i18n.bidi.Dir.RTL:"rtl"!==t.dir&&(t.dir="rtl");break;default:t.removeAttribute("dir")}},goog.i18n.bidi.DirectionalString=function(){},goog.html.TrustedResourceUrl=function(t,e){this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_=e===goog.html.TrustedResourceUrl.CONSTRUCTOR_TOKEN_PRIVATE_?t:""},goog.html.TrustedResourceUrl.prototype.implementsGoogStringTypedString=!0,goog.html.TrustedResourceUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_.toString()},goog.html.TrustedResourceUrl.prototype.implementsGoogI18nBidiDirectionalString=!0,goog.html.TrustedResourceUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR},goog.html.TrustedResourceUrl.prototype.cloneWithParams=function(t,e){var r=goog.html.TrustedResourceUrl.unwrap(this),n=(r=goog.html.TrustedResourceUrl.URL_PARAM_PARSER_.exec(r))[3]||"";return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(r[1]+goog.html.TrustedResourceUrl.stringifyParams_("?",r[2]||"",t)+goog.html.TrustedResourceUrl.stringifyParams_("#",n,e))},goog.DEBUG&&(goog.html.TrustedResourceUrl.prototype.toString=function(){return"TrustedResourceUrl{"+this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_+"}"}),goog.html.TrustedResourceUrl.unwrap=function(t){return goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(t).toString()},goog.html.TrustedResourceUrl.unwrapTrustedScriptURL=function(t){return t instanceof goog.html.TrustedResourceUrl&&t.constructor===goog.html.TrustedResourceUrl?t.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_:(goog.asserts.fail("expected object of type TrustedResourceUrl, got '"+t+"' of type "+goog.typeOf(t)),"type_error:TrustedResourceUrl")},goog.html.TrustedResourceUrl.format=function(t,e){var r=goog.string.Const.unwrap(t);if(!goog.html.TrustedResourceUrl.BASE_URL_.test(r))throw Error("Invalid TrustedResourceUrl format: "+r);return t=r.replace(goog.html.TrustedResourceUrl.FORMAT_MARKER_,(function(t,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw Error('Found marker, "'+n+'", in format str
15672ing, "'+r+'", but no valid label mapping found in args: '+JSON.stringify(e));return(t=e[n])instanceof goog.string.Const?goog.string.Const.unwrap(t):encodeURIComponent(String(t))})),goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(t)},goog.html.TrustedResourceUrl.FORMAT_MARKER_=/%{(\w+)}/g,goog.html.TrustedResourceUrl.BASE_URL_=/^((https:)?\/\/[0-9a-z.:[\]-]+\/|\/[^/\\]|[^:/\\%]+\/|[^:/\\%]*[?#]|about:blank#)/i,goog.html.TrustedResourceUrl.URL_PARAM_PARSER_=/^([^?#]*)(\?[^#]*)?(#[\s\S]*)?/,goog.html.TrustedResourceUrl.formatWithParams=function(t,e,r,n){return goog.html.TrustedResourceUrl.format(t,e).cloneWithParams(r,n)},goog.html.TrustedResourceUrl.fromConstant=function(t){return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(t))},goog.html.TrustedResourceUrl.fromConstants=function(t){for(var e="",r=0;r<t.length;r++)e+=goog.string.Const.unwrap(t[r]);return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(e)},goog.html.TrustedResourceUrl.fromSafeScript=function(t){return t=goog.fs.blob.getBlobWithProperties([module$contents$goog$html$SafeScript_SafeScript.unwrap(t)],"text/javascript"),t=goog.fs.url.createObjectUrl(t),goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(t)},goog.html.TrustedResourceUrl.CONSTRUCTOR_TOKEN_PRIVATE_={},goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse=function(t){var e=goog.html.trustedtypes.getPolicyPrivateDoNotAccessOrElse();return t=e?e.createScriptURL(t):t,new goog.html.TrustedResourceUrl(t,goog.html.TrustedResourceUrl.CONSTRUCTOR_TOKEN_PRIVATE_)},goog.html.TrustedResourceUrl.stringifyParams_=function(t,e,r){if(null==r)return e;if("string"==typeof r)return r?t+encodeURIComponent(r):"";for(var n in r)if(Object.prototype.hasOwnProperty.call(r,n)){var i=r[n];i=Array.isArray(i)?i:[i];for(var o=0;o<i.length;o++){var s=i[o];null!=s&&(e||(e=t),e+=(e.length>t.length?"&":"")+encodeURIComponent(n)+"="+encodeURIComponent(String(s)))}}return e},goog.string.internal={},goog.string.internal.startsWith=function(t,e){return 0==t.lastIndexOf(e,0)},goog.string.internal.endsWith=function(t,e){var r=t.length-e.length;return 0<=r&&t.indexOf(e,r)==r},goog.string.internal.caseInsensitiveStartsWith=function(t,e){return 0==goog.string.internal.caseInsensitiveCompare(e,t.substr(0,e.length))},goog.string.internal.caseInsensitiveEndsWith=function(t,e){return 0==goog.string.internal.caseInsensitiveCompare(e,t.substr(t.length-e.length,e.length))},goog.string.internal.caseInsensitiveEquals=function(t,e){return t.toLowerCase()==e.toLowerCase()},goog.string.internal.isEmptyOrWhitespace=function(t){return/^[\s\xa0]*$/.test(t)},goog.string.internal.trim=goog.TRUSTED_SITE&&String.prototype.trim?function(t){return t.trim()}:function(t){return/^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(t)[1]},goog.string.internal.caseInsensitiveCompare=function(t,e){return(t=String(t).toLowerCase())<(e=String(e).toLowerCase())?-1:t==e?0:1},goog.string.internal.newLineToBr=function(t,e){return t.replace(/(\r\n|\r|\n)/g,e?"<br />":"<br>")},goog.string.internal.htmlEscape=function(t,e){if(e)t=t.replace(goog.string.internal.AMP_RE_,"&").replace(goog.string.internal.LT_RE_,"<").replace(goog.string.internal.GT_RE_,">").replace(goog.string.internal.QUOT_RE_,""").replace(goog.string.internal.SINGLE_QUOTE_RE_,"'").replace(goog.string.internal.NULL_RE_,"�");else{if(!goog.string.internal.ALL_RE_.test(t))return t;-1!=t.indexOf("&")&&(t=t.replace(goog.string.internal.AMP_RE_,"&")),-1!=t.indexOf("<")&&(t=t.replace(goog.string.internal.LT_RE_,"<")),-1!=t.indexOf(">")&&(t=t.replace(goog.string.internal.GT_RE_,">")),-1!=t.indexOf('"')&&(t=t.replace(goog.string.internal.QUOT_RE_,""")),-1!=t.indexOf("'")&&(t=t.replace(goog.string.internal.SINGLE_QUOTE_RE_,"'")),-1!=t.indexOf("\0")&&(t=t.replace(goog.string.internal.NULL_RE_,"�"))}return t},goog.string.internal.AMP_RE_=/&/g,goog.string.internal.LT_RE_=/</g,goog.string.internal.GT_RE_=/>/g,goog.string.internal.QUOT_RE_=/"/g,goog.string.internal.SINGLE_QUOTE_RE_
vendor: 10,692 bytes, line 15672
15672=/'/g,goog.string.internal.NULL_RE_=/\x00/g,goog.string.internal.ALL_RE_=/[\x00&<>"']/,goog.string.internal.whitespaceEscape=function(t,e){return goog.string.internal.newLineToBr(t.replace(/ /g,"  "),e)},goog.string.internal.contains=function(t,e){return-1!=t.indexOf(e)},goog.string.internal.caseInsensitiveContains=function(t,e){return goog.string.internal.contains(t.toLowerCase(),e.toLowerCase())},goog.string.internal.compareVersions=function(t,e){var r=0;t=goog.string.internal.trim(String(t)).split("."),e=goog.string.internal.trim(String(e)).split(".");for(var n=Math.max(t.length,e.length),i=0;0==r&&i<n;i++){var o=t[i]||"",s=e[i]||"";do{if(o=/(\d*)(\D*)(.*)/.exec(o)||["","","",""],s=/(\d*)(\D*)(.*)/.exec(s)||["","","",""],0==o[0].length&&0==s[0].length)break;r=0==o[1].length?0:parseInt(o[1],10);var a=0==s[1].length?0:parseInt(s[1],10);r=goog.string.internal.compareElements_(r,a)||goog.string.internal.compareElements_(0==o[2].length,0==s[2].length)||goog.string.internal.compareElements_(o[2],s[2]),o=o[3],s=s[3]}while(0==r)}return r},goog.string.internal.compareElements_=function(t,e){return t<e?-1:t>e?1:0},goog.html.SafeUrl=function(t,e){this.privateDoNotAccessOrElseSafeUrlWrappedValue_=e===goog.html.SafeUrl.CONSTRUCTOR_TOKEN_PRIVATE_?t:""},goog.html.SafeUrl.INNOCUOUS_STRING="about:invalid#zClosurez",goog.html.SafeUrl.prototype.implementsGoogStringTypedString=!0,goog.html.SafeUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeUrlWrappedValue_.toString()},goog.html.SafeUrl.prototype.implementsGoogI18nBidiDirectionalString=!0,goog.html.SafeUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR},goog.DEBUG&&(goog.html.SafeUrl.prototype.toString=function(){return"SafeUrl{"+this.privateDoNotAccessOrElseSafeUrlWrappedValue_+"}"}),goog.html.SafeUrl.unwrap=function(t){return t instanceof goog.html.SafeUrl&&t.constructor===goog.html.SafeUrl?t.privateDoNotAccessOrElseSafeUrlWrappedValue_:(goog.asserts.fail("expected object of type SafeUrl, got '"+t+"' of type "+goog.typeOf(t)),"type_error:SafeUrl")},goog.html.SafeUrl.fromConstant=function(t){return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(t))},goog.html.SAFE_MIME_TYPE_PATTERN_=/^(?:audio\/(?:3gpp2|3gpp|aac|L16|midi|mp3|mp4|mpeg|oga|ogg|opus|x-m4a|x-matroska|x-wav|wav|webm)|font\/\w+|image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp|x-icon)|video\/(?:mpeg|mp4|ogg|webm|quicktime|x-matroska))(?:;\w+=(?:\w+|"[\w;,= ]+"))*$/i,goog.html.SafeUrl.isSafeMimeType=function(t){return goog.html.SAFE_MIME_TYPE_PATTERN_.test(t)},goog.html.SafeUrl.fromBlob=function(t){return t=goog.html.SafeUrl.isSafeMimeType(t.type)?goog.fs.url.createObjectUrl(t):goog.html.SafeUrl.INNOCUOUS_STRING,goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(t)},goog.html.SafeUrl.revokeObjectUrl=function(t){(t=t.getTypedStringValue())!==goog.html.SafeUrl.INNOCUOUS_STRING&&goog.fs.url.revokeObjectUrl(t)},goog.html.SafeUrl.fromMediaSource=function(t){return goog.asserts.assert("MediaSource"in goog.global,"No support for MediaSource"),t=t instanceof MediaSource?goog.fs.url.createObjectUrl(t):goog.html.SafeUrl.INNOCUOUS_STRING,goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(t)},goog.html.DATA_URL_PATTERN_=/^data:(.*);base64,[a-z0-9+\/]+=*$/i,goog.html.SafeUrl.tryFromDataUrl=function(t){var e=(t=(t=String(t)).replace(/(%0A|%0D)/g,"")).match(goog.html.DATA_URL_PATTERN_);return e&&goog.html.SafeUrl.isSafeMimeType(e[1])?goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(t):null},goog.html.SafeUrl.fromDataUrl=function(t){return goog.html.SafeUrl.tryFromDataUrl(t)||goog.html.SafeUrl.INNOCUOUS_URL},goog.html.SafeUrl.fromTelUrl=function(t){return goog.string.internal.caseInsensitiveStartsWith(t,"tel:")||(t=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(t)},goog.html.SIP_URL_PATTERN_=/^sip[s]?:[+a-z0-9_.!$%&'*\/=^`{|}~-]+@([a-z0-9-]+\.)+[a-z0-9]{2,63}$/i,goog.html.SafeUrl.fromSipUrl=function(t){return goog.html.SIP_URL_PATTERN_.test(decodeURIComponent(t))||(t=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(t)},goog.html.SafeUrl.fromFacebookMessengerUrl=function(t){return goog.string.internal.caseInsensitiveStartsWith(t,"fb-messenger://share")||(t=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(t)},goog.html.SafeUrl.fromWhatsAppUrl=function(t){return goog.string.internal.caseInsensitiveStartsWith(t,"whatsapp://send")||(t=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(t)},goog.html.SafeUrl.fromSmsUrl=function(t){return goog.string.internal.caseInsensitiveStartsWith(t,"sms:")&&goog.html.SafeUrl.isSmsUrlBodyValid_(t)||(t=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(t)},goog.html.SafeUrl.isSmsUrlBodyValid_=function(t){var e=t.indexOf("#");if(0<e&&(t=t.substring(0,e)),!(e=t.match(/[?&]body=/gi)))return!0;if(1<e.length)return!1;if(!(t=t.match(/[?&]body=([^&]*)/)[1]))return!0;try{decodeURIComponent(t)}catch(t){return!1}return/^(?:[a-z0-9\-_.~]|%[0-9a-f]{2})+$/i.test(t)},goog.html.SafeUrl.fromSshUrl=function(t){return goog.string.internal.caseInsensitiveStartsWith(t,"ssh://")||(t=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(t)},goog.html.SafeUrl.sanitizeChromeExtensionUrl=function(t,e){return goog.html.SafeUrl.sanitizeExtensionUrl_(/^chrome-extension:\/\/([^\/]+)\//,t,e)},goog.html.SafeUrl.sanitizeFirefoxExtensionUrl=function(t,e){return goog.html.SafeUrl.sanitizeExtensionUrl_(/^moz-extension:\/\/([^\/]+)\//,t,e)},goog.html.SafeUrl.sanitizeEdgeExtensionUrl=function(t,e){return goog.html.SafeUrl.sanitizeExtensionUrl_(/^ms-browser-extension:\/\/([^\/]+)\//,t,e)},goog.html.SafeUrl.sanitizeExtensionUrl_=function(t,e,r){return(t=t.exec(e))?(t=t[1],-1==(r instanceof goog.string.Const?[goog.string.Const.unwrap(r)]:r.map((function(t){return goog.string.Const.unwrap(t)}))).indexOf(t)&&(e=goog.html.SafeUrl.INNOCUOUS_STRING)):e=goog.html.SafeUrl.INNOCUOUS_STRING,goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(e)},goog.html.SafeUrl.fromTrustedResourceUrl=function(t){return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.html.TrustedResourceUrl.unwrap(t))},goog.html.SAFE_URL_PATTERN_=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i,goog.html.SafeUrl.SAFE_URL_PATTERN=goog.html.SAFE_URL_PATTERN_,goog.html.SafeUrl.trySanitize=function(t){return t instanceof goog.html.SafeUrl?t:(t="object"==typeof t&&t.implementsGoogStringTypedString?t.getTypedStringValue():String(t),goog.html.SAFE_URL_PATTERN_.test(t)?goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(t):goog.html.SafeUrl.tryFromDataUrl(t))},goog.html.SafeUrl.sanitize=function(t){return goog.html.SafeUrl.trySanitize(t)||goog.html.SafeUrl.INNOCUOUS_URL},goog.html.SafeUrl.sanitizeAssertUnchanged=function(t,e){return t instanceof goog.html.SafeUrl?t:(t="object"==typeof t&&t.implementsGoogStringTypedString?t.getTypedStringValue():String(t),e&&/^data:/i.test(t)&&(e=goog.html.SafeUrl.fromDataUrl(t)).getTypedStringValue()==t?e:(goog.asserts.assert(goog.html.SAFE_URL_PATTERN_.test(t),"%s does not match the safe URL pattern",t)||(t=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(t)))},goog.html.SafeUrl.CONSTRUCTOR_TOKEN_PRIVATE_={},goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse=function(t){return new goog.html.SafeUrl(t,goog.html.SafeUrl.CONSTRUCTOR_TOKEN_PRIVATE_)},goog.html.SafeUrl.INNOCUOUS_URL=goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.ABOUT_BLANK=goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse("about:blank"),goog.html.SafeStyle=function(t,e){this.privateDoNotAccessOrElseSafeStyleWrappedValue_=e===goog.html.SafeStyle.CONSTRUCTOR_TOKEN_PRIVATE_?t:""},goog.html.SafeStyle.prototype.implementsGoogStringTypedString=!0,goog.html.SafeStyle.fromConstant=function(t){return 0===(t=goog.string.Const.unwrap(t)).length?goog.html.SafeStyle.EMPTY:(goog.asserts.assert(goog.string.internal.endsWith(t,";"),"Last character of style string is not ';': "+t),goog.asserts.assert(goog.string.internal.contains(t,":"),"Style string must contain at least one ':', to specify a \"name: value\" pair: "+t),goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(t))},goog.html.SafeStyle.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeStyleWrappedValue_},goog.DEBUG&&(goog.html.SafeStyle.prototype.toString=function(){return"SafeStyle{"+this.privateDoNotAccessOrElseSafeStyleWrappedValue_+"}"}),goog.html.SafeStyle.unwrap=function(t){return t instanceof goog.html.SafeStyle&&t.constructor===goog.html.SafeStyle?t.privateDoNotAccessOrElseSafeStyleWrappedValue_:(goog.asserts.fail("expected object of type SafeStyle, got '"+t+"' of type "+goog.typeOf(t)),"type_error:SafeStyle")},goog.html.SafeStyle.CONSTRUCTOR_TOKEN_PRIVATE_={},goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse=function(t){return new goog.html.SafeStyle(t,goog.html.SafeStyle.CONSTRUCTOR_TOKEN_PRIVATE_)},goog.html.SafeStyle.EMPTY=goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(""),goog.html.SafeStyle.INNOCUOUS_STRING="zClosurez",goog.html.SafeStyle.create=function(t){var e,r="";for(e in t)if(Object.prototype.hasOwnProperty.call(t,e)){if(!/^[-_a-zA-Z0-9]+$/.test(e))throw Error("Name allows only [-_a-zA-Z0-9], got: "+e);var n=t[e];null!=n&&(r+=e+":"+(n=Array.isArray(n)?module$contents$goog$array_map(n,goog.html.SafeStyle.sanitizePropertyValue_).join(" "):goog.html.SafeStyle.sanitizePropertyValue_(n))+";")}return r?goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(r):goog.html.SafeStyle.EMPTY},goog.html.SafeStyle.sanitizePropertyValue_=function(t){if(t instanceof goog.html.SafeUrl)return'url("'+goog.html.SafeUrl.unwrap(t).replace(/</g,"%3c").replace(/[\\"]/g,"\\$&")+'")';if(t=t instanceof goog.string.Const?goog.string.Const.unwrap(t):goog.html.SafeStyle.sanitizePropertyValueString_(String(t)),/[{;}]/.test(t))throw new goog.asserts.AssertionError("Value does not allow [{;}], got: %s.",[t]);return t},goog.html.SafeStyle.sanitizePropertyValueString_=function(t){var e=t.replace(goog.html.SafeStyle.FUNCTIONS_RE_,"$1").replace(goog.html.SafeStyle.FUNCTIONS_RE_,"$1").replace(goog.html.SafeStyle.URL_RE_,"url");return goog.html.SafeStyle.VALUE_RE_.test(e)?goog.html.SafeStyle.COMMENT_RE_.test(t)?(goog.asserts.fail("Str
15672ing value disallows comments, got: "+t),goog.html.SafeStyle.INNOCUOUS_STRING):goog.html.SafeStyle.hasBalancedQuotes_(t)?goog.html.SafeStyle.hasBalancedSquareBrackets_(t)?goog.html.SafeStyle.sanitizeUrl_(t):(goog.asserts.fail("String value requires balanced square brackets and one identifier per pair of brackets, got: "+t),goog.html.SafeStyle.INNOCUOUS_STRING):(goog.asserts.fail("String value requires balanced quotes, got: "+t),goog.html.SafeStyle.INNOCUOUS_STRING):(goog.asserts.fail("String value allows only "+goog.html.SafeStyle.VALUE_ALLOWED_CHARS_+" and simple functions, got: "+t),goog.html.SafeStyle.INNOCUOUS_STRING)},goog.html.SafeStyle.hasBalancedQuotes_=function(t){for(var e=!0,r=!0,n=0;n<t.length;n++){var i=t.charAt(n);"'"==i&&r?e=!e:'"'==i&&e&&(r=!r)}return e&&r},goog.html.SafeStyle.hasBalancedSquareBrackets_=function(t){for(var e=!0,r=/^[-_a-zA-Z0-9]$/,n=0;n<t.length;n++){var i=t.charAt(n);if("]"==i){if(e)return!1;e=!0}else if("["==i){if(!e)return!1;e=!1}else if(!e&&!r.test(i))return!1}return e},goog.html.SafeStyle.VALUE_ALLOWED_CHARS_="[-,.\"'%_!# a-zA-Z0-9\\[\\]]",goog.html.SafeStyle.VALUE_RE_=new RegExp("^"+goog.html.SafeStyle.VALUE_ALLOWED_CHARS_+"+$"),goog.html.SafeStyle.URL_RE_=/\b(url\([ \t\n]*)('[ -&(-\[\]-~]*'|"[ !#-\[\]-~]*"|[!#-&*-\[\]-~]*)([ \t\n]*\))/g,goog.html.SafeStyle.ALLOWED_FUNCTIONS_="calc cubic-bezier fit-content hsl hsla linear-gradient matrix minmax repeat rgb rgba (rotate|scale|translate)(X|Y|Z|3d)?".split(" "),goog.html.SafeStyle.FUNCTIONS_RE_=new RegExp("\\b("+goog.html.SafeStyle.ALLOWED_FUNCTIONS_.join("|")+")\\([-+*/0-9a-z.%\\[\\], ]+\\)","g"),goog.html.SafeStyle.COMMENT_RE_=/\/\*/,goog.html.SafeStyle.sanitizeUrl_=function(t){return t.replace(goog.html.SafeStyle.URL_RE_,(function(t,e,r,n){var i="";return r=r.replace(/^(['"])(.*)\1$/,(function(t,e,r){return i=e,r})),t=goog.html.SafeUrl.sanitize(r).getTypedStringValue(),e+i+t+i+n}))},goog.html.SafeStyle.concat=function(t){var e="",r=function(t){Array.isArray(t)?module$contents$goog$array_forEach(t,r):e+=goog.html.SafeStyle.unwrap(t)};return module$contents$goog$array_forEach(arguments,r),e?goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(e):goog.html.SafeStyle.EMPTY};var module$contents$goog$html$SafeStyleSheet_CONSTRUCTOR_TOKEN_PRIVATE={},module$contents$goog$html$SafeStyleSheet_SafeStyleSheet=function(t,e){this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_=e===module$contents$goog$html$SafeStyleSheet_CONSTRUCTOR_TOKEN_PRIVATE?t:"",this.implementsGoogStringTypedString=!0};module$contents$goog$html$SafeStyleSheet_SafeStyleSheet.createRule=function(t,e){if((0,goog.string.internal.contains)(t,"<"))throw Error("Selector does not allow '<', got: "+t);var r=t.replace(/('|")((?!\1)[^\r\n\f\\]|\\[\s\S])*\1/g,"");if(!/^[-_a-zA-Z0-9#.:* ,>+~[\]()=^$|]+$/.test(r))throw Error("Selector allows only [-_a-zA-Z0-9#.:* ,>+~[\\]()=^$|] and strings, got: "+t);if(!module$contents$goog$html$SafeStyleSheet_SafeStyleSheet.hasBalancedBrackets_(r))throw Error("() and [] in selector must be balanced, got: "+t);return e instanceof goog.html.SafeStyle||(e=goog.html.SafeStyle.create(e)),t=t+"{"+goog.html.SafeStyle.unwrap(e).replace(/</g,"\\3C ")+"}",module$contents$goog$html$SafeStyleSheet_SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(t)},module$contents$goog$html$SafeStyleSheet_SafeStyleSheet.hasBalancedBrackets_=function(t){for(var e={"(":")","[":"]"},r=[],n=0;n<t.length;n++){var i=t[n];if(e[i])r.push(e[i]);else if(goog.object.contains(e,i)&&r.pop()!=i)return!1}return 0==r.length},module$contents$goog$html$SafeStyleSheet_SafeStyleSheet.concat=function(t){var e="",r=function(t){Array.isArray(t)?module$contents$goog$array_forEach(t,r):e+=module$contents$goog$html$SafeStyleSheet_SafeStyleSheet.unwrap(t)};return module$contents$goog$array_forEach(arguments,r),module$contents$goog$html$SafeStyleSheet_SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(e)},module$contents$goog$html$SafeStyleSheet_SafeStyleSheet.fromConstant=function(t){return 0===(t=goog.string.Const.unwrap(t)).length?module$contents$goog$html$SafeStyleSheet_SafeStyleSheet.EMPTY:((0,goog.asserts.assert)(!(0,goog.string.internal.contains)(t,"<"),"Forbidden '<' character in style sheet string: "+t),module$contents$goog$html$SafeStyleSheet_SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(t))},module$contents$goog$html$SafeStyleSheet_SafeStyleSheet.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_},module$contents$goog$html$SafeStyleSheet_SafeStyleSheet.unwrap=function(t){return t instanceof module$contents$goog$html$SafeStyleSheet_SafeStyleSheet&&t.constructor===module$contents$goog$html$SafeStyleSheet_SafeStyleSheet?t.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_:((0,goog.asserts.fail)("expected object of type SafeStyleSheet, got '"+t+"' of type "+goog.typeOf(t)),"type_error:SafeStyleSheet")},module$contents$goog$html$SafeStyleSheet_SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse=function(t){return new module$contents$goog$html$SafeStyleSheet_SafeStyleSheet(t,module$contents$goog$html$SafeStyleSheet_CONSTRUCTOR_TOKEN_PRIVATE)},goog.DEBUG&&(module$contents$goog$html$SafeStyleSheet_SafeStyleSheet.prototype.toString=function(){return"SafeStyleSheet{"+this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_+"}"}),module$contents$goog$html$SafeStyleSheet_SafeStyleSheet.EMPTY=module$contents$goog$html$SafeStyleSheet_SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(""),goog.html.SafeStyleSheet=module$contents$goog$html$SafeStyleSheet_SafeStyleSheet,goog.labs={},goog.labs.userAgent={},goog.labs.userAgent.util={},goog.labs.userAgent.util.getNativeUserAgentString_=function(){var t=goog.labs.userAgent.util.getNavigator_();return t&&(t=t.userAgent)?t:""},goog.labs.userAgent.util.getNavigator_=function(){return goog.global.navigator},goog.labs.userAgent.util.userAgent_=goog.labs.userAgent.util.getNativeUserAgentString_(),goog.labs.userAgent.util.setUserAgent=function(t){goog.labs.userAgent.util.userAgent_=t||goog.labs.userAgent.util.getNativeUserAgentString_()},goog.labs.userAgent.util.getUserAgent=function(){return goog.labs.userAgent.util.userAgent_},goog.labs.userAgent.util.matchUserAgent=function(t){var e=goog.labs.userAgent.util.getUserAgent();return goog.string.internal.contains(e,t)},goog.labs.userAgent.util.matchUserAgentIgnoreCase=function(t){var e=goog.labs.userAgent.util.getUserAgent();return goog.string.internal.caseInsensitiveContains(e,t)},goog.labs.userAgent.util.extractVersionTuples=function(t){for(var e,r=/(\w[\w ]+)\/([^\s]+)\s*(?:\((.*?)\))?/g,n=[];e=r.exec(t);)n.push([e[1],e[2],e[3]||void 0]);return n},goog.labs.userAgent.browser={},goog.labs.userAgent.browser.matchOpera_=function(){return goog.labs.userAgent.util.matchUserAgent("Opera")},goog.labs.userAgent.browser.matchIE_=function(){return goog.labs.userAgent.util.matchUserAgent("Trident")||goog.labs.userAgent.util.matchUserAgent("MSIE")},goog.labs.userAgent.browser.matchEdgeHtml_=function(){return goog.labs.userAgent.util.matchUserAgent("Edge")},goog.labs.userAgent.browser.matchEdgeChromium_=function(){return goog.labs.userAgent.util.matchUserAgent("Edg/")},goog.labs.userAgent.browser.matchOperaChromium_=function(){return goog.labs.userAgent.util.matchUserAgent("OPR")},goog.labs.userAgent.browser.matchFirefox_=function(){return goog.labs.userAgent.util.matchUserAgent("Firefox")||goog.labs.userAgent.util.matchUserAgent("FxiOS")},goog.labs.userAgent.browser.matchSafari_=function(){return goog.labs.userAgent.util.matchUserAgent("Safari")&&!(goog.labs.userAgent.browser.matchChrome_()||goog.labs.userAgent.browser.matchCoast_()||goog.labs.userAgent.browser.matchOpera_()||goog.labs.userAgent.browser.matchEdgeHtml_()||goog.labs.userAgent.browser.matchEdgeChromium_()||goog.labs.userAgent.browser.matchOperaChromium_()||goog.labs.userAgent.browser.matchFirefox_()||goog.labs.userAgent.browser.isSilk()||goog.labs.userAgent.util.matchUserAgent("Android"))},goog.labs.userAgent.browser.matchCoast_=function(){return goog.labs.userAgent.util.matchUserAgent("Coast")},goog.labs.userAgent.browser.matchIosWebview_=function(){return(goog.labs.userAgent.util.matchUserAgent("iPad")||goog.labs.userAgent.util.matchUserAgent("iPhone"))&&!goog.labs.userAgent.browser.matchSafari_()&&!goog.labs.userAgent.browser.matchChrome_()&&!goog.labs.userAgent.browser.matchCoast_()&&!goog.labs.userAgent.browser.matchFirefox_()&&goog.labs.userAgent.util.matchUserAgent("AppleWebKit")},goog.labs.userAgent.browser.matchChrome_=function(){return(goog.labs.userAgent.util.matchUserAgent("Chrome")||goog.labs.userAgent.util.matchUserAgent("CriOS"))&&!goog.labs.userAgent.browser.matchEdgeHtml_()}
15672,goog.labs.userAgent.browser.matchAndroidBrowser_=function(){return goog.labs.userAgent.util.matchUserAgent("Android")&&!(goog.labs.userAgent.browser.isChrome()||goog.labs.userAgent.browser.isFirefox()||goog.labs.userAgent.browser.isOpera()||goog.labs.userAgent.browser.isSilk())},goog.labs.userAgent.browser.isOpera=goog.labs.userAgent.browser.matchOpera_,goog.labs.userAgent.browser.isIE=goog.labs.userAgent.browser.matchIE_,goog.labs.userAgent.browser.isEdge=goog.labs.userAgent.browser.matchEdgeHtml_,goog.labs.userAgent.browser.isEdgeChromium=goog.labs.userAgent.browser.matchEdgeChromium_,goog.labs.userAgent.browser.isOperaChromium=goog.labs.userAgent.browser.matchOperaChromium_,goog.labs.userAgent.browser.isFirefox=goog.labs.userAgent.browser.matchFirefox_,goog.labs.userAgent.browser.isSafari=goog.labs.userAgent.browser.matchSafari_,goog.labs.userAgent.browser.isCoast=goog.labs.userAgent.browser.matchCoast_,goog.labs.userAgent.browser.isIosWebview=goog.labs.userAgent.browser.matchIosWebview_,goog.labs.userAgent.browser.isChrome=goog.labs.userAgent.browser.matchChrome_,goog.labs.userAgent.browser.isAndroidBrowser=goog.labs.userAgent.browser.matchAndroidBrowser_,goog.labs.userAgent.browser.isSilk=function(){return goog.labs.userAgent.util.matchUserAgent("Silk")},goog.labs.userAgent.browser.getVersion=function(){function t(t){return t=module$contents$goog$array_find(t,n),r[t]||""}var e=goog.labs.userAgent.util.getUserAgent();if(goog.labs.userAgent.browser.isIE())return goog.labs.userAgent.browser.getIEVersion_(e);e=goog.labs.userAgent.util.extractVersionTuples(e);var r={};module$contents$goog$array_forEach(e,(function(t){r[t[0]]=t[1]}));var n=goog.partial(goog.object.containsKey,r);return goog.labs.userAgent.browser.isOpera()?t(["Version","Opera"]):goog.labs.userAgent.browser.isEdge()?t(["Edge"]):goog.labs.userAgent.browser.isEdgeChromium()?t(["Edg"]):goog.labs.userAgent.browser.isChrome()?t(["Chrome","CriOS","HeadlessChrome"]):(e=e[2])&&e[1]||""},goog.labs.userAgent.browser.isVersionOrHigher=function(t){return 0<=goog.string.internal.compareVersions(goog.labs.userAgent.browser.getVersion(),t)},goog.labs.userAgent.browser.getIEVersion_=function(t){var e=/rv: *([\d\.]*)/.exec(t);if(e&&e[1])return e[1];e="";var r=/MSIE +([\d\.]+)/.exec(t);if(r&&r[1])if(t=/Trident\/(\d.\d)/.exec(t),"7.0"==r[1])if(t&&t[1])switch(t[1]){case"4.0":e="8.0";break;case"5.0":e="9.0";break;case"6.0":e="10.0";break;case"7.0":e="11.0"}else e="7.0";else e=r[1];return e},goog.html.SafeHtml=function(t,e,r){this.privateDoNotAccessOrElseSafeHtmlWrappedValue_=r===goog.html.SafeHtml.CONSTRUCTOR_TOKEN_PRIVATE_?t:"",this.dir_=e},goog.html.SafeHtml.ENABLE_ERROR_MESSAGES=goog.DEBUG,goog.html.SafeHtml.SUPPORT_STYLE_ATTRIBUTE=!0,goog.html.SafeHtml.prototype.implementsGoogI18nBidiDirectionalString=!0,goog.html.SafeHtml.prototype.getDirection=function(){return this.dir_},goog.html.SafeHtml.prototype.implementsGoogStringTypedString=!0,goog.html.SafeHtml.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeHtmlWrappedValue_.toString()},goog.DEBUG&&(goog.html.SafeHtml.prototype.toString=function(){return"SafeHtml{"+this.privateDoNotAccessOrElseSafeHtmlWrappedValue_+"}"}),goog.html.SafeHtml.unwrap=function(t){return goog.html.SafeHtml.unwrapTrustedHTML(t).toString()},goog.html.SafeHtml.unwrapTrustedHTML=function(t){return t instanceof goog.html.SafeHtml&&t.constructor===goog.html.SafeHtml?t.privateDoNotAccessOrElseSafeHtmlWrappedValue_:(goog.asserts.fail("expected object of type SafeHtml, got '"+t+"' of type "+goog.typeOf(t)),"type_error:SafeHtml")},goog.html.SafeHtml.htmlEscape=function(t){if(t instanceof goog.html.SafeHtml)return t;var e="object"==typeof t,r=null;return e&&t.implementsGoogI18nBidiDirectionalString&&(r=t.getDirection()),t=e&&t.implementsGoogStringTypedString?t.getTypedStringValue():String(t),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.internal.htmlEscape(t),r)},goog.html.SafeHtml.htmlEscapePreservingNewlines=function(t){return t instanceof goog.html.SafeHtml?t:(t=goog.html.SafeHtml.htmlEscape(t),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.internal.newLineToBr(goog.html.SafeHtml.unwrap(t)),t.getDirection()))},goog.html.SafeHtml.htmlEscapePreservingNewlinesAndSpaces=function(t){return t instanceof goog.html.SafeHtml?t:(t=goog.html.SafeHtml.htmlEscape(t),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.internal.whitespaceEscape(goog.html.SafeHtml.unwrap(t)),t.getDirection()))},goog.html.SafeHtml.from=goog.html.SafeHtml.htmlEscape,goog.html.SafeHtml.comment=function(t){return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("\x3c!--"+goog.string.internal.htmlEscape(t)+"--\x3e",null)},goog.html.SafeHtml.VALID_NAMES_IN_TAG_=/^[a-zA-Z0-9-]+$/,goog.html.SafeHtml.URL_ATTRIBUTES_={action:!0,cite:!0,data:!0,formaction:!0,href:!0,manifest:!0,poster:!0,src:!0},goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_=goog.object.createSet(goog.dom.TagName.APPLET,goog.dom.TagName.BASE,goog.dom.TagName.EMBED,goog.dom.TagName.IFRAME,goog.dom.TagName.LINK,goog.dom.TagName.MATH,goog.dom.TagName.META,goog.dom.TagName.OBJECT,goog.dom.TagName.SCRIPT,goog.dom.TagName.STYLE,goog.dom.TagName.SVG,goog.dom.TagName.TEMPLATE),goog.html.SafeHtml.create=function(t,e,r){return goog.html.SafeHtml.verifyTagName(String(t)),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(String(t),e,r)},goog.html.SafeHtml.verifyTagName=function(t){if(!goog.html.SafeHtml.VALID_NAMES_IN_TAG_.test(t))throw Error(goog.html.SafeHtml.ENABLE_ERROR_MESSAGES?"Invalid tag name <"+t+">.":"");
15672if(t.toUpperCase()in goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_)throw Error(goog.html.SafeHtml.ENABLE_ERROR_MESSAGES?"Tag name <"+t+"> is not allowed for SafeHtml.":"")},goog.html.SafeHtml.createIframe=function(t,e,r,n){t&&goog.html.TrustedResourceUrl.unwrap(t);var i={};return i.src=t||null,i.srcdoc=e&&goog.html.SafeHtml.unwrap(e),t=goog.html.SafeHtml.combineAttributes(i,{sandbox:""},r),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe",t,n)},goog.html.SafeHtml.createSandboxIframe=function(t,e,r,n){if(!goog.html.SafeHtml.canUseSandboxIframe())throw Error(goog.html.SafeHtml.ENABLE_ERROR_MESSAGES?"The browser does not support sandboxed iframes.":"");var i={};return i.src=t?goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitize(t)):null,i.srcdoc=e||null,i.sandbox="",t=goog.html.SafeHtml.combineAttributes(i,{},r),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe",t,n)},goog.html.SafeHtml.canUseSandboxIframe=function(){return goog.global.HTMLIFrameElement&&"sandbox"in goog.global.HTMLIFrameElement.prototype},goog.html.SafeHtml.createScriptSrc=function(t,e){return goog.html.TrustedResourceUrl.unwrap(t),t=goog.html.SafeHtml.combineAttributes({src:t},{},e),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("script",t)},goog.html.SafeHtml.createScript=function(t,e){for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var n=r.toLowerCase();if("language"==n||"src"==n||"text"==n||"type"==n)throw Error(goog.html.SafeHtml.ENABLE_ERROR_MESSAGES?'Cannot set "'+n+'" attribute':"")}for(r="",t=module$contents$goog$array_concat(t),n=0;n<t.length;n++)r+=module$contents$goog$html$SafeScript_SafeScript.unwrap(t[n]);return t=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(r,goog.i18n.bidi.Dir.NEUTRAL),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("script",e,t)},goog.html.SafeHtml.createStyle=function(t,e){e=goog.html.SafeHtml.combineAttributes({type:"text/css"},{},e);var r="";t=module$contents$goog$array_concat(t);for(var n=0;n<t.length;n++)r+=module$contents$goog$html$SafeStyleSheet_SafeStyleSheet.unwrap(t[n]);return t=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(r,goog.i18n.bidi.Dir.NEUTRAL),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("style",e,t)},goog.html.SafeHtml.createMetaRefresh=function(t,e){return t=goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitize(t)),(goog.labs.userAgent.browser.isIE()||goog.labs.userAgent.browser.isEdge())&&goog.string.internal.contains(t,";")&&(t="'"+t.replace(/'/g,"%27")+"'"),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("meta",{"http-equiv":"refresh",content:(e||0)+"; url="+t})},goog.html.SafeHtml.getAttrNameAndValue_=function(t,e,r){if(r instanceof goog.string.Const)r=goog.string.Const.unwrap(r);else if("style"==e.toLowerCase()){if(!goog.html.SafeHtml.SUPPORT_STYLE_ATTRIBUTE)throw Error(goog.html.SafeHtml.ENABLE_ERROR_MESSAGES?'Attribute "style" not supported.':"");r=goog.html.SafeHtml.getStyleValue_(r)}else{if(/^on/i.test(e))throw Error(goog.html.SafeHtml.ENABLE_ERROR_MESSAGES?'Attribute "'+e+'" requires goog.string.Const value, "'+r+'" given.':"");if(e.toLowerCase()in goog.html.SafeHtml.URL_ATTRIBUTES_)if(r instanceof goog.html.TrustedResourceUrl)r=goog.html.TrustedResourceUrl.unwrap(r);else if(r instanceof goog.html.SafeUrl)r=goog.html.SafeUrl.unwrap(r);else{if("string"!=typeof r)throw Error(goog.html.SafeHtml.ENABLE_ERROR_MESSAGES?'Attribute "'+e+'" on tag "'+t+'" requires goog.html.SafeUrl, goog.string.Const, or string, value "'+r+'" given.':"");r=goog.html.SafeUrl.sanitize(r).getTypedStringValue()}}return r.implementsGoogStringTypedString&&(r=r.getTypedStringValue()),goog.asserts.assert("string"==typeof r||"number"==typeof r,"String or number value expected, got "+typeof r+" with value: "+r),e+'="'+goog.string.internal.htmlEscape(String(r))+'"'},goog.html.SafeHtml.getStyleValue_=function(t){if(!goog.isObject(t))throw Error(goog.html.SafeHtml.ENABLE_ERROR_MESSAGES?'The "style" attribute requires goog.html.SafeStyle or map of style properties, '+typeof t+" given: "+t:"");return t instanceof goog.html.SafeStyle||(t=goog.html.SafeStyle.create(t)),goog.html.SafeStyle.unwrap(t)},goog.html.SafeHtml.createWithDir=function(t,e,r,n){return(e=goog.html.SafeHtml.create(e,r,n)).dir_=t,e},goog.html.SafeHtml.join=function(t,e){var r=(t=goog.html.SafeHtml.htmlEscape(t)).getDirection(),n=[],i=function(t){Array.isArray(t)?module$contents$goog$array_forEach(t,i):(t=goog.html.SafeHtml.htmlEscape(t),n.push(goog.html.SafeHtml.unwrap(t)),t=t.getDirection(),r==goog.i18n.bidi.Dir.NEUTRAL?r=t:t!=goog.i18n.bidi.Dir.NEUTRAL&&r!=t&&(r=null))};return module$contents$goog$array_forEach(e,i),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(n.join(goog.html.SafeHtml.unwrap(t)),r)},goog.html.SafeHtml.concat=function(t){return goog.html.SafeHtml.join(goog.html.SafeHtml.EMPTY,Array.prototype.slice.call(arguments))},goog.html.SafeHtml.concatWithDir=function(t,e){var r=goog.html.SafeHtml.concat(module$contents$goog$array_slice(arguments,1
15672));return r.dir_=t,r},goog.html.SafeHtml.CONSTRUCTOR_TOKEN_PRIVATE_={},goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse=function(t,e){var r=goog.html.trustedtypes.getPolicyPrivateDoNotAccessOrElse();return t=r?r.createHTML(t):t,new goog.html.SafeHtml(t,e,goog.html.SafeHtml.CONSTRUCTOR_TOKEN_PRIVATE_)},goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse=function(t,e,r){var n=null,i="<"+t+goog.html.SafeHtml.stringifyAttributes(t,e);return null==r?r=[]:Array.isArray(r)||(r=[r]),goog.dom.tags.isVoidTag(t.toLowerCase())?(goog.asserts.assert(!r.length,"Void tag <"+t+"> does not allow content."),i+=">"):(n=goog.html.SafeHtml.concat(r),i+=">"+goog.html.SafeHtml.unwrap(n)+"</"+t+">",n=n.getDirection()),(t=e&&e.dir)&&(n=/^(ltr|rtl|auto)$/i.test(t)?goog.i18n.bidi.Dir.NEUTRAL:null),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(i,n)},goog.html.SafeHtml.stringifyAttributes=function(t,e){var r="";if(e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(!goog.html.SafeHtml.VALID_NAMES_IN_TAG_.test(n))throw Error(goog.html.SafeHtml.ENABLE_ERROR_MESSAGES?'Invalid attribute name "'+n+'".':"");var i=e[n];null!=i&&(r+=" "+goog.html.SafeHtml.getAttrNameAndValue_(t,n,i))}return r},goog.html.SafeHtml.combineAttributes=function(t,e,r){var n,i={};for(n in t)Object.prototype.hasOwnProperty.call(t,n)&&(goog.asserts.assert(n.toLowerCase()==n,"Must be lower case"),i[n]=t[n]);for(n in e)Object.prototype.hasOwnProperty.call(e,n)&&(goog.asserts.assert(n.toLowerCase()==n,"Must be lower case"),i[n]=e[n]);if(r)for(n in r)if(Object.prototype.hasOwnProperty.call(r,n)){var o=n.toLowerCase();if(o in t)throw Error(goog.html.SafeHtml.ENABLE_ERROR_MESSAGES?'Cannot override "'+o+'" attribute, got "'+n+'" with value "'+r[n]+'"':"");o in e&&delete i[o],i[n]=r[n]}return i},goog.html.SafeHtml.DOCTYPE_HTML=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("<!DOCTYPE html>",goog.i18n.bidi.Dir.NEUTRAL),goog.html.SafeHtml.EMPTY=new goog.html.SafeHtml(goog.global.trustedTypes&&goog.global.trustedTypes.emptyHTML||"",goog.i18n.bidi.Dir.NEUTRAL,goog.html.SafeHtml.CONSTRUCTOR_TOKEN_PRIVATE_),goog.html.SafeHtml.BR=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("<br>",goog.i18n.bidi.Dir.NEUTRAL),goog.html.uncheckedconversions={},goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract=function(t,e,r){return goog.asserts.assertString(goog.string.Const.unwrap(t),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(t)),"must provide non-empty justification"),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(e,r||null)},goog.html.uncheckedconversions.safeScriptFromStringKnownToSatisfyTypeContract=function(t,e){return goog.asserts.assertString(goog.string.Const.unwrap(t),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(t)),"must provide non-empty justification"),module$contents$goog$html$SafeScript_SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(e)},goog.html.uncheckedconversions.safeStyleFromStringKnownToSatisfyTypeContract=function(t,e){return goog.asserts.assertString(goog.string.Const.unwrap(t),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(t)),"must provide non-empty justification"),goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(e)},goog.html.uncheckedconversions.safeStyleSheetFromStringKnownToSatisfyTypeContract=function(t,e){return goog.asserts.assertString(goog.string.Const.unwrap(t),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(t)),"must provide non-empty justification"),module$contents$goog$html$SafeStyleSheet_SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(e)},goog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract=function(t,e){return goog.asserts.assertString(goog.string.Const.unwrap(t),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(t)),"must provide non-empty justification"),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(e)},goog.html.uncheckedconversions.trustedResourceUrlFromStringKnownToSatisfyTypeContract=function(t,e){return goog.asserts.assertString(goog.string.Const.unwrap(t),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(t)),"must provide non-empty justification"),goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(e)},goog.dom.safe={},goog.dom.safe.InsertAdjacentHtmlPosition={AFTERBEGIN:"afterbegin",AFTEREND:"afterend",BEFOREBEGIN:"beforebegin",BEFOREEND:"beforeend"},goog.dom.safe.insertAdjacentHtml=function(t,e,r){t.insertAdjacentHTML(e,goog.html.SafeHtml.unwrapTrustedHTML(r))},goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_={MATH:!0,SCRIPT:!0,STYLE:!0,SVG:!0,TEMPLATE:!0},goog.dom.safe.isInnerHtmlCleanupRecursive_=goog.functions.cacheReturnValue((function(){if(goog.DEBUG&&"undefined"==typeof document)return!1;var t=document.createElement("div"),e=document.createElement("div");return e.appendChild(document.createElement("div")),t.appendChild(e),!(goog.DEBUG&&!t.firstChild||(e=t.firstChild.firstChild,t.innerHTML=goog.html.SafeHtml.unwrapTrustedHTML(goog.html.SafeHtml.EMPTY),e.parentElement))})),goog.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse=function(t,e){if(goog.dom.safe.isInnerHtmlCleanupRecursive_())for(;
15672t.lastChild;)t.removeChild(t.lastChild);t.innerHTML=goog.html.SafeHtml.unwrapTrustedHTML(e)},goog.dom.safe.setInnerHtml=function(t,e){if(goog.asserts.ENABLE_ASSERTS&&t.tagName){var r=t.tagName.toUpperCase();if(goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_[r])throw Error("goog.dom.safe.setInnerHtml cannot be used to set content of "+t.tagName+".")}goog.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse(t,e)},goog.dom.safe.setInnerHtmlFromConstant=function(t,e){goog.dom.safe.setInnerHtml(t,goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from("Constant HTML to be immediatelly used."),goog.string.Const.unwrap(e)))},goog.dom.safe.setOuterHtml=function(t,e){t.outerHTML=goog.html.SafeHtml.unwrapTrustedHTML(e)},goog.dom.safe.setFormElementAction=function(t,e){e=e instanceof goog.html.SafeUrl?e:goog.html.SafeUrl.sanitizeAssertUnchanged(e),goog.dom.asserts.assertIsHTMLFormElement(t).action=goog.html.SafeUrl.unwrap(e)},goog.dom.safe.setButtonFormAction=function(t,e){e=e instanceof goog.html.SafeUrl?e:goog.html.SafeUrl.sanitizeAssertUnchanged(e),goog.dom.asserts.assertIsHTMLButtonElement(t).formAction=goog.html.SafeUrl.unwrap(e)},goog.dom.safe.setInputFormAction=function(t,e){e=e instanceof goog.html.SafeUrl?e:goog.html.SafeUrl.sanitizeAssertUnchanged(e),goog.dom.asserts.assertIsHTMLInputElement(t).formAction=goog.html.SafeUrl.unwrap(e)},goog.dom.safe.setStyle=function(t,e){t.style.cssText=goog.html.SafeStyle.unwrap(e)},goog.dom.safe.documentWrite=function(t,e){t.write(goog.html.SafeHtml.unwrapTrustedHTML(e))},goog.dom.safe.setAnchorHref=function(t,e){goog.dom.asserts.assertIsHTMLAnchorElement(t),e=e instanceof goog.html.SafeUrl?e:goog.html.SafeUrl.sanitizeAssertUnchanged(e),t.href=goog.html.SafeUrl.unwrap(e)},goog.dom.safe.setImageSrc=function(t,e){if(goog.dom.asserts.assertIsHTMLImageElement(t),!(e instanceof goog.html.SafeUrl)){var r=/^data:image\//i.test(e);e=goog.html.SafeUrl.sanitizeAssertUnchanged(e,r)}t.src=goog.html.SafeUrl.unwrap(e)},goog.dom.safe.setAudioSrc=function(t,e){if(goog.dom.asserts.assertIsHTMLAudioElement(t),!(e instanceof goog.html.SafeUrl)){var r=/^data:audio\//i.test(e);e=goog.html.SafeUrl.sanitizeAssertUnchanged(e,r)}t.src=goog.html.SafeUrl.unwrap(e)},goog.dom.safe.setVideoSrc=function(t,e){if(goog.dom.asserts.assertIsHTMLVideoElement(t),!(e instanceof goog.html.SafeUrl)){var r=/^data:video\//i.test(e);e=goog.html.SafeUrl.sanitizeAssertUnchanged(e,r)}t.src=goog.html.SafeUrl.unwrap(e)},goog.dom.safe.setEmbedSrc=function(t,e){goog.dom.asserts.assertIsHTMLEmbedElement(t),t.src=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(e)},goog.dom.safe.setFrameSrc=function(t,e){goog.dom.asserts.assertIsHTMLFrameElement(t),t.src=goog.html.TrustedResourceUrl.unwrap(e)},goog.dom.safe.setIframeSrc=function(t,e){goog.dom.asserts.assertIsHTMLIFrameElement(t),t.src=goog.html.TrustedResourceUrl.unwrap(e)},goog.dom.safe.setIframeSrcdoc=function(t,e){goog.dom.asserts.assertIsHTMLIFrameElement(t),t.srcdoc=goog.html.SafeHtml.unwrapTrustedHTML(e)},goog.dom.safe.setLinkHrefAndRel=function(t,e,r){goog.dom.asserts.assertIsHTMLLinkElement(t),t.rel=r,goog.string.internal.caseInsensitiveContains(r,"stylesheet")?(goog.asserts.assert(e instanceof goog.html.TrustedResourceUrl,'URL must be TrustedResourceUrl because "rel" contains "stylesheet"'),t.href=goog.html.TrustedResourceUrl.unwrap(e)):t.href=e instanceof goog.html.TrustedResourceUrl?goog.html.TrustedResourceUrl.unwrap(e):e instanceof goog.html.SafeUrl?goog.html.SafeUrl.unwrap(e):goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitizeAssertUnchanged(e))},goog.dom.safe.setObjectData=function(t,e){goog.dom.asserts.assertIsHTMLObjectElement(t),t.data=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(e)},goog.dom.safe.setScriptSrc=function(t,e){goog.dom.asserts.assertIsHTMLScriptElement(t),t.src=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(e),goog.dom.safe.setNonceForScriptElement_(t)},goog.dom.safe.setScriptContent=function(t,e){goog.dom.asserts.assertIsHTMLScriptElement(t),t.textContent=module$contents$goog$html$SafeScript_SafeScript.unwrapTrustedScript(e),goog.dom.safe.setNonceForScriptElement_(t)},goog.dom.safe.setNonceForScriptElement_=function(t){var e=goog.getScriptNonce(t.ownerDocument&&t.ownerDocument.defaultView);e&&t.setAttribute("nonce",e)},goog.dom.safe.setLocationHref=function(t,e){goog.dom.asserts.assertIsLocation(t),e=e instanceof goog.html.SafeUrl?e:goog.html.SafeUrl.sanitizeAssertUnchanged(e),t.href=goog.html.SafeUrl.unwrap(e)},goog.dom.safe.assignLocation=function(t,e){goog.dom.asserts.assertIsLocation(t),e=e instanceof goog.html.SafeUrl?e:goog.html.SafeUrl.sanitizeAssertUnchanged(e),t.assign(goog.html.SafeUrl.unwrap(e))},goog.dom.safe.replaceLocation=function(t,e){e=e instanceof goog.html.SafeUrl?e:goog.html.SafeUrl.sanitizeAssertUnchanged(e),t.replace(goog.html.SafeUrl.unwrap(e))},goog.dom.safe.openInWindow=function(t,e,r,n,i){return t=t instanceof goog.html.SafeUrl?t:goog.html.SafeUrl.sanitizeAssertUnchanged(t),e=e||goog.global,r=r instanceof goog.string.Const?goog.string.Const.unwrap(r):r||"",e.open(goog.html.SafeUrl.unwrap(t),r,n,i)},goog.dom.safe.parseFromStringHtml=function(t,e){return goog.dom.safe.parseFromString(t,e,"text/html")},goog.dom.safe.parseFromString=function(t,e,r){return t.parseFromString(goog.html.SafeHtml.unwrapTrustedHTML(e),r)},goog.dom.safe.createImageFromBlob=function(t){if(!/^image\/.*/g.test(t.type))throw Error("goog.dom.safe.createImageFromBlob only accepts MIME type image/.*.");var e=goog.global.URL.createObjectURL(t);return(t=new goog.global.Image).onload=function(){goog.global.URL.revokeObjectURL(e)},goog.dom.safe.setImageSrc(t,goog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract(goog.string.Const.from("Image blob URL."),e)),t},goog.string.DETECT_DOUBLE_ESCAPING=!1,goog.string.FORCE_NON_DOM_HTML_UNESCAPING=!1,goog.string.Unicode={NBSP:"Â "},goog.string.startsWith=goog.string.internal.startsWith,goog.string.endsWith=goog.string.internal.endsWith,goog.string.caseInsensitiveStartsWith=goog.string.internal.caseInsensitiveStartsWith,goog.string.caseInsensitiveEndsWith=goog.string.internal.caseInsensitiveEndsWith,goog.string.caseInsensitiveEquals=goog.string.internal.caseInsensitiveEquals,goog.string.subs=function(t,e){for(var r=t.split("%s"),n="",i=Array.prototype.slice.call(arguments,1
vendor: 7,564 bytes, line 15672
15672);i.length&&1<r.length;)n+=r.shift()+i.shift();return n+r.join("%s")},goog.string.collapseWhitespace=function(t){return t.replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")},goog.string.isEmptyOrWhitespace=goog.string.internal.isEmptyOrWhitespace,goog.string.isEmptyString=function(t){return 0==t.length},goog.string.isEmpty=goog.string.isEmptyOrWhitespace,goog.string.isEmptyOrWhitespaceSafe=function(t){return goog.string.isEmptyOrWhitespace(goog.string.makeSafe(t))},goog.string.isEmptySafe=goog.string.isEmptyOrWhitespaceSafe,goog.string.isBreakingWhitespace=function(t){return!/[^\t\n\r ]/.test(t)},goog.string.isAlpha=function(t){return!/[^a-zA-Z]/.test(t)},goog.string.isNumeric=function(t){return!/[^0-9]/.test(t)},goog.string.isAlphaNumeric=function(t){return!/[^a-zA-Z0-9]/.test(t)},goog.string.isSpace=function(t){return" "==t},goog.string.isUnicodeChar=function(t){return 1==t.length&&" "<=t&&"~">=t||"Â"<=t&&"�">=t},goog.string.stripNewlines=function(t){return t.replace(/(\r\n|\r|\n)+/g," ")},goog.string.canonicalizeNewlines=function(t){return t.replace(/(\r\n|\r|\n)/g,"\n")},goog.string.normalizeWhitespace=function(t){return t.replace(/\xa0|\s/g," ")},goog.string.normalizeSpaces=function(t){return t.replace(/\xa0|[ \t]+/g," ")},goog.string.collapseBreakingSpaces=function(t){return t.replace(/[\t\r\n ]+/g," ").replace(/^[\t\r\n ]+|[\t\r\n ]+$/g,"")},goog.string.trim=goog.string.internal.trim,goog.string.trimLeft=function(t){return t.replace(/^[\s\xa0]+/,"")},goog.string.trimRight=function(t){return t.replace(/[\s\xa0]+$/,"")},goog.string.caseInsensitiveCompare=goog.string.internal.caseInsensitiveCompare,goog.string.numberAwareCompare_=function(t,e,r){if(t==e)return 0;if(!t)return-1;if(!e)return 1;for(var n=t.toLowerCase().match(r),i=e.toLowerCase().match(r),o=Math.min(n.length,i.length),s=0;s<o;s++){r=n[s];var a=i[s];if(r!=a)return t=parseInt(r,10),!isNaN(t)&&(e=parseInt(a,10),!isNaN(e)&&t-e)?t-e:r<a?-1:1}return n.length!=i.length?n.length-i.length:t<e?-1:1},goog.string.intAwareCompare=function(t,e){return goog.string.numberAwareCompare_(t,e,/\d+|\D+/g)},goog.string.floatAwareCompare=function(t,e){return goog.string.numberAwareCompare_(t,e,/\d+|\.\d+|\D+/g)},goog.string.numerateCompare=goog.string.floatAwareCompare,goog.string.urlEncode=function(t){return encodeURIComponent(String(t))},goog.string.urlDecode=function(t){return decodeURIComponent(t.replace(/\+/g," "))},goog.string.newLineToBr=goog.string.internal.newLineToBr,goog.string.htmlEscape=function(t,e){return t=goog.string.internal.htmlEscape(t,e),goog.string.DETECT_DOUBLE_ESCAPING&&(t=t.replace(goog.string.E_RE_,"e")),t},goog.string.E_RE_=/e/g,goog.string.unescapeEntities=function(t){return goog.string.contains(t,"&")?!goog.string.FORCE_NON_DOM_HTML_UNESCAPING&&"document"in goog.global?goog.string.unescapeEntitiesUsingDom_(t):goog.string.unescapePureXmlEntities_(t):t},goog.string.unescapeEntitiesWithDocument=function(t,e){return goog.string.contains(t,"&")?goog.string.unescapeEntitiesUsingDom_(t,e):t},goog.string.unescapeEntitiesUsingDom_=function(t,e){var r={"&":"&","<":"<",">":">",""":'"'},n=e?e.createElement("div"):goog.global.document.createElement("div");return t.replace(goog.string.HTML_ENTITY_PATTERN_,(function(t,e){var i=r[t];return i||("#"==e.charAt(0)&&(e=Number("0"+e.substr(1)),isNaN(e)||(i=String.fromCharCode(e))),i||(goog.dom.safe.setInnerHtml(n,goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from("Single HTML entity."),t+" ")),i=n.firstChild.nodeValue.slice(0,-1)),r[t]=i)}))},goog.string.unescapePureXmlEntities_=function(t){return t.replace(/&([^;]+);/g,(function(t,e){switch(e){case"amp":return"&";case"lt":return"<";case"gt":return">";case"quot":return'"';default:return"#"!=e.charAt(0)||(e=Number("0"+e.substr(1)),isNaN(e))?t:String.fromCharCode(e)}}))},goog.string.HTML_ENTITY_PATTERN_=/&([^;\s<&]+);?/g,goog.string.whitespaceEscape=function(t,e){return goog.string.newLineToBr(t.replace(/ /g,"  "),e)},goog.string.preserveSpaces=function(t){return t.replace(/(^|[\n ]) /g,"$1"+goog.string.Unicode.NBSP)},goog.string.stripQuotes=function(t,e){for(var r=e.length,n=0;n<r;n++){var i=1==r?e:e.charAt(n);if(t.charAt(0)==i&&t.charAt(t.length-1)==i)return t.substring(1,t.length-1)}return t},goog.string.truncate=function(t,e,r){return r&&(t=goog.string.unescapeEntities(t)),t.length>e&&(t=t.substring(0,e-3)+"..."),r&&(t=goog.string.htmlEscape(t)),t},goog.string.truncateMiddle=function(t,e,r,n){if(r&&(t=goog.string.unescapeEntities(t)),n&&t.length>e){n>e&&(n=e);var i=t.length-n;t=t.substring(0,e-n)+"..."+t.substring(i)}else t.length>e&&(n=Math.floor(e/2),i=t.length-n,t=t.substring(0,n+e%2)+"..."+t.substring(i));return r&&(t=goog.string.htmlEscape(t)),t},goog.string.specialEscapeChars_={"\0":"\\0","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\x0B",'"':'\\"',"\\":"\\\\","<":"\\u003C"},goog.string.jsEscapeCache_={"'":"\\'"},goog.string.quote=function(t){t=String(t);for(var e=['"'],r=0;r<t.length;r++){var n=t.charAt(r),i=n.charCodeAt(0);e[r+1]=goog.string.specialEscapeChars_[n]||(31<i&&127>i?n:goog.string.escapeChar(n))}return e.push('"'),e.join("")},goog.string.escapeString=function(t){for(var e=[],r=0;r<t.length;r++)e[r]=goog.string.escapeChar(t.charAt(r));return e.join("")},goog.string.escapeChar=function(t){if(t in goog.string.jsEscapeCache_)return goog.string.jsEscapeCache_[t];if(t in goog.string.specialEscapeChars_)return goog.string.jsEscapeCache_[t]=goog.string.specialEscapeChars_[t];var e=t.charCodeAt(0);if(31<e&&127>e)var r=t;else 256>e?(r="\\x",(16>e||256<e)&&(r+="0")):(r="\\u",4096>e&&(r+="0")),r+=e.toString(16).toUpperCase();return goog.string.jsEscapeCache_[t]=r},goog.string.contains=goog.string.internal.contains,goog.string.caseInsensitiveContains=goog.string.internal.caseInsensitiveContains,goog.string.countOf=function(t,e){return t&&e?t.split(e).length-1:0},goog.string.removeAt=function(t,e,r){var n=t;return 0<=e&&e<t.length&&0<r&&(n=t.substr(0,e)+t.substr(e+r,t.length-e-r)),n},goog.string.remove=function(t,e){return t.replace(e,"")},goog.string.removeAll=function(t,e){return e=new RegExp(goog.string.regExpEscape(e),"g"),t.replace(e,"")},goog.string.replaceAll=function(t,e,r){return e=new RegExp(goog.string.regExpEscape(e),"g"),t.replace(e,r.replace(/\$/g,"$$$$"))},goog.string.regExpEscape=function(t){return String(t).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")},goog.string.repeat=String.prototype.repeat?function(t,e){return t.repeat(e)}:function(t,e){return Array(e+1).join(t)},goog.string.padNumber=function(t,e,r){return-1==(r=(t=void 0!==r?t.toFixed(r):String(t)).indexOf("."))&&(r=t.length),goog.string.repeat("0",Math.max(0,e-r))+t},goog.string.makeSafe=function(t){return null==t?"":String(t)},goog.string.buildString=function(t){return Array.prototype.join.call(arguments,"")},goog.string.getRandomString=function(){return Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^goog.now()).toString(36)},goog.string.compareVersions=goog.string.internal.compareVersions,goog.string.hashCode=function(t){for(var e=0,r=0;r<t.length;++r)e=31*e+t.charCodeAt(r)>>>0;return e},goog.string.uniqueStringCounter_=2147483648*Math.random()|0,goog.string.createUniqueString=function(){return"goog_"+goog.string.uniqueStringCounter_++},goog.string.toNumber=function(t){var e=Number(t);return 0==e&&goog.string.isEmptyOrWhitespace(t)?NaN:e},goog.string.isLowerCamelCase=function(t){return/^[a-z]+([A-Z][a-z]*)*$/.test(t)}
15672,goog.string.isUpperCamelCase=function(t){return/^([A-Z][a-z]*)+$/.test(t)},goog.string.toCamelCase=function(t){return String(t).replace(/\-([a-z])/g,(function(t,e){return e.toUpperCase()}))},goog.string.toSelectorCase=function(t){return String(t).replace(/([A-Z])/g,"-$1").toLowerCase()},goog.string.toTitleCase=function(t,e){return e="string"==typeof e?goog.string.regExpEscape(e):"\\s",t.replace(new RegExp("(^"+(e?"|["+e+"]+":"")+")([a-z])","g"),(function(t,e,r){return e+r.toUpperCase()}))},goog.string.capitalize=function(t){return String(t.charAt(0)).toUpperCase()+String(t.substr(1)).toLowerCase()},goog.string.parseInt=function(t){return isFinite(t)&&(t=String(t)),"string"==typeof t?/^\s*-?0x/i.test(t)?parseInt(t,16):parseInt(t,10):NaN},goog.string.splitLimit=function(t,e,r){t=t.split(e);for(var n=[];0<r&&t.length;)n.push(t.shift()),r--;return t.length&&n.push(t.join(e)),n},goog.string.lastComponent=function(t,e){if(!e)return t;"string"==typeof e&&(e=[e]);for(var r=-1,n=0;n<e.length;n++)if(""!=e[n]){var i=t.lastIndexOf(e[n]);i>r&&(r=i)}return-1==r?t:t.slice(r+1)},goog.string.editDistance=function(t,e){var r=[],n=[];if(t==e)return 0;if(!t.length||!e.length)return Math.max(t.length,e.length);for(var i=0;i<e.length+1;i++)r[i]=i;for(i=0;i<t.length;i++){n[0]=i+1;for(var o=0;o<e.length;o++)n[o+1]=Math.min(n[o]+1,r[o+1]+1,r[o]+Number(t[i]!=e[o]));for(o=0;o<r.length;o++)r[o]=n[o]}return n[e.length]},goog.proto2={},goog.proto2.Descriptor=function(t,e,r){for(this.messageType_=t,this.name_=e.name||null,this.fullName_=e.fullName||null,this.containingType_=e.containingType,this.fields_={},t=0;t<r.length;t++)e=r[t],this.fields_[e.getTag()]=e},goog.proto2.Descriptor.prototype.getName=function(){return this.name_},goog.proto2.Descriptor.prototype.getFullName=function(){return this.fullName_},goog.proto2.Descriptor.prototype.getContainingType=function(){return this.containingType_?this.containingType_.getDescriptor():null},goog.proto2.Descriptor.prototype.getFields=function(){var t=goog.object.getValues(this.fields_);return module$contents$goog$array_sort(t,(function(t,e){return t.getTag()-e.getTag()})),t},goog.proto2.Descriptor.prototype.getFieldsMap=function(){return this.fields_},goog.proto2.Descriptor.prototype.findFieldByName=function(t){return goog.object.findValue(this.fields_,(function(e,r,n){return e.getName()==t}))||null},goog.proto2.Descriptor.prototype.findFieldByTag=function(t){return goog.asserts.assert(goog.string.isNumeric(t)),this.fields_[parseInt(t,10)]||null},goog.proto2.Descriptor.prototype.createMessageInstance=function(){return new this.messageType_},goog.proto2.FieldDescriptor=function(t,e,r){switch(this.parent_=t,goog.asserts.assert(goog.string.isNumeric(e)),this.tag_=e,this.name_=r.name,this.isPacked_=!!r.packed,this.isRepeated_=!!r.repeated,this.isRequired_=!!r.required,this.fieldType_=r.fieldType,this.nativeType_=r.type,this.deserializationConversionPermitted_=!1,this.fieldType_){case goog.proto2.FieldDescriptor.FieldType.INT64:case goog.proto2.FieldDescriptor.FieldType.UINT64:case goog.proto2.FieldDescriptor.FieldType.FIXED64:case goog.proto2.FieldDescriptor.FieldType.SFIXED64:case goog.proto2.FieldDescriptor.FieldType.SINT64:case goog.proto2.FieldDescriptor.FieldType.FLOAT:case goog.proto2.FieldDescriptor.FieldType.DOUBLE:this.deserializationConversionPermitted_=!0}this.defaultValue_=r.defaultValue},goog.proto2.FieldDescriptor.FieldType={DOUBLE:1,FLOAT:2,INT64:3,UINT64:4,INT32:5,FIXED64:6,FIXED32:7,BOOL:8,STRING:9,GROUP:10,MESSAGE:11,BYTES:12,UINT32:13,ENUM:14,SFIXED32:15,SFIXED64:16,SINT32:17,SINT64:18},goog.proto2.FieldDescriptor.prototype.getTag=function(){return this.tag_},goog.proto2.FieldDescriptor.prototype.getContainingType=function(){return this.parent_.prototype.getDescriptor()},goog.proto2.FieldDescriptor.prototype.getName=function(){return this.name_},goog.proto2.FieldDescriptor.prototype.getDefaultValue=function(){if(void 0===this.defaultValue_){var t=this.nativeType_;if(t===Boolean)this.defaultValue_=!1;else if(t===Number)this.defaultValue_=0;else{if(t!==String)return new t;this.defaultValue_=this.deserializationConversionPermitted_?"0":""}}return this.defaultValue_},goog.proto2.FieldDescriptor.prototype.getFieldType=function(){return this.fieldType_},goog.proto2.FieldDescriptor.prototype.getNativeType=function(){return this.nativeType_},goog.proto2.FieldDescriptor.prototype.deserializationConversionPermitted=function(){return this.deserializationConversionPermitted_},goog.proto2.FieldDescriptor.prototype.getFieldMessageType=function(){return this.nativeType_.prototype.getDescriptor()},goog.proto2.FieldDescriptor.prototype.isCompositeType=function(){return this.fieldType_==goog.proto2.FieldDescriptor.FieldType.MESSAGE||this.fieldType_==goog.proto2.FieldDescriptor.FieldType.GROUP},goog.proto2.FieldDescriptor.prototype.isPacked=function(){return this.isPacked_},goog.proto2.FieldDescriptor.prototype.isRepeated=function(){return this.isRepeated_},goog.proto2.FieldDescriptor.prototype.isRequired=function(){return this.isRequired_},goog.proto2.FieldDescriptor.prototype.isOptional=function(){return!this.isRepeated_&&!this.isRequired_},goog.proto2.Message=function(){this.values_={},this.fields_=this.getDescriptor().getFieldsMap(),this.deserializedFields_=this.lazyDeserializer_=null},goog.proto2.Message.FieldType={DOUBLE:1,FLOAT:2,INT64:3,UINT64:4,INT32:5,FIXED64:6,FIXED32:7,BOOL:8,STRING:9,GROUP:10,MESSAGE:11,BYTES:12,UINT32:13,ENUM:14,SFIXED32:15,SFIXED64:16,SINT32:17,SINT64:18}
15672,goog.proto2.Message.prototype.initializeForLazyDeserializer=function(t,e){this.lazyDeserializer_=t,this.values_=e,this.deserializedFields_={}},goog.proto2.Message.prototype.setUnknown=function(t,e){goog.asserts.assert(!this.fields_[t],"Field is not unknown in this message"),goog.asserts.assert(1<=t,"Tag "+t+' has value "'+e+'" in descriptor '+this.getDescriptor().getName()),goog.asserts.assert(null!==e,"Value cannot be null"),this.values_[t]=e,this.deserializedFields_&&delete this.deserializedFields_[t]},goog.proto2.Message.prototype.forEachUnknown=function(t,e){for(var r in e=e||this,this.values_){var n=Number(r);this.fields_[n]||t.call(e,n,this.values_[r])}},goog.proto2.Message.prototype.getDescriptor=goog.abstractMethod,goog.proto2.Message.prototype.has=function(t){return goog.asserts.assert(t.getContainingType()==this.getDescriptor(),"The current message does not contain the given field"),this.has$Value(t.getTag())},goog.proto2.Message.prototype.arrayOf=function(t){return goog.asserts.assert(t.getContainingType()==this.getDescriptor(),"The current message does not contain the given field"),this.array$Values(t.getTag())},goog.proto2.Message.prototype.countOf=function(t){return goog.asserts.assert(t.getContainingType()==this.getDescriptor(),"The current message does not contain the given field"),this.count$Values(t.getTag())},goog.proto2.Message.prototype.get=function(t,e){return goog.asserts.assert(t.getContainingType()==this.getDescriptor(),"The current message does not contain the given field"),this.get$Value(t.getTag(),e)},goog.proto2.Message.prototype.getOrDefault=function(t,e){return goog.asserts.assert(t.getContainingType()==this.getDescriptor(),"The current message does not contain the given field"),this.get$ValueOrDefault(t.getTag(),e)},goog.proto2.Message.prototype.set=function(t,e){goog.asserts.assert(t.getContainingType()==this.getDescriptor(),"The current message does not contain the given field"),this.set$Value(t.getTag(),e)},goog.proto2.Message.prototype.add=function(t,e){goog.asserts.assert(t.getContainingType()==this.getDescriptor(),"The current message does not contain the given field"),this.add$Value(t.getTag(),e)},goog.proto2.Message.prototype.clear=function(t){goog.asserts.assert(t.getContainingType()==this.getDescriptor(),"The current message does not contain the given field"),this.clear$Field(t.getTag())},goog.proto2.Message.prototype.equals=function(t){if(!t||this.constructor!=t.constructor)return!1;for(var e=this.getDescriptor().getFields(),r=0;r<e.length;r++){var n=e[r],i=n.getTag();if(this.has$Value(i)!=t.has$Value(i))return!1;if(this.has$Value(i)){var o=n.isCompositeType(),s=this.getValueForTag_(i);if(i=t.getValueForTag_(i),n.isRepeated()){if(s.length!=i.length)return!1;for(n=0;n<s.length;n++){var a=s[n],d=i[n];if(o?!a.equals(d):a!=d)return!1}}else if(o?!s.equals(i):s!=i)return!1}}return!0},goog.proto2.Message.prototype.copyFrom=function(t){goog.asserts.assert(this.constructor==t.constructor,"The source message must have the same type."),this!=t&&(this.values_={},this.deserializedFields_&&(this.deserializedFields_={}),this.mergeFrom(t))},goog.proto2.Message.prototype.mergeFrom=function(t){goog.asserts.assert(this.constructor==t.constructor,"The source message must have the same type.");for(var e=this.getDescriptor().getFields(),r=0;r<e.length;r++){var n=e[r],i=n.getTag();if(t.has$Value(i)){this.deserializedFields_&&delete this.deserializedFields_[n.getTag()];var o=n.isCompositeType();if(n.isRepeated()){n=t.array$Values(i);for(var s=0;s<n.length;s++)this.add$Value(i,o?n[s].clone():n[s])}else n=t.getValueForTag_(i),o?(o=this.getValueForTag_(i))?o.mergeFrom(n):this.set$Value(i,n.clone()):this.set$Value(i,n)}}},goog.proto2.Message.prototype.clone=function(){var t=new this.constructor;return t.copyFrom(this),t},goog.proto2.Message.prototype.initDefaults=function(t){for(var e=this.getDescriptor().getFields(),r=0;r<e.length;r++){var n=e[r],i=n.getTag(),o=n.isCompositeType();if(this.has$Value(i)||n.isRepeated()||(o?this.values_[i]=new(n.getNativeType()):t&&(this.values_[i]=n.getDefaultValue())),o)if(n.isRepeated())for(n=this.array$Values(i),i=0;i<n.length;i++)n[i].initDefaults(t);else this.get$Value(i).initDefaults(t)}},goog.proto2.Message.prototype.has$Value=function(t){return null!=this.values_[t]},goog.proto2.Message.prototype.getValueForTag_=function(t){var e=this.values_[t];return null==e?null:this.lazyDeserializer_?t in this.deserializedFields_?this.deserializedFields_[t]:(e=this.lazyDeserializer_.deserializeField(this,this.fields_[t],e),this.deserializedFields_[t]=e):e},goog.proto2.Message.prototype.get$Value=function(t,e){var r=this.getValueForTag_(t);return this.fields_[t].isRepeated()?(t=e||0,goog.asserts.assert(0<=t&&t<r.length,"Given index %s
15672is out of bounds. Repeated field length: %s",t,r.length),r[t]):r},goog.proto2.Message.prototype.get$ValueOrDefault=function(t,e){return this.has$Value(t)?this.get$Value(t,e):this.fields_[t].getDefaultValue()},goog.proto2.Message.prototype.array$Values=function(t){return this.getValueForTag_(t)||[]},goog.proto2.Message.prototype.count$Values=function(t){return this.fields_[t].isRepeated()?this.has$Value(t)?this.values_[t].length:0:this.has$Value(t)?1:0},goog.proto2.Message.prototype.set$Value=function(t,e){goog.asserts.ENABLE_ASSERTS&&this.checkFieldType_(this.fields_[t],e),this.values_[t]=e,this.deserializedFields_&&(this.deserializedFields_[t]=e)},goog.proto2.Message.prototype.add$Value=function(t,e){goog.asserts.ENABLE_ASSERTS&&this.checkFieldType_(this.fields_[t],e),this.values_[t]||(this.values_[t]=[]),this.values_[t].push(e),this.deserializedFields_&&delete this.deserializedFields_[t]},goog.proto2.Message.prototype.checkFieldType_=function(t,e){t.getFieldType()==goog.proto2.FieldDescriptor.FieldType.ENUM?goog.asserts.assertNumber(e):goog.asserts.assert(Object(e).constructor==t.getNativeType())},goog.proto2.Message.prototype.clear$Field=function(t){delete this.values_[t],this.deserializedFields_&&delete this.deserializedFields_[t]},goog.proto2.Message.createDescriptor=function(t,e){var r,n=[],i=e[0];for(r in e)0!=r&&n.push(new goog.proto2.FieldDescriptor(t,r,e[r]));return new goog.proto2.Descriptor(t,i,n)},goog.proto2.Serializer=function(){},goog.proto2.Serializer.DECODE_SYMBOLIC_ENUMS=!1,goog.proto2.Serializer.prototype.serialize=goog.abstractMethod,goog.proto2.Serializer.prototype.getSerializedValue=function(t,e){return t.isCompositeType()?this.serialize(e):"number"!=typeof e||isFinite(e)?e:e.toString()},goog.proto2.Serializer.prototype.deserialize=function(t,e){return t=t.createMessageInstance(),this.deserializeTo(t,e),goog.asserts.assert(t instanceof goog.proto2.Message),t},goog.proto2.Serializer.prototype.deserializeTo=goog.abstractMethod,goog.proto2.Serializer.prototype.getDeserializedValue=function(t,e){if(t.isCompositeType())return e instanceof goog.proto2.Message?e:this.deserialize(t.getFieldMessageType(),e);if(t.getFieldType()==goog.proto2.FieldDescriptor.FieldType.ENUM)return goog.proto2.Serializer.DECODE_SYMBOLIC_ENUMS&&"string"==typeof e&&(t=t.getNativeType()).hasOwnProperty(e)?t[e]:"string"==typeof e&&goog.proto2.Serializer.INTEGER_REGEX.test(e)&&0<(t=Number(e))?t:e;if(!t.deserializationConversionPermitted())return e;if((t=t.getNativeType())===String){if("number"==typeof e)return String(e)}else if(t===Number&&"string"==typeof e&&("Infinity"===e||"-Infinity"===e||"NaN"===e||goog.proto2.Serializer.INTEGER_REGEX.test(e)))return Number(e);return e},goog.proto2.Serializer.INTEGER_REGEX=/^-?[0-9]+$/,goog.proto2.LazyDeserializer=function(){},goog.inherits(goog.proto2.LazyDeserializer,goog.proto2.Serializer),goog.proto2.LazyDeserializer.prototype.deserialize=function(t,e){return(t=t.createMessageInstance()).initializeForLazyDeserializer(this,e),goog.asserts.assert(t instanceof goog.proto2.Message),t},goog.proto2.LazyDeserializer.prototype.deserializeTo=function(t,e){throw Error("Unimplemented")},goog.proto2.LazyDeserializer.prototype.deserializeField=goog.abstractMethod,goog.proto2.PbLiteSerializer=function(){},goog.inherits(goog.proto2.PbLiteSerializer,goog.proto2.LazyDeserializer),goog.proto2.PbLiteSerializer.prototype.zeroIndexing_=!1,goog.proto2.PbLiteSerializer.prototype.setZeroIndexed=function(t){this.zeroIndexing_=t},goog.proto2.PbLiteSerializer.prototype.serialize=function(t){for(var e=t.getDescriptor().getFields(),r=[],n=this.zeroIndexing_,i=0;i<e.length;i++){var o=e[i];if(t.has(o)){var s=o.getTag();if(s=n?s-1:s,o.isRepeated()){r[s]=[];for(var a=0;a<t.countOf(o);a++)r[s][a]=this.getSerializedValue(o,t.get(o,a))}else r[s]=this.getSerializedValue(o,t.get(o))}}return t.forEachUnknown((function(t,e){r[n?t-1:t]=e})),r},goog.proto2.PbLiteSerializer.prototype.deserializeField=function(t,e,r){if(null==r)return r;if(e.isRepeated()){t=[],goog.asserts.assert(Array.isArray(r),"Value must be array: %s",r);for(var n=0;n<r.length;n++)t[n]=this.getDeserializedValue(e,r[n]);return t}return this.getDeserializedValue(e,r)}
15672,goog.proto2.PbLiteSerializer.prototype.getSerializedValue=function(t,e){return t.getFieldType()==goog.proto2.FieldDescriptor.FieldType.BOOL?e?1:0:goog.proto2.Serializer.prototype.getSerializedValue.apply(this,arguments)},goog.proto2.PbLiteSerializer.prototype.getDeserializedValue=function(t,e){return t.getFieldType()==goog.proto2.FieldDescriptor.FieldType.BOOL?(goog.asserts.assert("number"==typeof e||"boolean"==typeof e,"Value is expected to be a number or boolean"),!!e):goog.proto2.Serializer.prototype.getDeserializedValue.apply(this,arguments)},goog.proto2.PbLiteSerializer.prototype.deserialize=function(t,e){var r=e;if(this.zeroIndexing_)for(var n in r=[],e)r[parseInt(n,10)+1]=e[n];return goog.proto2.PbLiteSerializer.superClass_.deserialize.call(this,t,r)},goog.string.StringBuffer=function(t,e){null!=t&&this.append.apply(this,arguments)},goog.string.StringBuffer.prototype.buffer_="",goog.string.StringBuffer.prototype.set=function(t){this.buffer_=""+t},goog.string.StringBuffer.prototype.append=function(t,e,r){if(this.buffer_+=String(t),null!=e)for(var n=1;n<arguments.length;n++)this.buffer_+=arguments[n];return this},goog.string.StringBuffer.prototype.clear=function(){this.buffer_=""},goog.string.StringBuffer.prototype.getLength=function(){return this.buffer_.length},goog.string.StringBuffer.prototype.toString=function(){return this.buffer_};var i18n={phonenumbers:{}};i18n.phonenumbers.NumberFormat=function(){goog.proto2.Message.call(this)},goog.inherits(i18n.phonenumbers.NumberFormat,goog.proto2.Message),i18n.phonenumbers.NumberFormat.descriptor_=null,i18n.phonenumbers.NumberFormat.prototype.getPattern=function(){return this.get$Value(1)},i18n.phonenumbers.NumberFormat.prototype.getPatternOrDefault=function(){return this.get$ValueOrDefault(1)},i18n.phonenumbers.NumberFormat.prototype.setPattern=function(t){this.set$Value(1,t)},i18n.phonenumbers.NumberFormat.prototype.hasPattern=function(){return this.has$Value(1)},i18n.phonenumbers.NumberFormat.prototype.patternCount=function(){return this.count$Values(1)},i18n.phonenumbers.NumberFormat.prototype.clearPattern=function(){this.clear$Field(1)},i18n.phonenumbers.NumberFormat.prototype.getFormat=function(){return this.get$Value(2)},i18n.phonenumbers.NumberFormat.prototype.getFormatOrDefault=function(){return this.get$ValueOrDefault(2)},i18n.phonenumbers.NumberFormat.prototype.setFormat=function(t){this.set$Value(2,t)},i18n.phonenumbers.NumberFormat.prototype.hasFormat=function(){return this.has$Value(2)},i18n.phonenumbers.NumberFormat.prototype.formatCount=function(){return this.count$Values(2)},i18n.phonenumbers.NumberFormat.prototype.clearFormat=function(){this.clear$Field(2)},i18n.phonenumbers.NumberFormat.prototype.getLeadingDigitsPattern=function(t){return this.get$Value(3,t)},i18n.phonenumbers.NumberFormat.prototype.getLeadingDigitsPatternOrDefault=function(t){return this.get$ValueOrDefault(3,t)},i18n.phonenumbers.NumberFormat.prototype.addLeadingDigitsPattern=function(t){this.add$Value(3,t)},i18n.phonenumbers.NumberFormat.prototype.leadingDigitsPatternArray=function(){return this.array$Values(3)},i18n.phonenumbers.NumberFormat.prototype.hasLeadingDigitsPattern=function(){return this.has$Value(3)},i18n.phonenumbers.NumberFormat.prototype.leadingDigitsPatternCount=function(){return this.count$Values(3)},i18n.phonenumbers.NumberFormat.prototype.clearLeadingDigitsPattern=function(){this.clear$Field(3)},i18n.phonenumbers.NumberFormat.prototype.getNationalPrefixFormattingRule=function(){return this.get$Value(4)},i18n.phonenumbers.NumberFormat.prototype.getNationalPrefixFormattingRuleOrDefault=function(){return this.get$ValueOrDefault(4)},i18n.phonenumbers.NumberFormat.prototype.setNationalPrefixFormattingRule=function(t){this.set$Value(4,t)},i18n.phonenumbers.NumberFormat.prototype.hasNationalPrefixFormattingRule=function(){return this.has$Value(4)},i18n.phonenumbers.NumberFormat.prototype.nationalPrefixFormattingRuleCount=function(){return this.count$Values(4)},i18n.phonenumbers.NumberFormat.prototype.clearNationalPrefixFormattingRule=function(){this.clear$Field(4)},i18n.phonenumbers.NumberFormat.prototype.getNationalPrefixOptionalWhenFormatting=function(){return this.get$Value(6)},i18n.phonenumbers.NumberFormat.prototype.getNationalPrefixOptionalWhenFormattingOrDefault=function(){return this.get$ValueOrDefault(6)},i18n.phonenumbers.NumberFormat.prototype.setNationalPrefixOptionalWhenFormatting=function(t){this.set$Value(6,t)},i18n.phonenumbers.NumberFormat.prototype.hasNationalPrefixOptionalWhenFormatting=function(){return this.has$Value(6)},i18n.phonenumbers.NumberFormat.prototype.nationalPrefixOptionalWhenFormattingCount=function(){return this.count$Values(6)},i18n.phonenumbers.NumberFormat.prototype.clearNationalPrefixOptionalWhenFormatting=function(){this.clear$Field(6)},i18n.phonenumbers.NumberFormat.prototype.getDomesticCarrierCodeFormattingRule=function(){return this.get$Value(5)},i18n.phonenumbers.NumberFormat.prototype.getDomesticCarrierCodeFormattingRuleOrDefault=function(){return this.get$ValueOrDefault(5)},i18n.phonenumbers.NumberFormat.prototype.setDomesticCarrierCodeFormattingRule=function(t){this.set$Value(5,t)},i18n.phonenumbers.NumberFormat.prototype.hasDomesticCarrierCodeFormattingRule=function(){return this.has$Value(5)},i18n.phonenumbers.NumberFormat.prototype.domesticCarrierCodeFormattingRuleCount=function(){return this.count$Values(5)},i18n.phonenumbers.NumberFormat.prototype.clearDomesticCarrierCodeFormattingRule=function(){this.clear$Field(5)},i18n.phonenumbers.PhoneNumberDesc=function(){goog.proto2.Message.call(this)},goog.inherits(i18n.phonenumbers.PhoneNumberDesc,goog.proto2.Message),i18n.phonenumbers.PhoneNumberDesc.descriptor_=null,i18n.phonenumbers.PhoneNumberDesc.prototype.getNationalNumberPattern=function(){return this.get$Value(2)},i18n.phonenumbers.PhoneNumberDesc.prototype.getNationalNumberPatternOrDefault=function(){return this.get$ValueOrDefault(2)},i18n.phonenumbers.PhoneNumberDesc.prototype.setNationalNumberPattern=function(t){this.set$Value(2,t)},i18n.phonenumbers.PhoneNumberDesc.prototype.hasNationalNumberPattern=function(){return this.has$Value(2)},i18n.phonenumbers.PhoneNumberDesc.prototype.nationalNumberPatternCount=function(){return this.count$Values(2)},i18n.phonenumbers.PhoneNumberDesc.prototype.clearNationalNumberPattern=function(){this.clear$Field(2)},i18n.phonenumbers.PhoneNumberDesc.prototype.getPossibleLength=function(t){return this.get$Value(9,t)},i18n.phonenumbers.PhoneNumberDesc.prototype.getPossibleLengthOrDefault=function(t){return this.get$ValueOrDefault(9,t)},i18n.phonenumbers.PhoneNumberDesc.prototype.addPossibleLength=function(t){this.add$Value(9,t)},i18n.phonenumbers.PhoneNumberDesc.prototype.possibleLengthArray=function(){return this.array$Values(9)},i18n.phonenumbers.PhoneNumberDesc.prototype.hasPossibleLength=function(){return this.has$Value(9)},i18n.phonenumbers.PhoneNumberDesc.prototype.possibleLengthCount=function(){return this.count$Values(9)},i18n.phonenumbers.PhoneNumberDesc.prototype.clearPossibleLength=function(){this.clear$Field(9)},i18n.phonenumbers.PhoneNumberDesc.prototype.getPossibleLengthLocalOnly=function(t){return this.get$Value(10,t)},i18n.phonenumbers.PhoneNumberDesc.prototype.getPossibleLengthLocalOnlyOrDefault=function(t){return this.get$ValueOrDefault(10,t)},i18n.phonenumbers.PhoneNumberDesc.prototype.addPossibleLengthLocalOnly=function(t){this.add$Value(10,t)},i18n.phonenumbers.PhoneNumberDesc.prototype.possibleLengthLocalOnlyArray=function(){return this.array$Values(10)},i18n.phonenumbers.PhoneNumberDesc.prototype.hasPossibleLengthLocalOnly=function(){return this.has$Value(10)},i18n.phonenumbers.PhoneNumberDesc.prototype.possibleLengthLocalOnlyCount=function(){return this.count$Values(10)},i18n.phonenumbers.PhoneNumberDesc.prototype.clearPossibleLengthLocalOnly=function(){this.clear$Field(10)},i18n.phonenumbers.PhoneNumberDesc.prototype.getExampleNumber=function(){return this.get$Value(6)},i18n.phonenumbers.PhoneNumberDesc.prototype.getExampleNumberOrDefault=function(){return this.get$ValueOrDefault(6)},i18n.phonenumbers.PhoneNumberDesc.prototype.setExampleNumber=function(t){this.set$Value(6,t)},i18n.phonenumbers.PhoneNumberDesc.prototype.hasExampleNumber=function(){return this.has$Value(6)},i18n.phonenumbers.PhoneNumberDesc.prototype.exampleNumberCount=function(){return this.count$Values(6)},i18n.phonenumbers.PhoneNumberDesc.prototype.clearExampleNumber=function(){this.clear$Field(6)},i18n.phonenumbers.PhoneMetadata=function(){goog.proto2.Message.call(this)},goog.inherits(i18n.phonenumbers.PhoneMetadata,goog.proto2.Message),i18n.phonenumbers.PhoneMetadata.descriptor_=null,i18n.phonenumbers.PhoneMetadata.prototype.getGeneralDesc=function(){return this.get$Value(1)},i18n.phonenumbers.PhoneMetadata.prototype.getGeneralDescOrDefault=function(){return this.get$ValueOrDefault(1)},i18n.phonenumbers.PhoneMetadata.prototype.setGeneralDesc=function(t){this.set$Value(1,t)},i18n.phonenumbers.PhoneMetadata.prototype.hasGeneralDesc=function(){return this.has$Value(1)},i18n.phonenumbers.PhoneMetadata.prototype.generalDescCount=function(){return this.count$Values(1)},i18n.phonenumbers.PhoneMetadata.prototype.clearGeneralDesc=function(){this.clear$Field(1)},i18n.phonenumbers.PhoneMetadata.prototype.getFixedLine=function(){return this.get$Value(2)},i18n.phonenumbers.PhoneMetadata.prototype.getFixedLineOrDefault=function(){return this.get$ValueOrDefault(2)},i18n.phonenumbers.PhoneMetadata.prototype.setFixedLine=function(t){this.set$Value(2,t)},i18n.phonenumbers.PhoneMetadata.prototype.hasFixedLine=function(){return this.has$Value(2)},i18n.phonenumbers.PhoneMetadata.prototype.fixedLineCount=function(){return this.count$Values(2)},i18n.phonenumbers.PhoneMetadata.prototype.clearFixedLine=function(){this.clear$Field(2)},i18n.phonenumbers.PhoneMetadata.prototype.getMobile=function(){return this.get$Value(3)},i18n.phonenumbers.PhoneMetadata.prototype.getMobileOrDefault=function(){return this.get$ValueOrDefault(3)},i18n.phonenumbers.PhoneMetadata.prototype.setMobile=function(t){this.set$Value(3,t)},i18n.phonenumbers.PhoneMetadata.prototype.hasMobile=function(){return this.has$Value(3)},i18n.phonenumbers.PhoneMetadata.prototype.mobileCount=function(){return this.count$Values(3)},i18n.phonenumbers.PhoneMetadata.prototype.clearMobile=function(){this.clear$Field(3)},i18n.phonenumbers.PhoneMetadata.prototype.getTollFree=function(){return this.get$Value(4)},i18n.phonenumbers.PhoneMetadata.prototype.getTollFreeOrDefault=function(){return this.get$ValueOrDefault(4)},i18n.phonenumbers.PhoneMetadata.prototype.setTollFree=function(t){this.set$Value(4,t)},i18n.phonenumbers.PhoneMetadata.prototype.hasTollFree=function(){return this.has$Value(4)},i18n.phonenumbers.PhoneMetadata.prototype.tollFreeCount=function(){return this.count$Values(4)},i18n.phonenumbers.PhoneMetadata.prototype.clearTollFree=function(){this.clear$Field(4)},i18n.phonenumbers.PhoneMetadata.prototype.getPremiumRate=function(){return this.get$Value(5)},i18n.phonenumbers.PhoneMetadata.prototype.getPremiumRateOrDefault=function(){return this.get$ValueOrDefault(5)},i18n.phonenumbers.PhoneMetadata.prototype.setPremiumRate=function(t){this.set$Value(5,t)},i18n.phonenumbers.PhoneMetadata.prototype.hasPremiumRate=function(){return this.has$Value(5)},i18n.phonenumbers.PhoneMetadata.prototype.premiumRateCount=function(){return this.count$Values(5)},i18n.phonenumbers.PhoneMetadata.prototype.clearPremiumRate=function(){this.clear$Field(5)},i18n.phonenumbers.PhoneMetadata.prototype.getSharedCost=function(){return this.get$Value(6)},i18n.phonenumbers.PhoneMetadata.prototype.getSharedCostOrDefault=function(){return this.get$ValueOrDefault(6)},i18n.phonenumbers.PhoneMetadata.prototype.setSharedCost=function(t){this.set$Value(6,t)},i18n.phonenumbers.PhoneMetadata.prototype.hasSharedCost=function(){return this.has$Value(6)},i18n.phonenumbers.PhoneMetadata.prototype.sharedCostCount=function(){return this.count$Values(6)},i18n.phonenumbers.PhoneMetadata.prototype.clearSharedCost=function(){this.clear$Field(6)},i18n.phonenumbers.PhoneMetadata.prototype.getPersonalNumber=function(){return this.get$Value(7)},i18n.phonenumbers.PhoneMetadata.prototype.getPersonalNumberOrDefault=function(){return this.get$ValueOrDefault(7)},i18n.phonenumbers.PhoneMetadata.prototype.setPersonalNumber=function(t){this.set$Value(7,t)},i18n.phonenumbers.PhoneMetadata.prototype.hasPersonalNumber=function(){return this.has$Value(7)},i18n.phonenumbers.PhoneMetadata.prototype.personalNumberCount=function(){return this.count$Values(7)},i18n.phonenumbers.PhoneMetadata.prototype.clearPersonalNumber=function(){this.clear$Field(7)},i18n.phonenumbers.PhoneMetadata.prototype.getVoip=function(){return this.get$Value(8)},i18n.phonenumbers.PhoneMetadata.prototype.getVoipOrDefault=function(){return this.get$ValueOrDefault(8)},i18n.phonenumbers.PhoneMetadata.prototype.setVoip=function(t){this.set$Value(8,t)},i18n.phonenumbers.PhoneMetadata.prototype.hasVoip=function(){return this.has$Value(8)},i18n.phonenumbers.PhoneMetadata.prototype.voipCount=function(){return this.count$Values(8)},i18n.phonenumbers.PhoneMetadata.prototype.clearVoip=function(){this.clear$Field(8)},i18n.phonenumbers.PhoneMetadata.prototype.getPager=function(){return this.get$Value(21)},i18n.phonenumbers.PhoneMetadata.prototype.getPagerOrDefault=function(){return this.get$ValueOrDefault(21)},i18n.phonenumbers.PhoneMetadata.prototype.setPager=function(t){this.set$Value(21,t)},i18n.phonenumbers.PhoneMetadata.prototype.hasPager=function(){return this.has$Value(21)},i18n.phonenumbers.PhoneMetadata.prototype.pagerCount=function(){return this.count$Values(21)},i18n.phonenumbers.PhoneMetadata.prototype.clearPager=function(){this.clear$Field(21)},i18n.phonenumbers.PhoneMetadata.prototype.getUan=function(){return this.get$Value(25)},i18n.phonenumbers.PhoneMetadata.prototype.getUanOrDefault=function(){return this.get$ValueOrDefault(25)},i18n.phonenumbers.PhoneMetadata.prototype.setUan=function(t){this.set$Value(25,t)},i18n.phonenumbers.PhoneMetadata.prototype.hasUan=function(){return this.has$Value(25)},i18n.phonenumbers.PhoneMetadata.prototype.uanCount=function(){return this.count$Values(25)},i18n.phonenumbers.PhoneMetadata.prototype.clearUan=function(){this.clear$Field(25)},i18n.phonenumbers.PhoneMetadata.prototype.getEmergency=function(){return this.get$Value(27)},i18n.phonenumbers.PhoneMetadata.prototype.getEmergencyOrDefault=function(){return this.get$ValueOrDefault(27)},i18n.phonenumbers.PhoneMetadata.prototype.setEmergency=function(t){this.set$Value(27,t)},i18n.phonenumbers.PhoneMetadata.prototype.hasEmergency=function(){return this.has$Value(27)},i18n.phonenumbers.PhoneMetadata.prototype.emergencyCount=function(){return this.count$Values(27)},i18n.phonenumbers.PhoneMetadata.prototype.clearEmergency=function(){this.clear$Field(27)},i18n.phonenumbers.PhoneMetadata.prototype.getVoicemail=function(){return this.get$Value(28)},i18n.phonenumbers.PhoneMetadata.prototype.getVoicemailOrDefault=function(){return this.get$ValueOrDefault(28)},i18n.phonenumbers.PhoneMetadata.prototype.setVoicemail=function(t){this.set$Value(28,t)},i18n.phonenumbers.PhoneMetadata.prototype.hasVoicemail=function(){return this.has$Value(28)},i18n.phonenumbers.PhoneMetadata.prototype.voicemailCount=function(){return this.count$Values(28)},i18n.phonenumbers.PhoneMetadata.prototype.clearVoicemail=function(){this.clear$Field(28)},i18n.phonenumbers.PhoneMetadata.prototype.getShortCode=function(){return this.get$Value(29)},i18n.phonenumbers.PhoneMetadata.prototype.getShortCodeOrDefault=function(){return this.get$ValueOrDefault(29)},i18n.phonenumbers.PhoneMetadata.prototype.setShortCode=function(t){this.set$Value(29,t)},i18n.phonenumbers.PhoneMetadata.prototype.hasShortCode=function(){return this.has$Value(29)},i18n.phonenumbers.PhoneMetadata.prototype.shortCodeCount=function(){return this.count$Values(29)},i18n.phonenumbers.PhoneMetadata.prototype.clearShortCode=function(){this.clear$Field(29)},i18n.phonenumbers.PhoneMetadata.prototype.getStandardRate=function(){return this.get$Value(30)},i18n.phonenumbers.PhoneMetadata.prototype.getStandardRateOrDefault=function(){return this.get$ValueOrDefault(30)},i18n.phonenumbers.PhoneMetadata.prototype.setStandardRate=function(t){this.set$Value(30,t)},i18n.phonenumbers.PhoneMetadata.prototype.hasS
15672tandardRate=function(){return this.has$Value(30)},i18n.phonenumbers.PhoneMetadata.prototype.standardRateCount=function(){return this.count$Values(30)},i18n.phonenumbers.PhoneMetadata.prototype.clearStandardRate=function(){this.clear$Field(30)},i18n.phonenumbers.PhoneMetadata.prototype.getCarrierSpecific=function(){return this.get$Value(31)},i18n.phonenumbers.PhoneMetadata.prototype.getCarrierSpecificOrDefault=function(){return this.get$ValueOrDefault(31)},i18n.phonenumbers.PhoneMetadata.prototype.setCarrierSpecific=function(t){this.set$Value(31,t)},i18n.phonenumbers.PhoneMetadata.prototype.hasCarrierSpecific=function(){return this.has$Value(31)},i18n.phonenumbers.PhoneMetadata.prototype.carrierSpecificCount=function(){return this.count$Values(31)},i18n.phonenumbers.PhoneMetadata.prototype.clearCarrierSpecific=function(){this.clear$Field(31)},i18n.phonenumbers.PhoneMetadata.prototype.getSmsServices=function(){return this.get$Value(33)},i18n.phonenumbers.PhoneMetadata.prototype.getSmsServicesOrDefault=function(){return this.get$ValueOrDefault(33)},i18n.phonenumbers.PhoneMetadata.prototype.setSmsServices=function(t){this.set$Value(33,t)},i18n.phonenumbers.PhoneMetadata.prototype.hasSmsServices=function(){return this.has$Value(33)},i18n.phonenumbers.PhoneMetadata.prototype.smsServicesCount=function(){return this.count$Values(33)},i18n.phonenumbers.PhoneMetadata.prototype.clearSmsServices=function(){this.clear$Field(33)},i18n.phonenumbers.PhoneMetadata.prototype.getNoInternationalDialling=function(){return this.get$Value(24)},i18n.phonenumbers.PhoneMetadata.prototype.getNoInternationalDiallingOrDefault=function(){return this.get$ValueOrDefault(24)},i18n.phonenumbers.PhoneMetadata.prototype.setNoInternationalDialling=function(t){this.set$Value(24,t)},i18n.phonenumbers.PhoneMetadata.prototype.hasNoInternationalDialling=function(){return this.has$Value(24)},i18n.phonenumbers.PhoneMetadata.prototype.noInternationalDiallingCount=function(){return this.count$Values(24)},i18n.phonenumbers.PhoneMetadata.prototype.clearNoInternationalDialling=function(){this.clear$Field(24)},i18n.phonenumbers.PhoneMetadata.prototype.getId=function(){return this.get$Value(9)},i18n.phonenumbers.PhoneMetadata.prototype.getIdOrDefault=function(){return this.get$ValueOrDefault(9)},i18n.phonenumbers.PhoneMetadata.prototype.setId=function(t){this.set$Value(9,t)},i18n.phonenumbers.PhoneMetadata.prototype.hasId=function(){return this.has$Value(9)},i18n.phonenumbers.PhoneMetadata.prototype.idCount=function(){return this.count$Values(9)},i18n.phonenumbers.PhoneMetadata.prototype.clearId=function(){this.clear$Field(9)},i18n.phonenumbers.PhoneMetadata.prototype.getCountryCode=function(){return this.get$Value(10)},i18n.phonenumbers.PhoneMetadata.prototype.getCountryCodeOrDefault=function(){return this.get$ValueOrDefault(10)},i18n.phonenumbers.PhoneMetadata.prototype.setCountryCode=function(t){this.set$Value(10,t)},i18n.phonenumbers.PhoneMetadata.prototype.hasCountryCode=function(){return this.has$Value(10)},i18n.phonenumbers.PhoneMetadata.prototype.countryCodeCount=function(){return this.count$Values(10)},i18n.phonenumbers.PhoneMetadata.prototype.clearCountryCode=function(){this.clear$Field(10)},i18n.phonenumbers.PhoneMetadata.prototype.getInternationalPrefix=function(){return this.get$Value(11)},i18n.phonenumbers.PhoneMetadata.prototype.getInternationalPrefixOrDefault=function(){return this.get$ValueOrDefault(11)},i18n.phonenumbers.PhoneMetadata.prototype.setInternationalPrefix=function(t){this.set$Value(11,t)},i18n.phonenumbers.PhoneMetadata.prototype.hasInternationalPrefix=function(){return this.has$Value(11)},i18n.phonenumbers.PhoneMetadata.prototype.internationalPrefixCount=function(){return this.count$Values(11)},i18n.phonenumbers.PhoneMetadata.prototype.clearInternationalPrefix=function(){this.clear$Field(11)},i18n.phonenumbers.PhoneMetadata.prototype.getPreferredInternationalPrefix=function(){return this.get$Value(17)},i18n.phonenumbers.PhoneMetadata.prototype.getPreferredInternationalPrefixOrDefault=function(){return this.get$ValueOrDefault(17)},i18n.phonenumbers.PhoneMetadata.prototype.setPreferredInternationalPrefix=function(t){this.set$Value(17,t)},i18n.phonenumbers.PhoneMetadata.prototype.hasPreferredInternationalPrefix=function(){return this.has$Value(17)},i18n.phonenumbers.PhoneMetadata.prototype.preferredInternationalPrefixCount=function(){return this.count$Values(17)},i18n.phonenumbers.PhoneMetadata.prototype.clearPreferredInternationalPrefix=function(){this.clear$Field(17)},i18n.phonenumbers.PhoneMetadata.prototype.getNationalPrefix=function(){return this.get$Value(12)},i18n.phonenumbers.PhoneMetadata.prototype.getNationalPrefixOrDefault=function(){return this.get$ValueOrDefault(12)},i18n.phonenumbers.PhoneMetadata.prototype.setNationalPrefix=function(t){this.set$Value(12,t)},i18n.phonenumbers.PhoneMetadata.prototype.hasNationalPrefix=function(){return this.has$Value(12)},i18n.phonenumbers.PhoneMetadata.prototype.nationalPrefixCount=function(){return this.count$Values(12)},i18n.phonenumbers.PhoneMetadata.prototype.clearNationalPrefix=function(){this.clear$Field(12)},i18n.phonenumbers.PhoneMetadata.prototype.getPreferredExtnPrefix=function(){return this.get$Value(13)},i18n.phonenumbers.PhoneMetadata.prototype.getPreferredExtnPrefixOrDefault=function(){return this.get$ValueOrDefault(13)},i18n.phonenumbers.PhoneMetadata.prototype.setPreferredExtnPrefix=function(t){this.set$Value(13,t)},i18n.phonenumbers.PhoneMetadata.prototype.hasPreferredExtnPrefix=function(){return this.has$Value(13)},i18n.phonenumbers.PhoneMetadata.prototype.preferredExtnPrefixCount=function(){return this.count$Values(13)},i18n.phonenumbers.PhoneMetadata.prototype.clearPreferredExtnPrefix=function(){this.clear$Field(13)},i18n.phonenumbers.PhoneMetadata.prototype.getNationalPrefixForParsing=function(){return this.get$Value(15)},i18n.phonenumbers.PhoneMetadata.prototype.getNationalPrefixForParsingOrDefault=function(){return this.get$ValueOrDefault(15)},i18n.phonenumbers.PhoneMetadata.prototype.setNationalPrefixForParsing=function(t){this.set$Value(15,t)},i18n.phonenumbers.PhoneMetadata.prototype.hasNationalPrefixForParsing=function(){return this.has$Value(15)},i18n.phonenumbers.PhoneMetadata.prototype.nationalPrefixForParsingCount=function(){return this.count$Values(15)},i18n.phonenumbers.PhoneMetadata.prototype.clearNationalPrefixForParsing=function(){this.clear$Field(15)},i18n.phonenumbers.PhoneMetadata.prototype.getNationalPrefixTransformRule=function(){return this.get$Value(16)},i18n.phonenumbers.PhoneMetadata.prototype.getNationalPrefixTransformRuleOrDefault=function(){return this.get$ValueOrDefault(16)},i18n.phonenumbers.PhoneMetadata.prototype.setNationalPrefixTransformRule=function(t){this.set$Value(16,t)},i18n.phonenumbers.PhoneMetadata.prototype.hasNationalPrefixTransformRule=function(){return this.has$Value(16)},i18n.phonenumbers.PhoneMetadata.prototype.nationalPrefixTransformRuleCount=function(){return this.count$Values(16)},i18n.phonenumbers.PhoneMetadata.prototype.clearNationalPrefixTransformRule=function(){this.clear$Field(16)},i18n.phonenumbers.PhoneMetadata.prototype.getSameMobileAndFixedLinePattern=function(){return this.get$Value(18)},i18n.phonenumbers.PhoneMetadata.prototype.getSameMobileAndFixedLinePatternOrDefault=function(){return this.get$ValueOrDefault(18)},i18n.phonenumbers.PhoneMetadata.prototype.setSameMobileAndFixedLinePattern=function(t){this.set$Value(18,t)},i18n.phonenumbers.PhoneMetadata.prototype.hasSameMobileAndFixedLinePattern=function(){return this.has$Value(18)},i18n.phonenumbers.PhoneMetadata.prototype.sameMobileAndFixedLinePatternCount=function(){return this.count$Values(18)},i18n.phonenumbers.PhoneMetadata.prototype.clearSameMobileAndFixedLinePattern=function(){this.clear$Field(18)},i18n.phonenumbers.PhoneMetadata.prototype.getNumberFormat=function(t){return this.get$Value(19,t)},i18n.phonenumbers.PhoneMetadata.prototype.getNumberFormatOrDefault=function(t){return this.get$ValueOrDefault(19,t)},i18n.phonenumbers.PhoneMetadata.prototype.addNumberFormat=function(t){this.add$Value(19,t)},i18n.phonenumbers.PhoneMetadata.prototype.numberFormatArray=function(){return this.array$Values(19)},i18n.phonenumbers.PhoneMetadata.prototype.hasNumberFormat=function(){return this.has$Value(19)},i18n.phonenumbers.PhoneMetadata.prototype.numberFormatCount=function(){return this.count$Values(19)},i18n.phonenumbers.PhoneMetadata.prototype.clearNumberFormat=function(){this.clear$Field(19)},i18n.phonenumbers.PhoneMetadata.prototype.getIntlNumberFormat=function(t){return this.get$Value(20,t)},i18n.phonenumbers.PhoneMetadata.prototype.getIntlNumberFormatOrDefault=function(t){return this.get$ValueOrDefault(20,t)},i18n.phonenumbers.PhoneMetadata.prototype.addIntlNumberFormat=function(t){this.add$Value(20,t)},i18n.phonenumbers.PhoneMetadata.prototype.intlNumberFormatArray=function(){return this.array$Values(20)},i18n.phonenumbers.PhoneMetadata.prototype.hasIntlNumberFormat=function(){return this.has$Value(20)},i18n.phonenumbers.PhoneMetadata.prototype.intlNumberFormatCount=function(){return this.count$Values(20)},i18n.phonenumbers.PhoneMetadata.prototype.clearIntlNumberFormat=function(){this.clear$Field(20)},i18n.phonenumbers.PhoneMetadata.prototype.getMainCountryForCode=function(){return this.get$Value(22)},i18n.phonenumbers.PhoneMetadata.prototype.getMainCountryForCodeOrDefault=function(){return this.get$ValueOrDefault(22)},i18n.phonenumbers.PhoneMetadata.prototype.setMainCountryForCode=function(t){this.set$Value(22,t)},i18n.phonenumbers.PhoneMetadata.prototype.hasMainCountryForCode=function(){return this.has$Value(22)},i18n.phonenumbers.PhoneMetadata.prototype.mainCountryForCodeCount=function(){return this.count$Values(22)},i18n.phonenumbers.PhoneMetadata.prototype.clearMainCountryForCode=function(){this.clear$Field(22)},i18n.phonenumbers.PhoneMetadata.prototype.getLeadingDigits=function(){return this.get$Value(23)},i18n.phonenumbers.PhoneMetadata.prototype.getLeadingDigitsOrDefault=function(){return this.get$ValueOrDefault(23)},i18n.phonenumbers.PhoneMetadata.prototype.setLeadingDigits=function(t){this.set$Value(23,t)},i18n.phonenumbers.PhoneMetadata.prototype.hasLeadingDigits=function(){return this.has$Value(23)},i18n.phonenumbers.PhoneMetadata.prototype.leadingDigitsCount=function(){return this.count$Values(23)},i18n.phonenumbers.PhoneMetadata.prototype.clearLeadingDigits=function(){this.clear$Field(23)},i18n.phonenumbers.PhoneMetadataCollection=function(){goog.proto2.Message.call(this)},goog.inherits(i18n.phonenumbers.PhoneMetadataCollection,goog.proto2.Message),i18n.phonenumbers.PhoneMetadataCollection.descriptor_=null,i18n.phonenumbers.PhoneMetadataCollection.prototype.getMetadata=function(t){return this.get$Value(1,t)},i18n.phonenumbers.PhoneMetadataCollection.prototype.getMetadataOrDefault=function(t){return this.get$ValueOrDefault(1,t)},i18n.phonenumbers.PhoneMetadataCollection.prototype.addMetadata=function(t){this.add$Value(1,t)},i18n.phonenumbers.PhoneMetadataCollection.prototype.metadataArray=function(){return this.array$Values(1)},i18n.phonenumbers.PhoneMetadataCollection.prototype.hasMetadata=function(){return this.has$Value(1)},i18n.phonenumbers.PhoneMetadataCollection.prototype.metadataCount=function(){return this.count$Values(1)},i18n.phonenumbers.PhoneMetadataCollection.prototype.clearMetadata=function(){this.clear$Field(1)},i18n.phonenumbers.NumberFormat.prototype.getDescriptor=function(){var t=i18n.phonenumbers.NumberFormat.descriptor_;
vendor: 4,182 bytes, line 15672
15672return t||(i18n.phonenumbers.NumberFormat.descriptor_=t=goog.proto2.Message.createDescriptor(i18n.phonenumbers.NumberFormat,{0:{name:"NumberFormat",fullName:"i18n.phonenumbers.NumberFormat"},1:{name:"pattern",required:!0,fieldType:goog.proto2.Message.FieldType.STRING,type:String},2:{name:"format",required:!0,fieldType:goog.proto2.Message.FieldType.STRING,type:String},3:{name:"leading_digits_pattern",repeated:!0,fieldType:goog.proto2.Message.FieldType.STRING,type:String},4:{name:"national_prefix_formatting_rule",fieldType:goog.proto2.Message.FieldType.STRING,type:String},6:{name:"national_prefix_optional_when_formatting",fieldType:goog.proto2.Message.FieldType.BOOL,defaultValue:!1,type:Boolean},5:{name:"domestic_carrier_code_formatting_rule",fieldType:goog.proto2.Message.FieldType.STRING,type:String}})),t},i18n.phonenumbers.NumberFormat.getDescriptor=i18n.phonenumbers.NumberFormat.prototype.getDescriptor,i18n.phonenumbers.PhoneNumberDesc.prototype.getDescriptor=function(){var t=i18n.phonenumbers.PhoneNumberDesc.descriptor_;return t||(i18n.phonenumbers.PhoneNumberDesc.descriptor_=t=goog.proto2.Message.createDescriptor(i18n.phonenumbers.PhoneNumberDesc,{0:{name:"PhoneNumberDesc",fullName:"i18n.phonenumbers.PhoneNumberDesc"},2:{name:"national_number_pattern",fieldType:goog.proto2.Message.FieldType.STRING,type:String},9:{name:"possible_length",repeated:!0,fieldType:goog.proto2.Message.FieldType.INT32,type:Number},10:{name:"possible_length_local_only",repeated:!0,fieldType:goog.proto2.Message.FieldType.INT32,type:Number},6:{name:"example_number",fieldType:goog.proto2.Message.FieldType.STRING,type:String}})),t},i18n.phonenumbers.PhoneNumberDesc.getDescriptor=i18n.phonenumbers.PhoneNumberDesc.prototype.getDescriptor,i18n.phonenumbers.PhoneMetadata.prototype.getDescriptor=function(){var t=i18n.phonenumbers.PhoneMetadata.descriptor_;return t||(i18n.phonenumbers.PhoneMetadata.descriptor_=t=goog.proto2.Message.createDescriptor(i18n.phonenumbers.PhoneMetadata,{0:{name:"PhoneMetadata",fullName:"i18n.phonenumbers.PhoneMetadata"},1:{name:"general_desc",fieldType:goog.proto2.Message.FieldType.MESSAGE,type:i18n.phonenumbers.PhoneNumberDesc},2:{name:"fixed_line",fieldType:goog.proto2.Message.FieldType.MESSAGE,type:i18n.phonenumbers.PhoneNumberDesc},3:{name:"mobile",fieldType:goog.proto2.Message.FieldType.MESSAGE,type:i18n.phonenumbers.PhoneNumberDesc},4:{name:"toll_free",fieldType:goog.proto2.Message.FieldType.MESSAGE,type:i18n.phonenumbers.PhoneNumberDesc},5:{name:"premium_rate",fieldType:goog.proto2.Message.FieldType.MESSAGE,type:i18n.phonenumbers.PhoneNumberDesc},6:{name:"shared_cost",fieldType:goog.proto2.Message.FieldType.MESSAGE,type:i18n.phonenumbers.PhoneNumberDesc},7:{name:"personal_number",fieldType:goog.proto2.Message.FieldType.MESSAGE,type:i18n.phonenumbers.PhoneNumberDesc},8:{name:"voip",fieldType:goog.proto2.Message.FieldType.MESSAGE,type:i18n.phonenumbers.PhoneNumberDesc},21:{name:"pager",fieldType:goog.proto2.Message.FieldType.MESSAGE,type:i18n.phonenumbers.PhoneNumberDesc},25:{name:"uan",fieldType:goog.proto2.Message.FieldType.MESSAGE,type:i18n.phonenumbers.PhoneNumberDesc},27:{name:"emergency",fieldType:goog.proto2.Message.FieldType.MESSAGE,type:i18n.phonenumbers.PhoneNumberDesc},28:{name:"voicemail",fieldType:goog.proto2.Message.FieldType.MESSAGE,type:i18n.phonenumbers.PhoneNumberDesc},29:{name:"short_code",fieldType:goog.proto2.Message.FieldType.MESSAGE,type:i18n.phonenumbers.PhoneNumberDesc},30:{name:"standard_rate",fieldType:goog.proto2.Message.FieldType.MESSAGE,type:i18n.phonenumbers.PhoneNumberDesc},31:{name:"carrier_specific",fieldType:goog.proto2.Message.FieldType.MESSAGE,type:i18n.phonenumbers.PhoneNumberDesc},33:{name:"sms_services",fieldType:goog.proto2.Message.FieldType.MESSAGE,type:i18n.phonenumbers.PhoneNumberDesc},24:{name:"no_international_dialling",fieldType:goog.proto2.Message.FieldType.MESSAGE,type:i18n.phonenumbers.PhoneNumberDesc},9:{name:"id",required:!0,fieldType:goog.proto2.Message.FieldType.STRING,type:String},10:{name:"country_code",fieldType:goog.proto2.Message.FieldType.INT32,type:Number},11:{name:"international_prefix",fieldType:goog.proto2.Message.FieldType.STRING,type:String}
15672,17:{name:"preferred_international_prefix",fieldType:goog.proto2.Message.FieldType.STRING,type:String},12:{name:"national_prefix",fieldType:goog.proto2.Message.FieldType.STRING,type:String},13:{name:"preferred_extn_prefix",fieldType:goog.proto2.Message.FieldType.STRING,type:String},15:{name:"national_prefix_for_parsing",fieldType:goog.proto2.Message.FieldType.STRING,type:String},16:{name:"national_prefix_transform_rule",fieldType:goog.proto2.Message.FieldType.STRING,type:String},18:{name:"same_mobile_and_fixed_line_pattern",fieldType:goog.proto2.Message.FieldType.BOOL,defaultValue:!1,type:Boolean},19:{name:"number_format",repeated:!0,fieldType:goog.proto2.Message.FieldType.MESSAGE,type:i18n.phonenumbers.NumberFormat},20:{name:"intl_number_format",repeated:!0,fieldType:goog.proto2.Message.FieldType.MESSAGE,type:i18n.phonenumbers.NumberFormat},22:{name:"main_country_for_code",fieldType:goog.proto2.Message.FieldType.BOOL,defaultValue:!1,type:Boolean},23:{name:"leading_digits",fieldType:goog.proto2.Message.FieldType.STRING,type:String}})),t},i18n.phonenumbers.PhoneMetadata.getDescriptor=i18n.phonenumbers.PhoneMetadata.prototype.getDescriptor,i18n.phonenumbers.PhoneMetadataCollection.prototype.getDescriptor=function(){var t=i18n.phonenumbers.PhoneMetadataCollection.descriptor_;return t||(i18n.phonenumbers.PhoneMetadataCollection.descriptor_=t=goog.proto2.Message.createDescriptor(i18n.phonenumbers.PhoneMetadataCollection,{0:{name:"PhoneMetadataCollection",fullName:"i18n.phonenumbers.PhoneMetadataCollection"},1:{name:"metadata",repeated:!0,fieldType:goog.proto2.Message.FieldType.MESSAGE,type:i18n.phonenumbers.PhoneMetadata}})),t},i18n.phonenumbers.PhoneMetadataCollection.getDescriptor=i18n.phonenumbers.PhoneMetadataCollection.prototype.getDescriptor,i18n.phonenumbers.PhoneNumber=function(){goog.proto2.Message.call(this)},goog.inherits(i18n.phonenumbers.PhoneNumber,goog.proto2.Message),i18n.phonenumbers.PhoneNumber.descriptor_=null,i18n.phonenumbers.PhoneNumber.prototype.getCountryCode=function(){return this.get$Value(1)},i18n.phonenumbers.PhoneNumber.prototype.getCountryCodeOrDefault=function(){return this.get$ValueOrDefault(1)},i18n.phonenumbers.PhoneNumber.prototype.setCountryCode=function(t){this.set$Value(1,t)},i18n.phonenumbers.PhoneNumber.prototype.hasCountryCode=function(){return this.has$Value(1)},i18n.phonenumbers.PhoneNumber.prototype.countryCodeCount=function(){return this.count$Values(1)},i18n.phonenumbers.PhoneNumber.prototype.clearCountryCode=function(){this.clear$Field(1)},i18n.phonenumbers.PhoneNumber.prototype.getNationalNumber=function(){return this.get$Value(2)},i18n.phonenumbers.PhoneNumber.prototype.getNationalNumberOrDefault=function(){return this.get$ValueOrDefault(2)},i18n.phonenumbers.PhoneNumber.prototype.setNationalNumber=function(t){this.set$Value(2,t)},i18n.phonenumbers.PhoneNumber.prototype.hasNationalNumber=function(){return this.has$Value(2)},i18n.phonenumbers.PhoneNumber.prototype.nationalNumberCount=function(){return this.count$Values(2)},i18n.phonenumbers.PhoneNumber.prototype.clearNationalNumber=function(){this.clear$Field(2)},i18n.phonenumbers.PhoneNumber.prototype.getExtension=function(){return this.get$Value(3)},i18n.phonenumbers.PhoneNumber.prototype.getExtensionOrDefault=function(){return this.get$ValueOrDefault(3)},i18n.phonenumbers.PhoneNumber.prototype.setExtension=function(t){this.set$Value(3,t)},i18n.phonenumbers.PhoneNumber.prototype.hasExtension=function(){return this.has$Value(3)},i18n.phonenumbers.PhoneNumber.prototype.extensionCount=function(){return this.count$Values(3)},i18n.phonenumbers.PhoneNumber.prototype.clearExtension=function(){this.clear$Field(3)},i18n.phonenumbers.PhoneNumber.prototype.getItalianLeadingZero=function(){return this.get$Value(4)},i18n.phonenumbers.PhoneNumber.prototype.getItalianLeadingZeroOrDefault=function(){return this.get$ValueOrDefault(4)},i18n.phonenumbers.PhoneNumber.prototype.setItalianLeadingZero=function(t){this.set$Value(4,t)},i18n.phonenumbers.PhoneNumber.prototype.hasItalianLeadingZero=function(){return this.has$Value(4)},i18n.phonenumbers.PhoneNumber.prototype.italianLeadingZeroCount=function(){return this.count$Values(4)},i18n.phonenumbers.PhoneNumber.prototype.clearItalianLeadingZero=function(){this.clear$Field(4)},i18n.phonenumbers.PhoneNumber.prototype.getNumberOfLeadingZeros=function(){return this.get$Value(8)},i18n.phonenumbers.PhoneNumber.prototype.getNumberOfLeadingZerosOrDefault=function(){return this.get$ValueOrDefault(8)},i18n.phonenumbers.PhoneNumber.prototype.setNumberOfLeadingZeros=function(t){this.set$Value(8,t)},i18n.phonenumbers.PhoneNumber.prototype.hasNumberOfLeadingZeros=function(){return this.has$Value(8)},i18n.phonenumbers.PhoneNumber.prototype.numberOfLeadingZerosCount=function(){return this.count$Values(8)},i18n.phonenumbers.PhoneNumber.prototype.clearNumberOfLeadingZeros=function(){this.clear$Field(8)},i18n.phonenumbers.PhoneNumber.prototype.getRawInput=function(){return this.get$Value(5)},i18n.phonenumbers.PhoneNumber.prototype.getRawInputOrDefault=function(){return this.get$ValueOrDefault(5)},i18n.phonenumbers.PhoneNumber.prototype.setRawInput=function(t){this.set$Value(5,t)},i18n.phonenumbers.PhoneNumber.prototype.hasRawInput=function(){return this.has$Value(5)},i18n.phonenumbers.PhoneNumber.prototype.rawInputCount=function(){return this.count$Values(5)},i18n.phonenumbers.PhoneNumber.prototype.clearRawInput=function(){this.clear$Field(5)},i18n.phonenumbers.PhoneNumber.prototype.getCountryCodeSource=function(){return this.get$Value(6)},i18n.phonenumbers.PhoneNumber.prototype.getCountryCodeSourceOrDefault=function(){return this.get$ValueOrDefault(6)},i18n.phonenumbers.PhoneNumber.prototype.setCountryCodeSource=function(t){this.set$Value(6,t)},i18n.phonenumbers.PhoneNumber.prototype.hasCountryCodeSource=function(){return this.has$Value(6)},i18n.phonenumbers.PhoneNumber.prototype.countryCodeSourceCount=function(){return this.count$Values(6)},i18n.phonenumbers.PhoneNumber.prototype.clearCountryCodeSource=function(){this.clear$Field(6)},i18n.phonenumbers.PhoneNumber.prototype.getPreferredDomesticCarrierCode=function(){return this.get$Value(7)},i18n.phonenumbers.PhoneNumber.prototype.getPreferredDomesticCarrierCodeOrDefault=function(){return this.get$ValueOrDefault(7)},i18n.phonenumbers.PhoneNumber.prototype.setPreferredDomesticCarrierCode=function(t){this.set$Value(7,t)},i18n.phonenumbers.PhoneNumber.prototype.hasPreferredDomesticCarrierCode=function(){return this.has$Value(7)},i18n.phonenumbers.PhoneNumber.prototype.preferredDomesticCarrierCodeCount=function(){return this.count$Values(7)},i18n.phonenumbers.PhoneNumber.prototype.clearPreferredDomesticCarrierCode=function(){this.clear$Field(7)},i18n.phonenumbers.PhoneNumber.CountryCodeSource={UNSPECIFIED:0,FROM_NUMBER_WITH_PLUS_SIGN:1,FROM_NUMBER_WITH_IDD:5,FROM_NUMBER_WITHOUT_PLUS_SIGN:10,FROM_DEFAULT_COUNTRY:20},i18n.phonenumbers.PhoneNumber.prototype.getDescriptor=function(){var t=i18n.phonenumbers.PhoneNumber.descriptor_;
vendor: 4,708 bytes, line 15672
15672return t||(i18n.phonenumbers.PhoneNumber.descriptor_=t=goog.proto2.Message.createDescriptor(i18n.phonenumbers.PhoneNumber,{0:{name:"PhoneNumber",fullName:"i18n.phonenumbers.PhoneNumber"},1:{name:"country_code",required:!0,fieldType:goog.proto2.Message.FieldType.INT32,type:Number},2:{name:"national_number",required:!0,fieldType:goog.proto2.Message.FieldType.UINT64,type:Number},3:{name:"extension",fieldType:goog.proto2.Message.FieldType.STRING,type:String},4:{name:"italian_leading_zero",fieldType:goog.proto2.Message.FieldType.BOOL,type:Boolean},8:{name:"number_of_leading_zeros",fieldType:goog.proto2.Message.FieldType.INT32,defaultValue:1,type:Number},5:{name:"raw_input",fieldType:goog.proto2.Message.FieldType.STRING,type:String},6:{name:"country_code_source",fieldType:goog.proto2.Message.FieldType.ENUM,defaultValue:i18n.phonenumbers.PhoneNumber.CountryCodeSource.UNSPECIFIED,type:i18n.phonenumbers.PhoneNumber.CountryCodeSource},7:{name:"preferred_domestic_carrier_code",fieldType:goog.proto2.Message.FieldType.STRING,type:String}})),t},i18n.phonenumbers.PhoneNumber.ctor=i18n.phonenumbers.PhoneNumber,i18n.phonenumbers.PhoneNumber.ctor.getDescriptor=i18n.phonenumbers.PhoneNumber.prototype.getDescriptor,i18n.phonenumbers.metadata={},i18n.phonenumbers.metadata.countryCodeToRegionCodeMap={1:"US AG AI AS BB BM BS CA DM DO GD GU JM KN KY LC MP MS PR SX TC TT VC VG VI".split(" "),7:["RU","KZ"],20:["EG"],27:["ZA"],30:["GR"],31:["NL"],32:["BE"],33:["FR"],34:["ES"],36:["HU"],39:["IT","VA"],40:["RO"],41:["CH"],43:["AT"],44:["GB","GG","IM","JE"],45:["DK"],46:["SE"],47:["NO","SJ"],48:["PL"],49:["DE"],51:["PE"],52:["MX"],53:["CU"],54:["AR"],55:["BR"],56:["CL"],57:["CO"],58:["VE"],60:["MY"],61:["AU","CC","CX"],62:["ID"],63:["PH"],64:["NZ"],65:["SG"],66:["TH"],81:["JP"],82:["KR"],84:["VN"],86:["CN"],90:["TR"],91:["IN"],92:["PK"],93:["AF"],94:["LK"],95:["MM"],98:["IR"],211:["SS"],212:["MA","EH"],213:["DZ"],216:["TN"],218:["LY"],220:["GM"],221:["SN"],222:["MR"],223:["ML"],224:["GN"],225:["CI"],226:["BF"],227:["NE"],228:["TG"],229:["BJ"],230:["MU"],231:["LR"],232:["SL"],233:["GH"],234:["NG"],235:["TD"],236:["CF"],237:["CM"],238:["CV"],239:["ST"],240:["GQ"],241:["GA"],242:["CG"],243:["CD"],244:["AO"],245:["GW"],246:["IO"],247:["AC"],248:["SC"],249:["SD"],250:["RW"],251:["ET"],252:["SO"],253:["DJ"],254:["KE"],255:["TZ"],256:["UG"],257:["BI"],258:["MZ"],260:["ZM"],261:["MG"],262:["RE","YT"],263:["ZW"],264:["NA"],265:["MW"],266:["LS"],267:["BW"],268:["SZ"],269:["KM"],290:["SH","TA"],291:["ER"],297:["AW"],298:["FO"],299:["GL"],350:["GI"],351:["PT"],352:["LU"],353:["IE"],354:["IS"],355:["AL"],356:["MT"],357:["CY"],358:["FI","AX"],359:["BG"],370:["LT"],371:["LV"],372:["EE"],373:["MD"],374:["AM"],375:["BY"],376:["AD"],377:["MC"],378:["SM"],380:["UA"],381:["RS"],382:["ME"],383:["XK"],385:["HR"],386:["SI"],387:["BA"],389:["MK"],420:["CZ"],421:["SK"],423:["LI"],500:["FK"],501:["BZ"],502:["GT"],503:["SV"],504:["HN"],505:["NI"],506:["CR"],507:["PA"],508:["PM"],509:["HT"],590:["GP","BL","MF"],591:["BO"],592:["GY"],593:["EC"],594:["GF"],595:["PY"],596:["MQ"],597:["SR"],598:["UY"],599:["CW","BQ"],670:["TL"],672:["NF"],673:["BN"],674:["NR"],675:["PG"],676:["TO"],677:["SB"],678:["VU"],679:["FJ"],680:["PW"],681:["WF"],682:["CK"],683:["NU"],685:["WS"],686:["KI"],687:["NC"],688:["TV"],689:["PF"],690:["TK"],691:["FM"],692:["MH"],800:["001"],808:["001"],850:["KP"],852:["HK"],853:["MO"],855:["KH"],856:["LA"],870:["001"],878:["001"],880:["BD"],881:["001"],882:["001"],883:["001"],886:["TW"],888:["001"],960:["MV"],961:["LB"],962:["JO"],963:["SY"],964:["IQ"],965:["KW"],966:["SA"],967:["YE"],968:["OM"],970:["PS"],971:["AE"],972:["IL"],973:["BH"],974:["QA"],975:["BT"],976:["MN"],977:["NP"],979:["001"],992:["TJ"],993:["TM"],994:["AZ"],995:["GE"],996:["KG"],998:["UZ"]},i18n.phonenumbers.metadata.countryToMetadata={AC:[,[,,"(?:[01589]\\d|[46])\\d{4}",,,,,,,[5,6]],[,,"6[2-467]\\d{3}",,,,"62889",,,[5]],[,,"4\\d{4}",,,,"40123",,,[5]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"AC",247,"00",,,,,,,,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"(?:0[1-9]|[1589]\\d)\\d{4}",,,,"542011",,,[6]],,,[,,,,,,,,,[-1]]],AD:[,[,,"(?:1|6\\d)\\d{7}|[135-9]\\d{5}",,,,,,,[6,8,9]],[,,"[78]\\d{5}",,,,"712345",,,[6]],[,,"690\\d{6}|[356]\\d{5}",,,,"312345",,,[6,9]],[,,"180[02]\\d{4}",,,,"18001234",,,[8]],[,,"[19]\\d{5}",,,,"912345",,,[6]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"AD",376,"00",,,,,,,,[[,"(\\d{3})(\\d{3})","$1 $2",["[135-9]"]],[,"(\\d{4})(\\d{4})","$1 $2",["1"]],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]]],,[,,,,,,,,,[-1]],,,[,,"1800\\d{4}",,,,,,,[8]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AE:[,[,,"(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}
15672",,,,,,,[5,6,7,8,9,10,11,12]],[,,"[2-4679][2-8]\\d{6}",,,,"22345678",,,[8],[7]],[,,"5[024-68]\\d{7}",,,,"501234567",,,[9]],[,,"400\\d{6}|800\\d{2,9}",,,,"800123456"],[,,"900[02]\\d{5}",,,,"900234567",,,[9]],[,,"700[05]\\d{5}",,,,"700012345",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"AE",971,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{2,9})","$1 $2",["60|8"]],[,"(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[236]|[479][2-8]"],"0$1"],[,"(\\d{3})(\\d)(\\d{5})","$1 $2 $3",["[479]"]],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["5"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"600[25]\\d{5}",,,,"600212345",,,[9]],,,[,,,,,,,,,[-1]]],AF:[,[,,"[2-7]\\d{8}",,,,,,,[9],[7]],[,,"(?:[25][0-8]|[34][0-4]|6[0-5])[2-9]\\d{6}",,,,"234567890",,,,[7]],[,,"7\\d{8}",,,,"701234567",,,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"AF",93,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{4})","$1 $2",["[1-9]"]],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[2-7]"],"0$1"]],[[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[2-7]"],"0$1"]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AG:[,[,,"(?:268|[58]\\d\\d|900)\\d{7}",,,,,,,[10],[7]],[,,"268(?:4(?:6[0-38]|84)|56[0-2])\\d{4}",,,,"2684601234",,,,[7]],[,,"268(?:464|7(?:1[3-9]|[28]\\d|3[0246]|64|7[0-689]))\\d{4}",,,,"2684641234",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456"],[,,"900[2-9]\\d{6}",,,,"9002123456"],[,,,,,,,,,[-1]],[,,"52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,"26848[01]\\d{4}",,,,"2684801234",,,,[7]],"AG",1,"011","1",,,"([457]\\d{6})$|1","268$1",,,,,[,,"26840[69]\\d{4}",,,,"2684061234",,,,[7]],,"268",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AI:[,[,,"(?:264|[58]\\d\\d|900)\\d{7}",,,,,,,[10],[7]],[,,"264(?:292|4(?:6[12]|9[78]))\\d{4}",,,,"2644612345",,,,[7]],[,,"264(?:235|4(?:69|76)|5(?:3[6-9]|8[1-4])|7(?:29|72))\\d{4}",,,,"2642351234",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456"],[,,"900[2-9]\\d{6}",,,,"9002123456"],[,,,,,,,,,[-1]],[,,"52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"AI",1,"011","1",,,"([2457]\\d{6})$|1","264$1",,,,,[,,"264724\\d{4}",,,,"2647241234",,,,[7]],,"264",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AL:[,[,,"(?:700\\d\\d|900)\\d{3}|8\\d{5,7}|(?:[2-5]|6\\d)\\d{7}",,,,,,,[6,7,8,9],[5]],[,,"4505[0-2]\\d{3}|(?:[2358][16-9]\\d[2-9]|4410)\\d{4}|(?:[2358][2-5][2-9]|4(?:[2-57-9][2-9]|6\\d))\\d{5}",,,,"22345678",,,[8],[5,6,7]],[,,"6(?:[78][2-9]|9\\d)\\d{6}",,,,"672123456",,,[9]],[,,"800\\d{4}",,,,"8001234",,,[7]],[,,"900[1-9]\\d\\d",,,,"900123",,,[6]],[,,"808[1-9]\\d\\d",,,,"808123",,,[6]],[,,"700[2-9]\\d{4}",,,,"70021234",,,[8]],[,,,,,,,,,[-1]],"AL",355,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{3,4})","$1 $2",["80|9"],"0$1"],[,"(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["4[2-6]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2358][2-5]|4"],"0$1"],[,"(\\d{3})(\\d{5})","$1 $2",["[23578]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["6"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AM:[,[,,"(?:[1-489]\\d|55|60|77)\\d{6}",,,,,,,[8],[5,6]],[,,"(?:(?:1[0-25]|47)\\d|2(?:2[2-46]|3[1-8]|4[2-69]|5[2-7]|6[1-9]|8[1-7])|3[12]2)\\d{5}",,,,"10123456",,,,[5,6]],[,,"(?:33|4[1349]|55|77|88|9[13-9])\\d{6}",,,,"77123456"],[,,"800\\d{5}",,,,"80012345"],[,,"90[016]\\d{5}",,,,"90012345"],[,,"80[1-4]\\d{5}",,,,"80112345"],[,,,,,,,,,[-1]],[,,"60(?:2[78]|3[5-9]|4[02-9]|5[0-46-9]|[6-8]\\d|9[0-2])\\d{4}",,,,"60271234"],"AM",374,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[89]0"],"0 $1"],[,"(\\d{3})(\\d{5})","$1 $2",["2|3[12]"],"(0$1)"],[,"(\\d{2})(\\d{6})","$1 $2",["1|47"],"(0$1)"],[,"(\\d{2})(\\d{6})","$1 $2",["[3-9]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AO:[,[,,"[29]\\d{8}",,,,,,,[9]],[,,"2\\d(?:[0134][25-9]|[25-9]\\d)\\d{5}",,,,"222123456"],[,,"9[1-79]\\d{7}",,,,"923123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"AO",244,"00",,,,,,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[29]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AR:[,[,,"(?:11|[89]\\d\\d)\\d{8}|[2368]\\d{9}",,,,,,,[10,11],[6,7,8]],[,,"3(?:7(?:1[15]|81)|8(?:21|4[16]|69|9[12]))[46]\\d{5}|(?:(?:11[1-8]|670)\\d|2(?:21[2-6]|(?:3[06]|49)4|6(?:04|1[2-8])|9[17][4-6])|3(?:(?:36|64)4|4(?:1[2-8]|[25][4-6]|84)|5(?:1[2-9]|[38][4-6])|8(?:[17][2-6]|3[4-6]|8[3-68])))\\d{6}|(?:2(?:23|64|99)|3(?:43|85))[3-6]\\d{6}|(?:2(?:657|9(?:54|66))|3(?:487|7(?:55|77)|865))[2-8]\\d{5}|(?:2(?:[28]0|37|6[36]|9[48])|3(?:62|7[069]|80))[45]\\d{6}|(?:2(?:2(?:2[59]|44|52)|3(?:26|44)|47[35]|9(?:[07]2|2[26]|34|46)
15672)|3327)[45]\\d{5}|(?:2(?:2(?:62|81)|320|622|9(?:42|83))|3(?:329|4(?:62|76|89)|564))[2-6]\\d{5}|(?:2(?:284|3(?:02|23)|477|920)|3(?:4(?:46|[89]2)|541|878))[2-7]\\d{5}|2(?:2(?:21|4[23]|6[145]|7[1-4]|8[356]|9[267])|3(?:16|3[13-8]|43|5[346-8]|9[3-5])|6(?:2[46]|4[78]|5[1568])|9(?:03|2[1457-9]|3[1356]|4[08]|[56][23]|82))4\\d{5}|(?:2(?:257|3(?:24|46|92)|9(?:01|23|64))|3(?:4(?:42|71)|5(?:25|37|4[347]|71)|7(?:18|35|5[17])))[3-6]\\d{5}|(?:2(?:2(?:02|2[3467]|4[156]|5[45]|6[6-8]|91)|3(?:1[47]|25|[45][25]|96)|47[48]|625|932)|3(?:38[2578]|4(?:0[0-24-9]|3[78]|4[457]|58|6[03-9]|72|83|9[136-8])|5(?:2[124]|[368][23]|4[2689]|7[2-6])|7(?:16|2[15]|3[14]|4[13]|5[468]|7[2-5]|8[26])|8(?:2[5-7]|3[278]|4[3-5]|5[78]|6[1-378]|[78]7|94)))[4-6]\\d{5}",,,,"1123456789",,,[10],[6,7,8]],[,,"93(?:7(?:1[15]|81)|8(?:21|4[16]|69|9[12]))[46]\\d{5}|(?:675\\d|9(?:11[1-8]\\d|2(?:21[2-6]|(?:3[06]|49)4|6(?:04|1[2-8])|9[17][4-6])|3(?:(?:36|64)4|4(?:1[2-8]|[25][4-6]|84)|5(?:1[2-9]|[38][4-6])|8(?:[17][2-6]|3[4-6]|8[3-68]))))\\d{6}|9(?:2(?:23|64|99)|3(?:43|85))[3-6]\\d{6}|9(?:2(?:657|9(?:54|66))|3(?:487|7(?:55|77)|865))[2-8]\\d{5}|9(?:2(?:[28]0|37|6[36]|9[48])|3(?:62|7[069]|80))[45]\\d{6}|9(?:2(?:2(?:2[59]|44|52)|3(?:26|44)|47[35]|9(?:[07]2|2[26]|34|46)
15672)|3327)[45]\\d{5}|9(?:2(?:2(?:62|81)|320|622|9(?:42|83))|3(?:329|4(?:62|76|89)|564))[2-6]\\d{5}|9(?:2(?:284|3(?:02|23)|477|920)|3(?:4(?:46|[89]2)|541|878))[2-7]\\d{5}|92(?:2(?:21|4[23]|6[145]|7[1-4]|8[356]|9[267])|3(?:16|3[13-8]|43|5[346-8]|9[3-5])|6(?:2[46]|4[78]|5[1568])|9(?:03|2[1457-9]|3[1356]|4[08]|[56][23]|82))4\\d{5}|9(?:2(?:257|3(?:24|46|92)|9(?:01|23|64))|3(?:4(?:42|71)|5(?:25|37|4[347]|71)|7(?:18|35|5[17])))[3-6]\\d{5}|9(?:2(?:2(?:02|2[3467]|4[156]|5[45]|6[6-8]|91)|3(?:1[47]|25|[45][25]|96)|47[48]|625|932)|3(?:38[2578]|4(?:0[0-24-9]|3[78]|4[457]|58|6[03-9]|72|83|9[136-8])|5(?:2[124]|[368][23]|4[2689]|7[2-6])|7(?:16|2[15]|3[14]|4[13]|5[468]|7[2-5]|8[26])|8(?:2[5-7]|3[278]|4[3-5]|5[78]|6[1-378]|[78]7|94)))[4-6]\\d{5}",,,,"91123456789",,,,[6,7,8]],[,,"800\\d{7,8}",,,,"8001234567"],[,,"60[04579]\\d{7}",,,,"6001234567",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"AR",54,"00","0",,,"0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?","9$1",,,[[,"(\\d{3})","$1",["0|1(?:0[0-35-7]|1[02-5]|2[015]|3[47]|4[478])|911"]],[,"(\\d{2})(\\d{4})","$1-$2",["[1-9]"]],[,"(\\d{3})(\\d{4})","$1-$2",["[2-9]"]],[,"(\\d{4})(\\d{4})","$1-$2",["[1-8]"]],[,"(\\d{4})(\\d{2})(\\d{4})","$1 $2-$3",["2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])","2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)","2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]","2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"],"0$1",,1],[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["1"],"0$1",,1],[,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[68]"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2-$3",["[23]"],"0$1",,1],[,"(\\d)(\\d{4})(\\d{2})(\\d{4})","$2 15-$3-$4",["9(?:2[2-469]|3[3-578])","9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))","9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)","9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]","9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"],"0$1"],[,"(\\d)(\\d{2})(\\d{4})(\\d{4})","$2 15-$3-$4",["91"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{5})","$1-$2-$3",["8"],"0$1"],[,"(\\d)(\\d{3})(\\d{3})(\\d{4})","$2 15-$3-$4",["9"],"0$1"]],[[,"(\\d{4})(\\d{2})(\\d{4})","$1 $2-$3",["2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])","2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)","2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]","2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"],"0$1",,1],[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["1"],"0$1",,1],[,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[68]"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2-$3",["[23]"],"0$1",,1],[,"(\\d)(\\d{4})(\\d{2})(\\d{4})","$1 $2 $3-$4",["9(?:2[2-469]|3[3-578])","9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))","9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)","9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]","9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"]],[,"(\\d)(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3-$4",["91"]],[,"(\\d{3})(\\d{3})(\\d{5})","$1-$2-$3",["8"],"0$1"],[,"(\\d)(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3-$4",["9"]]],[,,,,,,,,,[-1]],,,[,,"810\\d{7}",,,,,,,[10]],[,,"810\\d{7}",,,,"8101234567",,,[10]],,,[,,,,,,,,,[-1]]],AS:[,[,,"(?:[58]\\d\\d|684|900)\\d{7}",,,,,,,[10],[7]],[,,"6846(?:22|33|44|55|77|88|9[19])\\d{4}",,,,"6846221234",,,,[7]],[,,"684(?:2(?:48|5[2468]|7[26])|7(?:3[13]|70|82))\\d{4}",,,,"6847331234",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456"],[,,"900[2-9]\\d{6}",,,,"9002123456"],[,,,,,,,,,[-1]],[,,"52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"AS",1,"011","1",,,"([267]\\d{6})$|1","684$1",,,,,[,,,,,,,,,[-1]],,"684",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AT:[,[,,"1\\d{3,12}|2\\d{6,12}|43(?:(?:0\\d|5[02-9])\\d{3,9}|2\\d{4,5}|[3467]\\d{4}|8\\d{4,6}|9\\d{4,7})|5\\d{4,12}|8\\d{7,12}|9\\d{8,12}|(?:[367]\\d|4[0-24-9])\\d{4,11}",,,,,,,[4,5,6,7,8,9,10,11,12,13],[3]],[,,"1(?:11\\d|[2-9]\\d{3,11})|(?:316|463|(?:51|66|73)2)\\d{3,10}|(?:2(?:1[467]|2[13-8]|5[2357]|6[1-46-8]|7[1-8]|8[124-7]|9[1458])|3(?:1[1-578]|3[23568]|4[5-7]|5[1378]|6[1-38]|8[3-68])|4(?:2[1-8]|35|7[1368]|8[2457])|5(?:2[1-8]|3[357]|4[147]|5[12578]|6[37])|6(?:13|2[1-47]|4[135-8]|5[468])|7(?:2[1-8]|35|4[13478]|5[68]|6[16-8]|7[1-6]|9[45]))\\d{4,10}",,,,"1234567890",,,,[3]],[,,"6(?:5[0-3579]|6[013-9]|[7-9]\\d)\\d{4,10}",,,,"664123456",,,[7,8,9,10,11,12,13]],[,,"800\\d{6,10}",,,,"800123456",,,[9,10,11,12,13]],[,,"(?:8[69][2-68]|9(?:0[01]|3[019]))\\d{6,10}",,,,"900123456",,,[9,10,11,12,13]],[,,"8(?:10|2[018])\\d{6,10}|828\\d{5}",,,,"810123456",,,[8,9,10,11,12,13]],[,,,,,,,,,[-1]],[,,"5(?:0[1-9]|17|[79]\\d)\\d{2,10}|7[28]0\\d{6,10}",,,,"780123456",,,[5,6,7,8,9,10,11,12,13]],"AT",43,"00","0",,,"0",,,,[[,"(\\d{4})","$1",["14"]],[,"(\\d)(\\d{3,12})","$1 $2",["1(?:11|[2-9])"],"0$1"],[,"(\\d{3})(\\d{2})","$1 $2",["517"],"0$1"],[,"(\\d{2})(\\d{3,5})","$1 $2",["5[079]"],"0$1"],[,"(\\d{6})","$1",["[18]"]],[,"(\\d{3})(\\d{3,10})","$1 $2",["(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]"],"0$1"],[,"(\\d{4})(\\d{3,9})","$1 $2",["[2-467]|5[2-6]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["5"],"0$1"],[,"(\\d{2})(\\d{4})(\\d{4,7})","$1 $2 $3",["5"],"0$1"]],[[,"(\\d)(\\d{3,12})","$1 $2",["1(?:11|[2-9])"],"0$1"],[,"(\\d{3})(\\d{2})","$1 $2",["517"],"0$1"],[,"(\\d{2})(\\d{3,5})","$1 $2",["5[079]"],"0$1"],[,"(\\d{3})(\\d{3,10})","$1 $2",["(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]"],"0$1"],[,"(\\d{4})(\\d{3,9})","$1 $2",["[2-467]|5[2-6]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["5"],"0$1"],[,"(\\d{2})(\\d{4})(\\d{4,7})","$1 $2 $3",["5"],"0$1"]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AU:[,[,,"1(?:[0-79]\\d{7}(?:\\d(?:\\d{2})?)?|8[0-24-9]\\d{7})|[2-478]\\d{8}|1\\d{4,7}
15672",,,,,,,[5,6,7,8,9,10,12]],[,,"(?:(?:(?:2(?:[0-26-9]\\d|3[0-8]|4[02-9]|5[0135-9])|7(?:[013-57-9]\\d|2[0-8]))\\d|3(?:(?:[0-3589]\\d|6[1-9]|7[0-35-9])\\d|4(?:[0-578]\\d|90)))\\d\\d|8(?:51(?:0(?:0[03-9]|[12479]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\d|7[89]|9[0-4])|3\\d\\d)|(?:6[0-8]|[78]\\d)\\d{3}|9(?:[02-9]\\d{3}|1(?:(?:[0-58]\\d|6[0135-9])\\d|7(?:0[0-24-9]|[1-9]\\d)|9(?:[0-46-9]\\d|5[0-79])))))\\d{3}",,,,"212345678",,,[9],[8]],[,,"4(?:79[01]|83[0-389]|94[0-4])\\d{5}|4(?:[0-36]\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\d{6}",,,,"412345678",,,[9]],[,,"180(?:0\\d{3}|2)\\d{3}",,,,"1800123456",,,[7,10]],[,,"190[0-26]\\d{6}",,,,"1900123456",,,[10]],[,,"13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}",,,,"1300123456",,,[6,8,10,12]],[,,,,,,,,,[-1]],[,,"14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}",,,,"147101234",,,[9]],"AU",61,"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","0",,,"(183[12])|0",,"0011",,[[,"(\\d{2})(\\d{3,4})","$1 $2",["16"],"0$1"],[,"(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["13"]],[,"(\\d{3})(\\d{3})","$1 $2",["19"]],[,"(\\d{3})(\\d{4})","$1 $2",["180","1802"]],[,"(\\d{4})(\\d{3,4})","$1 $2",["19"]],[,"(\\d{2})(\\d{3})(\\d{2,4})","$1 $2 $3",["16"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["14|4"],"0$1"],[,"(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["[2378]"],"(0$1)","$CC ($1)"],[,"(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:30|[89])"]],[,"(\\d{4})(\\d{4})(\\d{4})","$1 $2 $3",["130"]]],[[,"(\\d{2})(\\d{3,4})","$1 $2",["16"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{2,4})","$1 $2 $3",["16"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["14|4"],"0$1"],[,"(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["[2378]"],"(0$1)","$CC ($1)"],[,"(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:30|[89])"]]],[,,"163\\d{2,6}",,,,"1631234",,,[5,6,7,8,9]],1,,[,,"1(?:3(?:00\\d{5}|45[0-4])|802)\\d{3}|1[38]00\\d{6}|13\\d{4}",,,,,,,[6,7,8,10,12]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AW:[,[,,"(?:[25-79]\\d\\d|800)\\d{4}",,,,,,,[7]],[,,"5(?:2\\d|8[1-9])\\d{4}",,,,"5212345"],[,,"(?:290|5[69]\\d|6(?:[03]0|22|4[0-2]|[69]\\d)|7(?:[34]\\d|7[07])|9(?:6[45]|9[4-8]))\\d{4}",,,,"5601234"],[,,"800\\d{4}",,,,"8001234"],[,,"900\\d{4}",,,,"9001234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"(?:28\\d|501)\\d{4}",,,,"5011234"],"AW",297,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",["[25-9]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AX:[,[,,"2\\d{4,9}|35\\d{4,5}|(?:60\\d\\d|800)\\d{4,6}|7\\d{5,11}|(?:[14]\\d|3[0-46-9]|50)\\d{4,8}",,,,,,,[5,6,7,8,9,10,11,12]],[,,"18[1-8]\\d{3,6}",,,,"181234567",,,[6,7,8,9]],[,,"4946\\d{2,6}|(?:4[0-8]|50)\\d{4,8}",,,,"412345678",,,[6,7,8,9,10]],[,,"800\\d{4,6}",,,,"800123456",,,[7,8,9]],[,,"[67]00\\d{5,6}",,,,"600123456",,,[8,9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"AX",358,"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))","0",,,"0",,"00",,,,[,,,,,,,,,[-1]],,"18",[,,,,,,,,,[-1]],[,,"20\\d{4,8}|60[12]\\d{5,6}|7(?:099\\d{4,5}|5[03-9]\\d{3,7})|20[2-59]\\d\\d|(?:606|7(?:0[78]|1|3\\d))\\d{7}|(?:10|29|3[09]|70[1-5]\\d)\\d{4,8}",,,,"10112345"],,,[,,,,,,,,,[-1]]],AZ:[,[,,"365\\d{6}|(?:[124579]\\d|60|88)\\d{7}",,,,,,,[9],[7]],[,,"(?:2[12]428|3655[02])\\d{4}|(?:2(?:22[0-79]|63[0-28])|3654)\\d{5}|(?:(?:1[28]|46)\\d|2(?:[014-6]2|[23]3))\\d{6}",,,,"123123456",,,,[7]],[,,"36554\\d{4}|(?:[16]0|4[04]|5[015]|7[07]|99)\\d{7}",,,,"401234567"],[,,"88\\d{7}",,,,"881234567"],[,,"900200\\d{3}",,,,"900200123"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"AZ",994,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[1-9]"]],[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["90"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[28]|2|365|46","1[28]|2|365[45]|46","1[28]|2|365(?:4|5[02])|46"],"(0$1)"],[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[13-9]"],"0$1"]],[[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["90"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[28]|2|365|46","1[28]|2|365[45]|46","1[28]|2|365(?:4|5[02])|46"],"(0$1)"],[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[13-9]"],"0$1"]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BA:[,[,,"6\\d{8}|(?:[35689]\\d|49|70)\\d{6}",,,,,,,[8,9],[6]],[,,"(?:3(?:[05-79][2-9]|1[4579]|[23][24-9]|4[2-4689]|8[2457-9])|49[2-579]|5(?:0[2-49]|[13][2-9]|[268][2-4679]|4[4689]|5[2-79]|7[2-69]|9[2-4689]))\\d{5}",,,,"30212345",,,[8],[6]],[,,"6040\\d{5}|6(?:03|[1-356]|44|7\\d)\\d{6}",,,,"61123456"],[,,"8[08]\\d{6}",,,,"80123456",,,[8]],[,,"9[0246]\\d{6}",,,,"90123456",,,[8]],[,,"8[12]\\d{6}",,,,"82123456",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"BA",387,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{3})","$1-$2",["[2-9]"]],[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["6[1-3]|[7-9]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2-$3",["[3-5]|6[56]"],"0$1"],[,"(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["6"],"0$1"]],[[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["6[1-3]|[7-9]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2-$3",["[3-5]|6[56]"],"0$1"],[,"(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["6"],"0$1"]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"703[235]0\\d{3}|70(?:2[0-5]|3[0146]|[56]0)\\d{4}",,,,"70341234",,,[8]],,,[,,,,,,,,,[-1]]],BB:[,[,,"(?:246|[58]\\d\\d|900)\\d{7}",,,,,,,[10],[7]],[,,"246521[0369]\\d{3}|246(?:2(?:2[78]|7[0-4])|4(?:1[024-6]|2\\d|3[2-9])|5(?:20|[34]\\d|54|7[1-3])|6(?:2\\d|38)|7[35]7|9(?:1[89]|63))\\d{4}",,,,"2464123456",,,,[7]],[,,"246(?:(?:2(?:[3568]\\d|4[0-57-9])|3(?:5[2-9]|6[0-6])|4(?:46|5\\d)|69[5-7]|8(?:[2-5]\\d|83))\\d|52(?:1[147]|20))\\d{3}",,,,"2462501234",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456"],[,,"(?:246976|900[2-9]\\d\\d)\\d{4}",,,,"9002123456",,,,[7]],[,,,,,,,,,[-1]],[,,"52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,"24631\\d{5}",,,,"2463101234",,,,[7]],"BB",1,"011","1",,,"([2-9]\\d{6})$|1","246$1",,,,,[,,,,,,,,,[-1]],,"246",[,,,,,,,,,[-1]],[,,"246(?:292|367|4(?:1[7-9]|3[01]|4[47-9]|67)|7(?:1[2-9]|2\\d|3[016]|53))\\d{4}",,,,"2464301234",,,,[7]],,,[,,,,,,,,,[-1]]],BD:[,[,,"[1-469]\\d{9}|8[0-79]\\d{7,8}|[2-79]\\d{8}|[2-9]\\d{7}|[3-9]\\d{6}|[57-9]\\d{5}",,,,,,,[6,7,8,9,10]],[,,"(?:4(?:31\\d\\d|423)|5222)\\d{3}(?:\\d{2})?|8332[6-9]\\d\\d|(?:3(?:03[56]|224)|4(?:22[25]|653))\\d{3,4}|(?:3(?:42[47]|529|823)|4(?:027|525|65(?:28|8))|562|6257|7(?:1(?:5[3-5]|6[12]|7[156]|89)|22[589]56|32|42675|52(?:[25689](?:56|8)|[347]8)|71(?:6[1267]|75|89)|92374)|82(?:2[59]|32)56|9(?:03[23]56|23(?:256|373)|31|5(?:1|2[4589]56)))\\d{3}|(?:3(?:02[348]|22[35]|324|422)|4(?:22[67]|32[236-9]|6(?:2[46]|5[57])|953)|5526|6(?:024|6655)|81)\\d{4,5}|(?:2(?:7(?:1[0-267]|2[0-289]|3[0-29]|4[01]|5[1-3]|6[013]|7[0178]|91)|8(?:0[125]|1[1-6]|2[0157-9]|3[1-69]|41|6[1-35]|7[1-5]|8[1-8]|9[0-6])|9(?:0[0-2]|1[0-4]|2[568]|3[3-6]|5[5-7]|6[0136-9]|7[0-7]|8[014-9]))|3(?:0(?:2[025-79]|3[2-4])|181|22[12]|32[2356]|824)|4(?:02[09]|22[348]|32[045]|523|6(?:27|54))|666(?:22|53)|7(?:22[57-9]|42[56]|82[35])8|8(?:0[124-9]|2(?:181|2[02-4679]8)|4[12]|[5-7]2)|9(?:[04]2|2(?:2|328)|81))\\d{4}|(?:2(?:[23]\\d|[45])\\d\\d|3(?:1(?:2[5-7]|[5-7])|425|822)|4(?:033|1\\d|[257]1|332|4(?:2[246]|5[25])|6(?:2[35]|56|62)|8(?:23|54)|92[2-5])|5(?:02[03489]|22[457]|32[35-79]|42[46]|6(?:[18]|53)|724|826)|6(?:023|2(?:2[2-5]|5[3-5]|8)|32[3478]|42[34]|52[47]|6(?:[18]|6(?:2[34]|5[24]))|[78]2[2-5]|92[2-6])|7(?:02|21\\d|[3-589]1|6[12]|72[24])|8(?:217|3[12]|[5-7]1)|9[24]1)\\d{5}|(?:(?:3[2-8]|5[2-57-9]|6[03-589])1|4[4689][18])\\d{5}|[59]1\\d{5}",,,,"27111234"],[,,"(?:1[13-9]\\d|644)\\d{7}|(?:3[78]|44|66)[02-9]\\d{7}",,,,"1812345678",,,[10]],[,,"80[03]\\d{7}",,,,"8001234567",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"96(?:0[469]|1[0-47]|3[389]|43|6[69]|7[78])\\d{6}",,,,"9604123456",,,[10]],"BD",880,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{4,6})","$1-$2",["31[5-8]|[459]1"],"0$1"],[,"(\\d{3})(\\d{3,7})","$1-$2",["3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]"],"0$1"],[,"(\\d{4})(\\d{3,6})","$1-$2",["[13-9]|2[23]"],"0$1"],[,"(\\d)(\\d{7,8})","$1-$2",["2"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BE:[,[,,"4\\d{8}|[1-9]\\d{7}",,,,,,,[8,9]],[,,"80[2-8]\\d{5}|(?:1[0-69]|[23][2-8]|4[23]|5\\d|6[013-57-9]|71|8[1-79]|9[2-4])\\d{6}",,,,"12345678",,,[8]],[,,"4[5-9]\\d{7}",,,,"470123456",,,[9]],[,,"800[1-9]\\d{4}",,,,"80012345",,,[8]],[,,"(?:70(?:2[0-57]|3[04-7]|44|6[4-69]|7[0579])|90\\d\\d)\\d{4}",,,,"90012345",,,[8]],[,,"7879\\d{4}",,,,"78791234",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"BE",32,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["(?:80|9)0"],"0$1"],[,"(\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[239]|4[23]"],"0$1"],[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[15-8]"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["4"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"78(?:0[57]|1[014-8]|2[25]|3[15-8]|48|[56]0|7[06-8]|9\\d)\\d{4}",,,,"78102345",,,[8]],,,[,,,,,,,,,[-1]]],BF:[,[,,"[025-7]\\d{7}",,,,,,,[8]],[,,"2(?:0(?:49|5[23]|6[5-7]|9[016-9])|4(?:4[569]|5[4-6]|6[5-7]|7[01
1567279])|5(?:[34]\\d|50|6[5-7]))\\d{4}",,,,"20491234"],[,,"(?:0[1-7]|5[0-8]|[67]\\d)\\d{6}",,,,"70123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"BF",226,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[025-7]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BG:[,[,,"00800\\d{7}|[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}",,,,,,,[6,7,8,9,12],[4,5]],[,,"2\\d{5,7}|(?:43[1-6]|70[1-9])\\d{4,5}|(?:[36]\\d|4[124-7]|[57][1-9]|8[1-6]|9[1-7])\\d{5,6}",,,,"2123456",,,[6,7,8],[4,5]],[,,"(?:43[07-9]|99[69]\\d)\\d{5}|(?:8[7-9]|98)\\d{7}",,,,"43012345",,,[8,9]],[,,"(?:00800\\d\\d|800)\\d{5}",,,,"80012345",,,[8,12]],[,,"90\\d{6}",,,,"90123456",,,[8]],[,,"700\\d{5}",,,,"70012345",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"BG",359,"00","0",,,"0",,,,[[,"(\\d{6})","$1",["1"]],[,"(\\d)(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["2"],"0$1"],[,"(\\d{3})(\\d{4})","$1 $2",["43[1-6]|70[1-9]"],"0$1"],[,"(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["2"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["(?:70|8)0"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3",["43[1-7]|7"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[48]|9[08]"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1"]],[[,"(\\d)(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["2"],"0$1"],[,"(\\d{3})(\\d{4})","$1 $2",["43[1-6]|70[1-9]"],"0$1"],[,"(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["2"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["(?:70|8)0"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3",["43[1-7]|7"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[48]|9[08]"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1"]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BH:[,[,,"[136-9]\\d{7}",,,,,,,[8]],[,,"(?:1(?:3[1356]|6[0156]|7\\d)\\d|6(?:1[16]\\d|500|6(?:0\\d|3[12]|44|55|7[7-9]|88)|9[69][69])|7(?:[07]\\d\\d|1(?:11|78)))\\d{4}",,,,"17001234"],[,,"(?:3(?:[0-79]\\d|8[0-57-9])\\d|6(?:3(?:00|33|6[16])|441|6(?:3[03-9]|[69]\\d|7[0-689])))\\d{4}",,,,"36001234"],[,,"8[02369]\\d{6}",,,,"80123456"],[,,"(?:87|9[0-8])\\d{6}",,,,"90123456"],[,,"84\\d{6}",,,,"84123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"BH",973,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2",["[13679]|8[02-4679]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BI:[,[,,"(?:[267]\\d|31)\\d{6}",,,,,,,[8]],[,,"(?:22|31)\\d{6}",,,,"22201234"],[,,"(?:29|[67][125-9])\\d{6}",,,,"79561234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"BI",257,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2367]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BJ:[,[,,"(?:01\\d|[24-689])\\d{7}",,,,,,,[8,10]],[,,"2090\\d{4}|(?:012\\d\\d|2(?:02|1[037]|2[45]|3[68]|4\\d))\\d{5}",,,,"0120211234"],[,,"(?:01(?:2[5-9]|[4-69]\\d)|4[0-8]|[56]\\d|9[013-9])\\d{6}",,,,"0195123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"857[58]\\d{4}",,,,"85751234",,,[8]],"BJ",229,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24-689]"]],[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["0"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"81\\d{6}",,,,"81123456",,,[8]],,,[,,,,,,,,,[-1]]],BL:[,[,,"(?:590\\d|7090)\\d{5}|(?:69|80|9\\d)\\d{7}",,,,,,,[9]],[,,"590(?:2[7-9]|3[3-7]|5[12]|87)\\d{4}",,,,"590271234"],[,,"(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))|7090[0-4])\\d{4}",,,,"690001234"],[,,"80[0-5]\\d{6}",,,,"800012345"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"9(?:(?:39[5-7]|76[018])\\d|475[0-5])\\d{4}",,,,"976012345"],"BL",590,"00","0",,,"0",,,,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BM:[,[,,"(?:441|[58]\\d\\d|900)\\d{7}",,,,,,,[10],[7]],[,,"441(?:[46]\\d\\d|5(?:4\\d|60|89))\\d{4}",,,,"4414123456",,,,[7]],[,,"441(?:[2378]\\d|5[0-39]|9[02])\\d{5}",,,,"4413701234",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456"],[,,"900[2-9]\\d{6}",,,,"9002123456"],[,,,,,,,,,[-1]],[,,"52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"BM",1,"011","1",,,"([2-9]\\d{6})$|1","441$1",,,,,[,,,,,,,,,[-1]],,"441",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BN:[,[,,"[2-578]\\d{6}",,,,,,,[7]],[,,"22[0-7]\\d{4}|(?:2[013-9]|[34]\\d|5[0-25-9])\\d{5}",,,,"2345678"],[,,"(?:22[89]|[78]\\d\\d)\\d{4}",,,,"7123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"5[34]\\d{5}",,,,"5345678"],"BN",673,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",["[2-578]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BO:[,[,,"8001\\d{5}|(?:[2-467]\\d|50)\\d{6}",,,,,,,[8,9],[7]],[,,"(?:2(?:2\\d\\d|5(?:11|[258]\\d|9[67])|6(?:12|2\\d|9[34])|8(?:2[34]|39|62))|3(?:3\\d\\d|4(?:6\\d|8[24])|8(?:25|42|5[257]|86|9[25])|9(?:[27]\\d|3[2-4]|4[248]|5[24]|6[2-6]))|4(?:4\\d\\d|6(?:11|[24689]\\d|72)))\\d{4}",,,,"22123456",,,[8],[7]],[,,"[67]\\d{7}",,,,"71234567",,,[8]],[,,"8001[07]\\d{4}",,,,"800171234",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"50\\d{6}",,,,"50123456",,,[8],[7]],"BO",591,"00(?:1\\d)?","0",,,"0(1\\d)?",,,,[[,"(\\d)(\\d{7})","$1 $2",["[235]|4[46]"],,"0$CC $1"],[,"(\\d{8})","$1",["[67]"],,"0$CC $1"],[,"(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["8"],,"0$CC $1"]],,[,,,,,,,,,[-1]],,,[,,"8001[07]\\d{4}",,,,,,,[9]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BQ:[,[,,"(?:[34]1|7\\d)\\d{5}",,,,,,,[7]],[,,"(?:318[023]|41(?:6[023]|70)|7(?:1[578]|2[05]|50)\\d)\\d{3}",,,,"7151234"],[,,"(?:31(?:8[14-8]|9[14578])|416[14-9]|7(?:0[01]|7[07]|8\\d|9[056])\\d)\\d{3}",,,,"3181234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"BQ",599,"00",,,,,,,,,,[,,,,,,,,,[-1]],,"[347]",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BR:[,[,,"(?:[1-46-9]\\d\\d|5(?:[0-46-9]\\d|5[0-46-9]))\\d{8}|[1-9]\\d{9}|[3589]\\d{8}|[34]\\d{7}",,,,,,,[8,9,10,11]],[,,"(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-5]\\d{7}",,,,"1123456789",,,[10],[8]],[,,"(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])(?:7|9\\d)\\d{7}",,,,"11961234567",,,[10,11],[8,9]],[,,"800\\d{6,7}",,,,"800123456",,,[9,10]],[,,"300\\d{6}|[59]00\\d{6,7}",,,,"300123456",,,[9,10]],[,,"(?:30[03]\\d{3}|4(?:0(?:0\\d|20)|370))\\d{4}|300\\d{5}",,,,"40041234",,,[8,10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"BR",55,"00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)","0",,,"(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?","$2",,,[[,"(\\d{3,6})","$1",["1(?:1[25-8]|2[357-9]|3[02-68]|4[12568]|5|6[0-8]|8[015]|9[0-47-9])|321|610"]],[,"(\\d{4})(\\d{4})","$1-$2",["300|4(?:0[02]|37)","4(?:02|37)0|[34]00"]],[,"(\\d{4})(\\d{4})","$1-$2",["[2-57]","[2357]|4(?:[0-24-9]|3(?:[0-689]|7[1-9]))"]],[,"(\\d{3})(\\d{2,3})(\\d{4})","$1 $2 $3",["(?:[358]|90)0"],"0$1"],[,"(\\d{5})(\\d{4})","$1-$2",["9"]],[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]"],"($1)","0 $CC ($1)"],[,"(\\d{2})(\\d{5})(\\d{4})","$1 $2-$3",["[16][1-9]|[2-57-9]"],"($1)","0 $CC ($1)"]],[[,"(\\d{4})(\\d{4})","$1-$2",["300|4(?:0[02]|37)","4(?:02|37)0|[34]00"]],[,"(\\d{3})(\\d{2,3})(\\d{4})","$1 $2 $3",["(?:[358]|90)0"],"0$1"],[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]"],"($1)","0 $CC ($1)"],[,"(\\d{2})(\\d{5})(\\d{4})","$1 $2-$3",["[16][1-9]|[2-57-9]"],"($1)","0 $CC ($1)"]],[,,,,,,,,,[-1]],,,[,,"30(?:0\\d{5,7}|3\\d{7})|40(?:0\\d|20)\\d{4}|800\\d{6,7}",,,,,,,[8,9,10]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BS:[,[,,"(?:242|[58]\\d\\d|900)\\d{7}",,,,,,,[10],[7]],[,,"242(?:3(?:02|[236][1-9]|4[0-24-9]|5[0-68]|7[347]|8[0-4]|9[2-467])|461|502|6(?:0[1-5]|12|2[013]|[45]0|7[67]|8[78]|9[89])|7(?:02|88))\\d{4}",,,,"2423456789",,,,[7]],[,,"242(?:3(?:5[79]|7[56]|95)|4(?:[23][1-9]|4[1-35-9]|5[1-8]|6[2-8]|7\\d|81)|5(?:2[45]|3[35]|44|5[1-46-9]|65|77)|6[34]6|7(?:27|38)|8(?:0[1-9]|1[02-9]|2\\d|3[0-4]|[89]9))\\d{4}",,,,"2423591234",,,,[7]],[,,"242300\\d{4}|8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456",,,,[7]],[,,"900[2-9]\\d{6}",,,,"9002123456"],[,,,,,,,,,[-1]],[,,"52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"BS",1,"011","1",,,"([3-8]\\d{6})$|1","242$1",,,,,[,,,,,,,,,[-1]],,"242",[,,,,,,,,,[-1]],[,,"242225\\d{4}",,,,"2422250123"],,,[,,,,,,,,,[-1]]],BT:[,[,,"[17]\\d{7}|[2-8]\\d{6}",,,,,,,[7,8],[6]],[,,"(?:2[3-6]|[34][5-7]|5[236]|6[2-46]|7[246]|8[2-4])\\d{5}",,,,"2345678",,,[7],[6]],[,,"(?:1[67]|77)\\d{6}",,,,"17123456",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"BT",975,"00",,,,,,,,[[,"(\\d{3})(\\d{3})","$1 $2",["[2-7]"]],[,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[2-68]|7[246]"]],[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[67]|7"]]],[[,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[2-68]|7[246]"]],[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[67]|7"]]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BW:[,[,,"(?:0800|(?:[37]|800)\\d)\\d{6}|(?:[2-6]\\d|90)\\d{5}",,,,,,,[7,8,10]],[,,"(?:2(?:4[0-48]|6[0-24]|9[0578])|3(?:1[0-35-9]|55|[69]\\d|7[013]|81)|4(?:6[03]|7[1267]|9[0-5])|5(?:3[03489]|4[0489]|7[1-47]|88|9[0-49])|6(?:2[1-35]|5[149]|8[013467]))\\d{4}",,,,"2401234",,,[7]],[,,"(?:321|7[1-8]\\d)\\d{5}",,,,"71123456",,,[8]],[,,"(?:0800|800\\d)\\d{6}",,,,"0800012345",,,[10]],[,,"90\\d{5}",,,,"9012345",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"79(?:1(?:[0-2]\\d|3[0-3])|2[0-7]\\d)\\d{3}",,,,"79101234",,,[8]],"BW",267,"00",,,,,,,,[[,"(\\d{2})(\\d{5})","$1 $2",["90"]],[,"(\\d{3})(\\d{4})","$1 $2",["[24-6]|3[15-9]"]],[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[37]"]],[,"(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["0"]],[,"(\\d{3})(\\d{4})(\\d{3})","$1 $2 $3",["8"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BY:[,[,,"(?:[12]\\d|33|44|902)\\d{7}|8(?:0[0-79]\\d{5,7}|[1-7]\\d{9})|8(?:1[0-489]|[5-79]\\d)\\d{7}|8[1-79]\\d{6,7}|8[0-79]\\d{5}|8\\d{5}",,,,,,,[6,7,8,9,10,11],[5]],[,,"(?:1(?:5(?:1[1-5]|[24]\\d|6[2-4]|9[1-7])|6(?:[235]\\d|4[1-7])|7\\d\\d)|2(?:1(?:[246]\\d|3[0-35-9]|5[1-9])|2(?:[235]\\d|4[0-8])|3(?:[26]\\d|3[02-79]|4[024-7]|5[03-7])))\\d{5}",,,,"152450911",,,[9],[5,6,7]],[,,"(?:2(?:5[5-79]|9[1-9])|(?:33|44)\\d)\\d{6}",,,,"294911911",,,[9]],[,,"800\\d{3,7}|8(?:0[13]|20\\d)\\d{7}",,,,"8011234567"],[,,"(?:810|902)\\d{7}",,,,"9021234567",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"249\\d{6}",,,,"249123456",,,[9]],"BY",375,"810","8",,,"0|80?",,"8~10",,[[,"(\\d{3})(\\d{3})","$1 $2",["800"],"8 $1"],[,"(\\d{3})(\\d{2})(\\d{2,4})","$1 $2 $3",["800"],"8 $1"],[,"(\\d{4})(\\d{2})(\\d{3})","$1 $2-$3",["1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])","1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])"],"8 0$1"],[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2-$3-$4",["1(?:[56]|7[467])|2[1-3]"],"8 0$1"],[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[1-4]"],"8 0$1"],[,"(\\d{3})(\\d{3,4})(\\d{4})","$1 $2 $3",["[89]"],"8 $1"]],,[,,,,,,,,,[-1]],,,[,,"800\\d{3,7}|(?:8(?:0[13]|10|20\\d)|902)\\d{7}"],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BZ:[,[,,"(?:0800\\d|[2-8])\\d{6}",,,,,,,[7,11]],[,,"(?:2(?:[02]\\d|36|[68]0)|[3-58](?:[02]\\d|[68]0)|7(?:[02]\\d|32|[68]0))\\d{4}",,,,"2221234",,,[7]],[,,"6[0-35-7]\\d{5}",,,,"6221234",,,[7]],[,,"0800\\d{7}",,,,"08001234123",,,[11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"BZ",501,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1-$2",["[2-8]"]],[,"(\\d)(\\d{3})(\\d{4})(\\d{3})","$1-$2-$3-$4",["0"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CA:[,[,,"[2-9]\\d{9}|3\\d{6}",,,,,,,[7,10]],[,,"(?:2(?:04|[23]6|[48]9|50|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|9(?:0[25]|42))[2-9]\\d{6}",,,,"5062345678",,,[10],[7]],[,,"(?:2(?:04|[23]6|[48]9|50|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|9(?:0[25]|42))[2-9]\\d{6}",,,,"5062345678",,,[10],[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456",,,[10]],[,,"900[2-9]\\d{6}",,,,"9002123456",,,[10]],[,,,,,,,,,[-1]],[,,"52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|(?:5(?:00|2[125-9]|33|44|66|77|88)|6(?:22|33))[2-9]\\d{6}",,,,"5002345678",,,[10]],[,,"600[2-9]\\d{6}",,,,"6002012345",,,[10]],"CA",1,"011","1",,,"1",,,1,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"310\\d{4}",,,,"3101234",,,[7]],,,[,,,,,,,,,[-1]]],CC:[,[,,"1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}",,,,,,,[6,7,8,9,10,12]],[,,"8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\d|70[23]|959))\\d{3}",,,,"891621234",,,[9],[8]],[,,"4(?:79[01]|83[0-389]|94[0-4])\\d{5}|4(?:[0-36]\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\d{6}",,,,"412345678",,,[9]],[,,"180(?:0\\d{3}|2)\\d{3}",,,,"1800123456",,,[7,10]],[,,"190[0-26]\\d{6}",,,,"1900123456",,,[10]],[,,"13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}",,,,"1300123456",,,[6,8,10,12]],[,,,,,,,,,[-1]],[,,"14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}",,,,"147101234",,,[9]],"CC",61,"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","0",,,"([59]\\d{7})$|0","8$1","0011",,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CD:[,[,,"(?:(?:[189]|5\\d)\\d|2)\\d{7}|[1-68]\\d{6}",,,,,,,[7,8,9,10]],[,,"(?:(?:12|573)\\d\\d|276)\\d{5}|[1-6]\\d{6}",,,,"1234567"],[,,"88\\d{5}|(?:8[0-69]|9[017-9])\\d{7}",,,,"991234567",,,[7,9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"CD",243,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["88"],"0$1"],[,"(\\d{2})(\\d{5})","$1 $2",["[1-6]"],"0$1"],[,"(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["2"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[89]"],"0$1"],[,"(\\d{2})(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["5"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CF:[,[,,"(?:[27]\\d{3}|8776)\\d{4}",,,,,,,[8]],[,,"2[12]\\d{6}",,,,"21612345"],[,,"7[024-7]\\d{6}",,,,"70012345"],[,,,,,,,,,[-1]],[,,"8776\\d{4}",,,,"87761234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"CF",236,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[278]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CG:[,[,,"222\\d{6}|(?:0\\d|80)\\d{7}",,,,,,,[9]],[,,"222[1-589]\\d{5}",,,,"222123456"],[,,"026(?:1[0-5]|6[6-9])\\d{4}|0(?:[14-6]\\d\\d|2(?:40|5[5-8]|6[07-9]))\\d{5}",,,,"061234567"],[,,,,,,,,,[-1]],[,,"80[0-2]\\d{6}",,,,"800123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"CG",242,"00",,,,,,,,[[,"(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["8"]],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[02]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CH:[,[,,"8\\d{11}|[2-9]\\d{8}",,,,,,,[9,12]],[,,"(?:2[12467]|3[1-4]|4[134]|5[256]|6[12]|[7-9]1)\\d{7}",,,,"212345678",,,[9]],[,,"(?:6[89]|7[235-9])\\d{7}",,,,"781234567",,,[9]],[,,"800\\d{6}",,,,"800123456",,,[9]],[,,"90[016]\\d{6}",,,,"900123456",,,[9]],[,,"84[0248]\\d{6}",,,,"840123456",,,[9]],[,,"878\\d{6}",,,,"878123456",,,[9]],[,,,,,,,,,[-1]],"CH",41,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8[047]|90"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-79]|81"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["8"],"0$1"]],,[,,"74[0248]\\d{6}",,,,"740123456",,,[9]],,,[,,,,,,,,,[-1]],[,,"5[18]\\d{7}",,,,"581234567",,,[9]],,,[,,"860\\d{9}",,,,"860123456789",,,[12]]],CI:[,[,,"[02]\\d{9}",,,,,,,[10]],[,,"2(?:[15]\\d{3}|7(?:2(?:0[23]|1[2357]|2[245]|3[45]|4[3-5])|3(?:06|1[69]|[2-6]7)))\\d{5}",,,,"2123456789"],[,,"0[157]\\d{8}",,,,"012345
156726789"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"CI",225,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d)(\\d{5})","$1 $2 $3 $4",["2"]],[,"(\\d{2})(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3 $4",["0"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CK:[,[,,"[2-578]\\d{4}",,,,,,,[5]],[,,"(?:2\\d|3[13-7]|4[1-5])\\d{3}",,,,"21234"],[,,"[578]\\d{4}",,,,"71234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"CK",682,"00",,,,,,,,[[,"(\\d{2})(\\d{3})","$1 $2",["[2-578]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CL:[,[,,"12300\\d{6}|6\\d{9,10}|[2-9]\\d{8}",,,,,,,[9,10,11]],[,,"2(?:1982[0-6]|3314[05-9])\\d{3}|(?:2(?:1(?:160|962)|3(?:2\\d\\d|3(?:[03467]\\d|1[0-35-9]|2[1-9]|5[0-24-9]|8[0-3])|600)|646[59])|80[1-9]\\d\\d|9(?:3(?:[0-57-9]\\d\\d|6(?:0[02-9]|[1-9]\\d))|6(?:[0-8]\\d\\d|9(?:[02-79]\\d|1[05-9]))|7[1-9]\\d\\d|9(?:[03-9]\\d\\d|1(?:[0235-9]\\d|4[0-24-9])|2(?:[0-79]\\d|8[0-46-9]))))\\d{4}|(?:22|3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|8[1-9]|9[2458])\\d{7}",,,,"221234567",,,[9]],[,,"2(?:1982[0-6]|3314[05-9])\\d{3}|(?:2(?:1(?:160|962)|3(?:2\\d\\d|3(?:[03467]\\d|1[0-35-9]|2[1-9]|5[0-24-9]|8[0-3])|600)|646[59])|80[1-9]\\d\\d|9(?:3(?:[0-57-9]\\d\\d|6(?:0[02-9]|[1-9]\\d))|6(?:[0-8]\\d\\d|9(?:[02-79]\\d|1[05-9]))|7[1-9]\\d\\d|9(?:[03-9]\\d\\d|1(?:[0235-9]\\d|4[0-24-9])|2(?:[0-79]\\d|8[0-46-9]))))\\d{4}|(?:22|3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|8[1-9]|9[2458])\\d{7}",,,,"221234567",,,[9]],[,,"(?:123|8)00\\d{6}",,,,"800123456",,,[9,11]],[,,,,,,,,,[-1]],[,,"600\\d{7,8}",,,,"6001234567",,,[10,11]],[,,,,,,,,,[-1]],[,,"44\\d{7}",,,,"441234567",,,[9]],"CL",56,"(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0",,,,,,,1,[[,"(\\d{4})","$1",["1(?:[03-589]|21)|[29]0|78"]],[,"(\\d{5})(\\d{4})","$1 $2",["219","2196"],"($1)"],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["44"]],[,"(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2[1-36]"],"($1)"],[,"(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["9[2-9]"]],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])"],"($1)"],[,"(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["60|8"]],[,"(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]],[,"(\\d{3})(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3 $4",["60"]]],[[,"(\\d{5})(\\d{4})","$1 $2",["219","2196"],"($1)"],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["44"]],[,"(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2[1-36]"],"($1)"],[,"(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["9[2-9]"]],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])"],"($1)"],[,"(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["60|8"]],[,"(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]],[,"(\\d{3})(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3 $4",["60"]]],[,,,,,,,,,[-1]],,,[,,"600\\d{7,8}",,,,,,,[10,11]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CM:[,[,,"[26]\\d{8}|88\\d{6,7}",,,,,,,[8,9]],[,,"2(?:22|33)\\d{6}",,,,"222123456",,,[9]],[,,"(?:24[23]|6(?:[25-9]\\d|40))\\d{6}",,,,"671234567",,,[9]],[,,"88\\d{6,7}",,,,"88012345"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"CM",237,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["88"]],[,"(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[26]|88"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CN:[,[,,"(?:(?:1[03-689]|2\\d)\\d\\d|6)\\d{8}|1\\d{10}|[126]\\d{6}(?:\\d(?:\\d{2})?)?|86\\d{5,6}|(?:[3-579]\\d|8[0-57-9])\\d{5,9}",,,,,,,[7,8,9,10,11,12],[5,6]],[,,"(?:10(?:[02-79]\\d\\d|[18](?:0[1-9]|[1-9]\\d))|2(?:[02-57-9]\\d{3}|1(?:[18](?:0[1-9]|[1-9]\\d)|[2-79]\\d\\d))|(?:41[03]|8078|9(?:78|94))\\d\\d)\\d{5}|(?:10|2[0-57-9])(?:1(?:00|23)\\d\\d|95\\d{3,4})|(?:41[03]|9(?:78|94))(?:100\\d\\d|95\\d{3,4})|8078123|(?:43[35]|754|851)\\d{7,8}|(?:43[35]|754|851)(?:1(?:00\\d|23)\\d|95\\d{3,4})|(?:3(?:11|7[179])|4(?:[15]1|3[12])|5(?:1\\d|2[37]|3[12]|51|7[13-79]|9[15])|7(?:[39]1|5[57]|6[09])|8(?:71|98))(?:[02-8]\\d{7}|1(?:0(?:0\\d\\d(?:\\d{3})?|[1-9]\\d{5})|[13-9]\\d{6}|2(?:[0-24-9]\\d{5}|3\\d(?:\\d{4})?))|9(?:[0-46-9]\\d{6}|5\\d{3}(?:\\d(?:\\d{2})?)?))|(?:3(?:1[02-9]|35|49|5\\d|7[02-68]|9[1-68])|4(?:1[24-9]|2[179]|3[46-9]|5[2-9]|6[47-9]|7\\d|8[23])|5(?:3[03-9]|4[36]|5[02-9]|6[1-46]|7[028]|80|9[2-46-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[17]\\d|2[248]|3[04-9]|4[3-6]|5[0-3689]|6[2368]|9[02-9])|8(?:1[236-8]|2[5-7]|3\\d|5[2-9]|7[02-9]|8[36-8]|9[1-7])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))(?:[02-8]\\d{6}|1(?:0(?:0\\d\\d(?:\\d{2})?|[1-9]\\d{4})|[13-9]\\d{5}|2(?:[0-24-9]\\d{4}|3\\d(?:\\d{3})?))|9(?:[0-46-9]\\d{5}|5\\d{3,5}))",,,,"1012345678",,,[7,8,9,10,11],[5,6]],[,,"1740[0-5]\\d{6}|1(?:[38]\\d|4[57]|[59][0-35-9]|6[25-7]|7[0-35-8])\\d{8}",,,,"13123456789",,,[11]],[,,"(?:(?:10|21)8|8)00\\d{7}",,,,"8001234567",,,[10,12]],[,,"16[08]\\d{5}",,,,"16812345",,,[8]],[,,"10(?:10\\d{4}|96\\d{3,4})|400\\d{7}|950\\d{7,8}|(?:2[0-57-9]|3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))96\\d{3,4}",,,,"4001234567",,,[7,8,9,10,11],[5,6]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"CN",86,"00|1(?:[12]\\d|79)\\d\\d00","0",,,"(1(?:[12]\\d|79)\\d\\d)|0",,"00",,[[,"(\\d{5,6})","$1",["1(?:00|2[13])|9[56]","1(?:00|2(?:1|39))|9[56]","1(?:00|2(?:1|395))|9[56]"]],[,"(\\d{5,6})","$1",["1(?:0|23)|781|[1-9]12","1(?:0|23)|7812|[1-9]123","1(?:0|23(?:[0-8]|9[0-46-9]))|78123|[1-9]123"]],[,"(\\d{2})(\\d{5,6})","$1 $2",["(?:10|2[0-57-9])[19]|3(?:[157]|35|49|9[1-68])|4(?:1[124-9]|2[179]|6[47-9]|7|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:07|1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3|4[13]|5[1-5]|7[0-79]|9[0-35-9])|(?:4[35]|59|85)[1-9]","(?:10|2[0-57-9])(?:1[02]|9[56])|8078|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))1","10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|80781|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))12","10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|807812|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123","10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123"],"0$1","$CC $1"],[,"(\\d{3})(\\d{4})","$1 $2",["[1-9]","1[1-9]|26|[3-9]|(?:10|2[0-57-9])(?:[0-8]|9[0-47-9])","1(?:0(?:[02-8]|1(?:[013-9]|2[0-24-9])|9[0-47-9])|[1-9])|2(?:[0-57-9](?:[02-8]|1(?:0[1-9]|[13-9]|2[0-24-9])|9[0-47-9])|6)|[3-9]","1(?:0(?:[02-8]|1(?:[013-9]|2[0-24-9])|9[0-47-9])|[1-9])|2(?:[0-57-9](?:[02-8]|1(?:0[1-9]|[13-9]|2[0-24-9])|9[0-47-9])|6)|3(?:[0268]|3[0-46-9]|4[0-8]|9[079])|4(?:[049]|1[03]|2[02-68]|[35]0|6[0-356]|8[014-9])|5(?:0|2[0-24-689]|4[0-2457-9]|6[057-9]|8[1-9]|90)|6(?:[0-24578]|3[06-9]|6[14-79]|9[03-9])|7(?:0[02-9]|2[0135-79]|3[23]|4[0-27-9]|6[1457]|8)|8(?:[046]|1[01459]|2[0-489]|50|8[0-2459]|9[09])|9(?:0[0457]|1[08]|[268]|4[024-9]|5[06-9]|78|94)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))(?:[02-9]|1(?:[013-9]|2[0-24-9]))","1(?:0(?:[02-8]|1(?:[013-9]|2[0-24-9])|9[0-47-9])|[1-9])|2(?:[0-57-9](?:[02-8]|1(?:0[1-9]|[13-9]|2[0-24-9])|9[0-47-9])|6)|3(?:[0268]|3[0-46-9]|4[0-8]|9[079])|4(?:[049]|1[03]|2[02-68]|[35]0|6[0-356]|8[014-9])|5(?:0|2[0-24-689]|4[0-2457-9]|6[057-9]|8[1-9]|90)|6(?:[0-24578]|3[06-9]|6[14-79]|9[03-9])|7(?:0[02-9]|2[0135-79]|3[23]|4[0-27-9]|6[1457]|8)|8(?:0(?:[0-689]|7[0-79])|1[01459]|2[0-489]|[46]|50|8[0-2459]|9[09])|9(?:0[0457]|1[08]|[268]|4[024-9]|5[06-9]|78|94)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))(?:[02-9]|1(?:[013-9]|2[0-24-9]))"]],[,"(\\d{4})(\\d{4})","$1 $2",["16[08]"]],[,"(\\d{3})(\\d{5,6})","$1 $2",["3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]","(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]","85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])","85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])"],"0$1","$CC $1"],[,"(\\d{4})(\\d{4})","$1 $2",["[1-9]","1(?:0(?:[02-8]|1[1-9]|9[0-47-9])|[1-9])|2(?:[0-57-9](?:[0-8]|9[0-47-9])|6)|[3-9]","1(?:0(?:[02-8]|1[1-9]|9[0-47-9])|[1-9])|26|3(?:[0268]|4[0-8]|9[079])|4(?:[049]|2[02-68]|[35]0|6[0-356]|8[014-9])|5(?:0|2[0-24-689]|4[0-2457-9]|6[057-9]|8[1-9]|90)|6(?:[0-24578]|3[06-9]|6[14-79]|9[03-9])|7(?:0[02-9]|2[0135-79]|3[23]|4[0-27-9]|6[1457]|8)|8(?:[046]|1[01459]|2[0-489]|5(?:0|[23][0-8])|8[0-2459]|9[09])|9(?:0[0457]|1[08]|[268]|4[024-9]|5[06-9])|(?:33|85[23]9)[0-46-9]|(?:2[0-57-9]|3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:[0-8]|9[0-47-9])","1(?:0[02-8]|[1-9])|2(?:[0-57-9][0-8]|6)|3(?:[0268]|3[0-46-9]|4[0-8]|9[079])|4(?:[049]|2[02-68]|[35]0|6[0-356]|8[014-9])|5(?:0|2[0-24-689]|4[0-2457-9]|6[057-9]|90)|6(?:[0-24578]|3[06-9]|6[14-79]|9[03-9])|7(?:0[02-9]|2[0135-79]|3[23]|4[0-27-9]|6[1457]|8)|8(?:[046]|1[01459]|2[0-489]|5(?:0|[23](?:[02-8]|1[1-9]|9[0-46-9]))|8[0-2459]|9[09])|9(?:0[0457]|1[08]|[268]|4[024-9]|5[06-9])|(?:10|2[0-57-9])9[0-47-9]|(?:101|58|85[23]10)[1-9]|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:[02-8]|1(?:0[1-9]|[1-9])|9[0-47-9])"]],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["(?:4|80)0"]],[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["10|2(?:[02-57-9]|1[1-9])","10|2(?:[02-57-9]|1[1-9])","10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])"],"0$1","$CC $1",1],[,"(\\d{3})(\\d{3})(\\d{4}
15672)","$1 $2 $3",["3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]"],"0$1","$CC $1",1],[,"(\\d{3})(\\d{7,8})","$1 $2",["9"]],[,"(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["80"],"0$1","$CC $1",1],[,"(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["[3-578]"],"0$1","$CC $1",1],[,"(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["1[3-9]"],,"$CC $1"],[,"(\\d{2})(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3 $4",["[12]"],"0$1",,1]],[[,"(\\d{2})(\\d{5,6})","$1 $2",["(?:10|2[0-57-9])[19]|3(?:[157]|35|49|9[1-68])|4(?:1[124-9]|2[179]|6[47-9]|7|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:07|1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3|4[13]|5[1-5]|7[0-79]|9[0-35-9])|(?:4[35]|59|85)[1-9]","(?:10|2[0-57-9])(?:1[02]|9[56])|8078|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))1","10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|80781|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))12","10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|807812|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123","10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123"],"0$1","$CC $1"],[,"(\\d{3})(\\d{5,6})","$1 $2",["3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]","(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]","85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])","85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])"],"0$1","$CC $1"],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["(?:4|80)0"]],[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["10|2(?:[02-57-9]|1[1-9])","10|2(?:[02-57-9]|1[1-9])","10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])"],"0$1","$CC $1",1],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]"],"0$1","$CC $1",1],[,"(\\d{3})(\\d{7,8})","$1 $2",["9"]],[,"(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["80"],"0$1","$CC $1",1],[,"(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["[3-578]"],"0$1","$CC $1",1],[,"(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["1[3-9]"],,"$CC $1"],[,"(\\d{2})(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3 $4",["[12]"],"0$1",,1]],[,,,,,,,,,[-1]],,,[,,"(?:(?:10|21)8|[48])00\\d{7}|950\\d{7,8}",,,,,,,[10,11,12]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CO:[,[,,"(?:46|60\\d\\d)\\d{6}|(?:1\\d|[39])\\d{9}",,,,,,,[8,10,11],[4,7]],[,,"601055(?:[0-4]\\d|50)\\d\\d|6010(?:[0-4]\\d|5[0-4])\\d{4}|(?:46|60(?:[124-7][2-9]|8[1-9]))\\d{6}",,,,"6012345678",,,[8,10],[4,7]],[,,"333301[0-5]\\d{3}|3333(?:00|2[5-9]|[3-9]\\d)\\d{4}|(?:3(?:24[1-9]|3(?:00|3[0-24-9]))|9101)\\d{6}|3(?:0[0-5]|1\\d|2[0-3]|5[01]|70)\\d{7}",,,,"3211234567",,,[10]],[,,"1800\\d{7}",,,,"18001234567",,,[11]],[,,"(?:19(?:0[01]|4[78])|901)\\d{7}",,,,"19001234567",,,[10,11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"CO",57,"00(?:4(?:[14]4|56)|[579])","0",,,"0([3579]|4(?:[14]4|56))?",,,,[[,"(\\d{4})(\\d{4})","$1 $2",["46"]],[,"(\\d{3})(\\d{7})","$1 $2",["6|90"],"($1)","0$CC $1"],[,"(\\d{3})(\\d{7})","$1 $2",["3[0-357]|91"],,"0$CC $1"],[,"(\\d)(\\d{3})(\\d{7})","$1-$2-$3",["1"],"0$1"]],[[,"(\\d{4})(\\d{4})","$1 $2",["46"]],[,"(\\d{3})(\\d{7})","$1 $2",["6|90"],"($1)","0$CC $1"],[,"(\\d{3})(\\d{7})","$1 $2",["3[0-357]|91"],,"0$CC $1"],[,"(\\d)(\\d{3})(\\d{7})","$1 $2 $3",["1"]]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CR:[,[,,"(?:8\\d|90)\\d{8}|(?:[24-8]\\d{3}|3005)\\d{4}",,,,,,,[8,10]],[,,"210[7-9]\\d{4}|2(?:[024-7]\\d|1[1-9])\\d{5}",,,,"22123456",,,[8]],[,,"(?:3005\\d|6500[01])\\d{3}|(?:5[07]|6[0-4]|7[0-3]|8[3-9])\\d{6}",,,,"83123456",,,[8]],[,,"800\\d{7}",,,,"8001234567",,,[10]],[,,"90[059]\\d{7}",,,,"9001234567",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"(?:210[0-6]|4\\d{3}|5100)\\d{4}",,,,"40001234",,,[8]],"CR",506,"00",,,,"(19(?:0[0-2468]|1[09]|20|66|77|99))",,,,[[,"(\\d{4})(\\d{4})","$1 $2",["[2-7]|8[3-9]"],,"$CC $1"],[,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[89]"],,"$CC $1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CU:[,[,,"(?:[2-7]|8\\d\\d)\\d{7}|[2-47]\\d{6}|[34]\\d{5}",,,,,,,[6,7,8,10],[4,5]],[,,"(?:3[23]|4[89])\\d{4,6}|(?:31|4[36]|8(?:0[25]|78)\\d)\\d{6}|(?:2[1-4]|4[1257]|7\\d)\\d{5,6}",,,,"71234567",,,,[4,5]],[,,"(?:5\\d|6[2-4])\\d{6}",,,,"51234567",,,[8]],[,,"800\\d{7}",,,,"8001234567",,,[10]],[,,,,,,,,,[-1]],[,,"807\\d{7}",,,,"8071234567",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"CU",53,"119","0",,,"0",,,,[[,"(\\d{2})(\\d{4,6})","$1 $2",["2[1-4]|[34]"],"(0$1)"],[,"(\\d)(\\d{6,7})","$1 $2",["7"],"(0$1)"],[,"(\\d)(\\d{7})","$1 $2",["[56]"],"0$1"],[,"(\\d{3})(\\d{7})","$1 $2",["8"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CV:[,[,,"(?:[2-59]\\d\\d|800)\\d{4}",,,,,,,[7]],[,,"2(?:2[1-7]|3[0-8]|4[12]|5[1256]|6\\d|7[1-3]|8[1-5])\\d{4}",,,,"2211234"],[,,"(?:36|5[1-389]|9\\d)\\d{5}",,,,"9911234"],[,,"800\\d{4}",,,,"8001234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"(?:3[3-5]|4[356])\\d{5}",,,,"3401234"],"CV",238,"0",,,,,,,,[[,"(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[2-589]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CW:[,[,,"(?:[34]1|60|(?:7|9\\d)\\d)\\d{5}",,,,,,,[7,8]],[,,"9(?:4(?:3[0-5]|4[14]|6\\d)|50\\d|7(?:2[014]|3[02-9]|4[4-9]|6[357]|77|8[7-9])|8(?:3[39]|[46]\\d|7[01]|8[57-9]))\\d{4}",,,,"94351234"],[,,"953[01]\\d{4}|9(?:5[12467]|6[5-9])\\d{5}",,,,"95181234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"60[0-2]\\d{4}",,,,"6001234",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"CW",599,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",["[3467]"]],[,"(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["9[4-8]"]]],,[,,"955\\d{5}",,,,"95581234",,,[8]],1,"[69]",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CX:[,[,,"1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}",,,,,,,[6,7,8,9,10,12]],[,,"8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\d|7(?:0[01]|1[0-2])|958))\\d{3}",,,,"891641234",,,[9],[8]],[,,"4(?:79[01]|83[0-389]|94[0-4])\\d{5}|4(?:[0-36]\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\d{6}",,,,"412345678",,,[9]],[,,"180(?:0\\d{3}|2)\\d{3}",,,,"1800123456",,,[7,10]],[,,"190[0-26]\\d{6}",,,,"1900123456",,,[10]],[,,"13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}",,,,"1300123456",,,[6,8,10,12]],[,,,,,,,,,[-1]],[,,"14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}",,,,"147101234",,,[9]],"CX",61,"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","0",,,"([59]\\d{7})$|0","8$1","0011",,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CY:[,[,,"(?:[279]\\d|[58]0)\\d{6}",,,,,,,[8]],[,,"2[2-6]\\d{6}",,,,"22345678"],[,,"9(?:10|[4-79]\\d)\\d{5}",,,,"96123456"],[,,"800\\d{5}",,,,"80001234"],[,,"90[09]\\d{5}",,,,"90012345"],[,,"80[1-9]\\d{5}",,,,"80112345"],[,,"700\\d{5}",,,,"70012345"],[,,,,,,,,,[-1]],"CY",357,"00",,,,,,,,[[,"(\\d{2})(\\d{6})","$1 $2",["[257-9]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"(?:50|77)\\d{6}",,,,"77123456"],,,[,,,,,,,,,[-1]]],CZ:[,[,,"(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}",,,,,,,[9,10,11,12]],[,,"(?:2\\d|3[1257-9]|4[16-9]|5[13-9])\\d{7}",,,,"212345678",,,[9]],[,,"(?:60[1-8]\\d|7(?:0(?:[2-5]\\d|60)|19[01]|[2379]\\d\\d))\\d{5}",,,,"601123456",,,[9]],[,,"800\\d{6}",,,,"800123456",,,[9]],[,,"9(?:0[05689]|76)\\d{6}",,,,"900123456",,,[9]],[,,"8[134]\\d{7}",,,,"811234567",,,[9]],[,,"70[01]\\d{6}",,,,"700123456",,,[9]],[,,"9[17]0\\d{6}",,,,"910123456",,,[9]],"CZ",420,"00",,,,,,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[2-8]|9[015-7]"]],[,"(\\d{2})(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3 $4",["96"]],[,"(\\d{2})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]],[,"(\\d{3})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"9(?:5\\d|7[2-4])\\d{6}",,,,"972123456",,,[9]],,,[,,"9(?:3\\d{9}|6\\d{7,10})",,,,"93123456789"]],DE:[,[,,"[2579]\\d{5,14}|49(?:[34]0|69|8\\d)\\d\\d?|49(?:37|49|60|7[089]|9\\d)\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\d{1,8}|(?:1|[368]\\d|4[0-8])\\d{3,13}|49(?:[015]\\d|2[13]|31|[46][1-8])\\d{1,9}",,,,,,,[4,5,6,7,8,9,10,11,12,13,14,15],[2,3]],[,,"32\\d{9,11}|49[1-6]\\d{10}|322\\d{6}|49[0-7]\\d{3,9}|(?:[34]0|[68]9)\\d{3,13}|(?:2(?:0[1-689]|[1-3569]\\d|4[0-8]|7[1-7]|8[0-7])|3(?:[3569]\\d|4[0-79]|7[1-7]|8[1-8])|4(?:1[02-9]|[2-48]\\d|5[0-6]|6[0-8]|7[0-79])|5(?:0[2-8]|[124-6]\\d|[38][0-8]|[79][0-7])|6(?:0[02-9]|[1-358]\\d|[47][0-8]|6[1-9])|7(?:0[2-8]|1[1-9]|[27][0-7]|3\\d|[4-6][
156720-8]|8[0-5]|9[013-7])|8(?:0[2-9]|1[0-79]|2\\d|3[0-46-9]|4[0-6]|5[013-9]|6[1-8]|7[0-8]|8[0-24-6])|9(?:0[6-9]|[1-4]\\d|[589][0-7]|6[0-8]|7[0-467]))\\d{3,12}",,,,"30123456",,,[5,6,7,8,9,10,11,12,13,14,15],[2,3,4]],[,,"16[023]\\d{7,8}|1(?:5310|7[0-57-9]\\d)\\d{6}|1(?:5[0-25-9]|76)\\d{8}",,,,"15123456789",,,[10,11]],[,,"800\\d{7,12}",,,,"8001234567890",,,[10,11,12,13,14,15]],[,,"(?:137[7-9]|900(?:[135]|9\\d))\\d{6}",,,,"9001234567",,,[10,11]],[,,"180\\d{5,11}|13(?:7[1-6]\\d\\d|8)\\d{4}",,,,"18012345",,,[7,8,9,10,11,12,13,14]],[,,"700\\d{8}",,,,"70012345678",,,[11]],[,,,,,,,,,[-1]],"DE",49,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{3,13})","$1 $2",["3[02]|40|[68]9"],"0$1"],[,"(\\d{3})(\\d{3,12})","$1 $2",["2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1","2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1"],"0$1"],[,"(\\d{4})(\\d{2,11})","$1 $2",["[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]","[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]"],"0$1"],[,"(\\d{3})(\\d{4})","$1 $2",["138"],"0$1"],[,"(\\d{5})(\\d{2,10})","$1 $2",["3"],"0$1"],[,"(\\d{3})(\\d{5,11})","$1 $2",["181"],"0$1"],[,"(\\d{3})(\\d)(\\d{4,10})","$1 $2 $3",["1(?:3|80)|9"],"0$1"],[,"(\\d{3})(\\d{7,8})","$1 $2",["1[67]"],"0$1"],[,"(\\d{3})(\\d{7,12})","$1 $2",["8"],"0$1"],[,"(\\d{5})(\\d{6})","$1 $2",["185","1850","18500"],"0$1"],[,"(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["7"],"0$1"],[,"(\\d{4})(\\d{7})","$1 $2",["18[68]"],"0$1"],[,"(\\d{4})(\\d{7})","$1 $2",["15[1279]"],"0$1"],[,"(\\d{5})(\\d{6})","$1 $2",["15[03568]","15(?:[0568]|31)"],"0$1"],[,"(\\d{3})(\\d{8})","$1 $2",["18"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{7,8})","$1 $2 $3",["1(?:6[023]|7)"],"0$1"],[,"(\\d{4})(\\d{2})(\\d{7})","$1 $2 $3",["15[279]"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{8})","$1 $2 $3",["15"],"0$1"]],,[,,"16(?:4\\d{1,10}|[89]\\d{1,11})",,,,"16412345",,,[4,5,6,7,8,9,10,11,12,13,14]],,,[,,,,,,,,,[-1]],[,,"18(?:1\\d{5,11}|[2-9]\\d{8})",,,,"18500123456",,,[8,9,10,11,12,13,14]],,,[,,"1(?:6(?:013|255|399)|7(?:(?:[015]1|[69]3)3|[2-4]55|[78]99))\\d{7,8}|15(?:(?:[03-68]00|113)\\d|2\\d55|7\\d99|9\\d33)\\d{7}",,,,"177991234567",,,[12,13]]],DJ:[,[,,"(?:2\\d|77)\\d{6}",,,,,,,[8]],[,,"2(?:1[2-5]|7[45])\\d{5}",,,,"21360003"],[,,"77\\d{6}",,,,"77831001"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"DJ",253,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[27]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],DK:[,[,,"[2-9]\\d{7}",,,,,,,[8]],[,,"(?:(?:2\\d|9[1-46-9])\\d|3(?:[0-37]\\d|4[013]|5[0-58]|6[01347-9]|8[0-8]|9[0-79])|4(?:[0-25]\\d|[34][02-9]|6[013-579]|7[013579]|8[0-47]|9[0-27])|5(?:[0-36]\\d|4[0146-9]|5[03-57-9]|7[0568]|8[0-358]|9[0-69])|6(?:[013578]\\d|2[0-68]|4[02-8]|6[01689]|9[015689])|7(?:[0-69]\\d|7[03-9]|8[0147])|8(?:[16-9]\\d|2[0-58]))\\d{5}",,,,"32123456"],[,,"(?:[2-7]\\d|8[126-9]|9[1-46-9])\\d{6
vendor: 5,388 bytes, line 15672
15672}",,,,"34412345"],[,,"80\\d{6}",,,,"80123456"],[,,"90\\d{6}",,,,"90123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"DK",45,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-9]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],DM:[,[,,"(?:[58]\\d\\d|767|900)\\d{7}",,,,,,,[10],[7]],[,,"767(?:2(?:55|66)|4(?:2[01]|4[0-25-9])|50[0-4])\\d{4}",,,,"7674201234",,,,[7]],[,,"767(?:2(?:[2-4689]5|7[5-7])|31[5-7]|61[1-8]|70[1-6])\\d{4}",,,,"7672251234",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456"],[,,"900[2-9]\\d{6}",,,,"9002123456"],[,,,,,,,,,[-1]],[,,"52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"DM",1,"011","1",,,"([2-7]\\d{6})$|1","767$1",,,,,[,,,,,,,,,[-1]],,"767",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],DO:[,[,,"(?:[58]\\d\\d|900)\\d{7}",,,,,,,[10],[7]],[,,"8(?:[04]9[2-9]\\d\\d|29(?:2(?:[0-59]\\d|6[04-9]|7[0-27]|8[0237-9])|3(?:[0-35-9]\\d|4[7-9])|[45]\\d\\d|6(?:[0-27-9]\\d|[3-5][1-9]|6[0135-8])|7(?:0[013-9]|[1-37]\\d|4[1-35689]|5[1-4689]|6[1-57-9]|8[1-79]|9[1-8])|8(?:0[146-9]|1[0-48]|[248]\\d|3[1-79]|5[01589]|6[013-68]|7[124-8]|9[0-8])|9(?:[0-24]\\d|3[02-46-9]|5[0-79]|60|7[0169]|8[57-9]|9[02-9])))\\d{4}",,,,"8092345678",,,,[7]],[,,"8[024]9[2-9]\\d{6}",,,,"8092345678",,,,[7]],[,,"8(?:00(?:14|[2-9]\\d)|(?:33|44|55|66|77|88)[2-9]\\d)\\d{5}",,,,"8002123456"],[,,"900[2-9]\\d{6}",,,,"9002123456"],[,,,,,,,,,[-1]],[,,"52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"DO",1,"011","1",,,"1",,,,,,[,,,,,,,,,[-1]],,"8001|8[024]9",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],DZ:[,[,,"(?:[1-4]|[5-79]\\d|80)\\d{7}",,,,,,,[8,9]],[,,"9619\\d{5}|(?:1\\d|2[013-79]|3[0-8]|4[013-689])\\d{6}",,,,"12345678"],[,,"(?:5(?:4[0-29]|5\\d|6[0-3])|6(?:[569]\\d|7[0-6])|7[7-9]\\d)\\d{6}",,,,"551234567",,,[9]],[,,"800\\d{6}",,,,"800123456",,,[9]],[,,"80[3-689]1\\d{5}",,,,"808123456",,,[9]],[,,"80[12]1\\d{5}",,,,"801123456",,,[9]],[,,,,,,,,,[-1]],[,,"98[23]\\d{6}",,,,"983123456",,,[9]],"DZ",213,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[1-4]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["9"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-8]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],EC:[,[,,"1\\d{9,10}|(?:[2-7]|9\\d)\\d{7}",,,,,,,[8,9,10,11],[7]],[,,"[2-7][2-7]\\d{6}",,,,"22123456",,,[8],[7]],[,,"964[0-2]\\d{5}|9(?:39|[57][89]|6[0-36-9]|[89]\\d)\\d{6}",,,,"991234567",,,[9]],[,,"1800\\d{7}|1[78]00\\d{6}",,,,"18001234567",,,[10,11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"[2-7]890\\d{4}",,,,"28901234",,,[8]],"EC",593,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{4})","$1-$2",["[2-7]"]],[,"(\\d)(\\d{3})(\\d{4})","$1 $2-$3",["[2-7]"],"(0$1)"],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["9"],"0$1"],[,"(\\d{4})(\\d{3})(\\d{3,4})","$1 $2 $3",["1"]]],[[,"(\\d)(\\d{3})(\\d{4})","$1-$2-$3",["[2-7]"]],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["9"],"0$1"],[,"(\\d{4})(\\d{3})(\\d{3,4})","$1 $2 $3",["1"]]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],EE:[,[,,"8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d|90)\\d{5}",,,,,,,[7,8,10]],[,,"(?:3[23589]|4[3-8]|6\\d|7[1-9]|88)\\d{5}",,,,"3212345",,,[7]],[,,"(?:5\\d{5}|8(?:1(?:0(?:0(?:00|[178]\\d)|[3-9]\\d\\d)|(?:1(?:0[2-6]|1\\d)|(?:2[0-59]|[3-79]\\d)\\d)\\d)|2(?:0(?:0(?:00|4\\d)|(?:19|[2-7]\\d)\\d)|(?:(?:[124-69]\\d|3[5-9])\\d|7(?:[0-79]\\d|8[13-9])|8(?:[2-6]\\d|7[01]))\\d)|[349]\\d{4}))\\d\\d|5(?:(?:[02]\\d|5[0-478])\\d|1(?:[0-8]\\d|95)|6(?:4[0-4]|5[1-589]))\\d{3}",,,,"51234567",,,[7,8]],[,,"800(?:(?:0\\d\\d|1)\\d|[2-9])\\d{3}",,,,"80012345"],[,,"(?:40\\d\\d|900)\\d{4}",,,,"9001234",,,[7,8]],[,,,,,,,,,[-1]],[,,"70[0-2]\\d{5}",,,,"70012345",,,[8]],[,,,,,,,,,[-1]],"EE",372,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",["[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88","[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88"]],[,"(\\d{4})(\\d{3,4})","$1 $2",["[45]|8(?:00|[1-49])","[45]|8(?:00[1-9]|[1-49])"]],[,"(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["7"]],[,"(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["8"]]],,[,,,,,,,,,[-1]],,,[,,"800[2-9]\\d{3}",,,,,,,[7]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],EG:[,[,,"[189]\\d{8,9}|[24-6]\\d{8}|[135]\\d{7}",,,,,,,[8,9,10],[6,7]],[,,"13[23]\\d{6}|(?:15|57)\\d{6,7}|(?:2\\d|3|4[05-8]|5[05]|6[24-689]|8[2468]|9[235-7])\\d{7}",,,,"234567890",,,[8,9],[6,7]],[,,"1[0-25]\\d{8}",,,,"1001234567",,,[10]],[,,"800\\d{7}",,,,"8001234567",,,[10]],[,,"900\\d{7}",,,,"9001234567",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"EG",20,"00","0",,,"0",,,,[[,"(\\d)(\\d{7,8})","$1 $2",["[23]"],"0$1"],[,"(\\d{2})(\\d{6,7})","$1 $2",["1[35]|[4-6]|8[2468]|9[235-7]"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]"],"0$1"],[,"(\\d{2})(\\d{8})","$1 $2",["1"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],EH:[,[,,"[5-8]\\d{8}",,,,,,,[9]],[,,"528[89]\\d{5}",,,,"528812345"],[,,"(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[0167]\\d|2[0-4
15672]|5[01]|8[0-3
vendor: 10,383 bytes, line 15672
15672]))\\d{6}",,,,"650123456"],[,,"80[0-7]\\d{6}",,,,"801234567"],[,,"89\\d{7}",,,,"891234567"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"(?:592(?:4[0-2]|93)|80[89]\\d\\d)\\d{4}",,,,"592401234"],"EH",212,"00","0",,,"0",,,,,,[,,,,,,,,,[-1]],,"528[89]",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],ER:[,[,,"[178]\\d{6}",,,,,,,[7],[6]],[,,"(?:1(?:1[12568]|[24]0|55|6[146])|8\\d\\d)\\d{4}",,,,"8370362",,,,[6]],[,,"(?:17[1-3]|7\\d\\d)\\d{4}",,,,"7123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"ER",291,"00","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[178]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],ES:[,[,,"[5-9]\\d{8}",,,,,,,[9]],[,,"96906(?:0[0-8]|1[1-9]|[2-9]\\d)\\d\\d|9(?:69(?:0[0-57-9]|[1-9]\\d)|73(?:[0-8]\\d|9[1-9]))\\d{4}|(?:8(?:[1356]\\d|[28][0-8]|[47][1-9])|9(?:[135]\\d|[268][0-8]|4[1-9]|7[124-9]))\\d{6}",,,,"810123456"],[,,"(?:590[16]00\\d|9(?:6906(?:09|10)|7390\\d\\d))\\d\\d|(?:6\\d|7[1-48])\\d{7}",,,,"612345678"],[,,"[89]00\\d{6}",,,,"800123456"],[,,"80[367]\\d{6}",,,,"803123456"],[,,"90[12]\\d{6}",,,,"901123456"],[,,"70\\d{7}",,,,"701234567"],[,,,,,,,,,[-1]],"ES",34,"00",,,,,,,,[[,"(\\d{4})","$1",["905"]],[,"(\\d{6})","$1",["[79]9"]],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[89]00"]],[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-9]"]]],[[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[89]00"]],[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-9]"]]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"51\\d{7}",,,,"511234567"],,,[,,,,,,,,,[-1]]],ET:[,[,,"(?:11|[2-579]\\d)\\d{7}",,,,,,,[9],[7]],[,,"11667[01]\\d{3}|(?:11(?:1(?:1[124]|2[2-7]|3[1-5]|5[5-8]|8[6-8])|2(?:13|3[6-8]|5[89]|7[05-9]|8[2-6])|3(?:2[01]|3[0-289]|4[1289]|7[1-4]|87)|4(?:1[69]|3[2-49]|4[0-3]|6[5-8]|7\\d)|5(?:1[578]|44|5[0-4])|6(?:1[578]|2[69]|39|4[5-7]|5[0-5]|6[0-59]|8[015-8]))|2(?:2(?:11[1-9]|22[0-7]|33\\d|44[1467]|66[1-68])|5(?:11[124-6]|33[2-8]|44[1467]|55[14]|66[1-3679]|77[124-79]|880))|3(?:3(?:11[0-46-8]|(?:22|55)[0-6]|33[0134689]|44[04]|66[01467])|4(?:44[0-8]|55[0-69]|66[0-3]|77[1-5]))|4(?:6(?:119|22[0-24-7]|33[1-5]|44[13-69]|55[14-689]|660|88[1-4])|7(?:(?:11|22)[1-9]|33[13-7]|44[13-6]|55[1-689]))|5(?:7(?:227|55[05]|(?:66|77)[14-8])|8(?:11[149]|22[013-79]|33[0-68]|44[013-8]|550|66[1-5]|77\\d)))\\d{4}",,,,"111112345",,,,[7]],[,,"700[1-9]\\d{5}|(?:7(?:0[1-9]|1[0-8]|22|77|86|99)|9\\d\\d)\\d{6}",,,,"911234567"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"ET",251,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-579]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],FI:[,[,,"[1-35689]\\d{4}|7\\d{10,11}|(?:[124-7]\\d|3[0-46-9])\\d{8}|[1-9]\\d{5,8}",,,,,,,[5,6,7,8,9,10,11,12]],[,,"1[3-7][1-8]\\d{3,6}|(?:19[1-8]|[23568][1-8]\\d|9(?:00|[1-8]\\d))\\d{2,6}",,,,"131234567",,,[5,6,7,8,9]],[,,"4946\\d{2,6}|(?:4[0-8]|50)\\d{4,8}",,,,"412345678",,,[6,7,8,9,10]],[,,"800\\d{4,6}",,,,"800123456",,,[7,8,9]],[,,"[67]00\\d{5,6}",,,,"600123456",,,[8,9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"FI",358,"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))","0",,,"0",,"00",,[[,"(\\d{5})","$1",["75[12]"],"0$1"],[,"(\\d{5})","$1",["20[2-59]"],"0$1"],[,"(\\d{6})","$1",["11"]],[,"(\\d{3})(\\d{3,7})","$1 $2",["(?:[1-3]0|[68])0|70[07-9]"],"0$1"],[,"(\\d{2})(\\d{4,8})","$1 $2",["[14]|2[09]|50|7[135]"],"0$1"],[,"(\\d{2})(\\d{6,10})","$1 $2",["7"],"0$1"],[,"(\\d)(\\d{4,9})","$1 $2",["(?:19|[2568])[1-8]|3(?:0[1-9]|[1-9])|9"],"0$1"]],[[,"(\\d{5})","$1",["20[2-59]"],"0$1"],[,"(\\d{3})(\\d{3,7})","$1 $2",["(?:[1-3]0|[68])0|70[07-9]"],"0$1"],[,"(\\d{2})(\\d{4,8})","$1 $2",["[14]|2[09]|50|7[135]"],"0$1"],[,"(\\d{2})(\\d{6,10})","$1 $2",["7"],"0$1"],[,"(\\d)(\\d{4,9})","$1 $2",["(?:19|[2568])[1-8]|3(?:0[1-9]|[1-9])|9"],"0$1"]],[,,,,,,,,,[-1]],1,"1[03-79]|[2-9]",[,,"20(?:2[023]|9[89])\\d{1,6}|(?:60[12]\\d|7099)\\d{4,5}|(?:606|7(?:0[78]|1|3\\d))\\d{7}|(?:[1-3]00|7(?:0[1-5]\\d\\d|5[03-9]))\\d{3,7}"],[,,"20\\d{4,8}|60[12]\\d{5,6}|7(?:099\\d{4,5}|5[03-9]\\d{3,7})|20[2-59]\\d\\d|(?:606|7(?:0[78]|1|3\\d))\\d{7}|(?:10|29|3[09]|70[1-5]\\d)\\d{4,8}",,,,"10112345"],,,[,,,,,,,,,[-1]]],FJ:[,[,,"45\\d{5}|(?:0800\\d|[235-9])\\d{6}",,,,,,,[7,11]],[,,"603\\d{4}|(?:3[0-5]|6[25-7]|8[58])\\d{5}",,,,"3212345",,,[7]],[,,"(?:[279]\\d|45|5[01568]|8[034679])\\d{5}",,,,"7012345",,,[7]],[,,"0800\\d{7}",,,,"08001234567",,,[11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"FJ",679,"0(?:0|52)",,,,,,"00",,[[,"(\\d{3})(\\d{4})","$1 $2",["[235-9]|45"]],[,"(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["0"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],FK:[,[,,"[2-7]\\d{4}",,,,,,,[5]],[,,"[2-47]\\d{4}",,,,"31234"],[,,"[56]\\d{4}",,,,"51234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"FK",500,"00",,,,,,,,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],FM:[,[,,"(?:[39]\\d\\d|820)\\d{4}",,,,,,,[7]],[,,"31(?:00[67]|208|309)\\d\\d|(?:3(?:[2357]0[1-9]|602|804|905)|(?:820|9[2-6]\\d)\\d)\\d{3}",,,,"3201234"],[,,"31(?:00[67]|208|309)\\d\\d|(?:3(?:[2357]0[1-9]|602|804|905)|(?:820|9[2-7]\\d)\\d)\\d{3}",,,,"3501234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"FM",691,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",["[389]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],FO:[,[,,"[2-9]\\d{5}",,,,,,,[6]],[,,"(?:20|[34]\\d|8[19])\\d{4}",,,,"201234"],[,,"(?:[27][1-9]|5\\d|9[16])\\d{4}",,,,"211234"],[,,"80[257-9]\\d{3}",,,,"802123"],[,,"90(?:[13-5][15-7]|2[125-7]|9\\d)\\d\\d",,,,"901123"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"(?:6[0-36]|88)\\d{4}",,,,"601234"],"FO",298,"00",,,,"(10(?:01|[12]0|88))",,,,[[,"(\\d{6})","$1",["[2-9]"],,"$CC $1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],FR:[,[,,"[1-9]\\d{8}",,,,,,,[9]],[,,"(?:26[013-9]|59[1-35-9])\\d{6}|(?:[13]\\d|2[0-57-9]|4[1-9]|5[0-8])\\d{7}",,,,"123456789"],[,,"(?:6(?:[0-24-8]\\d|3[0-8]|9[589])|7[3-9]\\d)\\d{6}",,,,"612345678"],[,,"80[0-5]\\d{6}",,,,"801234567"],[,,"836(?:0[0-36-9]|[1-9]\\d)\\d{4}|8(?:1[2-9]|2[2-47-9]|3[0-57-9]|[569]\\d|8[0-35-9])\\d{6}",,,,"891123456"],[,,"8(?:1[01]|2[0156]|4[024]|84)\\d{6}",,,,"884012345"],[,,,,,,,,,[-1]],[,,"9\\d{8}",,,,"912345678"],"FR",33,"00","0",,,"0",,,,[[,"(\\d{4})","$1",["10"]],[,"(\\d{3})(\\d{3})","$1 $2",["1"]],[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0 $1"],[,"(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[1-79]"],"0$1"]],[[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0 $1"],[,"(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[1-79]"],"0$1"]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"80[6-9]\\d{6}",,,,"806123456"],,,[,,,,,,,,,[-1]]],GA:[,[,,"(?:[067]\\d|11)\\d{6}|[2-7]\\d{6}",,,,,,,[7,8]],[,,"[01]1\\d{6}",,,,"01441234",,,[8]],[,,"(?:(?:0[2-7]|7[467])\\d|6(?:0[0-4]|10|[256]\\d))\\d{5}|[2-7]\\d{6}",,,,"06031234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"GA",241,"00",,,,"0(11\\d{6}|60\\d{6}|61\\d{6}|6[256]\\d{6}|7[467]\\d{6})","$1",,,[[,"(\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-7]"],"0$1"],[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["0"]],[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["11|[67]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GB:[,[,,"[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}",,,,,,,[7,9,10],[4,5,6,8]],[,,"(?:1(?:1(?:3(?:[0-58]\\d\\d|73[0-35])|4(?:(?:[0-5]\\d|70)\\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\\d|6(?:[0-4]\\d|50))\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d|1(?:[0-7]\\d|8[0-3]))|(?:3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d)\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}",,,,"1212345678",,,[9,10],[4,5,6,7,8]],[,,"7(?:457[0-57-9]|700[01]|911[028])\\d{5}|7(?:[1-3]\\d\\d|4(?:[0-46-9]\\d|5[0-689])|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[024-9]\\d|1[02-9]|3[0-689]))\\d{6}",,,,"7400123456",,,[10]],[,,"80[08]\\d{7}|800\\d{6}|8001111",,,,"8001234567"],[,,"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d",,,,"9012345678",,,[7,10]],[,,,,,,,,,[-1]],[,,"70\\d{8}",,,,"7012345678",,,[10]],[,,"56\\d{8}",,,,"5612345678",,,[10]],"GB",44,"00","0"," x",,"0",,,,[[,"(\\d{3})(\\d{4})","$1 $2",["800","8001","80011","800111","8001111"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["845","8454","84546","845464"],"0$1"],[,"(\\d{3})(\\d{6})","$1 $2",["800"],"0$1"],[,"(\\d{5})(\\d{4,5})","$1 $2",["1(?:38|5[23]|69|76|94)","1(?:(?:38|69)7|5(?:24|39)|768|946)","1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)"],"0$1"],[,"(\\d{4})(\\d{5,6})","$1 $2",["1(?:[2-69][02-9]|[78])"],"0$1"],[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["[25]|7(?:0|6[02-9])","[25]|7(?:0|6(?:[03-9]|2[356]))"],"0$1"],[,"(\\d{4})(\\d{6})","$1 $2",["7"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[1389]"],"0$1"]],,[,,"76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}",,,,"7640123456",,,[10]],1,,[,,,,,,,,,[-1]],[,,"(?:3[0347]|55)\\d{8}",,,,"5512345678",,,[10]],,,[,,,,,,,,,[-1]]],GD:[,[,,"(?:473|[58]\\d\\d|900)\\d{7}",,,,,,,[10],[7]],[,,"473(?:2(?:3[0-2]|69)|3(?:2[89]|86)|4(?:[06]8|3[5-9]|4[0-4]|5[5
1567279]|73|90)|63[68]|7(?:58|84)|800|938)\\d{4}",,,,"4732691234",,,,[7]],[,,"473(?:4(?:0[2-79]|1[04-9]|2[0-5]|49|5[68])|5(?:2[01]|3[3-8])|901)\\d{4}",,,,"4734031234",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456"],[,,"900[2-9]\\d{6}",,,,"9002123456"],[,,,,,,,,,[-1]],[,,"52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"GD",1,"011","1",,,"([2-9]\\d{6})$|1","473$1",,,,,[,,,,,,,,,[-1]],,"473",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GE:[,[,,"(?:[3-57]\\d\\d|800)\\d{6}",,,,,,,[9],[6,7]],[,,"(?:3(?:[256]\\d|4[124-9]|7[0-4])|4(?:1\\d|2[2-7]|3[1-79]|4[2-8]|7[239]|9[1-7]))\\d{6}",,,,"322123456",,,,[6,7]],[,,"5(?:(?:(?:0555|1(?:[17]77|555))[5-9]|757(?:7[7-9]|8[01]))\\d|22252[0-4])\\d\\d|5(?:0(?:0[17]0|505)|1(?:0[01]0|1(?:07|33|51))|2(?:0[02]0|2[25]2)|3(?:0[03]0|3[35]3)|(?:40[04]|900)0|5222)[0-4]\\d{3}|(?:5(?:0(?:0(?:0\\d|11|22|3[0-6]|44|5[05]|77|88|9[09])|(?:[14]\\d|77)\\d|22[02])|1(?:1(?:[03][01]|[124]\\d|5[2-6]|7[0-4])|4\\d\\d)|[23]555|4(?:4\\d\\d|555)|5(?:[0157-9]\\d\\d|200|333|444)|6[89]\\d\\d|7(?:[0147-9]\\d\\d|5(?:00|[57]5))|8(?:0(?:[018]\\d|2[0-4])|5(?:55|8[89])|8(?:55|88))|9(?:090|[1-35-9]\\d\\d))|790\\d\\d)\\d{4}",,,,"555123456"],[,,"800\\d{6}",,,,"800123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"70[67]\\d{6}",,,,"706123456"],"GE",995,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["70"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["32"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[57]"]],[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[348]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,"70[67]\\d{6}"],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GF:[,[,,"(?:[56]94\\d|7093)\\d{5}|(?:80|9\\d)\\d{7}",,,,,,,[9]],[,,"594(?:[02-49]\\d|1[0-5]|5[6-9]|6[0-3]|80)\\d{4}",,,,"594101234"],[,,"(?:694(?:[0-249]\\d|3[0-8])|7093[0-3])\\d{4}",,,,"694201234"],[,,"80[0-5]\\d{6}",,,,"800012345"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"9(?:(?:396|76\\d)\\d|476[0-5])\\d{4}",,,,"976012345"],"GF",594,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-7]|9[47]"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[89]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GG:[,[,,"(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?",,,,,,,[7,9,10],[6]],[,,"1481[25-9]\\d{5}",,,,"1481256789",,,[10],[6]],[,,"7(?:(?:781|839)\\d|911[17])\\d{5}",,,,"7781123456",,,[10]],[,,"80[08]\\d{7}|800\\d{6}|8001111",,,,"8001234567"],[,,"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d",,,,"9012345678",,,[7,10]],[,,,,,,,,,[-1]],[,,"70\\d{8}",,,,"7012345678",,,[10]],[,,"56\\d{8}",,,,"5612345678",,,[10]],"GG",44,"00","0",,,"([25-9]\\d{5})$|0","1481$1",,,,,[,,"76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}",,,,"7640123456",,,[10]],,,[,,,,,,,,,[-1]],[,,"(?:3[0347]|55)\\d{8}",,,,"5512345678",,,[10]],,,[,,,,,,,,,[-1]]],GH:[,[,,"(?:[235]\\d{3}|800)\\d{5}",,,,,,,[8,9],[7]],[,,"3082[0-5]\\d{4}|3(?:0(?:[237]\\d|8[01])|[167](?:2[0-6]|7\\d|80)|2(?:2[0-5]|7\\d|80)|3(?:2[0-3]|7\\d|80)|4(?:2[013-9]|3[01]|7\\d|80)|5(?:2[0-7]|7\\d|80)|8(?:2[0-2]|7\\d|80)|9(?:[28]0|7\\d))\\d{5}",,,,"302345678",,,[9],[7]],[,,"(?:2(?:[0346-9]\\d|5[67])|5(?:[03-7]\\d|9[1-9]))\\d{6}",,,,"231234567",,,[9]],[,,"800\\d{5}",,,,"80012345",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"GH",233,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{4})","$1 $2",["[237]|8[0-2]"]],[,"(\\d{3})(\\d{5})","$1 $2",["8"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[235]"],"0$1"]],[[,"(\\d{3})(\\d{5})","$1 $2",["8"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[235]"],"0$1"]],[,,,,,,,,,[-1]],,,[,,"800\\d{5}",,,,,,,[8]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GI:[,[,,"(?:[25]\\d|60)\\d{6}",,,,,,,[8]],[,,"2190[0-2]\\d{3}|2(?:0(?:[02]\\d|3[01])|16[24-9]|2[2-5]\\d)\\d{4}",,,,"20012345"],[,,"5251[0-4]\\d{3}|(?:5(?:[146-8]\\d\\d|250)|60(?:1[01]|6\\d))\\d{4}",,,,"57123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"GI",350,"00",,,,,,,,[[,"(\\d{3})(\\d{5})","$1 $2",["2"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GL:[,[,,"(?:19|[2-689]\\d|70)\\d{4}",,,,,,,[6]],[,,"(?:19|3[1-7]|[68][1-9]|70|9\\d)\\d{4}",,,,"321000"],[,,"[245]\\d{5}",,,,"221234"],[,,"80\\d{4}",,,,"801234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"3[89]\\d{4}",,,,"381234"],"GL",299,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["19|[2-9]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GM:[,[,,"[2-9]\\d{6}",,,,,,,[7]],[,,"(?:4(?:[23]\\d\\d|4(?:1[024679]|[6-9]\\d))|5(?:5(?:3\\d|4[0-7])|6[67]\\d|7(?:1[04]|2[035]|3[58]|48))|8\\d{3})\\d{3}",,,,"5661234"],[,,"(?:[23679]\\d|4[015]|5[0-489])\\d{5}",,,,"3012345"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"GM",220,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",["[2-9]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GN:[,[,,"722\\d{6}|(?:3|6\\d)\\d{7}",,,,,,,[8,9]],[,,"3(?:0(?:24|3[12]|4[1-35-7]|5[13]|6[189]|[78]1|9[1478])|1\\d\\d)\\d{4}",,,,"30241234",,,[8]],[,,"6[0-356]\\d{7}",,,,"601123456",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"722\\d{6}",,,,"722123456",,,[9]],"GN",224,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["3"]],[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[67]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GP:[,[,,"(?:590\\d|7090)\\d{5}|(?:69|80|9\\d)\\d{7}",,,,,,,[9]],[,,"590(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\d)\\d{4}",,,,"590201234"],[,,"(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))|7090[0-4])\\d{4}",,,,"690001234"],[,,"80[0-5]\\d{6}",,,,"800012345"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"9(?:(?:39[5-7]|76[018])\\d|475[0-5])\\d{4}",,,,"976012345"],"GP",590,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-79]"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0$1"]],,[,,,,,,,,,[-1]],1,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GQ:[,[,,"222\\d{6}|(?:3\\d|55|[89]0)\\d{7}",,,,,,,[9]],[,,"33[0-24-9]\\d[46]\\d{4}|3(?:33|5\\d)\\d[7-9]\\d{4}",,,,"333091234"],[,,"(?:222|55\\d)\\d{6}",,,,"222123456"],[,,"80\\d[1-9]\\d{5}",,,,"800123456"],[,,"90\\d[1-9]\\d{5}",,,,"900123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"GQ",240,"00",,,,,,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[235]"]],[,"(\\d{3})(\\d{6})","$1 $2",["[89]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GR:[,[,,"5005000\\d{3}|8\\d{9,11}|(?:[269]\\d|70)\\d{8}",,,,,,,[10,11,12]],[,,"2(?:1\\d\\d|2(?:2[1-46-9]|[36][1-8]|4[1-7]|5[1-4]|7[1-5]|[89][1-9])|3(?:1\\d|2[1-57]|[35][1-3]|4[13]|7[1-7]|8[124-6]|9[1-79])|4(?:1\\d|2[1-8]|3[1-4]|4[13-5]|6[1-578]|9[1-5])|5(?:1\\d|[29][1-4]|3[1-5]|4[124]|5[1-6])|6(?:1\\d|[269][1-6]|3[1245]|4[1-7]|5[13-9]|7[14]|8[1-5])|7(?:1\\d|2[1-5]|3[1-6]|4[1-7]|5[1-57]|6[135]|9[125-7])|8(?:1\\d|2[1-5]|[34][1-4]|9[1-57])
15672)\\d{6}",,,,"2123456789",,,[10]],[,,"68[57-9]\\d{7}|(?:69|94)\\d{8}",,,,"6912345678",,,[10]],[,,"800\\d{7,9}",,,,"8001234567"],[,,"90[19]\\d{7}",,,,"9091234567",,,[10]],[,,"8(?:0[16]|12|[27]5|50)\\d{7}",,,,"8011234567",,,[10]],[,,"70\\d{8}",,,,"7012345678",,,[10]],[,,,,,,,,,[-1]],"GR",30,"00",,,,,,,,[[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["21|7"]],[,"(\\d{4})(\\d{6})","$1 $2",["2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5"]],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2689]"]],[,"(\\d{3})(\\d{3,4})(\\d{5})","$1 $2 $3",["8"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"5005000\\d{3}",,,,"5005000123",,,[10]],,,[,,,,,,,,,[-1]]],GT:[,[,,"80\\d{6}|(?:1\\d{3}|[2-7])\\d{7}",,,,,,,[8,11]],[,,"[267][2-9]\\d{6}",,,,"22456789",,,[8]],[,,"(?:[3-5]\\d\\d|80[0-4])\\d{5}",,,,"51234567",,,[8]],[,,"18[01]\\d{8}",,,,"18001112222",,,[11]],[,,"19\\d{9}",,,,"19001112222",,,[11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"GT",502,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2",["[2-8]"]],[,"(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GU:[,[,,"(?:[58]\\d\\d|671|900)\\d{7}",,,,,,,[10],[7]],[,,"671(?:2\\d\\d|3(?:00|3[39]|4[349]|55|6[26])|4(?:00|56|7[1-9]|8[02-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[235-9])|7(?:[0479]7|2[0167]|3[45]|8[7-9])|8(?:[2-57-9]8|6[478])|9(?:2[29]|6[79]|7[1279]|8[7-9]|9[78]))\\d{4}",,,,"6713001234",,,,[7]],[,,"671(?:2\\d\\d|3(?:00|3[39]|4[349]|55|6[26])|4(?:00|56|7[1-9]|8[02-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[235-9])|7(?:[0479]7|2[0167]|3[45]|8[7-9])|8(?:[2-57-9]8|6[478])|9(?:2[29]|6[79]|7[1279]|8[7-9]|9[78]))\\d{4}",,,,"6713001234",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456"],[,,"900[2-9]\\d{6}",,,,"9002123456"],[,,,,,,,,,[-1]],[,,"52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"GU",1,"011","1",,,"([2-9]\\d{6})$|1","671$1",,1,,,[,,,,,,,,,[-1]],,"671",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GW:[,[,,"[49]\\d{8}|4\\d{6}",,,,,,,[7,9]],[,,"443\\d{6}",,,,"443201234",,,[9]],[,,"9(?:5\\d|6[569]|77)\\d{6}",,,,"955012345",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"40\\d{5}",,,,"4012345",,,[7]],"GW",245,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",["40"]],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[49]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GY:[,[,,"(?:[2-8]\\d{3}|9008)\\d{3}",,,,,,,[7]],[,,"(?:2(?:1[6-9]|2[0-35-9]|3[1-4]|5[3-9]|6\\d|7[0-79])|3(?:2[25-9]|3\\d)|4(?:4[0-24]|5[56]
15672)|50[0-6]|77[1-57])\\d{4}",,,,"2201234"],[,,"510\\d{4}|(?:6\\d|7[0-5])\\d{5}",,,,"6091234"],[,,"(?:289|8(?:00|6[28]|88|99))\\d{4}",,,,"2891234"],[,,"9008\\d{3}",,,,"9008123"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"515\\d{4}",,,,"5151234"],"GY",592,"001",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",["[2-9]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],HK:[,[,,"8[0-46-9]\\d{6,7}|9\\d{4,7}|(?:[2-7]|9\\d{3})\\d{7}",,,,,,,[5,6,7,8,9,11]],[,,"(?:2(?:[13-9]\\d|2[013-9])\\d|3(?:(?:[1569][0-24-9]|4[0-246-9]|7[0-24-69])\\d|8(?:4[0-8]|[579]\\d|6[0-2]))|58(?:0[1-9]|1[2-9]))\\d{4}",,,,"21234567",,,[8]],[,,"(?:4(?:44[0-25-9]|6(?:1[0-7]|4[0-57-9]|6[0-4])|7(?:4[0-2]|6[0-5]))|5(?:73[0-6]|95[0-8])|6(?:26[013-8]|66[0-3])|70(?:7[1-8]|8[0-4])|84(?:4[0-2]|8[0-35-9])|9(?:29[013-9]|39[014-9]|59[0-4]|899))\\d{4}|(?:4(?:4[0-35-9]|6[02357-9]|7[05])|5(?:[1-59][0-46-9]|6[0-4689]|7[0-246-9])|6(?:0[1-9]|[13-59]\\d|[268][0-57-9]|7[0-79])|70[1-49]|84[0-39]|9(?:0[1-9]|1[02-9]|[2358][0-8]|[467]\\d))\\d{5}",,,,"51234567",,,[8]],[,,"800\\d{6}",,,,"800123456",,,[9]],[,,"900(?:[0-24-9]\\d{7}|3\\d{1,4})",,,,"90012345678",,,[5,6,7,8,11]],[,,,,,,,,,[-1]],[,,"8(?:1[0-4679]\\d|2(?:[0-36]\\d|7[0-4])|3(?:[034]\\d|2[09]|70))\\d{4}",,,,"81123456",,,[8]],[,,,,,,,,,[-1]],"HK",852,"00(?:30|5[09]|[126-9]?)",,,,,,"00",,[[,"(\\d{3})(\\d{2,5})","$1 $2",["900","9003"]],[,"(\\d{4})(\\d{4})","$1 $2",["[2-7]|8[1-4]|9(?:0[1-9]|[1-8])"]],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"]],[,"(\\d{3})(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]]],,[,,"7(?:1(?:0[0-38]|1[0-3679]|3[013]|69|9[0136])|2(?:[02389]\\d|1[18]|7[27-9])|3(?:[0-38]\\d|7[0-369]|9[2357-9])|47\\d|5(?:[178]\\d|5[0-5])|6(?:0[0-7]|2[236-9]|[35]\\d)|7(?:[27]\\d|8[7-9])|8(?:[23689]\\d|7[1-9])|9(?:[025]\\d|6[0-246-8]|7[0-36-9]|8[238]))\\d{4}",,,,"71123456",,,[8]],,,[,,,,,,,,,[-1]],[,,"30(?:0[1-9]|[15-7]\\d|2[047]|89)\\d{4}",,,,"30161234",,,[8]],,,[,,,,,,,,,[-1]]],HN:[,[,,"8\\d{10}|[237-9]\\d{7}",,,,,,,[8,11]],[,,"2(?:2(?:0[0-59]|1[1-9]|[23]\\d|4[02-7]|5[57]|6[245]|7[0135689]|8[01346-9]|9[0-2])|4(?:0[578]|2[3-59]|3[13-9]|4[0-68]|5[1-3589])|5(?:0[2357-9]|1[1-356]|4[03-5]|5\\d|6[014-69]|7[04]|80)|6(?:[056]\\d|17|2[067]|3[047]|4[0-378]|[78][0-8]|9[01])|7(?:0[5-79]|6[46-9]|7[02-9]|8[034]|91)|8(?:79|8[0-357-9]|9[1-57-9]))\\d{4}",,,,"22123456",,,[8]],[,,"[37-9]\\d{7}",,,,"91234567",,,[8]],[,,"8002\\d{7}",,,,"80021234567",,,[11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"HN",504,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1-$2",["[237-9]"]],[,"(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["8"]]],[[,"(\\d{4})(\\d{4})","$1-$2",["[237-9]"]]],[,,,,,,,,,[-1]],,,[,,"8002\\d{7}",,,,,,,[11]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],HR:[,[,,"(?:[24-69]\\d|3[0-79])\\d{7}|80\\d{5,7}|[1-79]\\d{7}|6\\d{5,6}",,,,,,,[6,7,8,9]],[,,"1\\d{7}|(?:2[0-3]|3[1-5]|4[02-47-9]|5[1-3])\\d{6,7}",,,,"12345678",,,[8,9],[6,7]],[,,"9(?:(?:0[1-9]|[12589]\\d)\\d\\d|7(?:[0679]\\d\\d|5(?:[01]\\d|44|55|77|9[5-79])))\\d{4}|98\\d{6}",,,,"921234567",,,[8,9]],[,,"80\\d{5,7}",,,,"800123456",,,[7,8,9]],[,,"6[01459]\\d{6}|6[01]\\d{4,5}",,,,"611234",,,[6,7,8]],[,,,,,,,,,[-1]],[,,"7[45]\\d{6}",,,,"74123456",,,[8]],[,,,,,,,,,[-1]],"HR",385,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{2})(\\d{2,3})","$1 $2 $3",["6[01]"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["8"],"0$1"],[,"(\\d)(\\d{4})(\\d{3})","$1 $2 $3",["1"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["6|7[245]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["9"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-57]"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"62\\d{6,7}|72\\d{6}",,,,"62123456",,,[8,9]],,,[,,,,,,,,,[-1]]],HT:[,[,,"(?:[2-489]\\d|55)\\d{6}",,,,,,,[8]],[,,"2(?:2\\d|5[1-5]|81|9[149])\\d{5}",,,,"22453300"],[,,"(?:[34]\\d|55)\\d{6}",,,,"34101234"],[,,"8\\d{7}",,,,"80012345"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"9(?:[67][0-4]|8[0-3589]|9\\d)\\d{5}",,,,"98901234"],"HT",509,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["[2-589]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],HU:[,[,,"[235-7]\\d{8}|[1-9]\\d{7}",,,,,,,[8,9],[6,7]],[,,"(?:1\\d|[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6[23689]|8[2-57-9]|9[2-69])\\d{6}",,,,"12345678",,,[8],[6,7]],[,,"(?:[257]0|3[01])\\d{7}",,,,"201234567",,,[9]],[,,"(?:[48]0\\d|680[29])\\d{5}",,,,"80123456"],[,,"9[01]\\d{6}",,,,"90123456",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"21\\d{7}",,,,"211234567",,,[9]],"HU",36,"00","06",,,"06",,,,[[,"(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1"],"(06 $1)"],[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]"],"(06 $1)"],[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-9]"],"06 $1"]],,[,,,,,,,,,[-1]],,,[,,"(?:[48]0\\d|680[29])\\d{5}"],[,,"38\\d{7}",,,,"381234567",,,[9]],,,[,,,,,,,,,[-1]]],ID:[,[,,"00[1-9]\\d{9,14}|(?:[1-36]|8\\d{5})\\d{6}|00\\d{9}|[1-9]\\d{8,10}|[2-9]\\d{7}",,,,,,,[7,8,9,10,11,12,13,14,15,16,17],[5,6]],[,,"2[124]\\d{7,8}|619\\d{8}|2(?:1(?:14|500)|2\\d{3})\\d{3}|61\\d{5,8}|(?:2(?:[35][1-4]|6[0-8]|7[1-6]|8\\d|9[1-8])|3(?:1|[25][1-8]|3[1-68]|4[1-3]|6[1-3568]|7[0-469]|8\\d)|4(?:0[1-589]|1[01347-9]|2[0-36-8]|3[0-24-68]|43|5[1-378]|6[1-5]|7[134]|8[1245])|5(?:1[1-35-9]|2[25-8]|3[124-9]|4[1-3589]|5[1-46]|6[1-8])|6(?:[25]\\d|3[1-69]|4[1-6])|7(?:02|[125][1-9]|[36]\\d|4[1-8]|7[0-36-9])|9(?:0[12]|1[013-8]|2[0-479]|5[125-8]|6[23679]|7[159]|8[01346]))\\d{5,8}",,,,"218350123",,,[7,8,9,10,11],[5,6]],[,,"8[1-35-9]\\d{7,10}",,,,"812345678",,,[9,10,11,12]],[,,"00(?:1803\\d{5,11}|7803\\d{7})|(?:177\\d|800)\\d{5,7}",,,,"8001234567",,,[8,9,10,11,12,13,14,15,16,17]],[,,"809\\d{7}",,,,"8091234567",,,[10]],[,,"804\\d{7}",,,,"8041234567",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"ID",62,"00[89]","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["15"]],[,"(\\d{2})(\\d{5,9})","$1 $2",["2[124]|[36]1"],"(0$1)"],[,"(\\d{3})(\\d{5,7})","$1 $2",["800"],"0$1"],[,"(\\d{3})(\\d{5,8})","$1 $2",["[2-79]"],"(0$1)"],[,"(\\d{3})(\\d{3,4})(\\d{3})","$1-$2-$3",["8[1-35-9]"],"0$1"],[,"(\\d{3})(\\d{6,8})","$1 $2",["1"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["804"],"0$1"],[,"(\\d{3})(\\d)(\\d{3})(\\d{3})","$1 $2 $3 $4",["80"],"0$1"],[,"(\\d{3})(\\d{4})(\\d{4,5})","$1-$2-$3",["8"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3})(\\d{2,8})","$1 $2 $3 $4",["001"]],[,"(\\d{2})(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3 $4",["0"]]],[[,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["15"]],[,"(\\d{2})(\\d{5,9})","$1 $2",["2[124]|[36]1"],"(0$1)"],[,"(\\d{3})(\\d{5,7})","$1 $2",["800"],"0$1"],[,"(\\d{3})(\\d{5,8})","$1 $2",["[2-79]"],"(0$1)"],[,"(\\d{3})(\\d{3,4})(\\d{3})","$1-$2-$3",["8[1-35-9]"],"0$1"],[,"(\\d{3})(\\d{6,8})","$1 $2",["1"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["804"],"0$1"],[,"(\\d{3})(\\d)(\\d{3})(\\d{3})","$1 $2 $3 $4",["80"],"0$1"],[,"(\\d{3})(\\d{4})(\\d{4,5})","$1-$2-$3",["8"],"0$1"]],[,,,,,,,,,[-1]],,,[,,"001803\\d{5,11}|(?:007803\\d|8071)\\d{6}",,,,,,,[10,11,12,13,14,15,16,17]],[,,"(?:1500|8071\\d{3})\\d{3}",,,,"8071123456",,,[7,10]],,,[,,,,,,,,,[-1]]],IE:[,[,,"(?:1\\d|[2569])\\d{6,8}|4\\d{6,9}|7\\d{8}|8\\d{8,9}",,,,,,,[7,8,9,10],[5,6]],[,,"(?:1\\d|21)\\d{6,7}|(?:2[24-9]|4(?:0[24]|5\\d|7)|5(?:0[45]|1\\d|8)|6(?:1\\d|[237-9])|9(?:1\\d|[35-9]))\\d{5}|(?:23|4(?:[1-469]|8\\d)|5[23679]|6[4-6]|7[14]|9[04])\\d{7}",,,,"2212345",,,,[5,6]],[,,"8(?:22|[35-9]\\d)\\d{6}",,,,"850123456",,,[9]],[,,"1800\\d{6}",,,,"1800123456",,,[10]],[,,"15(?:1[2-8]|[2-8]0|9[089])\\d{6}",,,,"1520123456",,,[10]],[,,"18[59]0\\d{6}",,,,"1850123456",,,[10]],[,,"700\\d{6}",,,,"700123456",,,[9]],[,,"76\\d{7}",,,,"761234567",,,[9]],"IE",353,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{5})","$1 $2",["2[24-9]|47|58|6[237-9]|9[35-9]"],"(0$1)"],[,"(\\d{3})(\\d{5})","$1 $2",["[45]0"],"(0$1)"],[,"(\\d)(\\d{3,4})(\\d{4})","$1 $2 $3",["1"],"(0$1)"],[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2569]|4[1-69]|7[14]"],"(0$1)"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["70"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["81"],"(0$1)"],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[78]"],"0$1"],[,"(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]],[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["4"],"(0$1)"],[,"(\\d{2})(\\d)(\\d{3})(\\d{4})","$1 $2 $3 $4",["8"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,"18[59]0\\d{6}",,,,,,,[10]],[,,"818\\d{6}",,,,"818123456",,,[9]],,,[,,"88210[1-9]\\d{4}|8(?:[35-79]5\\d\\d|8(?:[013-9]\\d\\d|2(?:[01][1-9]|[2-9]\\d)))\\d{5}",,,,"8551234567",,,[10]]],IL:[,[,,"1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}",,,,,,,[7,8,9,10,11,12]],[,,"153\\d{8,9}|29[1-9]\\d{5}|(?:2[0-8]|[3489]\\d)\\d{6}",,,,"21234567",,,[8,11,12],[7]],[,,"55(?:410|57[0-289])\\d{4}|5(?:(?:[0-2][02-9]|[36]\\d|[49][2-9]|8[3-7])\\d|5(?:01|2\\d|3[0-3]|4[34]|5[0-25689]|6[6-8]|7[0-267]|8[7-9]|9[1-9]))\\d{5}",,,,"502345678",,,[9]],[,,"1(?:255|80[019]\\d{3})\\d{3}",,,,"1800123456",,,[7,10]],[,,"1212\\d{4}|1(?:200|9(?:0[0-2]|19))\\d{6}",,,,"1919123456",,,[8,10]],[,,"1700\\d{6}",,,,"1700123456",,,[10]],[,,,,,,,,,[-1]],[,,"7(?:38(?:0\\d|5[0-2569]|88
vendor: 11,467 bytes, line 15672
15672)|8(?:33|55|77|81)\\d)\\d{4}|7(?:18|2[23]|3[237]|47|6[258]|7\\d|82|9[2-9])\\d{6}",,,,"771234567",,,[9]],"IL",972,"0(?:0|1[2-9])","0",,,"0",,,,[[,"(\\d{4})(\\d{3})","$1-$2",["125"]],[,"(\\d{4})(\\d{2})(\\d{2})","$1-$2-$3",["121"]],[,"(\\d)(\\d{3})(\\d{4})","$1-$2-$3",["[2-489]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[57]"],"0$1"],[,"(\\d{4})(\\d{3})(\\d{3})","$1-$2-$3",["12"]],[,"(\\d{4})(\\d{6})","$1-$2",["159"]],[,"(\\d)(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3-$4",["1[7-9]"]],[,"(\\d{3})(\\d{1,2})(\\d{3})(\\d{4})","$1-$2 $3-$4",["15"]]],,[,,,,,,,,,[-1]],,,[,,"1700\\d{6}",,,,,,,[10]],[,,"1599\\d{6}",,,,"1599123456",,,[10]],,,[,,"151\\d{8,9}",,,,"15112340000",,,[11,12]]],IM:[,[,,"1624\\d{6}|(?:[3578]\\d|90)\\d{8}",,,,,,,[10],[6]],[,,"1624(?:230|[5-8]\\d\\d)\\d{3}",,,,"1624756789",,,,[6]],[,,"76245[06]\\d{4}|7(?:4576|[59]24\\d|624[0-4689])\\d{5}",,,,"7924123456"],[,,"808162\\d{4}",,,,"8081624567"],[,,"8(?:440[49]06|72299\\d)\\d{3}|(?:8(?:45|70)|90[0167])624\\d{4}",,,,"9016247890"],[,,,,,,,,,[-1]],[,,"70\\d{8}",,,,"7012345678"],[,,"56\\d{8}",,,,"5612345678"],"IM",44,"00","0",,,"([25-8]\\d{5})$|0","1624$1",,,,,[,,,,,,,,,[-1]],,"74576|(?:16|7[56])24",[,,,,,,,,,[-1]],[,,"3440[49]06\\d{3}|(?:3(?:08162|3\\d{4}|45624|7(?:0624|2299))|55\\d{4})\\d{4}",,,,"5512345678"],,,[,,,,,,,,,[-1]]],IN:[,[,,"(?:000800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}",,,,,,,[8,9,10,11,12,13],[6,7]],[,,"2717(?:[2-7]\\d|95)\\d{4}|(?:271[0-689]|782[0-6])[2-7]\\d{5}|(?:170[24]|2(?:(?:[02][2-79]|90)\\d|80[13468])|(?:3(?:23|80)|683|79[1-7])\\d|4(?:20[24]|72[2-8])|552[1-7])\\d{6}|(?:11|33|4[04]|80)[2-7]\\d{7}|(?:342|674|788)(?:[0189][2-7]|[2-7]\\d)\\d{5}|(?:1(?:2[0-249]|3[0-25]|4[145]|[59][14]|6[014]|7[1257]|8[01346])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[13]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[014-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91))[2-7]\\d{6}|(?:1(?:2[35-8]|3[346-9]|4[236-9]|[59][0235-9]|6[235-9]|7[34689]|8[257-9])|2(?:1[134689]|3[24-8]|4[2-8]|5[25689]|6[2-4679]|7[3-79]|8[2-479]|9[235-9])|3(?:01|1[79]|2[1245]|4[5-8]|5[125689]|6[235-7]|7[157-9]|8[2-46-8])|4(?:1[14578]|2[5689]|3[2-467]|5[4-7]|6[35]|73|8[2689]|9[2389])|5(?:[16][146-9]|2[14-8]|3[1346]|4[14-69]|5[46]|7[2-4]|8[2-8]|9[246])|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])|7(?:1[013-9]|2[0235-9]|3[2679]|4[1-35689]|5[2-46-9]|[67][02-9]|8[013-7]|9[089])|8(?:1[1357-9]|2[235-8]|3[03-57-9]|4[0-24-9]|5\\d|6[2457-9]|7[1-6]|8[1256]|9[2-4]))\\d[2-7]\\d{5}",,,,"7410410123",,,[10],[6,7,8]],[,,"(?:61279|7(?:887[02-9]|9(?:313|79[07-9]))|8(?:079[04-9]|(?:84|91)7[02-8]))\\d{5}|(?:6(?:12|[2-47]1|5[17]|6[13]|80)[0189]|7(?:1(?:2[0189]|9[0-5])|2(?:[14][017-9]|8[0-59])|3(?:2[5-8]|[34][017-9]|9[016-9])|4(?:1[015-9]|[29][89]|39|8[389])|5(?:[15][017-9]|2[04-9]|9[7-9])|6(?:0[0-47]|1[0-257-9]|2[0-4]|3[19]|5[4589])|70[0289]|88[089]|97[02-8])|8(?:0(?:6[67]|7[02-8])|70[017-9]|84[01489]|91[0-289]))\\d{6}|(?:7(?:31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[0189]\\d|7[02-8])\\d{5}|(?:6(?:[09]\\d|1[04679]|2[03689]|3[05-9]|4[0489]|50|6[069]|7[07]|8[7-9])|7(?:0\\d|2[0235-79]|3[05-8]|40|5[0346-8]|6[6-9]|7[1-9]|8[0-79]|9[089])|8(?:0[01589]|1[0-57-9]|2[235-9]|3[03-57-9]|[45]\\d|6[02457-9]|7[1-69]|8[0-25-9]|9[02-9])|9\\d\\d)\\d{7}|(?:6(?:(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|8[124-6])\\d|7(?:[235689]\\d|4[0189]))|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-5])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]|881))[0189]\\d{5}",,,,"8123456789",,,[10]],[,,"000800\\d{7}|1(?:600\\d{6}|80(?:0\\d{4,9}|3\\d{9}))",,,,"1800123456"],[,,"186[12]\\d{9}",,,,"1861123456789",,,[13]],[,,"1860\\d{7}",,,,"18603451234",,,[11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"IN",91,"00","0",,,"0",,,,[[,"(\\d{7})","$1",["575"]],[,"(\\d{8})","$1",["5(?:0|2[23]|3[03]|[67]1|88)","5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)","5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)"],,,1],[,"(\\d{4})(\\d{4,5})","$1 $2",["180","1800"],,,1],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["140"],,,1],[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["11|2[02]|33|4[04]|79[1-7]|80[2-46]","11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])","11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])"],"0$1",,1],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]","1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]","1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]"],"0$1",,1],[,"(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807","1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]","1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\\d|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]"],"0$1",,1],[,"(\\d{5})(\\d{5})","$1 $2",["[6-9]"],"0$1",,1],[,"(\\d{4})(\\d{2,4})(\\d{4})","$1 $2 $3",["1(?:6|8[06])","1(?:6|8[06]0)"],,,1],[,"(\\d{3})(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3 $4",["0"]],[,"(\\d{4})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["18"],,,1]],[[,"(\\d{8})","$1",["5(?:0|2[23]|3[03]|[67]1|88)","5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)","5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)"],,,1],[,"(\\d{4})(\\d{4,5})","$1 $2",["180","1800"],,,1],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["140"],,,1],[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["11|2[02]|33|4[04]|79[1-7]|80[2-46]","11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])","11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])"],"0$1",,1],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]","1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]","1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]"],"0$1",,1],[,"(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807","1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]","1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\\d|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]"],"0$1",,1],[,"(\\d{5})(\\d{5})","$1 $2",["[6-9]"],"0$1",,1],[,"(\\d{4})(\\d{2,4})(\\d{4})","$1 $2 $3",["1(?:6|8[06])","1(?:6|8[06]0)"],,,1],[,"(\\d{4})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["18"],,,1]],[,,,,,,,,,[-1]],,,[,,"1(?:600\\d{6}|800\\d{4,9})|(?:000800|18(?:03\\d\\d|6(?:0|[12]\\d\\d)))\\d{7}"],[,,"140\\d{7}",,,,"1409305260",,,[10]],,,[,,,,,,,,,[-1]]],IO:[,[,,"3\\d{6}",,,,,,,[7]],[,,"37\\d{5}",,,,"3709100"],[,,"38\\d{5}",,,,"3801234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"IO",246,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",["3"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],IQ:[,[,,"(?:1|7\\d\\d)\\d{7}|[2-6]\\d{7,8}",,,,,,,[8,9,10],[6,7]],[,,"1\\d{7}|(?:2[13-5]|3[02367]|4[023]|5[03]|6[026])\\d{6,7}",,,,"12345678",,,[8,9],[6,7]],[,,"7[3-9]\\d{8}",,,,"7912345678",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"IQ",964,"00","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-6]"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],IR:[,[,,"[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}",,,,,,,[4,5,6,7,10],[8]],[,,"(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])(?:[03-57]\\d{7}|[16]\\d{3}(?:\\d{4})?|[289]\\d{3}(?:\\d(?:\\d{3})?)?)|94(?:000[09]|(?:12\\d|30[0-2])\\d|2(?:121|[2689]0\\d)|4(?:111|40\\d))\\d{4}",,,,"2123456789",,,[6,7,10],[4,5,8]],[,,"9(?:(?:0
15672(?:[0-35]\\d|4[4-6])|(?:[13]\\d|2[0-3])\\d)\\d|9(?:[0-46]\\d\\d|5[15]0
vendor: 21,326 bytes, line 15672
15672|8(?:[12]\\d|88)|9(?:0[0-3]|[19]\\d|21|69|77|8[7-9])))\\d{5}",,,,"9123456789",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"IR",98,"00","0",,,"0",,,,[[,"(\\d{4,5})","$1",["96"],"0$1"],[,"(\\d{2})(\\d{4,5})","$1 $2",["(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["9"],"0$1"],[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["[1-8]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,"9(?:4440\\d{5}|6(?:0[12]|2[16-8]|3(?:08|[14]5|[23]|66)|4(?:0|80)|5[01]|6[89]|86|9[19]))",,,,,,,[4,5,10]],[,,"96(?:0[12]|2[16-8]|3(?:08|[14]5|[23]|66)|4(?:0|80)|5[01]|6[89]|86|9[19])",,,,"9601",,,[4,5]],,,[,,,,,,,,,[-1]]],IS:[,[,,"(?:38\\d|[4-9])\\d{6}",,,,,,,[7,9]],[,,"(?:4(?:1[0-24-69]|2[0-7]|[37][0-8]|4[0-24589]|5[0-68]|6\\d|8[0-36-8])|5(?:05|[156]\\d|2[02578]|3[0-579]|4[03-7]|7[0-2578]|8[0-35-9]|9[013-689])|872)\\d{4}",,,,"4101234",,,[7]],[,,"(?:38[589]\\d\\d|6(?:1[1-8]|2[0-6]|3[026-9]|4[014679]|5[0159]|6[0-69]|70|8[06-8]|9\\d)|7(?:5[057]|[6-9]\\d)|8(?:2[0-59]|[3-69]\\d|8[238]))\\d{4}",,,,"6111234"],[,,"80[0-8]\\d{4}",,,,"8001234",,,[7]],[,,"90(?:0\\d|1[5-79]|2[015-79]|3[135-79]|4[125-7]|5[25-79]|7[1-37]|8[0-35-7])\\d{3}",,,,"9001234",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"49[0-24-79]\\d{4}",,,,"4921234",,,[7]],"IS",354,"00|1(?:0(?:01|[12]0)|100)",,,,,,"00",,[[,"(\\d{3})(\\d{4})","$1 $2",["[4-9]"]],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["3"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"809\\d{4}",,,,"8091234",,,[7]],,,[,,"(?:689|8(?:7[18]|80)|95[48])\\d{4}",,,,"6891234",,,[7]]],IT:[,[,,"0\\d{5,10}|1\\d{8,10}|3(?:[0-8]\\d{7,10}|9\\d{7,8})|(?:43|55|70)\\d{8}|8\\d{5}(?:\\d{2,4})?",,,,,,,[6,7,8,9,10,11,12]],[,,"0669[0-79]\\d{1,6}|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}",,,,"0212345678",,,[6,7,8,9,10,11]],[,,"3[2-9]\\d{7,8}|(?:31|43)\\d{8}",,,,"3123456789",,,[9,10]],[,,"80(?:0\\d{3}|3)\\d{3}",,,,"800123456",,,[6,9]],[,,"(?:0878\\d{3}|89(?:2\\d|3[04]|4(?:[0-4]|[5-9]\\d\\d)|5[0-4]))\\d\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\d{6}",,,,"899123456",,,[6,8,9,10]],[,,"84(?:[08]\\d{3}|[17])\\d{3}",,,,"848123456",,,[6,9]],[,,"1(?:78\\d|99)\\d{6}",,,,"1781234567",,,[9,10]],[,,"55\\d{8}",,,,"5512345678",,,[10]],"IT",39,"00",,,,,,,,[[,"(\\d{4,5})","$1",["1(?:0|9[246])","1(?:0|9(?:2[2-9]|[46]))"]],[,"(\\d{6})","$1",["1(?:1|92)"]],[,"(\\d{2})(\\d{4,6})","$1 $2",["0[26]"]],[,"(\\d{3})(\\d{3,6})","$1 $2",["0[13-57-9][0159]|8(?:03|4[17]|9[2-5])","0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))"]],[,"(\\d{4})(\\d{2,6})","$1 $2",["0(?:[13-579][2-46-8]|8[236-8])"]],[,"(\\d{4})(\\d{4})","$1 $2",["894"]],[,"(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["0[26]|5"]],[,"(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["1(?:44|[679])|[378]|43"]],[,"(\\d{3})(\\d{3,4})(\\d{4})","$1 $2 $3",["0[13-57-9][0159]|14"]],[,"(\\d{2})(\\d{4})(\\d{5})","$1 $2 $3",["0[26]"]],[,"(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["0"]],[,"(\\d{3})(\\d{4})(\\d{4,5})","$1 $2 $3",["3"]]],[[,"(\\d{2})(\\d{4,6})","$1 $2",["0[26]"]],[,"(\\d{3})(\\d{3,6})","$1 $2",["0[13-57-9][0159]|8(?:03|4[17]|9[2-5])","0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))"]],[,"(\\d{4})(\\d{2,6})","$1 $2",["0(?:[13-579][2-46-8]|8[236-8])"]],[,"(\\d{4})(\\d{4})","$1 $2",["894"]],[,"(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["0[26]|5"]],[,"(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["1(?:44|[679])|[378]|43"]],[,"(\\d{3})(\\d{3,4})(\\d{4})","$1 $2 $3",["0[13-57-9][0159]|14"]],[,"(\\d{2})(\\d{4})(\\d{5})","$1 $2 $3",["0[26]"]],[,"(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["0"]],[,"(\\d{3})(\\d{4})(\\d{4,5})","$1 $2 $3",["3"]]],[,,,,,,,,,[-1]],1,,[,,"848\\d{6}",,,,,,,[9]],[,,,,,,,,,[-1]],,,[,,"3[2-8]\\d{9,10}",,,,"33101234501",,,[11,12]]],JE:[,[,,"1534\\d{6}|(?:[3578]\\d|90)\\d{8}",,,,,,,[10],[6]],[,,"1534[0-24-8]\\d{5}",,,,"1534456789",,,,[6]],[,,"7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97\\d))\\d{5}",,,,"7797712345"],[,,"80(?:07(?:35|81)|8901)\\d{4}",,,,"8007354567"],[,,"(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}",,,,"9018105678"],[,,,,,,,,,[-1]],[,,"701511\\d{4}",,,,"7015115678"],[,,"56\\d{8}",,,,"5612345678"],"JE",44,"00","0",,,"([0-24-8]\\d{5})$|0","1534$1",,,,,[,,"76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}",,,,"7640123456"],,,[,,,,,,,,,[-1]],[,,"(?:3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\d{4})\\d{4}",,,,"5512345678"],,,[,,,,,,,,,[-1]]],JM:[,[,,"(?:[58]\\d\\d|658|900)\\d{7}",,,,,,,[10],[7]],[,,"8766060\\d{3}|(?:658(?:2(?:[0-8]\\d|9[0-46-9])|[3-9]\\d\\d)|876(?:52[35]|6(?:0[1-3579]|1[0235-9]|[23]\\d|40|5[06]|6[2-589]|7[0-25-9]|8[04]|9[4-9])|7(?:0[2-689]|[1-6]\\d|8[056]|9[45])|9(?:0[1-8]|1[02378]|[2-8]\\d|9[2-468])))\\d{4}",,,,"8765230123",,,,[7]],[,,"(?:658295|876(?:2(?:0[1-9]|[13-9]\\d|2[013-9])|[348]\\d\\d|5(?:0[1-9]|[1-9]\\d)|6(?:4[89]|6[67])|7(?:0[07]|7\\d|8[1-47-9]|9[0-36-9])|9(?:[01]9|9[0579])))\\d{4}",,,,"8762101234",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456"],[,,"900[2-9]\\d{6}",,,,"9002123456"],[,,,,,,,,,[-1]],[,,"52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"JM",1,"011","1",,,"1",,,,,,[,,,,,,,,,[-1]],,"658|876",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],JO:[,[,,"(?:(?:[2689]|7\\d)\\d|32|53)\\d{6}",,,,,,,[8,9]],[,,"87(?:000|90[01])\\d{3}|(?:2(?:6(?:2[0-35-9]|3[0-578]|4[24-7]|5[0-24-8]|[6-8][023]|9[0-3])|7(?:0[1-79]|10|2[014-7]|3[0-689]|4[019]|5[0-3578]))|32(?:0[1-69]|1[1-35-7]|2[024-7]|3\\d|4[0-3]|[5-7][023])|53(?:0[0-3]|[13][023]|2[0-59]|49|5[0-35-9]|6[15]|7[45]|8[1-6]|9[0-36-9])|6(?:2(?:[05]0|22)|3(?:00|33)|4(?:0[0-25]|1[2-7]|2[0569]|[38][07-9]|4[025689]|6[0-589]|7\\d|9[0-2])|5(?:[01][056]|2[034]|3[0-57-9]|4[178]|5[0-69]|6[0-35-9]|7[1-379]|8[0-68]|9[0239]))|87(?:20|7[078]|99))\\d{4}",,,,"62001234",,,[8]],[,,"7(?:[78][0-25-9]|9\\d)\\d{6}",,,,"790123456",,,[9]],[,,"80\\d{6}",,,,"80012345",,,[8]],[,,"9\\d{7}",,,,"90012345",,,[8]],[,,"85\\d{6}",,,,"85012345",,,[8]],[,,"70\\d{7}",,,,"700123456",,,[9]],[,,,,,,,,,[-1]],"JO",962,"00","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2356]|87"],"(0$1)"],[,"(\\d{3})(\\d{5,6})","$1 $2",["[89]"],"0$1"],[,"(\\d{2})(\\d{7})","$1 $2",["70"],"0$1"],[,"(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["7"],"0$1"]],,[,,"74(?:66|77)\\d{5}",,,,"746612345",,,[9]],,,[,,,,,,,,,[-1]],[,,"8(?:10|8\\d)\\d{5}",,,,"88101234",,,[8]],,,[,,,,,,,,,[-1]]],JP:[,[,,"00[1-9]\\d{6,14}|[257-9]\\d{9}|(?:00|[1-9]\\d\\d)\\d{6}",,,,,,,[8,9,10,11,12,13,14,15,16,17]],[,,"(?:1(?:1[235-8]|2[3-6]|3[3-9]|4[2-6]|[58][2-8]|6[2-7]|7[2-9]|9[1-9])|(?:2[2-9]|[36][1-9])\\d|4(?:[2-578]\\d|6[02-8]|9[2-59])|5(?:[2-589]\\d|6[1-9]|7[2-8])|7(?:[25-9]\\d|3[4-9]|4[02-9])|8(?:[2679]\\d|3[2-9]|4[5-9]|5[1-9]|8[03-9])|9(?:[2-58]\\d|[679][1-9]))\\d{6}",,,,"312345678",,,[9]],[,,"[7-9]0[1-9]\\d{7}",,,,"9012345678",,,[10]],[,,"00777(?:[01]|5\\d)\\d\\d|(?:00(?:7778|882[1245])|(?:120|800\\d)\\d\\d)\\d{4}|00(?:37|66|78)\\d{6,13}",,,,"120123456"],[,,"990\\d{6}",,,,"990123456",,,[9]],[,,,,,,,,,[-1]],[,,"60\\d{7}",,,,"601234567",,,[9]],[,,"50[1-9]\\d{7}",,,,"5012345678",,,[10]],"JP",81,"010","0",,,"(000[259]\\d{6})$|(?:(?:003768)0?)|0","$1",,,[[,"(\\d{4})(\\d{4})","$1-$2",["007","0077","00777","00777[01]"]],[,"(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3",["(?:12|57|99)0"],"0$1"],[,"(\\d{4})(\\d)(\\d{4})","$1-$2-$3",["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])","1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]","1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["60"],"0$1"],[,"(\\d)(\\d{4})(\\d{4})","$1-$2-$3",["[36]|4(?:2[09]|7[01])","[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])","1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]","1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3",["[14]|[289][2-9]|5[3-9]|7[2-4679]"],"0$1"],[,"(\\d{4})(\\d{2})(\\d{3,4})","$1-$2-$3",["007","0077"]],[,"(\\d{4})(\\d{2})(\\d{4})","$1-$2-$3",["008"]],[,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["800"],"0$1"],[,"(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[257-9]"],"0$1"],[,"(\\d{4})(\\d{3})(\\d{3,4})","$1-$2-$3",["0"]],[,"(\\d{4})(\\d{4})(\\d{4,5})","$1-$2-$3",["0"]],[,"(\\d{4})(\\d{5})(\\d{5,6})","$1-$2-$3",["0"]],[,"(\\d{4})(\\d{6})(\\d{6,7})","$1-$2-$3",["0"]]],[[,"(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3",["(?:12|57|99)0"],"0$1"],[,"(\\d{4})(\\d)(\\d{4})","$1-$2-$3",["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])","1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]","1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["60"],"0$1"],[,"(\\d)(\\d{4})(\\d{4})","$1-$2-$3",["[36]|4(?:2[09]|7[01])","[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])","1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]","1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3",["[14]|[289][2-9]|5[3-9]|7[2-4679]"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["800"],"0$1"],[,"(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[257-9]"],"0$1"]],[,,"20\\d{8}",,,,"2012345678",,,[10]],,,[,,"00(?:777(?:[01]|(?:5|8\\d)\\d)|882[1245]\\d\\d)\\d\\d|00(?:37|66|78)\\d{6,13}"],[,,"570\\d{6}",,,,"570123456",,,[9]],,,[,,,,,,,,,[-1]]],KE:[,[,,"(?:[17]\\d\\d|900)\\d{6}|(?:2|80)0\\d{6,7}|[4-6]\\d{6,8}",,,,,,,[7,8,9,10]],[,,"(?:4[245]|5[1-79]|6[01457-9])\\d{5,7}|(?:4[136]|5[08]|62)\\d{7}|(?:[24]0|66)\\d{6,7}",,,,"202012345",,,[7,8,9]],[,,"(?:1(?:0[0-8]|1[0-7]|2[014]|30)|7\\d\\d)\\d{6}",,,,"712123456",,,[9]],[,,"800[02-8]\\d{5,6}",,,,"800223456",,,[9,10]],[,,"900[02-9]\\d{5}",,,,"900223456",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"KE",254,"000","0",,,"0",,,,[[,"(\\d{2})(\\d{5,7})","$1 $2",["[24-6]"],"0$1"],[,"(\\d{3})(\\d{6})","$1 $2",["[17]"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[89]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KG:[,[,,"8\\d{9}|[235-9]\\d{8}",,,,,,,[9,10],[5,6]],[,,"312(?:5[0-79]\\d|9(?:[0-689]\\d|7[0-24-9]))\\d{3}|(?:3(?:1(?:2[0-46-8]|3[1-9]|47|[56]\\d)|2(?:22|3[0-479]|6[0-7])|4(?:22|5[6-9]|6\\d)|5(?:22|3[4-7]|59|6\\d)|6(?:22|5[35-7]|6\\d)|7(?:22|3[468]|4[1-9]|59|[67]\\d)|9(?:22|4[1-8]|6\\d))|6(?:09|12|2[2-4])\\d)\\d{5}",,,,"312123456",,,[9],[5,6]],[,,"312(?:58\\d|973)\\d{3}|(?:2(?:0[0-35]|2\\d)|5[0-24-7]\\d|600|7(?:[07]\\d|55)|88[08]|9(?:12|9[05-9]))\\d{6}",,,,"700123456",,,[9]],[,,"800\\d{6,7}",,,,"800123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"KG",996,"00","0",,,"0",,,,[[,"(\\d{4})(\\d{5})","$1 $2",["3(?:1[346]|[24-79])"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[235-79]|88"],"0$1"],[,"(\\d{3})(\\d{3})(\\d)(\\d{2,3})","$1 $2 $3 $4",["8"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KH:[,[,,"1\\d{9}|[1-9]\\d{7,8}",,,,,,,[8,9,10],[6,7]],[,,"23(?:4(?:[2-4]|[56]\\d)|[568]\\d\\d)\\d{4}|23[236-9]\\d{5}|(?:2[4-6]|3[2-6]|4[2-4]|[5-7][2-5])(?:(?:[237-9]|4[56]|5\\d)\\d{5}|6\\d{5,6})",,,,"23756789",,,[8,9],[6,7]],[,,"(?:(?:1[28]|3[18]|9[67])\\d|6[016-9]|7(?:[07-9]|[16]\\d)|8(?:[013-79]|8\\d))\\d{6}|(?:1\\d|9[0-57-9])\\d{6}|(?:2[3-6]|3[2-6]|4[2-4]|[5-7][2-5])48\\d{5}",,,,"91234567",,,[8,9]],[,,"1800(?:1\\d|2[019])\\d{4}",,,,"1800123456",,,[10]],[,,"1900(?:1\\d|2[09])\\d{4}",,,,"1900123456",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"KH",855,"00[14-9]","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-9]"],"0$1"],[,"(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KI:[,[,,"(?:[37]\\d|6[0-79])\\d{6}|(?:[2-48]\\d|50)\\d{3}",,,,,,,[5,8]],[,,"(?:[24]\\d|3[1-9]|50|65(?:02[12]|12[56]|22[89]|[3-5]00)|7(?:27\\d\\d|3100|5(?:02[12]|12[56]|22[89]|[34](?:00|81)|500))|8[0-5])\\d{3}",,,,"31234"],[,,"(?:6200[01]|7(?:310[1-9]|5(?:02[03-9]|12[0-47-9]|22[0-7]|[34](?:0[1-9]|8[02-9])|50[1-9])))\\d{3}|(?:63\\d\\d|7(?:(?:[0146-9]\\d|2[0-689])\\d|3(?:[02-9]\\d|1[1-9])|5(?:[0-2][013-9]|[34][1-79]|5[1-9]|[6-9]\\d)))\\d{4}",,,,"72001234",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"30(?:0[01]\\d\\d|12(?:11|20))\\d\\d",,,,"30010000",,,[8]],"KI",686,"00","0",,,"0",,,,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KM:[,[,,"[3478]\\d{6}",,,,,,,[7],[4]],[,,"7[4-7]\\d{5}",,,,"7712345",,,,[4]],[,,"[34]\\d{6}",,,,"3212345"],[,,,,,,,,,[-1]],[,,"8\\d{6}",,,,"8001234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"KM",269,"00",,,,,,,,[[,"(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[3478]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KN:[,[,,"(?:[58]\\d\\d|900)\\d{7}",,,,,,,[10],[7]],[,,"869(?:2(?:29|36)|302|4(?:6[015-9]|70)|56[5-7])\\d{4}",,,,"8692361234",,,,[7]],[,,"869(?:48[89]|55[6-8]|66\\d|76[02-7])\\d{4}",,,,"8697652917",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456"],[,,"900[2-9]\\d{6}",,,,"9002123456"],[,,,,,,,,,[-1]],[,,"52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"KN",1,"011","1",,,"([2-7]\\d{6})$|1","869$1",,,,,[,,,,,,,,,[-1]],,"869",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KP:[,[,,"85\\d{6}|(?:19\\d|[2-7])\\d{7}",,,,,,,[8,10],[6,7]],[,,"(?:(?:195|2)\\d|3[19]|4[159]|5[37]|6[17]|7[39]|85)\\d{6}",,,,"21234567",,,,[6,7]],[,,"19[1-3]\\d{7}",,,,"1921234567",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"KP",850,"00|99","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["8"],"0$1"],[,"(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2-7]"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,"238[02-9]\\d{4}|2(?:[0-24-9]\\d|3[0-79])\\d{5}",,,,,,,[8]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KR:[,[,,"00[1-9]\\d{8,11}|(?:[12]|5\\d{3})\\d{7}|[13-6]\\d{9}|(?:[1-6]\\d|80)\\d{7}|[3-6]\\d{4,5}|(?:00|7)0\\d{8}",,,,,,,[5,6,8,9,10,11,12,13,14],[3,4,7]],[,,"(?:2|3[1-3]|[46][1-4]|5[1-5])[1-9]\\d{6,7}|(?:3[1-3]|[46][1-4]|5[1-5])1\\d{2,3}",,,,"22123456",,,[5,6,8,9,10],[3,4,7]],[,,"1(?:05(?:[0-8]\\d|9[0-6])|22[13]\\d)\\d{4,5}|1(?:0[0-46-9]|[16-9]\\d|2[013-9])\\d{6,7}",,,,"1020000000",,,[9,10]],[,,"00(?:308\\d{6,7}|798\\d{7,9})|(?:00368|[38]0)\\d{7}",,,,"801234567",,,[9,11,12,13,14]],[,,"60[2-9]\\d{6}",,,,"602345678",,,[9]],[,,,,,,,,,[-1]],[,,"50\\d{8,9}",,,,"5012345678",,,[10,11]],[,,"70\\d{8}",,,,"7012345678",,,[10]],"KR",82,"00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))","0",,,"0(8(?:[1-46-8]|5\\d\\d))?",,,,[[,"(\\d{5})","$1",["1[016-9]1","1[016-9]11","1[016-9]114"],"0$1"],[,"(\\d{2})(\\d{3,4})","$1-$2",["(?:3[1-3]|[46][1-4]|5[1-5])1"],"0$1","0$CC-$1"],[,"(\\d{4})(\\d{4})","$1-$2",["1"]],[,"(\\d)(\\d{3,4})(\\d{4})","$1-$2-$3",["2"],"0$1","0$CC-$1"],[,"(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[36]0|8"],"0$1","0$CC-$1"],[,"(\\d{2})(\\d{3,4})(\\d{4})","$1-$2-$3",["[1346]|5[1-5]"],"0$1","0$CC-$1"],[,"(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[57]"],"0$1","0$CC-$1"],[,"(\\d{5})(\\d{3})(\\d{3})","$1 $2 $3",["003","0030"]],[,"(\\d{2})(\\d{5})(\\d{4})","$1-$2-$3",["5"],"0$1","0$CC-$1"],[,"(\\d{5})(\\d{3,4})(\\d{4})","$1 $2 $3",["0"]],[,"(\\d{5})(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3 $4",["0"]]],[[,"(\\d{2})(\\d{3,4})","$1-$2",["(?:3[1-3]|[46][1-4]|5[1-5])1"],"0$1","0$CC-$1"],[,"(\\d{4})(\\d{4})","$1-$2",["1"]],[,"(\\d)(\\d{3,4})(\\d{4})","$1-$2-$3",["2"],"0$1","0$CC-$1"],[,"(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[36]0|8"],"0$1","0$CC-$1"],[,"(\\d{2})(\\d{3,4})(\\d{4})","$1-$2-$3",["[1346]|5[1-5]"],"0$1","0$CC-$1"],[,"(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[57]"],"0$1","0$CC-$1"],[,"(\\d{2})(\\d{5})(\\d{4})","$1-$2-$3",["5"],"0$1","0$CC-$1"]],[,,"15\\d{7,8}",,,,"1523456789",,,[9,10]],,,[,,"00(?:3(?:08\\d{6,7}|68\\d{7})|798\\d{7,9})",,,,,,,[11,12,13,14]],[,,"1(?:5(?:22|33|44|66|77|88|99)|6(?:[07]0|44|6[0168]|88)|8(?:00|33|55|77|99))\\d{4}",,,,"15441234",,,[8]],,,[,,,,,,,,,[-1]]],KW:[,[,,"18\\d{5}|(?:[2569]\\d|41)\\d{6}",,,,,,,[7,8]],[,,"2(?:[23]\\d\\d|4(?:[1-35-9]\\d|44)|5(?:0[034]|[2-46]\\d|5[1-3]|7[1-7]))\\d{4}",,,,"22345678",,,[8]],[,,"(?:41\\d\\d|5(?:(?:[05]\\d|1[0-7]|6[56])\\d|2(?:22|5[25])|7(?:55|77)|88[58])|6(?:(?:0[034679]|5[015-9]|6\\d)\\d|1(?:00|11|6[16])|2[26]2|3[36]3|4[46]4|7(?:0[013-9]|[67]\\d)|8[68]8|9(?:[069]\\d|3[039]))|9(?:(?:[04679]\\d|8[057-9])\\d|1(?:1[01]|99)|2(?:00|2\\d)|3(?:00|3[03])|5(?:00|5\\d)))\\d{4}",,,,"50012345",,,[8]],[,,"18\\d{5}",,,,"1801234",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"KW",965,"00",,,,,,,,[[,"(\\d{4})(\\d{3,4})","$1 $2",["[169]|2(?:[235]|4[1-35-9])|52"]],[,"(\\d{3})(\\d{5})","$1 $2",["[245]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KY:[,[,,"(?:345|[58]\\d\\d|900)\\d{7}",,,,,,,[10],[7]],[,,"345(?:2(?:22|3[23]|44|66)|333|444|6(?:23|38|40)|7(?:30|4[35-79]|6[6-9]|77)|8(?:00|1[45]|
15672[48]8)|9(?:14|4[035-9]))\\d{4}",,,,"3452221234",,,,[7]],[,,"345(?:32[1-9]|42[0-4]|5(?:1[67]|2[5-79]|4[6-9]|50|76)|649|82[56]|9(?:1[679]|2[2-9]|3[06-9]|90))\\d{4}",,,,"3453231234",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002345678"],[,,"(?:345976|900[2-9]\\d\\d)\\d{4}",,,,"9002345678"],[,,,,,,,,,[-1]],[,,"52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"KY",1,"011","1",,,"([2-9]\\d{6})$|1","345$1",,,,,[,,"345849\\d{4}",,,,"3458491234"],,"345",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KZ:[,[,,"(?:33622|8\\d{8})\\d{5}|[78]\\d{9}",,,,,,,[10,14],[5,6,7]],[,,"(?:33622|7(?:1(?:0(?:[23]\\d|4[0-3]|59|63)|1(?:[23]\\d|4[0-79]|59)|2(?:[23]\\d|59)|3(?:2\\d|3[0-79]|4[0-35-9]|59)|4(?:[24]\\d|3[013-9]|5[1-9]|97)|5(?:2\\d|3[1-9]|4[0-7]|59)|6(?:[2-4]\\d|5[19]|61)|72\\d|8(?:[27]\\d|3[1-46-9]|4[0-5]|59))|2(?:1(?:[23]\\d|4[46-9]|5[3469])|2(?:2\\d|3[0679]|46|5[12679])|3(?:[2-4]\\d|5[139])|4(?:2\\d|3[1-35-9]|59)|5(?:[23]\\d|4[0-8]|59|61)|6(?:2\\d|3[1-9]|4[0-4]|59)|7(?:[2379]\\d|40|5[279])|8(?:[23]\\d|4[0-3]|59)|9(?:2\\d|3[124578]|59))))\\d{5}",,,,"7123456789",,,[10],[5,6,7]],[,,"7(?:0[0-25-8]|47|6[0-4]|7[15-8]|85)\\d{7}",,,,"7710009998",,,[10]],[,,"8(?:00|108\\d{3})\\d{7}",,,,"8001234567"],[,,"809\\d{7}",,,,"8091234567",,,[10]],[,,,,,,,,,[-1]],[,,"808\\d{7}",,,,"8081234567",,,[10]],[,,"751\\d{7}",,,,"7511234567",,,[10]],"KZ",7,"810","8",,,"8",,"8~10",,,,[,,,,,,,,,[-1]],,"33|7",[,,"751\\d{7}",,,,,,,[10]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],LA:[,[,,"[23]\\d{9}|3\\d{8}|(?:[235-8]\\d|41)\\d{6}",,,,,,,[8,9,10],[6]],[,,"(?:2[13]|[35-7][14]|41|8[1468])\\d{6}",,,,"21212862",,,[8],[6]],[,,"208[78]\\d{6}|(?:20[23579]|30[24])\\d{7}",,,,"2023123456",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"LA",856,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["2[13]|3[14]|[4-8]"],"0$1"],[,"(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["30[0135-9]"],"0$1"],[,"(\\d{2})(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["[23]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"30[0135-9]\\d{6}",,,,"301234567",,,[9]],,,[,,,,,,,,,[-1]]],LB:[,[,,"[27-9]\\d{7}|[13-9]\\d{6}",,,,,,,[7,8]],[,,"7(?:62|8[0-7]|9[04-9])\\d{4}|(?:[14-69]\\d|2(?:[14-69]\\d|[78][1-9])|7[2-57]|8[02-9])\\d{5}",,,,"1123456"],[,,"793(?:[01]\\d|2[0-4])\\d{3}|(?:(?:3|81)\\d|7(?:[01]\\d|6[013-9]|8[89]|9[12]))\\d{5}",,,,"71123456"],[,,,,,,,,,[-1]],[,,"9[01]\\d{6}",,,,"90123456",,,[8]],[,,"80\\d{6}",,,,"80123456",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"LB",961,"00","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[27-9]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],LC:[,[,,"(?:[58]\\d\\d|758|900)\\d{7}",,,,,,,[10],[7]],[,,"758(?:234|4(?:30|5\\d|6[2-9]|8[0-2])|57[0-2]|(?:63|75)8)\\d{4}",,,,"7584305678",,,,[7]],[,,"758(?:28[4-7]|384|4(?:6[01]|8[4-9])|5(?:1[89]|20|84)|7(?:1[2-9]|2\\d|3[0-3])|812)\\d{4}",,,,"7582845678",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456"],[,,"900[2-9]\\d{6}",,,,"9002123456"],[,,,,,,,,,[-1]],[,,"52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"LC",1,"011","1",,,"([2-8]\\d{6})$|1","758$1",,,,,[,,,,,,,,,[-1]],,"758",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],LI:[,[,,"[68]\\d{8}|(?:[2378]\\d|90)\\d{5}",,,,,,,[7,9]],[,,"(?:2(?:01|1[27]|2[02]|3\\d|6[02-578]|96)|3(?:[24]0|33|7[0135-7]|8[048]|9[0269]))\\d{4}",,,,"2345678",,,[7]],[,,"(?:6(?:(?:4[5-9]|5[0-469])\\d|6(?:[024-6]\\d|[17]0|3[7-9]))\\d|7(?:[37-9]\\d|42|56))\\d{4}",,,,"660234567"],[,,"8002[28]\\d\\d|80(?:05\\d|9)\\d{4}",,,,"8002222"],[,,"90(?:02[258]|1(?:23|3[14])|66[136])\\d\\d",,,,"9002222",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"LI",423,"00","0",,,"(1001)|0",,,,[[,"(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[2379]|8(?:0[09]|7)","[2379]|8(?:0(?:02|9)|7)"],,"$CC $1"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"]],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["69"],,"$CC $1"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"],,"$CC $1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"870(?:28|87)\\d\\d",,,,"8702812",,,[7]],,,[,,"697(?:42|56|[78]\\d)\\d{4}",,,,"697861234",,,[9]]],LK:[,[,,"[1-9]\\d{8}",,,,,,,[9],[7]],[,,"(?:12[2-9]|602|8[12]\\d|9(?:1\\d|22|9[245]))\\d{6}|(?:11|2[13-7]|3[1-8]|4[157]|5[12457]|6[35-7])[2-57]\\d{6}
15672",,,,"112345678",,,,[7]],[,,"7(?:[0-25-8]\\d|4[0-4])\\d{6}",,,,"712345678"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"LK",94,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[1-689]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"1973\\d{5}",,,,"197312345"],,,[,,,,,,,,,[-1]]],LR:[,[,,"(?:[245]\\d|33|77|88)\\d{7}|(?:2\\d|[4-6])\\d{6}",,,,,,,[7,8,9]],[,,"2\\d{7}",,,,"21234567",,,[8]],[,,"(?:(?:(?:22|33)0|555|(?:77|88)\\d)\\d|4(?:240|[67]))\\d{5}|[56]\\d{6}",,,,"770123456",,,[7,9]],[,,,,,,,,,[-1]],[,,"332(?:02|[34]\\d)\\d{4}",,,,"332021234",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"LR",231,"00","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["4[67]|[56]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["2"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[2-578]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],LS:[,[,,"(?:[256]\\d\\d|800)\\d{5}",,,,,,,[8]],[,,"2\\d{7}",,,,"22123456"],[,,"[56]\\d{7}",,,,"50123456"],[,,"800[1256]\\d{4}",,,,"80021234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"LS",266,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2",["[2568]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],LT:[,[,,"(?:[3469]\\d|52|[78]0)\\d{6}",,,,,,,[8]],[,,"(?:3[1478]|4[124-6]|52)\\d{6}",,,,"31234567"],[,,"6\\d{7}",,,,"61234567"],[,,"80[02]\\d{5}",,,,"80012345"],[,,"9(?:0[0239]|10)\\d{5}",,,,"90012345"],[,,"808\\d{5}",,,,"80812345"],[,,"70[05]\\d{5}",,,,"70012345"],[,,"[89]01\\d{5}",,,,"80123456"],"LT",370,"00","0",,,"[08]",,,,[[,"(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["52[0-7]"],"(0-$1)",,1],[,"(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[7-9]"],"0 $1",,1],[,"(\\d{2})(\\d{6})","$1 $2",["37|4(?:[15]|6[1-8])"],"(0-$1)",,1],[,"(\\d{3})(\\d{5})","$1 $2",["[3-6]"],"(0-$1)",,1]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"70[67]\\d{5}",,,,"70712345"],,,[,,,,,,,,,[-1]]],LU:[,[,,"35[013-9]\\d{4,8}|6\\d{8}|35\\d{2,4}|(?:[2457-9]\\d|3[0-46-9])\\d{2,9}",,,,,,,[4,5,6,7,8,9,10,11]],[,,"(?:35[013-9]|80[2-9]|90[89])\\d{1,8}|(?:2[2-9]|3[0-46-9]|[457]\\d|8[13-9]|9[2-579])\\d{2,9}",,,,"27123456"],[,,"6(?:[269][18]|5[1568]|7[189]|81)\\d{6}",,,,"628123456",,,[9]],[,,"800\\d{5}",,,,"80012345",,,[8]],[,,"90[015]\\d{5}",,,,"90012345",,,[8]],[,,"801\\d{5}",,,,"80112345",,,[8]],[,,,,,,,,,[-1]],[,,"20(?:1\\d{5}|[2-689]\\d{1,7})",,,,"20201234",,,[4,5,6,7,8,9,10]],"LU",352,"00",,,,"(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)",,,,[[,"(\\d{2})(\\d{3})","$1 $2",["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"],,"$CC $1"],[,"(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"],,"$CC $1"],[,"(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["20[2-689]"],,"$CC $1"],[,"(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})","$1 $2 $3 $4",["2(?:[0367]|4[3-8])"],,"$CC $1"],[,"(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["80[01]|90[015]"],,"$CC $1"],[,"(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["20"],,"$CC $1"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"],,"$CC $1"],[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})","$1 $2 $3 $4 $5",["2(?:[0367]|4[3-8])"],,"$CC $1"],[,"(\\d{2})(\\d{2})(\\d{2})(\\d{1,5})","$1 $2 $3 $4",["[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]"],,"$CC $1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],LV:[,[,,"(?:[268]\\d|90)\\d{6}",,,,,,,[8]],[,,"6\\d{7}",,,,"63123456"],[,,"23(?:23[0-57-9]|33[0238])\\d{3}|2(?:[0-24-9]\\d\\d|3(?:0[07]|[14-9]\\d|2[024-9]|3[0-24-9]))\\d{4}",,,,"21234567"],[,,"80\\d{6}",,,,"80123456"],[,,"90\\d{6}",,,,"90123456"],[,,"81\\d{6}",,,,"81123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"LV",371,"00",,,,,,,,[[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[269]|8[01]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],LY:[,[,,"[2-9]\\d{8}",,,,,,,[9],[7]],[,,"(?:2(?:0[56]|[1-6]\\d|7[124579]|8[124])|3(?:1\\d|2[2356])|4(?:[17]\\d|2[1-357]|5[2-4]|8[124])|5(?:[1347]\\d|2[1-469]|5[13-5]|8[1-4])|6(?:[1-479]\\d|5[2-57]|8[1-5])|7(?:[13]\\d|2[13-79])|8(?:[124]\\d|5[124]|84))\\d{6}",,,,"212345678",,,,[7]],[,,"9[1-6]\\d{7}",,,,"912345678"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"LY",218,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{7})","$1-$2",["[2-9]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MA:[,[,,"[5-8]\\d{8}",,,,,,,[9]],[,,"5(?:2(?:[0-25-79]\\d|3[1-578]|4[02-46-8]|8[0235-7])|3(?:[0-47]\\d|5[02-9]|6[02-8]|8[014-9]|9[3-9])|(?:4[067]|5[03])\\d)\\d{5}",,,,"520123456"],[,,"(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[0167]\\d|2[0-4]|5[01]|8[0-3]))\\d{6}",,,,"650123456"],[,,"80[0-7]\\d{6}",,,,"801234567"],[,,"89\\d{7}",,,,"891234567"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"(?:592(?:4[0-2]|93)|80[89]\\d\\d)\\d{4}",,,,"592401234"],"MA",212,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["5[45]"],"0$1"],[,"(\\d{4})(\\d{5})","$1-$2",["5(?:2[2-46-9]|3[3-9]|9)|8(?:0[89]|92)"],"0$1"],[,"(\\d{2})(\\d{7})","$1-$2",["8"],"0$1"],[,"(\\d{3})(\\d{6})","$1-$2",["[5-7]"],"0$1"]],,[,,,,,,,,,[-1]],1,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MC:[,[,,"(?:[3489]|6\\d)\\d{7}",,,,,,,[8,9]],[,,"(?:870|9[2-47-9]\\d)\\d{5}",,,,"99123456",,,[8]],[,,"4(?:[469]\\d|5[1-9])\\d{5}|(?:3|6\\d)\\d{7}",,,,"612345678"],[,,"(?:800|90\\d)\\d{5}",,,,"90123456",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"MC",377,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3",["87"]],[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["4"],"0$1"],[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[389]"]],[,"(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["6"],"0$1"]],[[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["4"],"0$1"],[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[389]"]],[,"(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["6"],"0$1"]],[,,,,,,,,,[-1]],,,[,,"8[07]0\\d{5}",,,,,,,[8]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MD:[,[,,"(?:[235-7]\\d|[89]0)\\d{6}",,,,,,,[8]],[,,"(?:(?:2[1-9]|3[1-79])\\d|5(?:33|5[257]))\\d{5}",,,,"22212345"],[,,"562\\d{5}|(?:6\\d|7[16-9])\\d{6}",,,,"62112345"],[,,"800\\d{5}",,,,"80012345"],[,,"90[056]\\d{5}",,,,"90012345"],[,,"808\\d{5}
15672",,,,"80812345"],[,,,,,,,,,[-1]],[,,"3[08]\\d{6}",,,,"30123456"],"MD",373,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{5})","$1 $2",["[89]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["22|3"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[25-7]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"803\\d{5}",,,,"80312345"],,,[,,,,,,,,,[-1]]],ME:[,[,,"(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}",,,,,,,[8,9],[6]],[,,"(?:20[2-8]|3(?:[0-2][2-7]|3[24-7])|4(?:0[2-467]|1[2467])|5(?:0[2467]|1[24-7]|2[2-467]))\\d{5}",,,,"30234567",,,[8],[6]],[,,"6(?:[07-9]\\d|3[024]|6[0-25])\\d{5}",,,,"67622901",,,[8]],[,,"80(?:[0-2578]|9\\d)\\d{5}",,,,"80080002"],[,,"9(?:4[1568]|5[178])\\d{5}",,,,"94515151",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"78[1-49]\\d{5}",,,,"78108780",,,[8]],"ME",382,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-9]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"77[1-9]\\d{5}",,,,"77273012",,,[8]],,,[,,,,,,,,,[-1]]],MF:[,[,,"(?:590\\d|7090)\\d{5}|(?:69|80|9\\d)\\d{7}",,,,,,,[9]],[,,"590(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)\\d{4}",,,,"590271234"],[,,"(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))|7090[0-4])\\d{4}",,,,"690001234"],[,,"80[0-5]\\d{6}",,,,"800012345"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"9(?:(?:39[5-7]|76[018])\\d|475[0-5])\\d{4}",,,,"976012345"],"MF",590,"00","0",,,"0",,,,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MG:[,[,,"[23]\\d{8}",,,,,,,[9],[7]],[,,"2072[29]\\d{4}|20(?:2\\d|4[47]|5[3467]|6[279]|7[356]|8[268]|9[2457])\\d{5}",,,,"202123456",,,,[7]],[,,"3[2-47-9]\\d{7}",,,,"321234567"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"22\\d{7}",,,,"221234567"],"MG",261,"00","0",,,"([24-9]\\d{6})$|0","20$1",,,[[,"(\\d{2})(\\d{2})(\\d{3})(\\d{2})","$1 $2 $3 $4",["[23]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MH:[,[,,"329\\d{4}|(?:[256]\\d|45)\\d{5}",,,,,,,[7]],[,,"(?:247|528|625)\\d{4}",,,,"2471234"],[,,"(?:(?:23|54)5|329|45[35-8])\\d{4}",,,,"2351234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"635\\d{4}",,,,"6351234"],"MH",692,"011","1",,,"1",,,,[[,"(\\d{3})(\\d{4})","$1-$2",["[2-6]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MK:[,[,,"[2-578]\\d{7}",,,,,,,[8],[6,7]],[,,"(?:(?:2(?:62|77)0|3444)\\d|4[56]440)\\d{3}|(?:34|4[357])700\\d{3}|(?:2(?:[0-3]\\d|5[0-578]|6[01]|82)|3(?:1[3-68]|[23][2-68]|4[23568])|4(?:[23][2-68]|4[3-68]|5[2568]|6[25-8]|7[24-68]|8[4-68]))\\d{5}",,,,"22012345",,,,[6,7]],[,,"7(?:3555|(?:474|9[019]7)7)\\d{3}|7(?:[0-25-8]\\d\\d|3(?:[1-48]\\d|6[01]|7[01578])|4(?:2\\d|60|7[01578])|9(?:[2-4]\\d|5[01]|7[015]))\\d{4}",,,,"72345678"],[,,"800\\d{5}",,,,"80012345"],[,,"5\\d{7}",,,,"50012345"],[,,"8(?:0[1-9]|[1-9]\\d)\\d{5}",,,,"80123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"MK",389,"00","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2|34[47]|4(?:[37]7|5[47]|64)"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[347]"],"0$1"],[,"(\\d{3})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["[58]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],ML:[,[,,"[24-9]\\d{7}",,,,,,,[8]],[,,"2(?:07[0-8]|12[67])\\d{4}|(?:2(?:02|1[4-689])|4(?:0[0-4]|4[1-39]))\\d{5}",,,,"20212345"],[,,"2(?:0(?:01|79)|17\\d)\\d{4}|(?:5[01]|[679]\\d|8[2-49])\\d{6}",,,,"65012345"],[,,"80\\d{6}",,,,"80012345"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"ML",223,"00",,,,,,,,[[,"(\\d{4})","$1",["67[057-9]|74[045]","67(?:0[09]|[59]9|77|8[89])|74(?:0[02]|44|55)"]],[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24-9]"]]],[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24-9]"]]],[,,,,,,,,,[-1]],,,[,,"80\\d{6}"],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MM:[,[,,"1\\d{5,7}|95\\d{6}|(?:[4-7]|9[0-46-9])\\d{6,8}|(?:2|8\\d)\\d{5,8}",,,,,,,[6,7,8,9,10],[5]],[,,"(?:1(?:(?:12|[28]\\d|3[56]|7[3-6]|9[0-6])\\d|4(?:2[29]|62|7[0-2]|83)|6)|2(?:2(?:00|8[34])|4(?:0\\d|[26]2|7[0-2]|83)|51\\d\\d)|4(?:2(?:2\\d\\d|48[013])|3(?:20\\d|4(?:70|83)|56)|420\\d|5(?:2\\d|470))|6(?:0(?:[23]|88\\d)|(?:124|[56]2\\d)\\d|2472|3(?:20\\d|470)|4(?:2[04]\\d|472)|7(?:3\\d\\d|4[67]0|8(?:[01459]\\d|8))))\\d{4}|5(?:2(?:2\\d{5,6}|47[02]\\d{4})|(?:3472|4(?:2(?:1|86)|470)|522\\d|6(?:20\\d|483)|7(?:20\\d|48[01])|8(?:20\\d|47[02])|9(?:20\\d|470))\\d{4})|7(?:(?:0470|4(?:25\\d|470)|5(?:202|470|96\\d))\\d{4}|1(?:20\\d{4,5}|4(?:70|83)\\d{4}))|8(?:1(?:2\\d{5,6}|4(?:10|7[01]\\d)\\d{3})|2(?:2\\d{5,6}|(?:320|490\\d)\\d{3})|(?:3(?:2\\d\\d|470)|4[24-7]|5(?:(?:2\\d|51)\\d|4(?:[1-35-9]\\d|4[0-57-9]))|6[23])\\d{4})|(?:1[2-6]\\d|4(?:2[24-8]|3[2-7]|[46][2-6]|5[3-5])|5(?:[27][2-8]|3[2-68]|4[24-8]|5[23]|6[2-4]|8[24-7]|9[2-7])|6(?:[19]20|42[03-6]|(?:52|7[45])\\d)|7(?:[04][24-8]|[15][2-7]|22|3[2-4])|8(?:1[2-689]|2[2-8]|(?:[35
15672]2|64)\\d))\\d{4}|25\\d{5,6}|(?:2[2-9]|6(?:1[2356]|[24][2-6]|3[24-6]|5[2-4]|6[2-8]|7[235-7]|8[245]|9[24])|8(?:3[24]|5[245]))\\d{4}",,,,"1234567",,,[6,7,8,9],[5]],[,,"(?:17[01]|9(?:2(?:[0-4]|[56]\\d\\d)|(?:3(?:[0-36]|4\\d)|(?:6\\d|8[89]|9[4-8])\\d|7(?:3|40|[5-9]\\d))\\d|4(?:(?:[0245]\\d|[1379])\\d|88)|5[0-6])\\d)\\d{4}|9[69]1\\d{6}|9(?:[68]\\d|9[089])\\d{5}",,,,"92123456",,,[7,8,9,10]],[,,"80080(?:0[1-9]|2\\d)\\d{3}",,,,"8008001234",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"1333\\d{4}|[12]468\\d{4}",,,,"13331234",,,[8]],"MM",95,"00","0",,,"0",,,,[[,"(\\d)(\\d{2})(\\d{3})","$1 $2 $3",["16|2"],"0$1"],[,"(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["4(?:[2-46]|5[3-5])|5|6(?:[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-5]|(?:60|86)[23]"],"0$1"],[,"(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[12]|452|678|86","[12]|452|6788|86"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[4-7]|8[1-35]"],"0$1"],[,"(\\d)(\\d{3})(\\d{4,6})","$1 $2 $3",["9(?:2[0-4]|[35-9]|4[137-9])"],"0$1"],[,"(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"],"0$1"],[,"(\\d)(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["92"],"0$1"],[,"(\\d)(\\d{5})(\\d{4})","$1 $2 $3",["9"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MN:[,[,,"[12]\\d{7,9}|[5-9]\\d{7}",,,,,,,[8,9,10],[4,5,6]],[,,"[12]2[1-3]\\d{5,6}|(?:(?:[12](?:1|27)|5[368])\\d\\d|7(?:0(?:[0-5]\\d|7[078]|80)|128))\\d{4}|[12](?:3[2-8]|4[2-68]|5[1-4689])\\d{6,7}",,,,"53123456",,,,[4,5,6]],[,,"(?:83[01]|92[039])\\d{5}|(?:5[05]|6[069]|8[015689]|9[013-9])\\d{6}",,,,"88123456",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"712[0-79]\\d{4}|7(?:1[013-9]|[25-9]\\d)\\d{5}",,,,"75123456",,,[8]],"MN",976,"001","0",,,"0",,,,[[,"(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["[12]1"],"0$1"],[,"(\\d{4})(\\d{4})","$1 $2",["[5-9]"]],[,"(\\d{3})(\\d{5,6})","$1 $2",["[12]2[1-3]"],"0$1"],[,"(\\d{4})(\\d{5,6})","$1 $2",["[12](?:27|3[2-8]|4[2-68]|5[1-4689])","[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]"],"0$1"],[,"(\\d{5})(\\d{4,5})","$1 $2",["[12]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MO:[,[,,"0800\\d{3}|(?:28|[68]\\d)\\d{6}",,,,,,,[7,8]],[,,"(?:28[2-9]|8(?:11|[2-57-9]\\d))\\d{5}",,,,"28212345",,,[8]],[,,"6800[0-79]\\d{3}|6(?:[235]\\d\\d|6(?:0[0-5]|[1-9]\\d)|8(?:0[1-9]|[14-8]\\d|2[5-9]|[39][0-4]))\\d{4}",,,,"66123456",,,[8]],[,,"0800\\d{3}",,,,"0800501",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"MO",853,"00",,,,,,,,[[,"(\\d{4})(\\d{3})","$1 $2",["0"]],[,"(\\d{4})(\\d{4})","$1 $2",["[268]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MP:[,[,,"[58]\\d{9}|(?:67|90)0\\d{7}",,,,,,,[10],[7]],[,,"670(?:2(?:3[3-7]|56|8[4-8])|32[1-38]|4(?:33|8[348])|5(?:32|55|88)|6(?:64|70|82)|78[3589]|8[3-9]8|989)\\d{4}",,,,"6702345678",,,,[7]],[,,"670(?:2(?:3[3-7]|56|8[4-8])|32[1-38]|4(?:33|8[348])|5(?:32|55|88)|6(?:64|70|82)|78[3589]|8[3-9]8|989)\\d{4}",,,,"6702345678",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456"],[,,"900[2-9]\\d{6}",,,,"9002123456"],[,,,,,,,,,[-1]],[,,"52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"MP",1,"011","1",,,"([2-9]\\d{6})$|1","670$1",,1,,,[,,,,,,,,,[-1]],,"670",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MQ:[,[,,"(?:596\\d|7091)\\d{5}|(?:69|[89]\\d)\\d{7}",,,,,,,[9]],[,,"(?:596(?:[03-7]\\d|1[05]|2[7-9]|8[0-39]|9[04-9])|80[6-9]\\d\\d|9(?:477[6-9]|767[4589]))\\d{4}",,,,"596301234"],[,,"(?:69[67]\\d\\d|7091[0-3])\\d{4}",,,,"696201234"],[,,"80[0-5]\\d{6}",,,,"800012345"],[,,"8[129]\\d{7}",,,,"810123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"9(?:397[0-3]|477[0-5]|76(?:6\\d|7[0-367]))\\d{4}",,,,"976612345"],"MQ",596,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-79]|8(?:0[6-9]|[36])"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MR:[,[,,"(?:[2-4]\\d\\d|800)\\d{5}",,,,,,,[8]],[,,"(?:25[08]|35\\d|45[1-7])\\d{5}",,,,"35123456"],[,,"[2-4][0-46-9]\\d{6}",,,,"22123456"],[,,"800\\d{5}",,,,"80012345"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"MR",222,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-48]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MS:[,[,,"(?:[58]\\d\\d|664|900)\\d{7}",,,,,,,[10],[7]],[,,"6644(?:1[0-3]|91)\\d{4}",,,,"6644912345",,,,[7]],[,,"664(?:3(?:49|9[1-6])|49[2-6])\\d{4}",,,,"6644923456",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456"],[,,"900[2-9]\\d{6}",,,,"9002123456"],[,,,,,,,,,[-1]],[,,"52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"MS",1,"011","1",,,"([34]\\d{6})$|1","664$1",,,,,[,,,,,,,,,[-1]],,"664",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MT:[,[,,"3550\\d{4}|(?:[2579]\\d\\d|800)\\d{5}",,,,,,,[8]],[,,"20(?:3[1-4]|6[059])\\d{4}|2(?:0[19]|[1-357]\\d|60)\\d{5}",,,,"21001234"],[,,"(?:7(?:210|[79]\\d\\d)|9(?:[29]\\d\\d|69[67]|8(?:1[1-3]|89|97)))\\d{4}",,,,"96961234"],[,,"800(?:02|[3467]\\d)\\d{3}",,,,"80071234"],[,,"5(?:0(?:0(?:37|43)|(?:6\\d|70|9[0168])\\d)|[12]\\d0[1-5])\\d{3}",,,,"50037123"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"3550\\d{4}",,,,"35501234"],"MT",356,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2",["[2357-9]"]]],,[,,"7117\\d{4}",,,,"71171234"],,,[,,,,,,,,,[-1]],[,,"501\\d{5}",,,,"50112345"],,,[,,,,,,,,,[-1]]],MU:[,[,,"(?:[57]|8\\d\\d)\\d{7}|[2-468]\\d{6}",,,,,,,[7,8,10]],[,,"(?:2(?:[0346-8]\\d|1[0-7])|4(?:[013568]\\d|2[4-8]|71)|54(?:[3-5]\\d|71)|6\\d\\d|8(?:14|3[129]))\\d{4}
15672",,,,"54480123",,,[7,8]],[,,"5(?:4(?:2[1-389]|7[1-9])|87[15-8])\\d{4}|(?:5(?:2[5-9]|4[3-689]|[57]\\d|8[0-689]|9[0-8])|7(?:0[0-4]|3[013]))\\d{5}",,,,"52512345",,,[8]],[,,"802\\d{7}|80[0-2]\\d{4}",,,,"8001234",,,[7,10]],[,,"30\\d{5}",,,,"3012345",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"3(?:20|9\\d)\\d{4}",,,,"3201234",,,[7]],"MU",230,"0(?:0|[24-7]0|3[03])",,,,,,"020",,[[,"(\\d{3})(\\d{4})","$1 $2",["[2-46]|8[013]"]],[,"(\\d{4})(\\d{4})","$1 $2",["[57]"]],[,"(\\d{5})(\\d{5})","$1 $2",["8"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MV:[,[,,"(?:800|9[0-57-9]\\d)\\d{7}|[34679]\\d{6}",,,,,,,[7,10]],[,,"(?:3(?:0[0-4]|3[0-59])|6(?:[58][024689]|6[024-68]|7[02468]))\\d{4}",,,,"6701234",,,[7]],[,,"(?:46[46]|[79]\\d\\d)\\d{4}",,,,"7712345",,,[7]],[,,"800\\d{7}",,,,"8001234567",,,[10]],[,,"900\\d{7}",,,,"9001234567",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"MV",960,"0(?:0|19)",,,,,,"00",,[[,"(\\d{3})(\\d{4})","$1-$2",["[34679]"]],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"4(?:0[01]|50)\\d{4}",,,,"4001234",,,[7]],,,[,,,,,,,,,[-1]]],MW:[,[,,"(?:[1289]\\d|31|77)\\d{7}|1\\d{6}",,,,,,,[7,9]],[,,"(?:1[2-9]|2[12]\\d\\d)\\d{5}",,,,"1234567"],[,,"111\\d{6}|(?:31|77|[89][89])\\d{7}",,,,"991234567",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"MW",265,"00","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["1[2-9]"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["2"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[137-9]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MX:[,[,,"[2-9]\\d{9}",,,,,,,[10],[7,8]],[,,"657[12]\\d{6}|(?:2(?:0[01]|2\\d|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|3\\d|7[1-8]|9[1-5])|4(?:1[1-57-9]|[267][1-9]|3[1-8]|[45]\\d|8[1-35-9]|9[2-689])|5(?:[56]\\d|88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-3689]|6[0-57-9]|7[1-7]|8[67]|9[4-8])|7(?:[1346][1-9]|[27]\\d|5[13-9]|8[1-69]|9[17])|8(?:1\\d|2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[0-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|[69]\\d|7[12]|8[1-8]))\\d{7}",,,,"2001234567",,,,[7,8]],[,,"657[12]\\d{6}|(?:2(?:2\\d|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|3\\d|7[1-8]|9[1-5])|4(?:1[1-57-9]|[267][1-9]|3[1-8]|[45]\\d|8[1-35-9]|9[2-689])|5(?:[56]\\d|88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-3689]|6[0-57-9]|7[1-7]|8[67]|9[4-8])|7(?:[1346][1-9]|[27]\\d|5[13-9]|8[1-69]|9[17])|8(?:1\\d|2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[0-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|[69]\\d|7[12]|8[1-8]))\\d{7}",,,,"2221234567",,,,[7,8]],[,,"8(?:00|88)\\d{7}",,,,"8001234567"],[,,"900\\d{7}",,,,"9001234567"],[,,"300\\d{7}",,,,"3001234567"],[,,"500\\d{7}",,,,"5001234567"],[,,,,,,,,,[-1]],"MX",52,"0[09]",,,,,,"00",,[[,"(\\d{5})","$1",["53"]],[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["33|5[56]|81"]],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2-9]"]]],[[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["33|5[56]|81"]],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2-9]"]]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MY:[,[,,"1\\d{8,9}|(?:3\\d|[4-9])\\d{7}",,,,,,,[8,9,10],[6,7]],[,,"4270\\d{4}|(?:3(?:2[0-36-9]|3[0-368]|4[0-278]|5[0-24-8]|6[0-467]|7[1246-9]|8\\d|9[0-57])\\d|4(?:2[0-689]|[3-79]\\d|8[1-35689])|5(?:2[0-589]|[3468]\\d|5[0-489]|7[1-9]|9[23])|6(?:2[2-9]|3[1357-9]|[46]\\d|5[0-6]|7[0-35-9]|85|9[015-8])|7(?:[2579]\\d|3[03-68]|4[0-8]|6[5-9]|8[0-35-9])|8(?:[24][2-8]|3[2-5]|5[2-7]|6[2-589]|7[2-578]|[89][2-9])|9(?:0[57]|13|[25-7]\\d|[3489][0-8]))\\d{5}",,,,"323856789",,,[8,9],[6,7]],[,,"1(?:1888[689]|4400|8(?:47|8[27])[0-4])\\d{4}|1(?:0(?:[23568]\\d|4[0-6]|7[016-9]|9[0-8])|1(?:[1-5]\\d\\d|6(?:0[5-9]|[1-9]\\d)|7(?:[0-4]\\d|5[0-7]))|(?:[269]\\d|[37][1-9]|4[235-9])\\d|5(?:31|9\\d\\d)|8(?:1[23]|[236]\\d|4[06]|5(?:46|[7-9])|7[016-9]|8[01]|9[0-8]))\\d{5}",,,,"123456789",,,[9,10]],[,,"1[378]00\\d{6}",,,,"1300123456",,,[10]],[,,"1600\\d{6}",,,,"1600123456",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"15(?:4(?:6[0-4]\\d|8(?:0[125]|[17]\\d|21|3[01]|4[01589]|5[014]|6[02]))|6(?:32[0-6]|78\\d))\\d{4}",,,,"1546012345",,,[10]],"MY",60,"00","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{4})","$1-$2 $3",["[4-79]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3,4})","$1-$2 $3",["1(?:[02469]|[378][1-9]|53)|8","1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8"],"0$1"],[,"(\\d)(\\d{4})(\\d{4})","$1-$2 $3",["3"],"0$1"],[,"(\\d)(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3-$4",["1(?:[367]|80)"]],[,"(\\d{3})(\\d{3})(\\d{4})","$1-$2 $3",["15"],"0$1"],[,"(\\d{2})(\\d{4})(\\d{4})","$1-$2 $3",["1"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MZ:[,[,,"(?:2|8\\d)\\d{7}",,,,,,,[8,9]],[,,"2(?:[1346]\\d|5[0-2]|[78][12]|93)\\d{5}",,,,"21123456",,,[8]],[,,"8[2-79]\\d{7}",,,,"821234567",,,[9]],[,,"800\\d{6}",,,,"800123456",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"MZ",258,"00",,,,,,,,[[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["2|8[2-79]"]],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NA:[,[,,"[68]\\d{7,8}",,,,,,,[8,9]],[,,"64426\\d{3}|6(?:1(?:2[2-7]|3[01378]|4[0-4])|254|32[0237]|4(?:27|41|5[25])|52[236-8]|626|7(?:2[2-4]|30))\\d{4,5}|6(?:1(?:(?:0\\d|2[0189]|3[24-69]|4[5-9])\\d|17|69|7[014])|2(?:17|5[0-36-8]|69|70)|3(?:17|2[14-689]|34|6[289]|7[01]|81)|4(?:17|2[0-2]|4[06
15672]|5[0137]|69|7[01])|5(?:17|2[0459]|69|7[01])|6(?:17|25|38|42|69|7[01])|7(?:17|2[569]|3[13]|6[89]|7[01]))\\d{4}",,,,"61221234"],[,,"(?:60|8[1245])\\d{7}",,,,"811234567",,,[9]],[,,"80\\d{7}",,,,"800123456",,,[9]],[,,"8701\\d{5}",,,,"870123456",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"8(?:3\\d\\d|86)\\d{5}",,,,"88612345"],"NA",264,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["88"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["6"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["87"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["8"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NC:[,[,,"(?:050|[2-57-9]\\d\\d)\\d{3}",,,,,,,[6]],[,,"(?:2[03-9]|3[0-5]|4[1-7]|88)\\d{4}",,,,"201234"],[,,"(?:5[0-4]|[79]\\d|8[0-79])\\d{4}",,,,"751234"],[,,"050\\d{3}",,,,"050012"],[,,"36\\d{4}",,,,"366711"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"NC",687,"00",,,,,,,,[[,"(\\d{3})","$1",["5[6-8]"]],[,"(\\d{2})(\\d{2})(\\d{2})","$1.$2.$3",["[02-57-9]"]]],[[,"(\\d{2})(\\d{2})(\\d{2})","$1.$2.$3",["[02-57-9]"]]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NE:[,[,,"[027-9]\\d{7}",,,,,,,[8]],[,,"2(?:0(?:20|3[1-8]|4[13-5]|5[14]|6[14578]|7[1-578])|1(?:4[145]|5[14]|6[14-68]|7[169]|88))\\d{4}",,,,"20201234"],[,,"(?:23|7[0467]|[89]\\d)\\d{6}",,,,"93123456"],[,,"08\\d{6}",,,,"08123456"],[,,"09\\d{6}",,,,"09123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"NE",227,"00",,,,,,,,[[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["08"]],[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[089]|2[013]|7[0467]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NF:[,[,,"[13]\\d{5}",,,,,,,[6],[5]],[,,"(?:1(?:06|17|28|39)|3[0-2]\\d)\\d{3}",,,,"106609",,,,[5]],[,,"(?:14|3[58])\\d{4}",,,,"381234",,,,[5]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"NF",672,"00",,,,"([0-258]\\d{4})$","3$1",,,[[,"(\\d{2})(\\d{4})","$1 $2",["1[0-3]"]],[,"(\\d)(\\d{5})","$1 $2",["[13]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NG:[,[,,"38\\d{6}|[78]\\d{9,13}|(?:20|9\\d)\\d{8}",,,,,,,[8,10,11,12,13,14],[6,7]],[,,"(?:20(?:[1259]\\d|3[013-9]|4[1-8]|6[024-689]|7[1-79]|8[2-9])|38)\\d{6}",,,,"2033123456",,,[8,10],[6,7]],[,,"(?:702[0-24-9]|819[01])\\d{6}|(?:7(?:0[13-9]|[12]\\d)|8(?:0[1-9]|1[0-8])|9(?:0[1-9]|1[1-6]))\\d{7}",,,,"8021234567",,,[10]],[,,"800\\d{7,11}",,,,"80017591759",,,[10,11,12,13,14]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"NG",234,"009","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["3"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[7-9]"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["20[129]"],"0$1"],[,"(\\d{4})(\\d{2})(\\d{4})","$1 $2 $3",["2"],"0$1"],[,"(\\d{3})(\\d{4})(\\d{4,5})","$1 $2 $3",["[78]"],"0$1"],[,"(\\d{3})(\\d{5})(\\d{5,6})","$1 $2 $3",["[78]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"700\\d{7,11}",,,,"7001234567",,,[10,11,12,13,14]],,,[,,,,,,,,,[-1]]],NI:[,[,,"(?:1800|[25-8]\\d{3})\\d{4}",,,,,,,[8]],[,,"2\\d{7}",,,,"21234567"],[,,"(?:5(?:5[0-7]|[78]\\d)|6(?:20|3[035]|4[045]|5[05]|77|8[1-9]|9[059])|(?:7[5-8]|8\\d)\\d)\\d{5}",,,,"81234567"],[,,"1800\\d{4}",,,,"18001234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"NI",505,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2",["[125-8]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NL:[,[,,"(?:[124-7]\\d\\d|3(?:[02-9]\\d|1[0-8]))\\d{6}|8\\d{6,9}|9\\d{6,10}|1\\d{4,5}",,,,,,,[5,6,7,8,9,10,11]],[,,"(?:1(?:[035]\\d|1[13-578]|6[124-8]|7[24]|8[0-467])|2(?:[0346]\\d|2[2-46-9]|5[125]|9[479])|3(?:[03568]\\d|1[3-8]|2[01]|4[1-8])|4(?:[0356]\\d|1[1-368]|7[58]|8[15-8]|9[23579])|5(?:[0358]\\d|[19][1-9]|2[1-57-9]|4[13-8]|6[126]|7[0-3578])|7\\d\\d)\\d{6}",,,,"101234567",,,[9]],[,,"(?:6[1-58]|970\\d)\\d{7}",,,,"612345678",,,[9,11]],[,,"800\\d{4,7}",,,,"8001234",,,[7,8,9,10]],[,,"90[069]\\d{4,7}",,,,"9061234",,,[7,8,9,10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"(?:85|91)\\d{7}",,,,"851234567",,,[9]],"NL",31,"00","0",,,"0",,,,[[,"(\\d{4})","$1",["1[238]|[34]"]],[,"(\\d{2})(\\d{3,4})","$1 $2",["14"]],[,"(\\d{6})","$1",["1"]],[,"(\\d{3})(\\d{4,7})","$1 $2",["[89]0"],"0$1"],[,"(\\d{2})(\\d{7})","$1 $2",["66"],"0$1"],[,"(\\d)(\\d{8})","$1 $2",["6"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-578]|91"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{5})","$1 $2 $3",["9"],"0$1"]],[[,"(\\d{3})(\\d{4,7})","$1 $2",["[89]0"],"0$1"],[,"(\\d{2})(\\d{7})","$1 $2",["66"],"0$1"],[,"(\\d)(\\d{8})","$1 $2",["6"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-578]|91"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{5})","$1 $2 $3",["9"],"0$1"]],[,,"66\\d{7}",,,,"662345678",,,[9]],,,[,,"140(?:1[035]|2[0346]|3[03568]|4[0356]|5[0358]|8[458])|140(?:1[16-8]|2[259]|3[124]|4[17-9]|5[124679]|7)\\d",,,,,,,[5,6]],[,,"140(?:1[035]|2[0346]|3[03568]|4[0356]|5[0358]|8[458])|(?:140(?:1[16-8]|2[259]|3[124]|4[17-9]|5[124679]|7)|8[478]\\d{6})\\d",,,,"14020",,,[5,6,9]],,,[,,,,,,,,,[-1]]],NO:[,[,,"(?:0|[2-9]\\d{3})\\d{4}",,,,,,,[5,8]],[,,"(?:2[1-4]|3[1-3578]|5[1-35-7]|6[1-4679]|7[0-8])\\d{6}",,,,"21234567",,,[8]],[,,"(?:4[015-8]|9\\d)\\d{6}",,,,"40612345",,,[8]],[,,"80[01]\\d{5}",,,,"80012345",,,[8]],[,,"82[09]\\d{5}",,,,"82012345",,,[8]],[,,"810(?:0[0-6]|[2-8]\\d)\\d{3}",,,,"81021234",,,[8]],[,,"880\\d{5}",,,,"88012345",,,[8]],[,,"85[0-5]\\d{5}",,,,"85012345",,,[8]],"NO",47,"00",,,,,,,,[[,"(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["8"]],[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-79]"]]],,[,,,,,,,,,[-1]],1,"[02-689]|7[0-8]",[,,,,,,,,,[-1]],[,,"(?:0[235-9]|81(?:0(?:0[7-9]|1\\d)|5\\d\\d))\\d{3}",,,,"02000"],,,[,,"81[23]\\d{5}",,,,"81212345",,,[8]]],NP:[,[,,"(?:1\\d|9)\\d{9}|[1-9]\\d{7}",,,,,,,[8,10,11],[6,7]],[,,"(?:1[0-6]\\d|99[02-6])\\d{5}|(?:2[13-79]|3[135-8]|4[146-9]|5[135-7]|6[13-9]|7[15-9]|8[1-46-9]|9[1-7])[2-6]\\d{5}",,,,"14567890",,,[8],[6,7]],[,,"9(?:00|6[0-3]|7[024-6]|8[0-24-68])\\d{7}",,,,"9841234567",,,[10]],[,,"1(?:66001|800\\d\\d)\\d{5}",,,,"16600101234",,,[11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"NP",977,"00","0",,,"0",,,,[[,"(\\d)(\\d{7})","$1-$2",["1[2-6]"],"0$1"],[,"(\\d{2})(\\d{6})","$1-$2",["1[01]|[2-8]|9(?:[1-59]|[67][2-6])"],"0$1"],[,"(\\d{3})(\\d{7})","$1-$2",["9"]],[,"(\\d{4})(\\d{2})(\\d{5})","$1-$2-$3",["1"]]],[[,"(\\d)(\\d{7})","$1-$2",["1[2-6]"],"0$1"],[,"(\\d{2})(\\d{6})","$1-$2",["1[01]|[2-8]|9(?:[1-59]|[67][2-6])"],"0$1"],[,"(\\d{3})(\\d{7})","$1-$2",["9"]]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NR:[,[,,"(?:444|
15672(?:55|8\\d)\\d|666)\\d{4}",,,,,,,[7]],[,,"444\\d{4}",,,,"4441234"],[,,"(?:55[3-9]|666|8\\d\\d)\\d{4}",,,,"5551234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"NR",674,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",["[4-68]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NU:[,[,,"(?:[4-7]|888\\d)\\d{3}",,,,,,,[4,7]],[,,"[47]\\d{3}",,,,"7012",,,[4]],[,,"(?:[56]|888[1-9])\\d{3}",,,,"8884012"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"NU",683,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",["8"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NZ:[,[,,"[1289]\\d{9}|50\\d{5}(?:\\d{2,3})?|[27-9]\\d{7,8}|(?:[34]\\d|6[0-35-9])\\d{6}|8\\d{4,6}",,,,,,,[5,6,7,8,9,10]],[,,"240\\d{5}|(?:3[2-79]|[49][2-9]|6[235-9]|7[2-57-9])\\d{6}",,,,"32345678",,,[8],[7]],[,,"2(?:[0-27-9]\\d|6)\\d{6,7}|2(?:1\\d|75)\\d{5}",,,,"211234567",,,[8,9,10]],[,,"508\\d{6,7}|80\\d{6,8}",,,,"800123456",,,[8,9,10]],[,,"(?:1[13-57-9]\\d{5}|50(?:0[08]|30|66|77|88))\\d{3}|90\\d{6,8}",,,,"900123456",,,[7,8,9,10]],[,,,,,,,,,[-1]],[,,"70\\d{7}",,,,"701234567",,,[9]],[,,,,,,,,,[-1]],"NZ",64,"0(?:0|161)","0",,,"0",,"00",,[[,"(\\d{2})(\\d{3,8})","$1 $2",["8[1-79]"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["50[036-8]|8|90","50(?:[0367]|88)|8|90"],"0$1"],[,"(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["24|[346]|7[2-57-9]|9[2-9]"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["2(?:10|74)|[589]"],"0$1"],[,"(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["1|2[028]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3,5})","$1 $2 $3",["2(?:[169]|7[0-35-9])|7"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"8(?:1[16-9]|22|3\\d|4[045]|5[459]|6[235-9]|7[0-3579]|90)\\d{2,7}",,,,"83012378"],,,[,,,,,,,,,[-1]]],OM:[,[,,"(?:1505|[279]\\d{3}|500)\\d{4}|800\\d{5,6}",,,,,,,[7,8,9]],[,,"2[1-6]\\d{6}",,,,"23123456",,,[8]],[,,"(?:1505|90[1-9]\\d)\\d{4}|(?:7[126-9]|9[1-9])\\d{6}",,,,"92123456",,,[8]],[,,"8007\\d{4,5}|(?:500|800[05])\\d{4}",,,,"80071234"],[,,"900\\d{5}",,,,"90012345",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"OM",968,"00",,,,,,,,[[,"(\\d{3})(\\d{4,6})","$1 $2",["[58]"]],[,"(\\d{2})(\\d{6})","$1 $2",["2"]],[,"(\\d{4})(\\d{4})","$1 $2",["[179]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PA:[,[,,"(?:00800|8\\d{3})\\d{6}|[68]\\d{7}|[1-57-9]\\d{6}",,,,,,,[7,8,10,11]],[,,"(?:1(?:0\\d|1[479]|2[37]|3[0137]|4[17]|5[05]|6[058]|7[0167]|8[2358]|9[1389])|2(?:[0235-79]\\d|1[0-7]|4[013-9]|8[02-9])|3(?:[07-9]\\d|1[0-7]|2[0-5]|33|4[0-79]|5[0-35]|6[068])|4(?:00|3[0-579]|4\\d|7[0-57-9])|5(?:[01]\\d|2[0-7]|[56]0|79)|7(?:0[09]|2[0-26-8]|3[03]|4[04]|5[05-9]|6[0156]|7[0-24-9]|8[5-9]|90)|8(?:09|2[89]|3\\d|4[0-24-689]|5[014]|8[02])|9(?:0[5-9]|1[0135-8]|2[036-9]|3[35-79]|40|5[0457-9]|6[05-9]|7[04-9]|8[35-8]|9\\d))\\d{4}",,,,"2001234",,,[7]],[,,"(?:1[16]1|21[89]|6\\d{3}|8(?:1[01]|7[23]))\\d{4}",,,,"61234567",,,[7,8]],[,,"800\\d{4,5}|(?:00800|800\\d)\\d{6}",,,,"8001234"],[,,"(?:8(?:22|55|60|7[78]|86)|9(?:00|81))\\d{4}",,,,"8601234",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"PA",507,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1-$2",["[1-57-9]"]],[,"(\\d{4})(\\d{4})","$1-$2",["[68]"]],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PE:[,[,,"(?:[14-8]|9\\d)\\d{7}",,,,,,,[8,9],[6,7]],[,,"(?:(?:(?:4[34]|5[14])[0-8]|687)\\d|7(?:173|(?:3[0-8]|55)\\d)|8(?:10[05689]|6(?:0[06-9]|1[6-9]|29)|7(?:0[0569]|[56]0)))\\d{4}|(?:1[0-8]|4[12]|5[236]|6[1-7]|7[246]|8[2-4])\\d{6}",,,,"11234567",,,[8],[6,7]],[,,"9\\d{8}",,,,"912345678",,,[9]],[,,"800\\d{5}",,,,"80012345",,,[8]],[,,"805\\d{5}",,,,"80512345",,,[8]],[,,"801\\d{5}",,,,"80112345",,,[8]],[,,"80[24]\\d{5}",,,,"80212345",,,[8]],[,,,,,,,,,[-1]],"PE",51,"00|19(?:1[124]|77|90)00","0"," Anexo ",,"0",,"00",,[[,"(\\d{3})(\\d{5})","$1 $2",["80"],"(0$1)"],[,"(\\d)(\\d{7})","$1 $2",["1"],"(0$1)"],[,"(\\d{2})(\\d{6})","$1 $2",["[4-8]"],"(0$1)"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PF:[,[,,"4\\d{5}
15672(?:\\d{2})?|8\\d{7,8}",,,,,,,[6,8,9]],[,,"4(?:0[4-689]|9[4-68])\\d{5}",,,,"40412345",,,[8]],[,,"8[7-9]\\d{6}",,,,"87123456",,,[8]],[,,"80[0-5]\\d{6}",,,,"800012345",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"499\\d{5}",,,,"49901234",,,[8]],"PF",689,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["44"]],[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["4|8[7-9]"]],[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]]],,[,,,,,,,,,[-1]],,,[,,"44\\d{4}",,,,,,,[6]],[,,"44\\d{4}",,,,"440123",,,[6]],,,[,,,,,,,,,[-1]]],PG:[,[,,"(?:180|[78]\\d{3})\\d{4}|(?:[2-589]\\d|64)\\d{5}",,,,,,,[7,8]],[,,"(?:(?:3[0-2]|4[257]|5[34]|9[78])\\d|64[1-9]|85[02-46-9])\\d{4}",,,,"3123456",,,[7]],[,,"(?:7\\d|8[1-38])\\d{6}",,,,"70123456",,,[8]],[,,"180\\d{4}",,,,"1801234",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"2(?:0[0-57]|7[568])\\d{4}",,,,"2751234",,,[7]],"PG",675,"00|140[1-3]",,,,,,"00",,[[,"(\\d{3})(\\d{4})","$1 $2",["18|[2-69]|85"]],[,"(\\d{4})(\\d{4})","$1 $2",["[78]"]]],,[,,"27[01]\\d{4}",,,,"2700123",,,[7]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PH:[,[,,"(?:[2-7]|9\\d)\\d{8}|2\\d{5}|(?:1800|8)\\d{7,9}",,,,,,,[6,8,9,10,11,12,13],[4,5,7]],[,,"(?:(?:2[3-8]|3[2-68]|4[2-9]|5[2-6]|6[2-58]|7[24578])\\d{3}|88(?:22\\d\\d|42))\\d{4}|(?:2|8[2-8]\\d\\d)\\d{5}",,,,"232345678",,,[6,8,9,10],[4,5,7]],[,,"(?:8(?:1[37]|9[5-8])|9(?:0[5-9]|1[0-24-9]|[235-7]\\d|4[2-9]|8[135-9]|9[1-9]))\\d{7}",,,,"9051234567",,,[10]],[,,"1800\\d{7,9}",,,,"180012345678",,,[11,12,13]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"PH",63,"00","0",,,"0",,,,[[,"(\\d)(\\d{5})","$1 $2",["2"],"(0$1)"],[,"(\\d{4})(\\d{4,6})","$1 $2",["3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2","3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))"],"(0$1)"],[,"(\\d{5})(\\d{4})","$1 $2",["346|4(?:27|9[35])|883","3469|4(?:279|9(?:30|56))|8834"],"(0$1)"],[,"(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2"],"(0$1)"],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[3-7]|8[2-8]"],"(0$1)"],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]"],"0$1"],[,"(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]],[,"(\\d{4})(\\d{1,2})(\\d{3})(\\d{4})","$1 $2 $3 $4",["1"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PK:[,[,,"122\\d{6}|[24-8]\\d{10,11}|9(?:[013-9]\\d{8,10}|2(?:[01]\\d\\d|2(?:[06-8]\\d|1[01]))\\d{7})|(?:[2-8]\\d{3}|92(?:[0-7]\\d|8[1-9]))\\d{6}|[24-9]\\d{8}|[89]\\d{7}",,,,,,,[8,9,10,11,12],[5,6,7]],[,,"(?:(?:21|42)[2-9]|58[126])\\d{7}|(?:2[25]|4[0146-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\\d{6,7}|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8]))[2-9]\\d{5,6}",,,,"2123456789",,,[9,10],[5,6,7,8]],[,,"3(?:[0-247]\\d|3[0-79]|55|64)\\d{7}",,,,"3012345678",,,[10]],[,,"800\\d{5}(?:\\d{3})?",,,,"80012345",,,[8,11]],[,,"900\\d{5}",,,,"90012345",,,[8]],[,,,,,,,,,[-1]],[,,"122\\d{6}",,,,"122044444",,,[9]],[,,,,,,,,,[-1]],"PK",92,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{3})(\\d{2,7})","$1 $2 $3",["[89]0"],"0$1"],[,"(\\d{4})(\\d{5})","$1 $2",["1"]],[,"(\\d{3})(\\d{6,7})","$1 $2",["2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])","9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]"],"(0$1)"],[,"(\\d{2})(\\d{7,8})","$1 $2",["(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]"],"(0$1)"],[,"(\\d{5})(\\d{5})","$1 $2",["58"],"(0$1)"],[,"(\\d{3})(\\d{7})","$1 $2",["3"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91"],"(0$1)"],[,"(\\d{3})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["[24-9]"],"(0$1)"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"(?:2(?:[125]|3[2358]|4[2-4]|9[2-8])|4(?:[0-246-9]|5[3479])|5(?:[1-35-7]|4[2-467])|6(?:0[468]|[1-8])|7(?:[14]|2[236])|8(?:[16]|2[2-689]|3[23578]|4[3478]|5[2356])|9(?:1|22|3[27-9]|4[2-6]|6[3569]|9[2-7]))111\\d{6}",,,,"21111825888",,,[11,12]],,,[,,,,,,,,,[-1]]],PL:[,[,,"(?:6|8\\d\\d)\\d{7}|[1-9]\\d{6}(?:\\d{2})?|[26]\\d{5}",,,,,,,[6,7,8,9,10]],[,,"47\\d{7}|(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])(?:[02-9]\\d{6}|1(?:[0-8]\\d{5}|9\\d{3}(?:\\d{2})?))",,,,"123456789",,,[7,9]],[,,"21(?:1[013-5]|2\\d|3[4-9])\\d{5}|(?:45|5[0137]|6[069]|7[2389]|88)\\d{7}",,,,"512345678",,,[9]],[,,"800\\d{6,7}",,,,"800123456",,,[9,10]],[,,"70[01346-8]\\d{6}",,,,"701234567",,,[9]],[,,"801\\d{6}",,,,"801234567",,,[9]],[,,,,,,,,,[-1]],[,,"39\\d{7}",,,,"391234567",,,[9]],"PL",48,"00",,,,,,,,[[,"(\\d{5})","$1",["19"]],[,"(\\d{3})(\\d{3})","$1 $2",["11|20|64"]],[,"(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1","(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19"]],[,"(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["64"]],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)"]],[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[2-8]|[2-7]|8[1-79]|9[145]"]],[,"(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["8"]]],,[,,"64\\d{4,7}",,,,"641234567",,,[6,7,8,9]],,,[,,,,,,,,,[-1]],[,,"804\\d{6}",,,,"804123456",,,[9]],,,[,,,,,,,,,[-1]]],PM:[,[,,"[45]\\d{5}|(?:708|8\\d\\d)\\d{6}",,,,,,,[6,9]],[,,"(?:4[1-35-9]|5[0-47-9]|80[6-9]\\d\\d)\\d{4}",,,,"430123"],[,,"(?:4[02-489]|5[02-9]|708(?:4[0-5]|5[0-6]))\\d{4}",,,,"551234"],[,,"80[0-5]\\d{6}",,,,"800012345",,,[9]],[,,"8[129]\\d{7}",,,,"810123456",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"PM",508,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["[45]"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["7"]],[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PR:[,[,,"(?:[589]\\d\\d|787)\\d{7}
15672",,,,,,,[10],[7]],[,,"(?:787|939)[2-9]\\d{6}",,,,"7872345678",,,,[7]],[,,"(?:787|939)[2-9]\\d{6}",,,,"7872345678",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002345678"],[,,"900[2-9]\\d{6}",,,,"9002345678"],[,,,,,,,,,[-1]],[,,"52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"PR",1,"011","1",,,"1",,,1,,,[,,,,,,,,,[-1]],,"787|939",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PS:[,[,,"[2489]2\\d{6}|(?:1\\d|5)\\d{8}",,,,,,,[8,9,10],[7]],[,,"(?:22[2-47-9]|42[45]|82[014-68]|92[3569])\\d{5}",,,,"22234567",,,[8],[7]],[,,"5[69]\\d{7}",,,,"599123456",,,[9]],[,,"1800\\d{6}",,,,"1800123456",,,[10]],[,,,,,,,,,[-1]],[,,"1700\\d{6}",,,,"1700123456",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"PS",970,"00","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2489]"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["5"],"0$1"],[,"(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PT:[,[,,"1693\\d{5}|(?:[26-9]\\d|30)\\d{7}",,,,,,,[9]],[,,"2(?:[12]\\d|3[1-689]|4[1-59]|[57][1-9]|6[1-35689]|8[1-69]|9[1256])\\d{6}",,,,"212345678"],[,,"6(?:[06]92(?:30|9\\d)|[35]92(?:[049]\\d|3[034]))\\d{3}|(?:(?:16|6[0356])93|9(?:[1-36]\\d\\d|480))\\d{5}",,,,"912345678"],[,,"80[02]\\d{6}",,,,"800123456"],[,,"(?:6(?:0[178]|4[68])\\d|76(?:0[1-57]|1[2-47]|2[237]))\\d{5}",,,,"760123456"],[,,"80(?:8\\d|9[1579])\\d{5}",,,,"808123456"],[,,"884[0-4689]\\d{5}",,,,"884123456"],[,,"30\\d{7}",,,,"301234567"],"PT",351,"00",,,,,,,,[[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["2[12]"]],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["16|[236-9]"]]],,[,,"6(?:222\\d|8988)\\d{4}",,,,"622212345"],,,[,,,,,,,,,[-1]],[,,"70(?:38[01]|596|(?:7\\d|8[17])\\d)\\d{4}",,,,"707123456"],,,[,,"600\\d{6}|6[06]92(?:0\\d|3[349]|49)\\d{3}",,,,"600110000"]],PW:[,[,,"(?:[24-8]\\d\\d|345|900)\\d{4}",,,,,,,[7]],[,,"(?:2(?:55|77)|345|488|5(?:35|44|87)|6(?:22|54|79)|7(?:33|47)|8(?:24|55|76)|900)\\d{4}",,,,"2771234"],[,,"(?:(?:46|83)[0-5]|6[2-4689]0)\\d{4}|(?:45|77|88)\\d{5}",,,,"6201234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"PW",680,"01[12]",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",["[2-9]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PY:[,[,,"59\\d{4,6}|9\\d{5,10}|(?:[2-46-8]\\d|5[0-8])\\d{4,7}",,,,,,,[6,7,8,9,10,11],[5]],[,,"(?:[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36])\\d{5,7}|(?:2(?:2[4-68]|[4-68]\\d|7[15]|9[1-5])|3(?:18|3[167]|4[2357]|51|[67]\\d)|4(?:3[12]|5[13]|9[1-47])|5(?:[1-4]\\d|5[02-4])|6(?:3[1-3]|44|7[1-8])|7(?:4[0-4]|5\\d|6[1-578]|75|8[0-8])|858)\\d{5,6}",,,,"212345678",,,[7,8,9],[5,6]],[,,"9(?:51|6[129]|7[1-6]|8[1-7]|9[1-5])\\d{6}",,,,"961456789",,,[9]],[,,"9800\\d{5,7}",,,,"98000123456",,,[9,10,11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"8700[0-4]\\d{4}",,,,"870012345",,,[9]],"PY",595,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{3,6})","$1 $2",["[2-9]0"],"0$1"],[,"(\\d{2})(\\d{5})","$1 $2",["[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]"],"(0$1)"],[,"(\\d{3})(\\d{4,5})","$1 $2",["2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85"],"(0$1)"],[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]"],"(0$1)"],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["87"]],[,"(\\d{3})(\\d{6})","$1 $2",["9(?:[5-79]|8[1-7])"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[2-8]"],"0$1"],[,"(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["9"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"[2-9]0\\d{4,7}",,,,"201234567",,,[6,7,8,9]],,,[,,,,,,,,,[-1]]],QA:[,[,,"800\\d{4}|(?:2|800)\\d{6}|(?:0080|[3-7])\\d{7}",,,,,,,[7,8,9,11]],[,,"4(?:1111|2022)\\d{3}|4(?:[04]\\d\\d|14[0-6]|999)\\d{4}",,,,"44123456",,,[8]],[,,"[35-7]\\d{7}",,,,"33123456",,,[8]],[,,"800\\d{4}|(?:0080[01]|800)\\d{6}",,,,"8001234",,,[7,9,11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"QA",974,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",["2[16]|8"]],[,"(\\d{4})(\\d{4})","$1 $2",["[3-7]"]]],,[,,"2[16]\\d{5}",,,,"2123456",,,[7]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],RE:[,[,,"709\\d{6}|(?:26|[689]\\d)\\d{7}",,,,,,,[9]],[,,"26(?:2\\d\\d|3(?:0\\d|1[0-6]))\\d{4}",,,,"262161234"],[,,"(?:69(?:2\\d\\d|3(?:[06][0-6]|1[013]|2[0-2]|3[0-39]|4\\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))|7092[0-3])\\d{4}",,,,"692123456"],[,,"80\\d{7}",,,,"801234567"],[,,"89[1-37-9]\\d{6}",,,,"891123456"],[,,"8(?:1[019]|2[0156]|84|90)\\d{6}",,,,"810123456"],[,,,,,,,,,[-1]],[,,"9(?:399[0-3]|479[0-5]|76(?:2[278]|3[0-37]))\\d{4}",,,,"939901234"],"RE",262,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[26-9]"],"0$1"]],,[,,,,,,,,,[-1]],1,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],RO:[,[,,"(?:[236-8]\\d|90)\\d{7}|[23]\\d{5}",,,,,,,[6,9]],[,,"[23][13-6]\\d{7}|(?:2(?:19\\d|[3-6]\\d9)|31\\d\\d)\\d\\d",,,,"211234567"],[,,"(?:630|702)0\\d{5}|(?:6(?:00|2\\d)|7(?:0[013-9]|1[0-3]|[2-7]\\d|8[03-8]|9[0-39]))\\d{6}",,,,"712034567",,,[9]],[,,"800\\d{6}",,,,"800123456",,,[9]],[,,"90[0136]\\d{6}",,,,"900123456",,,[9]],[,,"801\\d{6}",,,,"801123456",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"RO",40,"00","0"," int ",,"0",,,,[[,"(\\d{3})(\\d{3})","$1 $2",["2[3-6]","2[3-6]\\d9"],"0$1"],[,"(\\d{2})(\\d{4})","$1 $2",["219|31"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[23]1"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[236-9]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"(?:37\\d|80[578])\\d{6}",,,,"372123456",,,[9]],,,[,,,,,,,,,[-1]]],RS:[,[,,"38[02-9]\\d{6,9}|6\\d{7,9}|90\\d{4,8}|38\\d{5,6}|(?:7\\d\\d|800)\\d{3,9}|(?:[12]\\d|3[0-79])\\d{5,10}",,,,,,,[6,7,8,9,10,11,12],[4,5]],[,,"(?:11[1-9]\\d|(?:2[389]|39)(?:0[2-9]|[2-9]\\d))\\d{3,8}|(?:1[02-9]|2[0-24-7]|3[0-8])[2-9]\\d{4,9}",,,,"10234567",,,[7,8,9,10,11,12],[4,5,6]],[,,"6(?:[0-689]|7\\d)\\d{6,7}",,,,"601234567",,,[8,9,10]],[,,"800\\d{3,9}",,,,"80012345"],[,,"(?:78\\d|90[0169])\\d{3,7}",,,,"90012345",,,[6,7,8,9,10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"RS",381,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{3,9})","$1 $2",["(?:2[389]|39)0|[7-9]"],"0$1"],[,"(\\d{2})(\\d{5,10})","$1 $2",["[1-36]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"7[06]\\d{4,10}",,,,"700123456"],,,[,,,,,,,,,[-1]]],RU:[,[,,"8\\d{13}|[347-9]\\d{9}",,,,,,,[10,14],[7]],[,,"(?:3(?:0[12]|4[1-35-79]|5[1-3]|65|8[1-58]|9[0145])|4(?:01|1[1356]|2[13467]|7[1-5]|8[1-7]|9[1-689])|8
15672(?:1[1-8]|2[01]|3[13-6]|4[0-8]|5[15]|6[1-35-79]|7[1-37-9]))\\d{7}",,,,"3011234567",,,[10],[7]],[,,"9\\d{9}",,,,"9123456789",,,[10]],[,,"8(?:0[04]|108\\d{3})\\d{7}",,,,"8001234567"],[,,"80[39]\\d{7}",,,,"8091234567",,,[10]],[,,,,,,,,,[-1]],[,,"808\\d{7}",,,,"8081234567",,,[10]],[,,,,,,,,,[-1]],"RU",7,"810","8",,,"8",,"8~10",,[[,"(\\d{3})(\\d{2})(\\d{2})","$1-$2-$3",["[0-79]"]],[,"(\\d{4})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["7(?:1[0-8]|2[1-9])","7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))","7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2"],"8 ($1)",,1],[,"(\\d{5})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["7(?:1[0-68]|2[1-9])","7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))","7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]"],"8 ($1)",,1],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"8 ($1)",,1],[,"(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[349]|8(?:[02-7]|1[1-8])"],"8 ($1)",,1],[,"(\\d{4})(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3 $4",["8"],"8 ($1)"]],[[,"(\\d{4})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["7(?:1[0-8]|2[1-9])","7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))","7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2"],"8 ($1)",,1],[,"(\\d{5})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["7(?:1[0-68]|2[1-9])","7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))","7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]"],"8 ($1)",,1],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"8 ($1)",,1],[,"(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[349]|8(?:[02-7]|1[1-8])"],"8 ($1)",,1],[,"(\\d{4})(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3 $4",["8"],"8 ($1)"]],[,,,,,,,,,[-1]],1,"3[04-689]|[489]",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],RW:[,[,,"(?:06|[27]\\d\\d|[89]00)\\d{6}",,,,,,,[8,9]],[,,"(?:06|2[23568]\\d)\\d{6}",,,,"250123456"],[,,"7[237-9]\\d{7}",,,,"720123456",,,[9]],[,,"800\\d{6}",,,,"800123456",,,[9]],[,,"900\\d{6}",,,,"900123456",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"RW",250,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["0"]],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["2"]],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[7-9]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SA:[,[,,"92\\d{7}|(?:[15]|8\\d)\\d{8}",,,,,,,[9,10],[7]],[,,"1(?:1\\d|2[24-8]|3[35-8]|4[3-68]|6[2-5]|7[235-7])\\d{6}",,,,"112345678",,,[9],[7]],[,,"579[01]\\d{5}|5(?:[013-689]\\d|7[0-8])\\d{6}",,,,"512345678",,,[9]],[,,"800\\d{7}",,,,"8001234567",,,[10]],[,,"925\\d{6}",,,,"925012345",,,[9]],[,,"920\\d{6}",,,,"920012345",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"SA",966,"00","0",,,"0",,,,[[,"(\\d{4})(\\d{5})","$1 $2",["9"]],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["5"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["81"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"811\\d{7}",,,,"8110123456",,,[10]],,,[,,,,,,,,,[-1]]],SB:[,[,,"[6-9]\\d{6}|[1-6]\\d{4}",,,,,,,[5,7]],[,,"(?:1[4-79]|[23]\\d|4[0-2]|5[03]|6[0-37])\\d{3}",,,,"40123",,,[5]],[,,"48\\d{3}|(?:(?:6[89]|7[1-9]|8[4-9])\\d|9(?:1[2-9]|2[013-9]|3[0-2]|[46]\\d|5[0-46-9]|7[0-689]|8[0-79]|9[0-8]))\\d{4}",,,,"7421234"],[,,"1[38]\\d{3}",,,,"18123",,,[5]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"5[12]\\d{3}",,,,"51123",,,[5]],"SB",677,"0[01]",,,,,,,,[[,"(\\d{2})(\\d{5})","$1 $2",["6[89]|7|8[4-9]|9(?:[1-8]|9[0-8])"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SC:[,[,,"(?:[2489]\\d|64)\\d{5}",,,,,,,[7]],[,,"4[2-46]\\d{5}",,,,"4217123"],[,,"2[125-8]\\d{5}",,,,"2510123"],[,,"800[08]\\d{3}",,,,"8000000"],[,,"85\\d{5}",,,,"8512345"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"971\\d{4}|(?:64|95)\\d{5}",,,,"6412345"],"SC",248,"010|0[0-2]",,,,,,"00",,[[,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[246]|9[57]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SD:[,[,,"[19]\\d{8}",,,,,,,[9]],[,,"1(?:5\\d|8[35-7])\\d{6}",,,,"153123456"],[,,"(?:1[0-2]|9[0-3569])\\d{7}",,,,"911231234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"SD",249,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[19]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SE:[,[,,"(?:[26]\\d\\d|9)\\d{9}|[1-9]\\d{8}|[1-689]\\d{7}|[1-4689]\\d{6}|2\\d{5}",,,,,,,[6,7,8,9,10,12]],[,,"(?:(?:[12][136]|3[356]|4[0246]|6[03]|8\\d)\\d|90[1-9])\\d{4,6}|(?:1(?:2[0-35]|4[0-4]|5[0-25-9]|7[13-6]|[89]\\d)|2(?:2[0-7]|4[0136-8]|5[0138]|7[018]|8[01]|9[0-57])|3(?:0[0-4]|1\\d|2[0-25]|4[056]|7[0-2]|8[0-3]|9[023])|4(?:1[013-8]|3[0135]|5[14-79]|7[0-246-9]|8[0156]|9[0-689])|5(?:0[0-6]|[15][0-5]|2[0-68]|3[0-4]|4\\d|6[03-5]|7[013]|8[0-79]|9[01])|6(?:1[1-3]|2[0-4]|4[02-57]|5[0-37]|6[0-3]|7[0-2]|8[0247]|9[0-356])|9(?:1[0-68]|2\\d|3[02-5]|4[0-3]|5[0-4]|[68][01]|7[0135-8]))\\d{5,6}",,,,"8123456",,,[7,8,9]],[,,"7[02369]\\d{7}",,,,"701234567",,,[9]],[,,"20\\d{4,7}",,,,"20123456",,,[6,7,8,9]],[,,"649\\d{6}|99[1-59]\\d{4}(?:\\d{3})?|9(?:00|39|44)[1-8]\\d{3,6}",,,,"9001234567",,,[7,8,9,10]],[,,"77[0-7]\\d{6}",,,,"771234567",,,[9]],[,,"75[1-8]\\d{6}",,,,"751234567",,,[9]],[,,,,,,,,,[-1]],"SE",46,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{2,3})(\\d{2})","$1-$2 $3",["20"],"0$1"],[,"(\\d{3})(\\d{4})","$1-$2",["9(?:00|39|44|9)"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{2})","$1-$2 $3",["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"],"0$1"],[,"(\\d)(\\d{2,3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["8"],"0$1"],[,"(\\d{3})(\\d{2,3})(\\d{2})","$1-$2 $3",["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"],"0$1"],[,"(\\d{3})(\\d{2,3})(\\d{3})","$1-$2 $3",["9(?:00|39|44)"],"0$1"],[,"(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["10|7"],"0$1"],[,"(\\d)(\\d{3})(\\d{3})(\\d{2})","$1-$2 $3 $4",["8"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1-$2 $3 $4",["[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{2})(\\d{3})","$1-$2 $3 $4",["9"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1-$2 $3 $4 $5",["[26]"],"0$1"]],[[,"(\\d{2})(\\d{2,3})(\\d{2})","$1 $2 $3",["20"]],[,"(\\d{3})(\\d{4})","$1 $2",["9(?:00|39|44|9)"]],[,"(\\d{2})(\\d{3})(\\d{2})","$1 $2 $3",["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"]],[,"(\\d)(\\d{2,3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]],[,"(\\d{3})(\\d{2,3})(\\d{2})","$1 $2 $3",["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"]],[,"(\\d{3})(\\d{2,3})(\\d{3})","$1 $2 $3",["9(?:00|39|44)"]],[,"(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]"]],[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["10|7"]],[,"(\\d)(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3 $4",["8"]],[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"]],[,"(\\d{3})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["9"]],[,"(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[26]"]]],[,,"74[02-9]\\d{6}",,,,"740123456",,,[9]],,,[,,,,,,,,,[-1]],[,,"10[1-8]\\d{6}",,,,"102345678",,,[9]],,,[,,"(?:25[245]|67[3-68])\\d{9}",,,,"254123456789",,,[12]]],SG:[,[,,"(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}",,,,,,,[8,10,11]],[,,"662[0-24-9]\\d{4}|6(?:[0-578]\\d|6[013-57-9]|9[0-35-9])\\d{5}
15672",,,,"61234567",,,[8]],[,,"896[0-4]\\d{4}|(?:8(?:0[1-9]|[1-8]\\d|9[0-5])|9[0-8]\\d)\\d{5}",,,,"81234567",,,[8]],[,,"(?:18|8)00\\d{7}",,,,"18001234567",,,[10,11]],[,,"1900\\d{7}",,,,"19001234567",,,[11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"(?:3[12]\\d|666)\\d{5}",,,,"31234567",,,[8]],"SG",65,"0[0-3]\\d",,,,,,,,[[,"(\\d{4,5})","$1",["1[013-9]|77","1(?:[013-8]|9(?:0[1-9]|[1-9]))|77"]],[,"(\\d{4})(\\d{4})","$1 $2",["[369]|8(?:0[1-9]|[1-9])"]],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"]],[,"(\\d{4})(\\d{4})(\\d{3})","$1 $2 $3",["7"]],[,"(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]]],[[,"(\\d{4})(\\d{4})","$1 $2",["[369]|8(?:0[1-9]|[1-9])"]],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"]],[,"(\\d{4})(\\d{4})(\\d{3})","$1 $2 $3",["7"]],[,"(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"7000\\d{7}",,,,"70001234567",,,[11]],,,[,,,,,,,,,[-1]]],SH:[,[,,"(?:[256]\\d|8)\\d{3}",,,,,,,[4,5]],[,,"2(?:[0-57-9]\\d|6[4-9])\\d\\d",,,,"22158"],[,,"[56]\\d{4}",,,,"51234",,,[5]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"262\\d\\d",,,,"26212",,,[5]],"SH",290,"00",,,,,,,,,,[,,,,,,,,,[-1]],1,"[256]",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SI:[,[,,"[1-7]\\d{7}|8\\d{4,7}|90\\d{4,6}",,,,,,,[5,6,7,8]],[,,"(?:[1-357][2-8]|4[24-8])\\d{6}",,,,"12345678",,,[8],[7]],[,,"65(?:[178]\\d|5[56]|6[01])\\d{4}|(?:[37][01]|4[0139]|51|6[489])\\d{6}",,,,"31234567",,,[8]],[,,"80\\d{4,6}",,,,"80123456",,,[6,7,8]],[,,"89[1-3]\\d{2,5}|90\\d{4,6}",,,,"90123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"(?:59\\d\\d|8(?:1(?:[67]\\d|8[0-589])|2(?:0\\d|2[0-37-9]|8[0-2489])|3[389]\\d))\\d{4}",,,,"59012345",,,[8]],"SI",386,"00|10(?:22|66|88|99)","0",,,"0",,"00",,[[,"(\\d{2})(\\d{3,6})","$1 $2",["8[09]|9"],"0$1"],[,"(\\d{3})(\\d{5})","$1 $2",["59|8"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[37][01]|4[0139]|51|6"],"0$1"],[,"(\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[1-57]"],"(0$1)"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SJ:[,[,,"0\\d{4}|(?:[489]\\d|79)\\d{6}",,,,,,,[5,8]],[,,"79\\d{6}",,,,"79123456",,,[8]],[,,"(?:4[015-8]|9\\d)\\d{6}",,,,"41234567",,,[8]],[,,"80[01]\\d{5}",,,,"80012345",,,[8]],[,,"82[09]\\d{5}",,,,"82012345",,,[8]],[,,"810(?:0[0-6]|[2-8]\\d)\\d{3}",,,,"81021234",,,[8]],[,,"880\\d{5}",,,,"88012345",,,[8]],[,,"85[0-5]\\d{5}",,,,"85012345",,,[8]],"SJ",47,"00",,,,,,,,,,[,,,,,,,,,[-1]],,"79",[,,,,,,,,,[-1]],[,,"(?:0[235-9]|81(?:0(?:0[7-9]|1\\d)|5\\d\\d))\\d{3}",,,,"02000"],,,[,,"81[23]\\d{5}",,,,"81212345",,,[8]]],SK:[,[,,"[2-689]\\d{8}|[2-59]\\d{6}|[2-5]\\d{5}",,,,,,,[6,7,9]],[,,"(?:2(?:16|[2-9]\\d{3})|(?:(?:[3-5][1-8]\\d|819)\\d|601[1-5])\\d)\\d{4}|(?:2|[3-5][1-8])1[67]\\d{3}|[3-5][1-8]16\\d\\d",,,,"221234567"],[,,"909[1-9]\\d{5}|9(?:0[1-8]|1[0-24-9]|4[03-57-9]|5\\d)\\d{6}",,,,"912123456",,,[9]],[,,"800\\d{6}",,,,"800123456",,,[9]],[,,"9(?:00|[78]\\d)\\d{6}",,,,"900123456",,,[9]],[,,"8[5-9]\\d{7}",,,,"850123456",,,[9]],[,,,,,,,,,[-1]],[,,"6(?:02|5[0-4]|9[0-6])\\d{6}",,,,"690123456",,,[9]],"SK",421,"00","0",,,"0",,,,[[,"(\\d)(\\d{2})(\\d{3,4})","$1 $2 $3",["21"],"0$1"],[,"(\\d{2})(\\d{2})(\\d{2,3})","$1 $2 $3",["[3-5][1-8]1","[3-5][1-8]1[67]"],"0$1"],[,"(\\d{4})(\\d{3})","$1 $2",["909","9090"],"0$1"],[,"(\\d)(\\d{3})(\\d{3})(\\d{2})","$1/$2 $3 $4",["2"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[689]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1/$2 $3 $4",["[3-5]"],"0$1"]],[[,"(\\d)(\\d{2})(\\d{3,4})","$1 $2 $3",["21"],"0$1"],[,"(\\d{2})(\\d{2})(\\d{2,3})","$1 $2 $3",["[3-5][1-8]1","[3-5][1-8]1[67]"],"0$1"],[,"(\\d)(\\d{3})(\\d{3})(\\d{2})","$1/$2 $3 $4",["2"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[689]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1/$2 $3 $4",["[3-5]"],"0$1"]],[,,"9090\\d{3}",,,,"9090123",,,[7]],,,[,,"9090\\d{3}|(?:602|8(?:00|[5-9]\\d)|9(?:00|[78]\\d))\\d{6}",,,,,,,[7,9]],[,,"96\\d{7}",,,,"961234567",,,[9]],,,[,,,,,,,,,[-1]]],SL:[,[,,"(?:[237-9]\\d|66)\\d{6}",,,,,,,[8],[6]],[,,"22[2-4][2-9]\\d{4}",,,,"22221234",,,,[6]],[,,"(?:25|3[0-5]|66|7[2-9]|8[08]|9[09])\\d{6}",,,,"25123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"SL",232,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{6})","$1 $2",["[236-9]"],"(0$1)"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SM:[,[,,"(?:0549|[5-7]\\d)\\d{6}",,,,,,,[8,10],[6]],[,,"0549(?:8[0157-9]|9\\d)\\d{4}",,,,"0549886377",,,[10],[6]],[,,"6[16]\\d{6}",,,,"66661212",,,[8]],[,,,,,,,,,[-1]],[,,"7[178]\\d{6}",,,,"71123456",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"5[158]\\d{6}",,,,"58001110",,,[8]],"SM",378,"00",,,,"([89]\\d{5})$","0549$1",,,[[,"(\\d{6})","$1",["[89]"]],[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-7]"]],[,"(\\d{4})(\\d{6})","$1 $2",["0"]]],[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-7]"]],[,"(\\d{4})(\\d{6})","$1 $2",["0"]]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SN:[,[,,"(?:[378]\\d|93)\\d{7}",,,,,,,[9]],[,,"3(?:0(?:1[0-2]|80)|282|3(?:8[1-9]|9[3-9])|611)\\d{5}",,,,"301012345"],[,,"7(?:(?:[06-8]\\d|[19]0|21)\\d|5(?:0[01]|[19]0|2[25]|3[36]|[4-7]\\d|8[35]))\\d{5}",,,,"701234567"],[,,"800\\d{6}",,,,"800123456"],[,,"88[4689]\\d{6}",,,,"884123456"],[,,"81[02468]\\d{6}
15672",,,,"810123456"],[,,,,,,,,,[-1]],[,,"(?:3(?:392|9[01]\\d)\\d|93(?:3[13]0|929))\\d{4}",,,,"933301234"],"SN",221,"00",,,,,,,,[[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]],[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[379]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SO:[,[,,"[346-9]\\d{8}|[12679]\\d{7}|[1-5]\\d{6}|[1348]\\d{5}",,,,,,,[6,7,8,9]],[,,"(?:1\\d|2[0-79]|3[0-46-8]|4[0-7]|5[57-9])\\d{5}|(?:[134]\\d|8[125])\\d{4}",,,,"4012345",,,[6,7]],[,,"(?:(?:15|(?:3[59]|4[89]|6\\d|7[79]|8[08])\\d|9(?:0\\d|[2-9]))\\d|2(?:4\\d|8))\\d{5}|(?:[67]\\d\\d|904)\\d{5}",,,,"71123456",,,[7,8,9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"SO",252,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{4})","$1 $2",["8[125]"]],[,"(\\d{6})","$1",["[134]"]],[,"(\\d)(\\d{6})","$1 $2",["[15]|2[0-79]|3[0-46-8]|4[0-7]"]],[,"(\\d)(\\d{7})","$1 $2",["(?:2|90)4|[67]"]],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[348]|64|79|90"]],[,"(\\d{2})(\\d{5,7})","$1 $2",["1|28|6[0-35-9]|77|9[2-9]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SR:[,[,,"(?:[2-5]|68|[78]\\d)\\d{5}",,,,,,,[6,7]],[,,"(?:2[1-3]|3[0-7]|(?:4|68)\\d|5[2-58])\\d{4}",,,,"211234"],[,,"(?:7[124-7]|8[124-9])\\d{5}",,,,"7412345",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"56\\d{4}",,,,"561234",,,[6]],"SR",597,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})","$1-$2-$3",["56"]],[,"(\\d{3})(\\d{3})","$1-$2",["[2-5]"]],[,"(\\d{3})(\\d{4})","$1-$2",["[6-8]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SS:[,[,,"[19]\\d{8}",,,,,,,[9]],[,,"1[89]\\d{7}",,,,"181234567"],[,,"(?:12|9[1257-9])\\d{7}",,,,"977123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"SS",211,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[19]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],ST:[,[,,"(?:22|9\\d)\\d{5}",,,,,,,[7]],[,,"22\\d{5}",,,,"2221234"],[,,"900[5-9]\\d{3}|9(?:0[1-9]|[89]\\d)\\d{4}",,,,"9812345"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"ST",239,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",["[29]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SV:[,[,,"[267]\\d{7}|(?:80\\d|900)\\d{4}(?:\\d{4})?",,,,,,,[7,8,11]],[,,"2(?:79(?:0[0347-9]|[1-9]\\d)|89(?:0[024589]|[1-9]\\d))\\d{3}|2(?:[1-69]\\d|[78][0-8])\\d{5}",,,,"21234567",,,[8]],[,,"[67]\\d{7}",,,,"70123456",,,[8]],[,,"800\\d{8}|80[01]\\d{4}",,,,"8001234",,,[7,11]],[,,"900\\d{4}(?:\\d{4})?",,,,"9001234",,,[7,11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"SV",503,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",["[89]"]],[,"(\\d{4})(\\d{4})","$1 $2",["[267]"]],[,"(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["[89]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SX:[,[,,"7215\\d{6}|(?:[58]\\d\\d|900)\\d{7}",,,,,,,[10],[7]],[,,"7215(?:4[2-8]|8[239]|9[056])\\d{4}",,,,"7215425678",,,,[7]],[,,"7215(?:1[02]|2\\d|5[034679]|8[014-8])\\d{4}",,,,"7215205678",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456"],[,,"900[2-9]\\d{6}",,,,"9002123456"],[,,,,,,,,,[-1]],[,,"52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"SX",1,"011","1",,,"(5\\d{6})$|1","721$1",,,,,[,,,,,,,,,[-1]],,"721",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SY:[,[,,"[1-359]\\d{8}|[1-5]\\d{7}",,,,,,,[8,9],[6,7]],[,,"21\\d{6,7}|(?:1(?:[14]\\d|[2356])|2[235]|3(?:[13]\\d|4)|4[134]|5[1-3])\\d{6}",,,,"112345678",,,,[6,7]],[,,"(?:50|9[1-689])\\d{7}",,,,"944567890",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"SY",963,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-4]|5[1-3]"],"0$1",,1],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[59]"],"0$1",,1]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SZ:[,[,,"0800\\d{4}|(?:[237]\\d|900)\\d{6}",,,,,,,[8,9]],[,,"[23][2-5]\\d{6}",,,,"22171234",,,[8]],[,,"7[6-9]\\d{6}",,,,"76123456",,,[8]],[,,"0800\\d{4}",,,,"08001234",,,[8]],[,,"900\\d{6}",,,,"900012345",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"70\\d{6}",,,,"70012345",,,[8]],"SZ",268,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2",["[0237]"]],[,"(\\d{5})(\\d{4})","$1 $2",["9"]]],,[,,,,,,,,,[-1]],,,[,,"0800\\d{4}",,,,,,,[8]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TA:[,[,,"8\\d{3}",,,,,,,[4]],[,,"8\\d{3}",,,,"8999"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"TA",290,"00",,,,,,,,,,[,,,,,,,,,[-1]],,"8",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TC:[,[,,"(?:[58]\\d\\d|649|900)\\d{7}",,,,,,,[10],[7]],[,,"649(?:266|712|9(?:4\\d|50))\\d{4}",,,,"6497121234",,,,[7]],[,,"649(?:2(?:3[129]|4[1-79])|3\\d\\d|4[34][1-3])\\d{4}",,,,"6492311234",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002345678"],[,,"900[2-9]\\d{6}",,,,"9002345678"],[,,,,,,,,,[-1]],[,,"52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,"649(?:71[01]|966)\\d{4}",,,,"6497101234",,,,[7]],"TC",1,"011","1",,,"([2-479]\\d{6})$|1","649$1",,,,,[,,,,,,,,,[-1]],,"649",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TD:[,[,,"(?:22|[689]\\d|77)\\d{6}",,,,,,,[8]],[,,"22(?:[37-9]0|5[0-5]|6[89])\\d{4}",,,,"22501234"],[,,"(?:[69]\\d|77|8[56])\\d{6}",,,,"63012345"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"TD",235,"00|16",,,,,,"00",,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[26-9]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TG:[,[,,"[279]\\d{7}",,,,,,,[8]],[,,"2(?:2[2-7]|3[23]|4[45]|55|6[67]|77)\\d{5}",,,,"22212345"],[,,"(?:7[0-29]|9[0-36-9])\\d{6}",,,,"90112345"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"TG",228,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[279]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TH:[,[,,"(?:001800|[2-57]|[689]\\d)\\d{7}|1\\d{7,9}",,,,,,,[8,9,10,13]],[,,"(?:1[0689]|2\\d|3[2-9]|4[2-5]|5[2-6]|7[3-7])\\d{6}",,,,"21234567",,,[8]],[,,"67(?:1[0-8]|2[4-7])\\d{5}|(?:14|6[1-6]|[89]\\d)\\d{7}",,,,"812345678",,,[9]],[,,"(?:001800\\d|1800)\\d{6}",,,,"1800123456",,,[10,13]],[,,"1900\\d{6}",,,,"1900123456",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"6[08]\\d{7}",,,,"601234567",,,[9]],"TH",66,"00[1-9]","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[13-9]"],"0$1"],[,"(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TJ:[,[,,"[0-57-9]\\d{8}",,,,,,,[9],[3,5,6,7]],[,,"(?:3(?:1[3-5]|2[245]|3[12]|4[24-7]|5[25]|72)|4(?:46|74|87))\\d{6}",,,,"372123456",,,,[3,5,6,7]],[,,"(?:33[03-9]|4(?:1[18]|4[02-479])|81[1-9])\\d{6}|(?:[09]\\d|1[0178]|2[02
vendor: 8,879 bytes, line 15672
15672]|[34]0|5[05]|7[01578]|8[078])\\d{7}",,,,"917123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"TJ",992,"810",,,,,,"8~10",,[[,"(\\d{6})(\\d)(\\d{2})","$1 $2 $3",["331","3317"]],[,"(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["44[02-479]|[34]7"]],[,"(\\d{4})(\\d)(\\d{4})","$1 $2 $3",["3(?:[1245]|3[12])"]],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[0-57-9]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TK:[,[,,"[2-47]\\d{3,6}",,,,,,,[4,5,6,7]],[,,"(?:2[2-4]|[34]\\d)\\d{2,5}",,,,"3101"],[,,"7[2-4]\\d{2,5}",,,,"7290"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"TK",690,"00",,,,,,,,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TL:[,[,,"7\\d{7}|(?:[2-47]\\d|[89]0)\\d{5}",,,,,,,[7,8]],[,,"(?:2[1-5]|3[1-9]|4[1-4])\\d{5}",,,,"2112345",,,[7]],[,,"7[2-8]\\d{6}",,,,"77212345",,,[8]],[,,"80\\d{5}",,,,"8012345",,,[7]],[,,"90\\d{5}",,,,"9012345",,,[7]],[,,,,,,,,,[-1]],[,,"70\\d{5}",,,,"7012345",,,[7]],[,,,,,,,,,[-1]],"TL",670,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",["[2-489]|70"]],[,"(\\d{4})(\\d{4})","$1 $2",["7"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TM:[,[,,"(?:[1-6]\\d|71)\\d{6}",,,,,,,[8]],[,,"(?:1(?:2\\d|3[1-9])|2(?:22|4[0-35-8])|3(?:22|4[03-9])|4(?:22|3[128]|4\\d|6[15])|5(?:22|5[7-9]|6[014-689]))\\d{5}",,,,"12345678"],[,,"(?:6\\d|71)\\d{6}",,,,"66123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"TM",993,"810","8",,,"8",,"8~10",,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2-$3-$4",["12"],"(8 $1)"],[,"(\\d{3})(\\d)(\\d{2})(\\d{2})","$1 $2-$3-$4",["[1-5]"],"(8 $1)"],[,"(\\d{2})(\\d{6})","$1 $2",["[67]"],"8 $1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TN:[,[,,"[2-57-9]\\d{7}",,,,,,,[8]],[,,"81200\\d{3}|(?:3[0-2]|7\\d)\\d{6}",,,,"30010123"],[,,"3(?:001|[12]40)\\d{4}|(?:(?:[259]\\d|4[0-8])\\d|3(?:1[1-35]|6[0-4]|91))\\d{5}",,,,"20123456"],[,,"8010\\d{4}",,,,"80101234"],[,,"88\\d{6}",,,,"88123456"],[,,"8[12]10\\d{4}",,,,"81101234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"TN",216,"00",,,,,,,,[[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2-57-9]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TO:[,[,,"(?:0800|(?:[5-8]\\d\\d|999)\\d)\\d{3}|[2-8]\\d{4}",,,,,,,[5,7]],[,,"(?:2\\d|3[0-8]|4[0-4]|50|6[09]|7[0-24-69]|8[05])\\d{3}",,,,"20123",,,[5]],[,,"(?:5(?:4[0-5]|5[4-6])|6(?:[09]\\d|3[02]|8[15-9])|(?:7\\d|8[46-9])\\d|999)\\d{4}",,,,"7715123",,,[7]],[,,"0800\\d{3}",,,,"0800222",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"55[0-37-9]\\d{4}",,,,"5510123",,,[7]],"TO",676,"00",,,,,,,,[[,"(\\d{2})(\\d{3})","$1-$2",["[2-4]|50|6[09]|7[0-24-69]|8[05]"]],[,"(\\d{4})(\\d{3})","$1 $2",["0"]],[,"(\\d{3})(\\d{4})","$1 $2",["[5-9]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TR:[,[,,"4\\d{6}|8\\d{11,12}|(?:[2-58]\\d\\d|900)\\d{7}",,,,,,,[7,10,12,13]],[,,"(?:2(?:[13][26]|[28][2468]|[45][268]|[67][246])|3(?:[13][28]|[24-6][2468]|[78][02468]|92)|4(?:[16][246]|[23578][2468]|4[26]))\\d{7}",,,,"2123456789",,,[10]],[,,"561(?:011|61\\d)\\d{4}|5(?:0[15-7]|1[06]|24|[34]\\d|5[1-59]|9[46])\\d{7}",,,,"5012345678",,,[10]],[,,"8(?:00\\d{7}(?:\\d{2,3})?|11\\d{7})",,,,"8001234567",,,[10,12,13]],[,,"(?:8[89]8|900)\\d{7}",,,,"9001234567",,,[10]],[,,,,,,,,,[-1]],[,,"592(?:21[12]|461)\\d{4}",,,,"5922121234",,,[10]],[,,"850\\d{7}",,,,"8500123456",,,[10]],"TR",90,"00","0",,,"0",,,,[[,"(\\d{3})(\\d)(\\d{3})","$1 $2 $3",["444"],,,1],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["512|8[01589]|90"],"0$1",,1],[,"(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["5(?:[0-59]|61)","5(?:[0-59]|61[06])","5(?:[0-59]|61[06]1)"],"0$1",,1],[,"(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24][1-8]|3[1-9]"],"(0$1)",,1],[,"(\\d{3})(\\d{3})(\\d{6,7})","$1 $2 $3",["80"],"0$1",,1]],[[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["512|8[01589]|90"],"0$1",,1],[,"(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["5(?:[0-59]|61)","5(?:[0-59]|61[06])","5(?:[0-59]|61[06]1)"],"0$1",,1],[,"(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24][1-8]|3[1-9]"],"(0$1)",,1],[,"(\\d{3})(\\d{3})(\\d{6,7})","$1 $2 $3",["80"],"0$1",,1]],[,,"512\\d{7}",,,,"5123456789",,,[10]],,,[,,"(?:444|811\\d{3})\\d{4}",,,,,,,[7,10]],[,,"444\\d{4}",,,,"4441444",,,[7]],,,[,,,,,,,,,[-1]]],TT:[,[,,"(?:[58]\\d\\d|900)\\d{7}",,,,,,,[10],[7]],[,,"868(?:2(?:01|1[5-9]|[23]\\d|4[0-2])|6(?:0[7-9]|1[02-8]|2[1-9]|[3-69]\\d|7[0-79])|82[124])\\d{4}",,,,"8682211234",,,,[7]],[,,"868(?:(?:2[5-9]|3\\d)\\d|4(?:3[0-6]|[6-9]\\d)|6(?:20|78|8\\d)|7(?:0[1-9]|1[02-9]|[2-9]\\d))\\d{4}",,,,"8682911234",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002345678"],[,,"900[2-9]\\d{6}",,,,"9002345678"],[,,,,,,,,,[-1]],[,,"52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"TT",1,"011","1",,,"([2-46-8]\\d{6})$|1","868$1",,,,,[,,,,,,,,,[-1]],,"868",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,"868619\\d{4}",,,,"8686191234",,,,[7]]],TV:[,[,,"(?:2|7\\d\\d|90)\\d{4}",,,,,,,[5,6,7]],[,,"2[02-9]\\d{3}",,,,"20123",,,[5]],[,,"(?:7[01]\\d|90)\\d{4}",,,,"901234",,,[6,7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"TV",688,"00",,,,,,,,[[,"(\\d{2})(\\d{3})","$1 $2",["2"]],[,"(\\d{2})(\\d{4})","$1 $2",["90"]],[,"(\\d{2})(\\d{5})","$1 $2",["7"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TW:[,[,,"[2-689]\\d{8}|7\\d{9,10}|[2-8]\\d{7}|2\\d{6}",,,,,,,[7,8,9,10,11]],[,,"(?:2[2-8]\\d|370|55[01]|7[1-9])\\d{6}|4(?:(?:0(?:0[1-9]|[2-48]\\d)|1[023]\\d)\\d{4,5}|(?:[239]\\d\\d|4(?:0[56]|12|49))\\d{5})|6(?:[01]\\d{7}|4(?:0[56]|12|24|4[09])\\d{4,5})|8(?:(?:2(?:3\\d|4[0-269]|[578]0|66)|36[24-9]|90\\d\\d)\\d{4}|4(?:0[56]|12|24|4[09])\\d{4,5})|(?:2(?:2(?:0\\d\\d|4(?:0[68]|[249]0|3[0-467]|5[0-25-9]|6[0235689]))|(?:3(?:[09]\\d|1[0-4])|(?:4\\d|5[0-49]|6[0-29]|7[0-5])\\d)\\d)|(?:(?:3[2-9]|5[2-8]|6[0-35-79]|8[7-9])\\d\\d|4(?:2(?:[089]\\d|7[1-9])|(?:3[0-4]|[78]\\d|9[01])\\d))\\d)\\d{3}",,,,"221234567",,,[8,9]],[,,"(?:40001[0-2]|9[0-8]\\d{4})\\d{3}",,,,"912345678",,,[9]],[,,"80[0-79]\\d{6}|800\\d{5}",,,,"800123456",,,[8,9]],[,,"20(?:[013-9]\\d\\d|2)\\d{4}",,,,"203123456",,,[7,9]],[,,,,,,,,,[-1]],[,,"99\\d{7}",,,,"990123456",,,[9]],[,,"7010(?:[0-2679]\\d|3[0-7]|8[0-5])\\d{5}|70\\d{8}",,,,"7012345678",,,[10,11]],"TW",886,"0(?:0[25-79]|19)","0","#",,"0",,,,[[,"(\\d{2})(\\d)(\\d{4})","$1 $2 $3",["202"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[258]0"],"0$1"],[,"(\\d)(\\d{3,4})(\\d{4})","$1 $2 $3",["[23568]|4(?:0[02-48]|[1-47-9])|7[1-9]","[23568]|4(?:0[2-48]|[1-47-9])|(?:400|7)[1-9]"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[49]"],"0$1"],[,"(\\d{2})(\\d{4})(\\d{4,5})","$1 $2 $3",["7"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"50[0-46-9]\\d{6}",,,,"500123456",,,[9]],,,[,,,,,,,,,[-1]]],TZ:[,[,,"(?:[25-8]\\d|41|90)\\d{7}",,,,,,,[9]],[,,"2[2-8]\\d{7}",,,,"222345678"],[,,"(?:6[125-9]|7[13-9])\\d{7}",,,,"621234567"],[,,"80[08]\\d{6}",,,,"800123456"],[,,"90\\d{7}",,,,"900123456"],[,,"8(?:40|6[01])\\d{6}",,,,"840123456"],[,,,,,,,,,[-1]],[,,"41\\d{7}",,,,"412345678"],"TZ",255,"00[056]","0",,,"0",,,,[[,"(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["[89]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[24]"],"0$1"],[,"(\\d{2})(\\d{7})","$1 $2",["5"]],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[67]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,"(?:8(?:[04]0|6[01])|90\\d)\\d{6}"],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],UA:[,[,,"[89]\\d{9}|[3-9]\\d{8}",,,,,,,[9,10],[5,6,7]],[,,"(?:3[1-8]|4[13-8]|5[1-7]|6[12459])\\d{7}",,,,"311234567",,,[9],[5,6,7]],[,,"790\\d{6}|(?:39|50|6[36-8]|7[1-357]|9[1-9])\\d{7}",,,,"501234567",,,[9]],[,,"800[1-8]\\d{5,6}",,,,"800123456"],[,,"900[239]\\d{5,6}",,,,"900212345"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"89[1-579]\\d{6}",,,,"891234567",,,[9]],"UA",380,"00","0",,,"0",,"0~0",,[[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]","6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]"],"0$1"],[,"(\\d{4})(\\d{5})","$1 $2",["3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])","3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[3-7]|89|9[1-9]"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[89]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],UG:[,[,,"800\\d{6}|(?:[29]0|[347]\\d)\\d{7}",,,,,,,[9],[5,6,7]],[,,"20(?:(?:240|30[67])\\d|6(?:00[0-2]|30[0-4]))\\d{3}|(?:20(?:[017]\\d|2[5-9]|3[1-4]|5[0-4]|6[15-9])|[34]\\d{3})\\d{5}",,,,"312345678",,,,[5,6,7]],[,,"72[48]0\\d{5}|7(?:[015-8]\\d|2[067]|36|4[0-
156726]|9[89])\\d{6}",,,,"712345678"],[,,"800[1-3]\\d{5}",,,,"800123456"],[,,"90[1-3]\\d{6}",,,,"901123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"UG",256,"00[057]","0",,,"0",,,,[[,"(\\d{4})(\\d{5})","$1 $2",["202","2024"],"0$1"],[,"(\\d{3})(\\d{6})","$1 $2",["[27-9]|4(?:6[45]|[7-9])"],"0$1"],[,"(\\d{2})(\\d{7})","$1 $2",["[34]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],US:[,[,,"[2-9]\\d{9}|3\\d{6}",,,,,,,[10],[7]],[,,"(?:3052(?:0[0-8]|[1-9]\\d)|5056(?:[0-35-9]\\d|4[468])|7302[0-4]\\d)\\d{4}|(?:305[3-9]|472[24]|505[2-57-9]|7306|983[2-47-9])\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-47-9]|1[02-9]|2[0135-79]|3[0-24679]|4[167]|5[0-2]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-389]|8[04-69]))[2-9]\\d{6}",,,,"2015550123",,,,[7]],[,,"(?:3052(?:0[0-8]|[1-9]\\d)|5056(?:[0-35-9]\\d|4[468])|7302[0-4]\\d)\\d{4}|(?:305[3-9]|472[24]|505[2-57-9]|7306|983[2-47-9])\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-47-9]|1[02-9]|2[0135-79]|3[0-24679]|4[167]|5[0-2]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-389]|8[04-69]))[2-9]\\d{6}",,,,"2015550123",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002345678"],[,,"900[2-9]\\d{6}",,,,"9002345678"],[,,,,,,,,,[-1]],[,,"52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,"305209\\d{4}",,,,"3052090123",,,,[7]],"US",1,"011","1",,,"1",,,1,[[,"(\\d{3})(\\d{4})","$1-$2",["310"],,,1],[,"(\\d{3})(\\d{4})","$1-$2",["[24-9]|3(?:[02-9]|1[1-9])"]],[,"(\\d{3})(\\d{3})(\\d{4})","($1) $2-$3",["[2-9]"],,,1]],[[,"(\\d{3})(\\d{4})","$1-$2",["310"],,,1],[,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[2-9]"]]],[,,,,,,,,,[-1]],1,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],UY:[,[,,"0004\\d{2,9}|[1249]\\d{7}|(?:[49]\\d|80)\\d{5}",,,,,,,[6,7,8,9,10,11,12,13]],[,,"(?:1(?:770|9(?:20|[89]7))|(?:2\\d|4[2-7])\\d\\d)\\d{4}",,,,"21231234",,,[8],[7]],[,,"9[1-9]\\d{6}",,,,"94231234",,,[8]],[,,"0004\\d{2,9}|(?:405|80[05])\\d{4}",,,,"8001234"],[,,"90[0-8]\\d{4}",,,,"9001234",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"UY",598,"0(?:0|1[3-9]\\d)","0"," int. ",,"0",,"00",,[[,"(\\d{3})(\\d{3,4})","$1 $2",["0"]],[,"(\\d{3})(\\d{4})","$1 $2",["[49]0|8"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1"],[,"(\\d{4})(\\d{4})","$1 $2",["[124]"]],[,"(\\d{3})(\\d{3})(\\d{2,4})","$1 $2 $3",["0"]],[,"(\\d{3})(\\d{3})(\\d{3})(\\d{2,4})","$1 $2 $3 $4",["0"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],UZ:[,[,,"(?:20|33|[5-79]\\d|88)\\d{7}",,,,,,,[9]],[,,"(?:55\\d\\d|6(?:1(?:22|3[124]|4[1-4]|5[1-3578]|64)|2(?:22|3[0-57-9]|41)|5(?:22|3[3-7]|5[024-8])|[69]\\d\\d|7(?:[23]\\d|7[69]))|7(?:0(?:5[4-9]|6[0146]|7[124-6]|9[135-8])|(?:1[12]|[68]\\d)\\d|2(?:22|3[13-57-9]|4[1-3579]|5[14])|3(?:2\\d|3[1578]|4[1-35-7]|5[1-57]|61)|4(?:2\\d|3[1-579]|7[1-79])|5(?:22|5[1-9]|6[1457])|9(?:22|5[1-9])))\\d{5}",,,,"669050123"],[,,"(?:(?:[25]0|33|88|9[0-57-9])\\d{3}|6(?:1(?:2(?:2[01]|98)|35[0-4]|50\\d|61[23]|7(?:[01][017]|4\\d|55|9[5-9]))|2(?:(?:11|7\\d)\\d|2(?:[12]1|9[01379])|5(?:[126]\\d|3[0-4]))|5(?:19[01]|2(?:27|9[26])|(?:30|59|7\\d)\\d)|6(?:2(?:1[5-9]|2[0367]|38|41|52|60)|(?:3[79]|9[0-3])\\d|4(?:56|83)|7(?:[07]\\d|1[017]|3[07]|4[047]|5[057]|67|8[0178]|9[79]))|7(?:2(?:24|3[237]|4[5-9]|7[15-8])|5(?:7[12]|8[0589])|7(?:0\\d|[39][07])|9(?:0\\d|7[079])))|7(?:[07]\\d{3}|1(?:13[01]|6(?:0[47]|1[67]|66)|71[3-69]|98\\d)|2(?:2(?:2[79]|95)|3(?:2[5-9]|6[0-6])|57\\d|7(?:0\\d|1[17]|2[27]|3[37]|44|5[057]|66|88))|3(?:2(?:1[0-6]|21|3[469]|7[159])|(?:33|9[4-6])\\d|5(?:0[0-4]|5[579]|9\\d)|7(?:[0-3579]\\d|4[0467]|6[67]|8[078]))|4(?:2(?:29|5[0257]|6[0-7]|7[1-57])|5(?:1[0-4]|8\\d|9[5-9])|7(?:0\\d|1[024589]|2[0-27]|3[0137]|[46][07]|5[01]|7[5-9]|9[079])|9(?:7[015-9]|[89]\\d))|5(?:112|2(?:0\\d|2[29]|[49]4)|3[1568]\\d|52[6-9]|7(?:0[01578]|1[017]|[23]7|4[047]|[5-7]\\d|8[78]|9[079]))|9(?:22[128]|3(?:2[0-4]|7\\d)|57[02569]|7(?:2[05-9]|3[37]|4\\d|60|7[2579]|87|9[07]))))\\d{4}",,,,"912345678"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"UZ",998,"00",,,,,,,,[[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[235-9]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],VA:[,[,,"0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}",,,,,,,[6,7,8,9,10,11,12]],[,,"06698\\d{1,6}",,,,"0669812345",,,[6,7,8,9,10,11]],[,,"3[1-9]\\d{8}|3[2-9]\\d{7}",,,,"3123456789",,,[9,10]],[,,"80(?:0\\d{3}|3)\\d{3}",,,,"800123456",,,[6,9]],[,,"(?:0878\\d{3}|89(?:2\\d|3[04]|4(?:[0-4]|[5-9]\\d\\d)|5[0-4]))\\d\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\d{6}",,,,"899123456",,,[6,8,9,10]],[,,"84(?:[08]\\d{3}|[17])\\d{3}",,,,"848123456",,,[6,9]],[,,"1(?:78\\d|99)\\d{6}",,,,"1781234567",,,[9,10]],[,,"55\\d{8}",,,,"5512345678",,,[10]],"VA",39,"00",,,,,,,,,,[,,,,,,,,,[-1]],,"06698",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,"3[2-8]\\d{9,10}",,,,"33101234501",,,[11,12]]],VC:[,[,,"(?:[58]\\d\\d|784|900)\\d{7}",,,,,,,[10],[7]],[,,"784(?:266|3(?:6[6-9]|7\\d|8[0-6])|4(?:38|5[0-36-8]|8[0-8])|5(?:55|7[0-2]|93)|638|784)\\d{4}",,,,"7842661234",,,,[7]],[,,"784(?:4(?:3[0-5]|5[45]|89|9[0-8])|5(?:2[6-9]|3[0-4])|720)\\d{4}",,,,"7844301234",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002345678"],[,,"900[2-9]\\d{6}",,,,"9002345678"],[,,,,,,,,,[-1]],[,,"52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,"78451[0-2]\\d{4}",,,,"7845101234",,,,[7]],"VC",1,"011","1",,,"([2-7]\\d{6})$|1","784$1",,,,,[,,,,,,,,,[-1]],,"784",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],VE:[,[,,"[68]00\\d{7}|(?:[24]\\d|[59]0)\\d{8}",,,,,,,[10],[7]],[,,"(?:2(?:12|3[457-9]|[467]\\d|[58][1-9]|9[1-6])|[4-6]00)\\d{7}",,,,"2121234567",,,,[7]],[,,"4(?:1[24-8]|2[46])\\d{7}",,,,"4121234567"],[,,"800\\d{7}",,,,"8001234567"],[,,"90[01]\\d{7}",,,,"9001234567"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"VE",58,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{7})","$1-$2",["[24-689]"],"0$1","$CC $1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"501\\d{7}",,,,"5010123456",,,,[7]],,,[,,,,,,,,,[-1]]],VG:[,[,,"(?:284|[58]\\d\\d|900)\\d{7}",,,,,,,[10],[7]],[,,"284(?:229|4(?:22|9[45])|774|8(?:52|6[459]))\\d{4}",,,,"2842291234",,,,[7]],[,,"284(?:245|3(?:0[0-3]|4[0-7]|68|9[34])|4(?:4[0-6]|68|9[69])|5(?:4[0-7]|68|9[69]))\\d{4}",,,,"2843001234",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002345678"],[,,"900[2-9]\\d{6}",,,,"9002345678"],[,,,,,,,,,[-1]],[,,"52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"VG",1,"011","1",,,"([2-578]\\d{6})$|1","284$1",,,,,[,,,,,,,,,[-1]],,"284",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],VI:[,[,,"[58]\\d{9}|(?:34|90)0\\d{7}",,,,,,,[10],[7]],[,,"340(?:2(?:0\\d|10|2[06-8]|4[49]|77)|3(?:32|44)|4(?:2[23]|44|7[34]|89)|5(?:1[34]|55)|6(?:2[56]|4[23]|77|9[023])|7(?:1[2-57-9]|2[57]|7\\d)|884|998)\\d{4}",,,,"3406421234",,,,[7]],[,,"340(?:2(?:0\\d|10|2[06-8]|4[49]|77)|3(?:32|44)|4(?:2[23]|44|7[34]|89)|5(?:1[34]|55)|6(?:2[56]|4[23]|77|9[023])|7(?:1[2-57-9]|2[57]|7\\d)|884|998)\\d{4}",,,,"3406421234",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002345678"],[,,"900[2-9]\\d{6}",,,,"9002345678"],[,,,,,,,,,[-1]],[,,"52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"VI",1,"011","1",,,"([2-9]\\d{6})$|1","340$1",,1,,,[,,,,,,,,,[-1]],,"340",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],VN:[,[,,"[12]\\d{9}|[135-9]\\d{8}|[16]\\d{7}|[16-8]\\d{6}",,,,,,,[7,8,9,10]],[,,"2(?:0[3-9]|1[0-689]|2[0-25-9]|[38][2-9]|4[2-8]|5[124-9]|6[0-39]|7[0-7]|9[0-4679])\\d{7}",,,,"2101234567",,,[10]],[,,"(?:5(?:2[238]|59)|89[6-9]|99[013-9])\\d{6}|(?:3\\d|5[1689]|7[06-9]|8[1-8]|9[0-8])\\d{7}",,,,"912345678",,,[9]],[,,"1800\\d{4,6}|12(?:0[13]|28)\\d{4}",,,,"1800123456",,,[8,9,10]],[,,"1900\\d{4,6}",,,,"1900123456",,,[8,9,10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"672\\d{6}",,,,"672012345",,,[9]],"VN",84,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{4})","$1 $2",["[17]99"],"0$1",,1],[,"(\\d{2})(\\d{5})","$1 $2",["80"],"0$1",,1],[,"(\\d{3})(\\d{4,5})","$1 $2",["69"],"0$1",,1],[,"(\\d{4})(\\d{4,6})","$1 $2",["1"],,,1],[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["6"],"0$1",,1],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[357-9]"],"0$1",,1],[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["2[48]"],"0$1",,1],[,"(\\d{3})(\\d{4})(\\d{3})","$1 $2 $3",["2"],"0$1",,1]],[[,"(\\d{2})(\\d{5})","$1 $2",["80"],"0$1",,1],[,"(\\d{4})(\\d{4,6})","$1 $2",["1"],,,1],[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["6"],"0$1",,1],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[357-9]"],"0$1",,1],[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["2[48]"],"0$1",,1],[,"(\\d{3})(\\d{4})(\\d{3})","$1 $2 $3",["2"],"0$1",,1]],[,,,,,,,,,[-1]],,,[,,"[17]99\\d{4}|69\\d{5,6}",,,,,,,[7,8]],[,,"(?:[17]99|80\\d)\\d{4}|69\\d{5,6}",,,,"1992000",,,[7,8]],,,[,,,,,,,,,[-1]]],VU:[,[,,"[57-9]\\d{6}|(?:[238]\\d|48)\\d{3}",,,,,,,[5,7]],[,,"(?:38[0-8]|48[4-9])\\d\\d|(?:2[02-9]|3[4-7]|88)\\d{3}",,,,"22123",,,[5]],[,,"(?:[58]\\d|7[013-7])\\d{5}",,,,"5912345",,,[7]],[,,"81[18]\\d\\d",,,,"81123",,,[5]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"9(?:0[1-9]|1[01])\\d{4}",,,,"9010123",,,[7]],"VU",678,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",["[57-9]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"(?:3[03]|900\\d)\\d{3}",,,,"30123"],,,[,,,,,,,,,[-1]]],WF:[,[,,"(?:40|72|8\\d{4})\\d{4}|[89]\\d{5}",,,,,,,[6,9]],[,,"72\\d{4}",,,,"721234",,,[6]],[,,"(?:72|8[23])\\d{4}",,,,"821234",,,[6]],[,,"80[0-5]\\d{6}",,,,"800012345",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"9[23]\\d{4}",,,,"921234",,,[6]],"WF",681,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["[47-9]"]],[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,"[48]0\\d{4}",,,,"401234",,,[6]]],WS:[,[,,"(?:[2-6]|8\\d{5})\\d{4}|[78]\\d{6}|[68]\\d{5}",,,,,,,[5,6,7,10]],[,,"6[1-9]\\d{3}|(?:[2-5]|60)\\d{4}",,,,"22123",,,[5,6]],[,,"(?:7[1-35-7]|8(?:[3-7]|9\\d{3}))\\d{5}",,,,"7212345",,,[7,10]],[,,"800\\d{3}",,,,"800123",,,[6]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"WS",685,"0",,,,,,,,[[,"(\\d{5})","$1",["[2-5]|6[1-9]"]],[,"(\\d{3})(\\d{3,7})","$1 $2",["[68]"]],[,"(\\d{2})(\\d{5})","$1 $2",["7"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],XK:[,[,,"2\\d{7,8}|3\\d{7,11}|(?:4\\d\\d|[89]00)\\d{5}",,,,,,,[8,9,10,11,12]],[,,"38\\d{6,10}|(?:2[89]|39)(?:0\\d{5,6}|[1-9]\\d{5})",,,,"28012345"],[,,"4[3-9]\\d{6}",,,,"43201234",,,[8]],[,,"800\\d{5}",,,,"80001234",,,[8]],[,,"900\\d{5}",,,,"90001234",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"XK",383,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{5})","$1 $2",["[89]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2-4]"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["2|39"],"0$1"],[,"(\\d{2})(\\d{7,10})","$1 $2",["3"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],YE:[,[,,"(?:1|7\\d)\\d{7}|[1-7]\\d{6}",,,,,,,[7,8,9],[6]],[,,"78[0-7]\\d{4}|17\\d{6}|(?:[12][2-68]|3[2358]|4[2-58]|5[2-6]|6[3-58]|7[24-6])\\d{5}",,,,"1234567",,,[7,8],[6]],[,,"7[01378]\\d{7}",,,,"712345678",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"YE",967,"00","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-6]|7(?:[24-6]|8[0-7])"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["7"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],YT:[,[,,"7093\\d{5}|(?:80|9\\d)\\d{7}|(?:26|63)9\\d{6}",,,,,,,[9]],[,,"269(?:0[0-467]|15|5[0-4]|6\\d|[78]0)\\d{4}",,,,"269601234"],[,,"(?:639(?:0[0-79]|1[019]|[267]\\d|3[09]|40|5[05-9]|9[04-79])|7093[5-7])\\d{4}",,,,"639012345"],[,,"80\\d{7}",,,,"801234567"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"9(?:(?:39|47)8[01]|769\\d)\\d{4}",,,,"939801234"],"YT",262,"00","0",,,"0",,,,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],ZA:[,[,,"[1-79]\\d{8}|8\\d{4,9}",,,,,,,[5,6,7,8,9,10]],[,,"(?:2(?:0330|4302)|52087)0\\d{3}|(?:1[0-8]|2[1-378]|3[1-69]|4\\d|5[1346-8])\\d{7}",,,,"101234567",,,[9]],[,,"(?:1(?:3492[0-25]|4495[0235]|549(?:20|5[01]))|4[34]492[01])\\d{3}|8[1-4]\\d{3,7}|(?:2[27]|47|54)4950\\d{3}
15672|(?:1(?:049[2-4]|9[12]\\d\\d)|(?:6\\d\\d|7(?:[0-46-9]\\d|5[0-4]))\\d\\d|8(?:5\\d{3}|7(?:08[67]|158|28[5-9]|310)))\\d{4}|(?:1[6-8]|28|3[2-69]|4[025689]|5[36-8])4920\\d{3}|(?:12|[2-5]1)492\\d{4}",,,,"711234567",,,[5,6,7,8,9]],[,,"80\\d{7}",,,,"801234567",,,[9]],[,,"(?:86[2-9]|9[0-2]\\d)\\d{6}",,,,"862345678",,,[9]],[,,"860\\d{6}",,,,"860123456",,,[9]],[,,,,,,,,,[-1]],[,,"87(?:08[0-589]|15[0-79]|28[0-4]|31[1-9])\\d{4}|87(?:[02][0-79]|1[0-46-9]|3[02-9]|[4-9]\\d)\\d{5}",,,,"871234567",,,[9]],"ZA",27,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{3,4})","$1 $2",["8[1-4]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["8[1-4]"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["860"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-9]"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"861\\d{6,7}",,,,"861123456",,,[9,10]],,,[,,,,,,,,,[-1]]],ZM:[,[,,"800\\d{6}|(?:21|63|[79]\\d)\\d{7}",,,,,,,[9],[6]],[,,"21[1-8]\\d{6}",,,,"211234567",,,,[6]],[,,"(?:7[5-79]|9[5-8])\\d{7}",,,,"955123456"],[,,"800\\d{6}",,,,"800123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"63\\d{7}",,,,"630123456"],"ZM",260,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{3})","$1 $2",["[1-9]"]],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[28]"],"0$1"],[,"(\\d{2})(\\d{7})","$1 $2",["[79]"],"0$1"]],[[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[28]"],"0$1"],[,"(\\d{2})(\\d{7})","$1 $2",["[79]"],"0$1"]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],ZW:[,[,,"2(?:[0-57-9]\\d{6,8}|6[0-24-9]\\d{6,7})|[38]\\d{9}|[35-8]\\d{8}|[3-6]\\d{7}|[1-689]\\d{6}|[1-3569]\\d{5}|[1356]\\d{4}",,,,,,,[5,6,7,8,9,10],[3,4]],[,,"(?:1(?:(?:3\\d|9)\\d|[4-8])|2(?:(?:(?:0(?:2[014]|5)|(?:2[0157]|31|84|9)\\d\\d|[56](?:[14]\\d\\d|20)|7(?:[089]|2[03]|[35]\\d\\d))\\d|4(?:2\\d\\d|8))\\d|1(?:2|[39]\\d{4}))|3(?:(?:123|(?:29\\d|92)\\d)\\d\\d|7(?:[19]|[56]\\d))|5(?:0|1[2-478]|26|[37]2|4(?:2\\d{3}|83)|5(?:25\\d\\d|[78])|[689]\\d)|6(?:(?:[16-8]21|28|52[013])\\d\\d|[39])|8(?:[1349]28|523)\\d\\d)\\d{3}|(?:4\\d\\d|9[2-9])\\d{4,5}|(?:(?:2(?:(?:(?:0|8[146])\\d|7[1-7])\\d|2(?:[278]\\d|92)|58(?:2\\d|3))|3(?:[26]|9\\d{3})|5(?:4\\d|5)\\d\\d)\\d|6(?:(?:(?:[0-246]|[78]\\d)\\d|37)\\d|5[2-8]))\\d\\d|(?:2(?:[569]\\d|8[2-57-9])|3(?:[013-59]\\d|8[37])|6[89]8)\\d{3}",,,,"1312345",,,,[3,4]],[,,"7(?:[1278]\\d|3[1-9])\\d{6}",,,,"712345678",,,[9]],[,,"80(?:[01]\\d|20|8[0-8])\\d{3}",,,,"8001234",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"86(?:1[12]|22|30|44|55|77|8[368])\\d{6}",,,,"8686123456",,,[10]],"ZW",263,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{3,5})","$1 $2",["2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]"],"0$1"],[,"(\\d)(\\d{3})(\\d{2,4})","$1 $2 $3",["[49]"],"0$1"],[,"(\\d{3})(\\d{4})","$1 $2",["80"],"0$1"],[,"(\\d{2})(\\d{7})","$1 $2",["24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2","2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]"],"(0$1)"],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)","2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)"],"0$1"],[,"(\\d{4})(\\d{6})","$1 $2",["8"],"0$1"],[,"(\\d{2})(\\d{3,5})","$1 $2",["1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["29[013-9]|39|54"],"0$1"],[,"(\\d{4})(\\d{3,5})","$1 $2",["(?:25|54)8","258|5483"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],800:[,[,,"(?:00|[1-9]\\d)\\d{6}",,,,,,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"(?:00|[1-9]\\d)\\d{6}",,,,"12345678"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"001",800,,,,,,,,1,[[,"(\\d{4})(\\d{4})","$1 $2",["\\d"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],808:[,[,,"[1-9]\\d{7}",,,,,,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"[1-9]\\d{7}",,,,"12345678"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"001",808,,,,,,,,1,[[,"(\\d{4})(\\d{4})","$1 $2",["[1-9]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],870:[,[,,"7\\d{11}|[235-7]\\d{8}",,,,,,,[9,12]],[,,,,,,,,,[-1]],[,,"(?:[356]|774[45])\\d{8}|7[6-8]\\d{7}",,,,"301234567"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"2\\d{8}",,,,"201234567",,,[9]],"001",870,,,,,,,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[235-7]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],878:[,[,,"10\\d{10}",,,,,,,[12]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"10\\d{10}",,,,"101234567890"],"001",878,,,,,,,,1,[[,"(\\d{2})(\\d{5})(\\d{5})","$1 $2 $3",["1"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],881:[,[,,"6\\d{9}|[0-36-9]\\d{8}",,,,,,,[9,10]],[,,,,,,,,,[-1]],[,,"6\\d{9}|[0-36-9]\\d{8}",,,,"612345678"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"001",881,,,,,,,,,[[,"(\\d)(\\d{3})(\\d{5})","$1 $2 $3",["[0-37-9]"]],[,"(\\d)(\\d{3})(\\d{5,6})","$1 $2 $3",["6"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],882:[,[,,"[13]\\d{6}(?:\\d{2,5})?|[19]\\d{7}|(?:[25]\\d\\d|4)\\d{7}(?:\\d{2})?",,,,,,,[7,8,9,10,11,12]],[,,,,,,,,,[-1]],[,,"342\\d{4}|(?:337|49)\\d{6}|(?:3(?:2|47|7\\d{3})|50\\d{3})\\d{7}",,,,"3421234",,,[7,8,9,10,12]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\d{4}|6\\d{5,10})|(?:345\\d|9[89])\\d{6}|(?:10|2(?:3|85\\d)|3(?:[15]|[69]\\d\\d)|4[15-8]|51)\\d{8}",,,,"390123456789"],"001",882,,,,,,,,,[[,"(\\d{2})(\\d{5})","$1 $2",["16|342"]],[,"(\\d{2})(\\d{6})","$1 $2",["49"]],[,"(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["1[36]|9"]],[,"(\\d{2})(\\d{4})(\\d{3})","$1 $2 $3",["3[23]"]],[,"(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["16"]],[,"(\\d{2})(\\d{4})(\\d{4}
15672)","$1 $2 $3",["10|23|3(?:[15]|4[57])|4|51"]],[,"(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["34"]],[,"(\\d{2})(\\d{4,5})(\\d{5})","$1 $2 $3",["[1-35]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,"348[57]\\d{7}",,,,"34851234567",,,[11]]],883:[,[,,"(?:[1-4]\\d|51)\\d{6,10}",,,,,,,[8,9,10,11,12]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"(?:2(?:00\\d\\d|10)|(?:370[1-9]|51\\d0)\\d)\\d{7}|51(?:00\\d{5}|[24-9]0\\d{4,7})|(?:1[0-79]|2[24-689]|3[02-689]|4[0-4])0\\d{5,9}",,,,"510012345"],"001",883,,,,,,,,1,[[,"(\\d{3})(\\d{3})(\\d{2,8})","$1 $2 $3",["[14]|2[24-689]|3[02-689]|51[24-9]"]],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["510"]],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["21"]],[,"(\\d{4})(\\d{4})(\\d{4})","$1 $2 $3",["51[13]"]],[,"(\\d{3})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["[235]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],888:[,[,,"\\d{11}",,,,,,,[11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"001",888,,,,,,,,1,[[,"(\\d{3})(\\d{3})(\\d{5})","$1 $2 $3"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"\\d{11}",,,,"12345678901"],,,[,,,,,,,,,[-1]]],979:[,[,,"[1359]\\d{8}",,,,,,,[9],[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"[1359]\\d{8}",,,,"123456789",,,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"001",979,,,,,,,,1,[[,"(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["[1359]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]]},i18n.phonenumbers.PhoneNumberUtil=function(){this.regionToMetadataMap={}},goog.addSingletonGetter(i18n.phonenumbers.PhoneNumberUtil),i18n.phonenumbers.Error={INVALID_COUNTRY_CODE:"Invalid country calling code",NOT_A_NUMBER:"The string supplied did not seem to be a phone number",TOO_SHORT_AFTER_IDD:"Phone number too short after IDD",TOO_SHORT_NSN:"The string supplied is too short to be a phone number",TOO_LONG:"The string supplied is too long to be a phone number"},i18n.phonenumbers.PhoneNumberUtil.NANPA_COUNTRY_CODE_=1,i18n.phonenumbers.PhoneNumberUtil.MIN_LENGTH_FOR_NSN_=2,i18n.phonenumbers.PhoneNumberUtil.MAX_LENGTH_FOR_NSN_=17,i18n.phonenumbers.PhoneNumberUtil.MAX_LENGTH_COUNTRY_CODE_=3,i18n.phonenumbers.PhoneNumberUtil.MAX_INPUT_STRING_LENGTH_=250,i18n.phonenumbers.PhoneNumberUtil.UNKNOWN_REGION_="ZZ",i18n.phonenumbers.PhoneNumberUtil.MOBILE_TOKEN_MAPPINGS_={54:"9"},i18n.phonenumbers.PhoneNumberUtil.GEO_MOBILE_COUNTRIES_=[52,54,55],i18n.phonenumbers.PhoneNumberUtil.PLUS_SIGN="+",i18n.phonenumbers.PhoneNumberUtil.STAR_SIGN_="*",i18n.phonenumbers.PhoneNumberUtil.RFC3966_EXTN_PREFIX_=";ext=",i18n.phonenumbers.PhoneNumberUtil.RFC3966_PREFIX_="tel:",i18n.phonenumbers.PhoneNumberUtil.RFC3966_PHONE_CONTEXT_=";phone-context=",i18n.phonenumbers.PhoneNumberUtil.RFC3966_ISDN_SUBADDRESS_=";isub=",i18n.phonenumbers.PhoneNumberUtil.DIGIT_MAPPINGS={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9","ï¼":"0","ï¼":"1","ï¼":"2","ï¼":"3","ï¼":"4","ï¼":"5","ï¼":"6","ï¼":"7","ï¼":"8","ï¼":"9","Ù ":"0","Ù¡":"1","Ù¢":"2","Ù£":"3","Ù¤":"4","Ù¥":"5","Ù¦":"6","Ù§":"7","Ù¨":"8","Ù©":"9","Û°":"0","Û±":"1","Û²":"2","Û³":"3","Û´":"4","Ûµ":"5","Û¶":"6","Û·":"7","Û¸":"8","Û¹":"9"},i18n.phonenumbers.PhoneNumberUtil.DIALLABLE_CHAR_MAPPINGS_={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9","+":i18n.phonenumbers.PhoneNumberUtil.PLUS_SIGN,"*":"*","#":"#"},i18n.phonenumbers.PhoneNumberUtil.ALPHA_MAPPINGS_={A:"2",B:"2",C:"2",D:"3",E:"3",F:"3",G:"4",H:"4",I:"4",J:"5",K:"5",L:"5",M:"6",N:"6",O:"6",P:"7",Q:"7",R:"7",S:"7",T:"8",U:"8",V:"8",W:"9",X:"9",Y:"9",Z:"9"},i18n.phonenumbers.PhoneNumberUtil.ALL_NORMALIZATION_MAPPINGS_={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9","ï¼":"0","ï¼":"1","ï¼":"2","ï¼":"3","ï¼":"4","ï¼":"5","ï¼":"6","ï¼":"7","ï¼":"8","ï¼":"9","Ù ":"0","Ù¡":"1","Ù¢":"2","Ù£":"3","Ù¤":"4","Ù¥":"5","Ù¦":"6","Ù§":"7","Ù¨":"8","Ù©":"9","Û°":"0","Û±":"1","Û²":"2","Û³":"3","Û´":"4","Ûµ":"5","Û¶":"6","Û·":"7","Û¸":"8","Û¹":"9",A:"2",B:"2",C:"2",D:"3",E:"3",F:"3",G:"4",H:"4",I:"4",J:"5",K:"5",L:"5",M:"6",N:"6",O:"
156726",P:"7",Q:"7",R:"7",S:"7",T:"8",U:"8",V:"8",W:"9",X:"9",Y:"9",Z:"9"},i18n.phonenumbers.PhoneNumberUtil.ALL_PLUS_NUMBER_GROUPING_SYMBOLS_={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",A:"A",B:"B",C:"C",D:"D",E:"E",F:"F",G:"G",H:"H",I:"I",J:"J",K:"K",L:"L",M:"M",N:"N",O:"O",P:"P",Q:"Q",R:"R",S:"S",T:"T",U:"U",V:"V",W:"W",X:"X",Y:"Y",Z:"Z",a:"A",b:"B",c:"C",d:"D",e:"E",f:"F",g:"G",h:"H",i:"I",j:"J",k:"K",l:"L",m:"M",n:"N",o:"O",p:"P",q:"Q",r:"R",s:"S",t:"T",u:"U",v:"V",w:"W",x:"X",y:"Y",z:"Z","-":"-","ï¼":"-","â":"-","â":"-","â":"-","â":"-","â":"-","â":"-","â":"-","/":"/","ï¼":"/"," ":" ","ã":" ","â ":" ",".":".","ï¼":"."},i18n.phonenumbers.PhoneNumberUtil.SINGLE_INTERNATIONAL_PREFIX_=/[\d]+(?:[~\u2053\u223C\uFF5E][\d]+)?/,i18n.phonenumbers.PhoneNumberUtil.VALID_PUNCTUATION="-xâ-ââã¼ï¼-ï¼ Â Âââ ã()ï¼ï¼ï¼»ï¼½.\\[\\]/~ââ¼ï½",i18n.phonenumbers.PhoneNumberUtil.VALID_DIGITS_="0-9ï¼-ï¼Ù -Ù©Û°-Û¹",i18n.phonenumbers.PhoneNumberUtil.VALID_ALPHA_="A-Za-z",i18n.phonenumbers.PhoneNumberUtil.PLUS_CHARS_="+ï¼",i18n.phonenumbers.PhoneNumberUtil.PLUS_CHARS_PATTERN=new RegExp("["+i18n.phonenumbers.PhoneNumberUtil.PLUS_CHARS_+"]+"),i18n.phonenumbers.PhoneNumberUtil.LEADING_PLUS_CHARS_PATTERN=new RegExp("^["+i18n.phonenumbers.PhoneNumberUtil.PLUS_CHARS_+"]+"),i18n.phonenumbers.PhoneNumberUtil.SEPARATOR_PATTERN_="["+i18n.phonenumbers.PhoneNumberUtil.VALID_PUNCTUATION+"]+",i18n.phonenumbers.PhoneNumberUtil.CAPTURING_DIGIT_PATTERN=new RegExp("(["+i18n.phonenumbers.PhoneNumberUtil.VALID_DIGITS_+"])"),i18n.phonenumbers.PhoneNumberUtil.VALID_START_CHAR_PATTERN_=new RegExp("["+i18n.phonenumbers.PhoneNumberUtil.PLUS_CHARS_+i18n.phonenumbers.PhoneNumberUtil.VALID_DIGITS_+"]"),i18n.phonenumbers.PhoneNumberUtil.SECOND_NUMBER_START_PATTERN_=/[\\\/] *x/,i18n.phonenumbers.PhoneNumberUtil.UNWANTED_END_CHAR_PATTERN_=new RegExp("[^"+i18n.phonenumbers.PhoneNumberUtil.VALID_DIGITS_+i18n.phonenumbers.PhoneNumberUtil.VALID_ALPHA_+"#]+$"),i18n.phonenumbers.PhoneNumberUtil.VALID_ALPHA_PHONE_PATTERN_=/(?:.*?[A-Za-z]){3}.*/,i18n.phonenumbers.PhoneNumberUtil.MIN_LENGTH_PHONE_NUMBER_PATTERN_="["+i18n.phonenumbers.PhoneNumberUtil.VALID_DIGITS_+"]{"+i18n.phonenumbers.PhoneNumberUtil.MIN_LENGTH_FOR_NSN_+"}",i18n.phonenumbers.PhoneNumberUtil.VALID_PHONE_NUMBER_="["+i18n.phonenumbers.PhoneNumberUtil.PLUS_CHARS_+"]*(?:["+i18n.phonenumbers.PhoneNumberUtil.VALID_PUNCTUATION+i18n.phonenumbers.PhoneNumberUtil.STAR_SIGN_+"]*["+i18n.phonenumbers.PhoneNumberUtil.VALID_DIGITS_+"]){3,}["+i18n.phonenumbers.PhoneNumberUtil.VALID_PUNCTUATION+i18n.phonenumbers.PhoneNumberUtil.STAR_SIGN_+i18n.phonenumbers.PhoneNumberUtil.VALID_ALPHA_+i18n.phonenumbers.PhoneNumberUtil.VALID_DIGITS_+"]*",i18n.phonenumbers.PhoneNumberUtil.DEFAULT_EXTN_PREFIX_=" ext. ",i18n.phonenumbers.PhoneNumberUtil.RFC3966_VISUAL_SEPARATOR_="[\\-\\.\\(\\)]?",i18n.phonenumbers.PhoneNumberUtil.RFC3966_PHONE_DIGIT_="(["+i18n.phonenumbers.PhoneNumberUtil.VALID_DIGITS_+"]|"+i18n.phonenumbers.PhoneNumberUtil.RFC3966_VISUAL_SEPARATOR_+")",i18n.phonenumbers.PhoneNumberUtil.RFC3966_GLOBAL_NUMBER_DIGITS_="^\\"+i18n.phonenumbers.PhoneNumberUtil.PLUS_SIGN+i18n.phonenumbers.PhoneNumberUtil.RFC3966_PHONE_DIGIT_+"*["+i18n.phonenumbers.PhoneNumberUtil.VALID_DIGITS_+"]"+i18n.phonenumbers.PhoneNumberUtil.RFC3966_PHONE_DIGIT_+"*$",i18n.phonenumbers.PhoneNumberUtil.RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_=new RegExp(i18n.phonenumbers.PhoneNumberUtil.RFC3966_GLOBAL_NUMBER_DIGITS_),i18n.phonenumbers.PhoneNumberUtil.ALPHANUM_=i18n.phonenumbers.PhoneNumberUtil.VALID_ALPHA_+i18n.phonenumbers.PhoneNumberUtil.VALID_DIGITS_,i18n.phonenumbers.PhoneNumberUtil.RFC3966_DOMAINLABEL_="["+i18n.phonenumbers.PhoneNumberUtil.ALPHANUM_+"]+((\\-)*["+i18n.phonenumbers.PhoneNumberUtil.ALPHANUM_+"])*",
15672i18n.phonenumbers.PhoneNumberUtil.RFC3966_TOPLABEL_="["+i18n.phonenumbers.PhoneNumberUtil.VALID_ALPHA_+"]+((\\-)*["+i18n.phonenumbers.PhoneNumberUtil.ALPHANUM_+"])*",i18n.phonenumbers.PhoneNumberUtil.RFC3966_DOMAINNAME_="^("+i18n.phonenumbers.PhoneNumberUtil.RFC3966_DOMAINLABEL_+"\\.)*"+i18n.phonenumbers.PhoneNumberUtil.RFC3966_TOPLABEL_+"\\.?$",i18n.phonenumbers.PhoneNumberUtil.RFC3966_DOMAINNAME_PATTERN_=new RegExp(i18n.phonenumbers.PhoneNumberUtil.RFC3966_DOMAINNAME_),i18n.phonenumbers.PhoneNumberUtil.extnDigits_=function(t){return"(["+i18n.phonenumbers.PhoneNumberUtil.VALID_DIGITS_+"]{1,"+t+"})"},i18n.phonenumbers.PhoneNumberUtil.createExtnPattern_=function(){return i18n.phonenumbers.PhoneNumberUtil.RFC3966_EXTN_PREFIX_+i18n.phonenumbers.PhoneNumberUtil.extnDigits_("20")+"|[  \\t,]*(?:e?xt(?:ensi(?:oÌ?|ó))?n?|ï½
?ï½ï½ï½?|доб|anexo)[:\\.ï¼]?[  \\t,-]*"+i18n.phonenumbers.PhoneNumberUtil.extnDigits_("20")+"#?|[  \\t,]*(?:[xï½#ï¼~ï½]|int|ï½ï½ï½)[:\\.ï¼]?[  \\t,-]*"+i18n.phonenumbers.PhoneNumberUtil.extnDigits_("9")+"#?|[- ]+"+i18n.phonenumbers.PhoneNumberUtil.extnDigits_("6")+"#|[  \\t]*(?:,{2}|;)[:\\.ï¼]?[  \\t,-]*"+i18n.phonenumbers.PhoneNumberUtil.extnDigits_("15")+"#?|[  \\t]*(?:,)+[:\\.ï¼]?[  \\t,-]*"+i18n.phonenumbers.PhoneNumberUtil.extnDigits_("9")+"#?"},i18n.phonenumbers.PhoneNumberUtil.EXTN_PATTERN_=new RegExp("(?:"+i18n.phonenumbers.PhoneNumberUtil.createExtnPattern_()+")$","i"),i18n.phonenumbers.PhoneNumberUtil.VALID_PHONE_NUMBER_PATTERN_=new RegExp("^"+i18n.phonenumbers.PhoneNumberUtil.MIN_LENGTH_PHONE_NUMBER_PATTERN_+"$|^"+i18n.phonenumbers.PhoneNumberUtil.VALID_PHONE_NUMBER_+"(?:"+i18n.phonenumbers.PhoneNumberUtil.createExtnPattern_()+")?$","i"),i18n.phonenumbers.PhoneNumberUtil.NON_DIGITS_PATTERN_=/\D+/,i18n.phonenumbers.PhoneNumberUtil.FIRST_GROUP_PATTERN_=/(\$\d)/,i18n.phonenumbers.PhoneNumberUtil.NP_PATTERN_=/\$NP/,i18n.phonenumbers.PhoneNumberUtil.FG_PATTERN_=/\$FG/,i18n.phonenumbers.PhoneNumberUtil.CC_PATTERN_=/\$CC/,i18n.phonenumbers.PhoneNumberUtil.FIRST_GROUP_ONLY_PREFIX_PATTERN_=/^\(?\$1\)?$/,i18n.phonenumbers.PhoneNumberUtil.REGION_CODE_FOR_NON_GEO_ENTITY="001",i18n.phonenumbers.PhoneNumberFormat={E164:0,INTERNATIONAL:1,NATIONAL:2,RFC3966:3},i18n.phonenumbers.PhoneNumberType={FIXED_LINE:0,MOBILE:1,FIXED_LINE_OR_MOBILE:2,TOLL_FREE:3,PREMIUM_RATE:4,SHARED_COST:5,VOIP:6,PERSONAL_NUMBER:7,PAGER:8,UAN:9,VOICEMAIL:10,UNKNOWN:-1},i18n.phonenumbers.PhoneNumberUtil.MatchType={NOT_A_NUMBER:0,NO_MATCH:1,SHORT_NSN_MATCH:2,NSN_MATCH:3,EXACT_MATCH:4},i18n.phonenumbers.PhoneNumberUtil.ValidationResult={IS_POSSIBLE:0,IS_POSSIBLE_LOCAL_ONLY:4,INVALID_COUNTRY_CODE:1,TOO_SHORT:2,INVALID_LENGTH:5,TOO_LONG:3},i18n.phonenumbers.PhoneNumberUtil.extractPossibleNumber=function(t){var e=t.search(i18n.phonenumbers.PhoneNumberUtil.VALID_START_CHAR_PATTERN_);return 0<=e?0<=(e=(t=(t=t.substring(e)).replace(i18n.phonenumbers.PhoneNumberUtil.UNWANTED_END_CHAR_PATTERN_,"")).search(i18n.phonenumbers.PhoneNumberUtil.SECOND_NUMBER_START_PATTERN_))&&(t=t.substring(0,e)):t="",t},i18n.phonenumbers.PhoneNumberUtil.isViablePhoneNumber=function(t){return!(t.length<i18n.phonenumbers.PhoneNumberUtil.MIN_LENGTH_FOR_NSN_)&&i18n.phonenumbers.PhoneNumberUtil.matchesEntirely(i18n.phonenumbers.PhoneNumberUtil.VALID_PHONE_NUMBER_PATTERN_,t)},i18n.phonenumbers.PhoneNumberUtil.normalize=function(t){return i18n.phonenumbers.PhoneNumberUtil.matchesEntirely(i18n.phonenumbers.PhoneNumberUtil.VALID_ALPHA_PHONE_PATTERN_,t)?i18n.phonenumbers.PhoneNumberUtil.normalizeHelper_(t,i18n.phonenumbers.PhoneNumberUtil.ALL_NORMALIZATION_MAPPINGS_,!0):i18n.phonenumbers.PhoneNumberUtil.normalizeDigitsOnly(t)},i18n.phonenumbers.PhoneNumberUtil.normalizeSB_=function(t){var e=i18n.phonenumbers.PhoneNumberUtil.normalize(t.toString());t.clear(),t.append(e)},i18n.phonenumbers.PhoneNumberUtil.normalizeDigitsOnly=function(t){return i18n.phonenumbers.PhoneNumberUtil.normalizeHelper_(t,i18n.phonenumbers.PhoneNumberUtil.DIGIT_MAPPINGS,!0)},i18n.phonenumbers.PhoneNumberUtil.normalizeDiallableCharsOnly=function(t){return i18n.phonenumbers.PhoneNumberUtil.normalizeHelper_(t,i18n.phonenumbers.PhoneNumberUtil.DIALLABLE_CHAR_MAPPINGS_,!0)},i18n.phonenumbers.PhoneNumberUtil.convertAlphaCharactersInNumber=function(t){return i18n.phonenumbers.PhoneNumberUtil.normalizeHelper_(t,i18n.phonenumbers.PhoneNumberUtil.ALL_NORMALIZATION_MAPPINGS_,!1)},i18n.phonenumbers.PhoneNumberUtil.prototype.getLengthOfGeographicalAreaCode=function(t){var e=this.getMetadataForRegion(this.getRegionCodeForNumber(t));return null!=e&&(e.hasNationalPrefix()||t.hasItalianLeadingZero())&&this.isNumberGeographical(t)?this.getLengthOfNationalDestinationCode(t):0},i18n.phonenumbers.PhoneNumberUtil.prototype.getLengthOfNationalDestinationCode=function(t){if(t.hasExtension()){var e=t.clone();e.clearExtension()}else e=t;return 0==(e=this.format(e,i18n.phonenumbers.PhoneNumberFormat.INTERNATIONAL).split(i18n.phonenumbers.PhoneNumberUtil.NON_DIGITS_PATTERN_))[0].length&&e.shift(),2>=e.length?0:this.getNumberType(t)==i18n.phonenumbers.PhoneNumberType.MOBILE&&""!=(t=i18n.phonenumbers.PhoneNumberUtil.getCountryMobileToken(t.getCountryCodeOrDefault()))?e[2].length+t.length:e[1].length},i18n.phonenumbers.PhoneNumberUtil.getCountryMobileToken=function(t){return i18n.phonenumbers.PhoneNumberUtil.MOBILE_TOKEN_MAPPINGS_[t]||""}
15672,i18n.phonenumbers.PhoneNumberUtil.prototype.getSupportedRegions=function(){return Object.keys(i18n.phonenumbers.metadata.countryToMetadata).filter((function(t){return isNaN(t)}))},i18n.phonenumbers.PhoneNumberUtil.prototype.getSupportedGlobalNetworkCallingCodes=function(){return Object.keys(i18n.phonenumbers.metadata.countryToMetadata).filter((function(t){return!isNaN(t)})).map((function(t){return parseInt(t,10)}))},i18n.phonenumbers.PhoneNumberUtil.prototype.getSupportedCallingCodes=function(){var t=Object.keys(i18n.phonenumbers.metadata.countryCodeToRegionCodeMap);return[].concat($jscomp.arrayFromIterable(this.getSupportedGlobalNetworkCallingCodes()),$jscomp.arrayFromIterable(t.map((function(t){return parseInt(t,10)}))))},i18n.phonenumbers.PhoneNumberUtil.descHasPossibleNumberData_=function(t){return null!=t&&(1!=t.possibleLengthCount()||-1!=t.possibleLengthArray()[0])},i18n.phonenumbers.PhoneNumberUtil.descHasData_=function(t){return null!=t&&(t.hasExampleNumber()||i18n.phonenumbers.PhoneNumberUtil.descHasPossibleNumberData_(t)||t.hasNationalNumberPattern())},i18n.phonenumbers.PhoneNumberUtil.getSupportedTypesForMetadata_=function(t){var e=[];return goog.object.forEach(i18n.phonenumbers.PhoneNumberType,(function(r){if(r!=i18n.phonenumbers.PhoneNumberType.FIXED_LINE_OR_MOBILE&&r!=i18n.phonenumbers.PhoneNumberType.UNKNOWN){var n=i18n.phonenumbers.PhoneNumberUtil.getNumberDescByType_(t,r);i18n.phonenumbers.PhoneNumberUtil.descHasData_(n)&&e.push(r)}})),e},i18n.phonenumbers.PhoneNumberUtil.prototype.getSupportedTypesForRegion=function(t){return this.isValidRegionCode_(t)?i18n.phonenumbers.PhoneNumberUtil.getSupportedTypesForMetadata_(this.getMetadataForRegion(t)):[]},i18n.phonenumbers.PhoneNumberUtil.prototype.getSupportedTypesForNonGeoEntity=function(t){return null==(t=this.getMetadataForNonGeographicalRegion(t))?[]:i18n.phonenumbers.PhoneNumberUtil.getSupportedTypesForMetadata_(t)},i18n.phonenumbers.PhoneNumberUtil.normalizeHelper_=function(t,e,r){for(var n,i,o=new goog.string.StringBuffer,s=t.length,a=0;a<s;++a)null!=(i=e[(n=t.charAt(a)).toUpperCase()])?o.append(i):r||o.append(n);return o.toString()},i18n.phonenumbers.PhoneNumberUtil.prototype.formattingRuleHasFirstGroupOnly=function(t){return 0==t.length||i18n.phonenumbers.PhoneNumberUtil.FIRST_GROUP_ONLY_PREFIX_PATTERN_.test(t)},i18n.phonenumbers.PhoneNumberUtil.prototype.isNumberGeographical=function(t){var e=this.getNumberType(t);return e==i18n.phonenumbers.PhoneNumberType.FIXED_LINE||e==i18n.phonenumbers.PhoneNumberType.FIXED_LINE_OR_MOBILE||i18n.phonenumbers.PhoneNumberUtil.GEO_MOBILE_COUNTRIES_.includes(t.getCountryCodeOrDefault())&&e==i18n.phonenumbers.PhoneNumberType.MOBILE},i18n.phonenumbers.PhoneNumberUtil.prototype.isValidRegionCode_=function(t){return null!=t&&isNaN(t)&&t.toUpperCase()in i18n.phonenumbers.metadata.countryToMetadata},i18n.phonenumbers.PhoneNumberUtil.prototype.hasValidCountryCallingCode_=function(t){return t in i18n.phonenumbers.metadata.countryCodeToRegionCodeMap},i18n.phonenumbers.PhoneNumberUtil.prototype.format=function(t,e){if(0==t.getNationalNumber()&&t.hasRawInput()){var r=t.getRawInputOrDefault();if(0<r.length)return r}r=t.getCountryCodeOrDefault();var n=this.getNationalSignificantNumber(t);if(e==i18n.phonenumbers.PhoneNumberFormat.E164)return this.prefixNumberWithCountryCallingCode_(r,i18n.phonenumbers.PhoneNumberFormat.E164,n,"");if(!this.hasValidCountryCallingCode_(r))return n;var i=this.getRegionCodeForCountryCode(r);return i=this.getMetadataForRegionOrCallingCode_(r,i),t=this.maybeGetFormattedExtension_(t,i,e),n=this.formatNsn_(n,i,e),this.prefixNumberWithCountryCallingCode_(r,e,n,t)},i18n.phonenumbers.PhoneNumberUtil.prototype.formatByPattern=function(t,e,r){var n=t.getCountryCodeOrDefault(),i=this.getNationalSignificantNumber(t);if(!this.hasValidCountryCallingCode_(n))return i;var o=this.getRegionCodeForCountryCode(n);o=this.getMetadataForRegionOrCallingCode_(n,o);var s=this.chooseFormattingPatternForNumber_(r,i);if(null!=s){if(r=s.clone(),0<(s=s.getNationalPrefixFormattingRuleOrDefault()).length){var a=o.getNationalPrefixOrDefault();0<a.length?(s=s.replace(i18n.phonenumbers.PhoneNumberUtil.NP_PATTERN_,a).replace(i18n.phonenumbers.PhoneNumberUtil.FG_PATTERN_,"$1"),r.setNationalPrefixFormattingRule(s)):r.clearNationalPrefixFormattingRule()}i=this.formatNsnUsingPattern_(i,r,e)}return t=this.maybeGetFormattedExtension_(t,o,e),this.prefixNumberWithCountryCallingCode_(n,e,i,t)},i18n.phonenumbers.PhoneNumberUtil.prototype.formatNationalNumberWithCarrierCode=function(t,e){var r=t.getCountryCodeOrDefault(),n=this.getNationalSignificantNumber(t);if(!this.hasValidCountryCallingCode_(r))return n;var i=this.getRegionCodeForCountryCode(r);return i=this.getMetadataForRegionOrCallingCode_(r,i),t=this.maybeGetFormattedExtension_(t,i,i18n.phonenumbers.PhoneNumberFormat.NATIONAL),e=this.formatNsn_(n,i,i18n.phonenumbers.PhoneNumberFormat.NATIONAL,e),this.prefixNumberWithCountryCallingCode_(r,i18n.phonenumbers.PhoneNumberFormat.NATIONAL,e,t)},i18n.phonenumbers.PhoneNumberUtil.prototype.getMetadataForRegionOrCallingCode_=function(t,e){return i18n.phonenumbers.PhoneNumberUtil.REGION_CODE_FOR_NON_GEO_ENTITY==e?this.getMetadataForNonGeographicalRegion(t):this.getMetadataForRegion(e)},i18n.phonenumbers.PhoneNumberUtil.prototype.formatNationalNumberWithPreferredCarrierCode=function(t,e){return this.formatNationalNumberWithCarrierCode(t,0<t.getPreferredDomesticCarrierCodeOrDefault().length?t.getPreferredDomesticCarrierCodeOrDefault():e)},i18n.phonenumbers.PhoneNumberUtil.prototype.formatNumberForMobileDialing=function(t,e,r){var n=t.getCountryCodeOrDefault();if(!this.hasValidCountryCallingCode_(n))return t.hasRawInput()?t.getRawInputOrDefault():"";var i="";(t=t.clone()).clearExtension();var o=this.getRegionCodeForCountryCode(n),s=this.getNumberType(t),a=s!=i18n.phonenumbers.PhoneNumberType.UNKNOWN;if(e==o)i=s==i18n.phonenumbers.PhoneNumberType.FIXED_LINE||s==i18n.phonenumbers.PhoneNumberType.MOBILE||s==i18n.phonenumbers.PhoneNumberType.FIXED_LINE_OR_MOBILE,"BR"==o&&i?i=0<t.getPreferredDomesticCarrierCodeOrDefault().length?this.formatNationalNumberWithPreferredCarrierCode(t,""):"":n==i18n.phonenumbers.PhoneNumberUtil.NANPA_COUNTRY_CODE_?(e=this.getMetadataForRegion(e),i=this.canBeInternationallyDialled(t)&&this.testNumberLength_(this.getNationalSignificantNumber(t),e)!=i18n.phonenumbers.PhoneNumberUtil.ValidationResult.TOO_SHORT?this.format(t,i18n.phonenumbers.PhoneNumberFormat.INTERNATIONAL):this.format(t,i18n.phonenumbers.PhoneNumberFormat.NATIONAL)):i=(o==i18n.phonenumbers.PhoneNumberUtil.REGION_CODE_FOR_NON_GEO_ENTITY||("MX"==o||"CL"==o||"UZ"==o)&&i)&&this.canBeInternationallyDialled(t)?this.format(t,i18n.phonenumbers.PhoneNumberFormat.INTERNATIONAL):this.format(t,i18n.phonenumbers.PhoneNumberFormat.NATIONAL);else if(a&&this.canBeInternationallyDialled(t))return r?this.format(t,i18n.phonenumbers.PhoneNumberFormat.INTERNATIONAL):this.format(t,i18n.phonenumbers.PhoneNumberFormat.E164);return r?i:i18n.phonenumbers.PhoneNumberUtil.normalizeDiallableCharsOnly(i)},i18n.phonenumbers.PhoneNumberUtil.prototype.formatOutOfCountryCallingNumber=function(t,e){if(!this.isValidRegionCode_(e))return this.format(t,i18n.phonenumbers.PhoneNumberFormat.INTERNATIONAL);var r=t.getCountryCodeOrDefault(),n=this.getNationalSignificantNumber(t);if(!this.hasValidCountryCallingCode_(r))return n;if(r==i18n.phonenumbers.PhoneNumberUtil.NANPA_COUNTRY_CODE_){if(this.isNANPACountry(e))return r+" "+this.format(t,i18n.phonenumbers.PhoneNumberFormat.NATIONAL)}
15672else if(r==this.getCountryCodeForValidRegion_(e))return this.format(t,i18n.phonenumbers.PhoneNumberFormat.NATIONAL);var i=this.getMetadataForRegion(e),o=i.getInternationalPrefixOrDefault();return e="",i.hasPreferredInternationalPrefix()?e=i.getPreferredInternationalPrefixOrDefault():i18n.phonenumbers.PhoneNumberUtil.matchesEntirely(i18n.phonenumbers.PhoneNumberUtil.SINGLE_INTERNATIONAL_PREFIX_,o)&&(e=o),i=this.getRegionCodeForCountryCode(r),i=this.getMetadataForRegionOrCallingCode_(r,i),n=this.formatNsn_(n,i,i18n.phonenumbers.PhoneNumberFormat.INTERNATIONAL),t=this.maybeGetFormattedExtension_(t,i,i18n.phonenumbers.PhoneNumberFormat.INTERNATIONAL),0<e.length?e+" "+r+" "+n+t:this.prefixNumberWithCountryCallingCode_(r,i18n.phonenumbers.PhoneNumberFormat.INTERNATIONAL,n,t)},i18n.phonenumbers.PhoneNumberUtil.prototype.formatInOriginalFormat=function(t,e){if(t.hasRawInput()&&!this.hasFormattingPatternForNumber_(t))return t.getRawInputOrDefault();if(!t.hasCountryCodeSource())return this.format(t,i18n.phonenumbers.PhoneNumberFormat.NATIONAL);switch(t.getCountryCodeSource()){case i18n.phonenumbers.PhoneNumber.CountryCodeSource.FROM_NUMBER_WITH_PLUS_SIGN:e=this.format(t,i18n.phonenumbers.PhoneNumberFormat.INTERNATIONAL);break;case i18n.phonenumbers.PhoneNumber.CountryCodeSource.FROM_NUMBER_WITH_IDD:e=this.formatOutOfCountryCallingNumber(t,e);break;case i18n.phonenumbers.PhoneNumber.CountryCodeSource.FROM_NUMBER_WITHOUT_PLUS_SIGN:e=this.format(t,i18n.phonenumbers.PhoneNumberFormat.INTERNATIONAL).substring(1);break;default:var r=this.getRegionCodeForCountryCode(t.getCountryCodeOrDefault()),n=this.getNddPrefixForRegion(r,!0);if(e=this.format(t,i18n.phonenumbers.PhoneNumberFormat.NATIONAL),null!=n&&0!=n.length&&!this.rawInputContainsNationalPrefix_(t.getRawInputOrDefault(),n,r)&&(r=this.getMetadataForRegion(r),n=this.getNationalSignificantNumber(t),null!=(r=this.chooseFormattingPatternForNumber_(r.numberFormatArray(),n)))){var i=(n=r.getNationalPrefixFormattingRuleOrDefault()).indexOf("$1");0>=i||(n=n.substring(0,i),0!=(n=i18n.phonenumbers.PhoneNumberUtil.normalizeDigitsOnly(n)).length&&((e=r.clone()).clearNationalPrefixFormattingRule(),e=this.formatByPattern(t,i18n.phonenumbers.PhoneNumberFormat.NATIONAL,[e])))}}return t=t.getRawInputOrDefault(),null!=e&&0<t.length&&(r=i18n.phonenumbers.PhoneNumberUtil.normalizeDiallableCharsOnly(e))!=(n=i18n.phonenumbers.PhoneNumberUtil.normalizeDiallableCharsOnly(t))&&(e=t),e},i18n.phonenumbers.PhoneNumberUtil.prototype.rawInputContainsNationalPrefix_=function(t,e,r){if(t=i18n.phonenumbers.PhoneNumberUtil.normalizeDigitsOnly(t),goog.string.startsWith(t,e))try{return this.isValidNumber(this.parse(t.substring(e.length),r))}catch(t){}return!1},i18n.phonenumbers.PhoneNumberUtil.prototype.hasFormattingPatternForNumber_=function(t){var e=t.getCountryCodeOrDefault(),r=this.getRegionCodeForCountryCode(e);return null!=(e=this.getMetadataForRegionOrCallingCode_(e,r))&&(t=this.getNationalSignificantNumber(t),null!=this.chooseFormattingPatternForNumber_(e.numberFormatArray(),t))},i18n.phonenumbers.PhoneNumberUtil.prototype.formatOutOfCountryKeepingAlphaChars=function(t,e){var r=t.getRawInputOrDefault();if(0==r.length)return this.formatOutOfCountryCallingNumber(t,e);var n=t.getCountryCodeOrDefault();if(!this.hasValidCountryCallingCode_(n))return r;r=i18n.phonenumbers.PhoneNumberUtil.normalizeHelper_(r,i18n.phonenumbers.PhoneNumberUtil.ALL_PLUS_NUMBER_GROUPING_SYMBOLS_,!0);var i=this.getNationalSignificantNumber(t);if(3<i.length){var o=r.indexOf(i.substring(0,3));-1!=o&&(r=r.substring(o))}if(o=this.getMetadataForRegion(e),n==i18n.phonenumbers.PhoneNumberUtil.NANPA_COUNTRY_CODE_){if(this.isNANPACountry(e))return n+" "+r}else if(null!=o&&n==this.getCountryCodeForValidRegion_(e))return null==(n=this.chooseFormattingPatternForNumber_(o.numberFormatArray(),i))?r:((n=n.clone()).setPattern("(\\d+)(.*)"),n.setFormat("$1$2"),this.formatNsnUsingPattern_(r,n,i18n.phonenumbers.PhoneNumberFormat.NATIONAL));return e="",null!=o&&(e=o.getInternationalPrefixOrDefault(),e=i18n.phonenumbers.PhoneNumberUtil.matchesEntirely(i18n.phonenumbers.PhoneNumberUtil.SINGLE_INTERNATIONAL_PREFIX_,e)?e:o.getPreferredInternationalPrefixOrDefault()),o=this.getRegionCodeForCountryCode(n),o=this.getMetadataForRegionOrCallingCode_(n,o),t=this.maybeGetFormattedExtension_(t,o,i18n.phonenumbers.PhoneNumberFormat.INTERNATIONAL),0<e.length?e+" "+n+" "+r+t:this.prefixNumberWithCountryCallingCode_(n,i18n.phonenumbers.PhoneNumberFormat.INTERNATIONAL,r,t)},i18n.phonenumbers.PhoneNumberUtil.prototype.getNationalSignificantNumber=function(t){if(!t.hasNationalNumber())return"";var e=""+t.getNationalNumber();return t.hasItalianLeadingZero()&&t.getItalianLeadingZero()&&0<t.getNumberOfLeadingZerosOrDefault()?Array(t.getNumberOfLeadingZerosOrDefault()+1).join("0")+e:e},i18n.phonenumbers.PhoneNumberUtil.prototype.prefixNumberWithCountryCallingCode_=function(t,e,r,n){switch(e){case i18n.phonenumbers.PhoneNumberFormat.E164:return i18n.phonenumbers.PhoneNumberUtil.PLUS_SIGN+t+r+n;case i18n.phonenumbers.PhoneNumberFormat.INTERNATIONAL:return i18n.phonenumbers.PhoneNumberUtil.PLUS_SIGN+t+" "+r+n;case i18n.phonenumbers.PhoneNumberFormat.RFC3966:return i18n.phonenumbers.PhoneNumberUtil.RFC3966_PREFIX_+i18n.phonenumbers.PhoneNumberUtil.PLUS_SIGN+t+"-"+r+n;default:return r+n}},i18n.phonenumbers.PhoneNumberUtil.prototype.formatNsn_=function(t,e,r,n){return e=0==e.intlNumberFormatArray().length||r==i18n.phonenumbers.PhoneNumberFormat.NATIONAL?e.numberFormatArray():e.intlNumberFormatArray(),null==(e=this.chooseFormattingPatternForNumber_(e,t))?t:this.formatNsnUsingPattern_(t,e,r,n)},i18n.phonenumbers.PhoneNumberUtil.prototype.chooseFormattingPatternForNumber_=function(t,e){for(var r,n=t.length,i=0;i<n;++i){var o=(r=t[i]).leadingDigitsPatternCount();if((0==o||0==e.search(r.getLeadingDigitsPattern(o-1)))&&(o=new RegExp(r.getPattern()),i18n.phonenumbers.PhoneNumberUtil.matchesEntirely(o,e)))return r}return null},i18n.phonenumbers.PhoneNumberUtil.prototype.formatNsnUsingPattern_=function(t,e,r,n){var i=e.getFormatOrDefault(),o=new RegExp(e.getPattern()),s=e.getDomesticCarrierCodeFormattingRuleOrDefault();return r==i18n.phonenumbers.PhoneNumberFormat.NATIONAL&&null!=n&&0<n.length&&0<s.length?(e=s.replace(i18n.phonenumbers.PhoneNumberUtil.CC_PATTERN_,n),i=i.replace(i18n.phonenumbers.PhoneNumberUtil.FIRST_GROUP_PATTERN_,e),t=t.replace(o,i)):(e=e.getNationalPrefixFormattingRuleOrDefault(),t=r==i18n.phonenumbers.PhoneNumberFormat.NATIONAL&&null!=e&&0<e.length?t.replace(o,i.replace(i18n.phonenumbers.PhoneNumberUtil.FIRST_GROUP_PATTERN_,e)):t.replace(o,i)),r==i18n.phonenumbers.PhoneNumberFormat.RFC3966&&(t=(t=t.replace(new RegExp("^"+i18n.phonenumbers.PhoneNumberUtil.SEPARATOR_PATTERN_),"")).replace(new RegExp(i18n.phonenumbers.PhoneNumberUtil.SEPARATOR_PATTERN_,"g"),"-")),t},i18n.phonenumbers.PhoneNumberUtil.prototype.getExampleNumber=function(t){return this.getExampleNumberForType(t,i18n.phonenumbers.PhoneNumberType.FIXED_LINE)},i18n.phonenumbers.PhoneNumberUtil.prototype.getExampleNumberForType=function(t,e){if(!this.isValidRegionCode_(t))return null;e=i18n.phonenumbers.PhoneNumberUtil.getNumberDescByType_(this.getMetadataForRegion(t),e);try{if(e.hasExampleNumber())return this.parse(e.getExampleNumber(),t)}catch(t){}return null},i18n.phonenumbers.PhoneNumberUtil.prototype.getExampleNumberForNonGeoEntity=function(t){var e=this.getMetadataForNonGeographicalRegion(t);if(null!=e&&void 0!==(e=[e.getMobile(),e.getTollFree(),e.getSharedCost(),e.getVoip(),e.getVoicemail(),e.getUan(),e.getPremiumRate()].find((function(t,e){return t.hasExampleNumber()}))))try{return this.parse("+"+t+e.getExampleNumber(),"ZZ")}catch(t){}return null},i18n.phonenumbers.PhoneNumberUtil.prototype.maybeGetFormattedExtension_=function(t,e,r){return t.hasExtension()&&0!=t.getExtension().length?r==i18n.phonenumbers.PhoneNumberFormat.RFC3966?i18n.phonenumbers.PhoneNumberUtil.RFC3966_EXTN_PREFIX_+t.getExtension():e.hasPreferredExtnPrefix()?e.getPreferredExtnPrefix()+t.getExtensionOrDefault():i18n.phonenumbers.PhoneNumberUtil.DEFAULT_EXTN_PREFIX_+t.getExtensionOrDefault():""},i18n.phonenumbers.PhoneNumberUtil.getNumberDescByType_=function(t,e){switch(e){case i18n.phonenumbers.PhoneNumberType.PREMIUM_RATE:return t.getPremiumRate();case i18n.phonenumbers.PhoneNumberType.TOLL_FREE:return t.getTollFree();case i18n.phonenumbers.PhoneNumberType.MOBILE:return t.getMobile();case i18n.phonenumbers.PhoneNumberType.FIXED_LINE:case i18n.phonenumbers.PhoneNumberType.FIXED_LINE_OR_MOBILE:return t.getFixedLine();case i18n.phonenumbers.PhoneNumberType.SHARED_COST:return t.getSharedCost();case i18n.phonenumbers.PhoneNumberType.VOIP:return t.getVoip();case i18n.phonenumbers.PhoneNumberType.PERSONAL_NUMBER:return t.getPersonalNumber();case i18n.phonenumbers.PhoneNumberType.PAGER:return t.getPager();case i18n.phonenumbers.PhoneNumberType.UAN:return t.getUan();case i18n.phonenumbers.PhoneNumberType.VOICEMAIL:return t.getVoicemail();default:return t.getGeneralDesc()}},i18n.phonenumbers.PhoneNumberUtil.prototype.getNumberType=function(t){var e=this.getRegionCodeForNumber(t);return null==(e=this.getMetadataForRegionOrCallingCode_(t.getCountryCodeOrDefault(),e))?i18n.phonenumbers.PhoneNumberType.UNKNOWN:(t=this.getNationalSignificantNumber(t),this.getNumberTypeHelper_(t,e))},i18n.phonenumbers.PhoneNumberUtil.prototype.getNumberTypeHelper_=function(t,e){return this.isNumberMatchingDesc_(t,e.getGeneralDesc())?this.isNumberMatchingDesc_(t,e.getPremiumRate())?i18n.phonenumbers.PhoneNumberType.PREMIUM_RATE:this.isNumberMatchingDesc_(t,e.getTollFree())?i18n.phonenumbers.PhoneNumberType.TOLL_FREE:this.isNumberMatchingDesc_(t,e.getSharedCost())?i18n.phonenumbers.PhoneNumberType.SHARED_COST:this.isNumberMatchingDesc_(t,e.getVoip())?i18n.phonenumbers.PhoneNumberType.VOIP:this.isNumberMatchingDesc_(t,e.getPersonalNumber())?i18n.phonenumbers.PhoneNumberType.PERSONAL_NUMBER:this.isNumberMatchingDesc_(t,e.getPager()
15672)?i18n.phonenumbers.PhoneNumberType.PAGER:this.isNumberMatchingDesc_(t,e.getUan())?i18n.phonenumbers.PhoneNumberType.UAN:this.isNumberMatchingDesc_(t,e.getVoicemail())?i18n.phonenumbers.PhoneNumberType.VOICEMAIL:this.isNumberMatchingDesc_(t,e.getFixedLine())?e.getSameMobileAndFixedLinePattern()||this.isNumberMatchingDesc_(t,e.getMobile())?i18n.phonenumbers.PhoneNumberType.FIXED_LINE_OR_MOBILE:i18n.phonenumbers.PhoneNumberType.FIXED_LINE:!e.getSameMobileAndFixedLinePattern()&&this.isNumberMatchingDesc_(t,e.getMobile())?i18n.phonenumbers.PhoneNumberType.MOBILE:i18n.phonenumbers.PhoneNumberType.UNKNOWN:i18n.phonenumbers.PhoneNumberType.UNKNOWN},i18n.phonenumbers.PhoneNumberUtil.prototype.getMetadataForRegion=function(t){if(null==t)return null;t=t.toUpperCase();var e=this.regionToMetadataMap[t];if(null==e){e=new goog.proto2.PbLiteSerializer;var r=i18n.phonenumbers.metadata.countryToMetadata[t];if(null==r)return null;e=e.deserialize(i18n.phonenumbers.PhoneMetadata.getDescriptor(),r),this.regionToMetadataMap[t]=e}return e},i18n.phonenumbers.PhoneNumberUtil.prototype.getMetadataForNonGeographicalRegion=function(t){return this.getMetadataForRegion(""+t)},i18n.phonenumbers.PhoneNumberUtil.prototype.isNumberMatchingDesc_=function(t,e){var r=t.length;return!(0<e.possibleLengthCount()&&-1==e.possibleLengthArray().indexOf(r))&&i18n.phonenumbers.PhoneNumberUtil.matchesEntirely(e.getNationalNumberPatternOrDefault(),t)},i18n.phonenumbers.PhoneNumberUtil.prototype.isValidNumber=function(t){var e=this.getRegionCodeForNumber(t);return this.isValidNumberForRegion(t,e)},i18n.phonenumbers.PhoneNumberUtil.prototype.isValidNumberForRegion=function(t,e){var r=t.getCountryCodeOrDefault(),n=this.getMetadataForRegionOrCallingCode_(r,e);return null!=n&&(i18n.phonenumbers.PhoneNumberUtil.REGION_CODE_FOR_NON_GEO_ENTITY==e||r==this.getCountryCodeForValidRegion_(e))&&(t=this.getNationalSignificantNumber(t),this.getNumberTypeHelper_(t,n)!=i18n.phonenumbers.PhoneNumberType.UNKNOWN)},i18n.phonenumbers.PhoneNumberUtil.prototype.getRegionCodeForNumber=function(t){if(null==t)return null;var e=t.getCountryCodeOrDefault();return null==(e=i18n.phonenumbers.metadata.countryCodeToRegionCodeMap[e])?null:1==e.length?e[0]:this.getRegionCodeForNumberFromRegionList_(t,e)},i18n.phonenumbers.PhoneNumberUtil.prototype.getRegionCodeForNumberFromRegionList_=function(t,e){t=this.getNationalSignificantNumber(t);for(var r,n=e.length,i=0;i<n;i++){r=e[i];var o=this.getMetadataForRegion(r);if(o.hasLeadingDigits()){if(0==t.search(o.getLeadingDigits()))return r}else if(this.getNumberTypeHelper_(t,o)!=i18n.phonenumbers.PhoneNumberType.UNKNOWN)return r}return null},i18n.phonenumbers.PhoneNumberUtil.prototype.getRegionCodeForCountryCode=function(t){return null==(t=i18n.phonenumbers.metadata.countryCodeToRegionCodeMap[t])?i18n.phonenumbers.PhoneNumberUtil.UNKNOWN_REGION_:t[0]},i18n.phonenumbers.PhoneNumberUtil.prototype.getRegionCodesForCountryCode=function(t){return null==(t=i18n.phonenumbers.metadata.countryCodeToRegionCodeMap[t])?[]:t},i18n.phonenumbers.PhoneNumberUtil.prototype.getCountryCodeForRegion=function(t){return this.isValidRegionCode_(t)?this.getCountryCodeForValidRegion_(t):0},i18n.phonenumbers.PhoneNumberUtil.prototype.getCountryCodeForValidRegion_=function(t){var e=this.getMetadataForRegion(t);if(null==e)throw Error("Invalid region code: "+t);return e.getCountryCodeOrDefault()},i18n.phonenumbers.PhoneNumberUtil.prototype.getNddPrefixForRegion=function(t,e){return null==(t=this.getMetadataForRegion(t))||0==(t=t.getNationalPrefixOrDefault()).length?null:(e&&(t=t.replace("~","")),t)},i18n.phonenumbers.PhoneNumberUtil.prototype.isNANPACountry=function(t){return null!=t&&i18n.phonenumbers.metadata.countryCodeToRegionCodeMap[i18n.phonenumbers.PhoneNumberUtil.NANPA_COUNTRY_CODE_].includes(t.toUpperCase())},i18n.phonenumbers.PhoneNumberUtil.prototype.isAlphaNumber=function(t){return!!i18n.phonenumbers.PhoneNumberUtil.isViablePhoneNumber(t)&&(t=new goog.string.StringBuffer(t),this.maybeStripExtension(t),i18n.phonenumbers.PhoneNumberUtil.matchesEntirely(i18n.phonenumbers.PhoneNumberUtil.VALID_ALPHA_PHONE_PATTERN_,t.toString()))},i18n.phonenumbers.PhoneNumberUtil.prototype.isPossibleNumber=function(t){return(t=this.isPossibleNumberWithReason(t))==i18n.phonenumbers.PhoneNumberUtil.ValidationResult.IS_POSSIBLE||t==i18n.phonenumbers.PhoneNumberUtil.ValidationResult.IS_POSSIBLE_LOCAL_ONLY},i18n.phonenumbers.PhoneNumberUtil.prototype.isPossibleNumberForType=function(t,e){return(t=this.isPossibleNumberForTypeWithReason(t,e))==i18n.phonenumbers.PhoneNumberUtil.ValidationResult.IS_POSSIBLE||t==i18n.phonenumbers.PhoneNumberUtil.ValidationResult.IS_POSSIBLE_LOCAL_ONLY},i18n.phonenumbers.PhoneNumberUtil.prototype.testNumberLength_=function(t,e){return this.testNumberLengthForType_(t,e,i18n.phonenumbers.PhoneNumberType.UNKNOWN)},i18n.phonenumbers.PhoneNumberUtil.prototype.testNumberLengthForType_=function(t,e,r){var n=i18n.phonenumbers.PhoneNumberUtil.getNumberDescByType_(e,r),i=0==n.possibleLengthCount()?e.getGeneralDesc().possibleLengthArray():n.possibleLengthArray();if(n=n.possibleLengthLocalOnlyArray(),r==i18n.phonenumbers.PhoneNumberType.FIXED_LINE_OR_MOBILE){if(!i18n.phonenumbers.PhoneNumberUtil.descHasPossibleNumberData_(i18n.phonenumbers.PhoneNumberUtil.getNumberDescByType_(e,i18n.phonenumbers.PhoneNumberType.FIXED_LINE)))return this.testNumberLengthForType_(t,e,i18n.phonenumbers.PhoneNumberType.MOBILE);r=i18n.phonenumbers.PhoneNumberUtil.getNumberDescByType_(e,i18n.phonenumbers.PhoneNumberType.MOBILE),i18n.phonenumbers.PhoneNumberUtil.descHasPossibleNumberData_(r)&&((i=i.concat(0==r.possibleLengthCount()?e.getGeneralDesc().possibleLengthArray():r.possibleLengthArray())).sort(),0==n.length?n=r.possibleLengthLocalOnlyArray():(n=n.concat(r.possibleLengthLocalOnlyArray())).sort())}return-1==i[0]?i18n.phonenumbers.PhoneNumberUtil.ValidationResult.INVALID_LENGTH:(t=t.length,-1<n.indexOf(t)?i18n.phonenumbers.PhoneNumberUtil.ValidationResult.IS_POSSIBLE_LOCAL_ONLY:(e=i[0])==t?i18n.phonenumbers.PhoneNumberUtil.ValidationResult.IS_POSSIBLE:e>t?i18n.phonenumbers.PhoneNumberUtil.ValidationResult.TOO_SHORT:i[i.length-1]<t?i18n.phonenumbers.PhoneNumberUtil.ValidationResult.TOO_LONG:-1<i.indexOf(t,1)?i18n.phonenumbers.PhoneNumberUtil.ValidationResult.IS_POSSIBLE:i18n.phonenumbers.PhoneNumberUtil.ValidationResult.INVALID_LENGTH)},i18n.phonenumbers.PhoneNumberUtil.prototype.isPossibleNumberWithReason=function(t){return this.isPossibleNumberForTypeWithReason(t,i18n.phonenumbers.PhoneNumberType.UNKNOWN)},i18n.phonenumbers.PhoneNumberUtil.prototype.isPossibleNumberForTypeWithReason=function(t,e){var r=this.getNationalSignificantNumber(t);if(t=t.getCountryCodeOrDefault(),!this.hasValidCountryCallingCode_(t))return i18n.phonenumbers.PhoneNumberUtil.ValidationResult.INVALID_COUNTRY_CODE;var n=this.getRegionCodeForCountryCode(t);return t=this.getMetadataForRegionOrCallingCode_(t,n),this.testNumberLengthForType_(r,t,e)},i18n.phonenumbers.PhoneNumberUtil.prototype.isPossibleNumberString=function(t,e){try{return this.isPossibleNumber(this.parse(t,e))}catch(t){return!1}},i18n.phonenumbers.PhoneNumberUtil.prototype.truncateTooLongNumber=function(t){if(this.isValidNumber(t))return!0;var e=t.clone(),r=t.getNationalNumberOrDefault();do{if(r=Math.floor(r/10),e.setNationalNumber(r),0==r||this.isPossibleNumberWithReason(e)==i18n.phonenumbers.PhoneNumberUtil.ValidationResult.TOO_SHORT)return!1}while(!this.isValidNumber(e));return t.setNationalNumber(r),!0},i18n.phonenumbers.PhoneNumberUtil.prototype.extractCountryCode=function(t,e){if(0==(t=t.toString()).length||"0"==t.charAt(0))return 0;for(var r,n=t.length,i=1;i<=i18n.phonenumbers.PhoneNumberUtil.MAX_LENGTH_COUNTRY_CODE_&&i<=n;++i)if((r=parseInt(t.substring(0,i),10))in i18n.phonenumbers.metadata.countryCodeToRegionCodeMap)return e.append(t.substring(i)),r;return 0},i18n.phonenumbers.PhoneNumberUtil.prototype.maybeExtractCountryCode=function(t,e,r,n,i){if(0==t.length)return 0;var o;if(t=new goog.string.StringBuffer(t),null!=e&&(o=e.getInternationalPrefix()),null==o&&(o="NonMatch"),o=this.maybeStripInternationalPrefixAndNormalize(t,o),n&&i.setCountryCodeSource(o),o!=i18n.phonenumbers.PhoneNumber.CountryCodeSource.FROM_DEFAULT_COUNTRY){if(t.getLength()<=i18n.phonenumbers.PhoneNumberUtil.MIN_LENGTH_FOR_NSN_)throw Error(i18n.phonenumbers.Error.TOO_SHORT_AFTER_IDD);if(0!=(e=this.extractCountryCode(t,r)))return i.setCountryCode(e),e;throw Error(i18n.phonenumbers.Error.INVALID_COUNTRY_CODE)}if(null!=e){var s=""+(o=e.getCountryCodeOrDefault()),a=t.toString();if(goog.string.startsWith(a,s)&&(s=new goog.string.StringBuffer(a.substring(s.length)),a=e.getGeneralDesc(),a=new RegExp(a.getNationalNumberPatternOrDefault()),this.maybeStripNationalPrefixAndCarrierCode(s,e,null),s=s.toString(),!i18n.phonenumbers.PhoneNumberUtil.matchesEntirely(a,t.toString())&&i18n.phonenumbers.PhoneNumberUtil.matchesEntirely(a,s)||this.testNumberLength_(t.toString(),e)==i18n.phonenumbers.PhoneNumberUtil.ValidationResult.TOO_LONG))return r.append(s),n&&i.setCountryCodeSource(i18n.phonenumbers.PhoneNumber.CountryCodeSource.FROM_NUMBER_WITHOUT_PLUS_SIGN),i.setCountryCode(o),o}return i.setCountryCode(0),0},i18n.phonenumbers.PhoneNumberUtil.prototype.parsePrefixAsIdd_=function(t,e){var r=e.toString();if(0==r.search(t)){t=r.match(t)[0].length;var n=r.substring(t).match(i18n.phonenumbers.PhoneNumberUtil.CAPTURING_DIGIT_PATTERN);return!(n&&null!=n[1]&&0<n[1].length&&"0"==i18n.phonenumbers.PhoneNumberUtil.normalizeDigitsOnly(n[1])||(e.clear(),e.append(r.substring(t)),0))}return!1},i18n.phonenumbers.PhoneNumberUtil.prototype.maybeStripInternationalPrefixAndNormalize=function(t,e){var r=t.toString();
15672return 0==r.length?i18n.phonenumbers.PhoneNumber.CountryCodeSource.FROM_DEFAULT_COUNTRY:i18n.phonenumbers.PhoneNumberUtil.LEADING_PLUS_CHARS_PATTERN.test(r)?(r=r.replace(i18n.phonenumbers.PhoneNumberUtil.LEADING_PLUS_CHARS_PATTERN,""),t.clear(),t.append(i18n.phonenumbers.PhoneNumberUtil.normalize(r)),i18n.phonenumbers.PhoneNumber.CountryCodeSource.FROM_NUMBER_WITH_PLUS_SIGN):(e=new RegExp(e),i18n.phonenumbers.PhoneNumberUtil.normalizeSB_(t),this.parsePrefixAsIdd_(e,t)?i18n.phonenumbers.PhoneNumber.CountryCodeSource.FROM_NUMBER_WITH_IDD:i18n.phonenumbers.PhoneNumber.CountryCodeSource.FROM_DEFAULT_COUNTRY)},i18n.phonenumbers.PhoneNumberUtil.prototype.maybeStripNationalPrefixAndCarrierCode=function(t,e,r){var n=t.toString(),i=n.length,o=e.getNationalPrefixForParsing();if(0==i||null==o||0==o.length)return!1;var s=new RegExp("^(?:"+o+")");if(i=s.exec(n)){o=new RegExp(e.getGeneralDesc().getNationalNumberPatternOrDefault());var a=i18n.phonenumbers.PhoneNumberUtil.matchesEntirely(o,n),d=i.length-1;if(null==(e=e.getNationalPrefixTransformRule())||0==e.length||null==i[d]||0==i[d].length){if(a&&!i18n.phonenumbers.PhoneNumberUtil.matchesEntirely(o,n.substring(i[0].length)))return!1;null!=r&&0<d&&null!=i[d]&&r.append(i[1]),t.set(n.substring(i[0].length))}else{if(n=n.replace(s,e),a&&!i18n.phonenumbers.PhoneNumberUtil.matchesEntirely(o,n))return!1;null!=r&&0<d&&r.append(i[1]),t.set(n)}return!0}return!1},i18n.phonenumbers.PhoneNumberUtil.prototype.maybeStripExtension=function(t){var e=t.toString(),r=e.search(i18n.phonenumbers.PhoneNumberUtil.EXTN_PATTERN_);if(0<=r&&i18n.phonenumbers.PhoneNumberUtil.isViablePhoneNumber(e.substring(0,r)))for(var n=e.match(i18n.phonenumbers.PhoneNumberUtil.EXTN_PATTERN_),i=n.length,o=1;o<i;++o)if(null!=n[o]&&0<n[o].length)return t.clear(),t.append(e.substring(0,r)),n[o];return""},i18n.phonenumbers.PhoneNumberUtil.prototype.checkRegionForParsing_=function(t,e){return this.isValidRegionCode_(e)||null!=t&&0<t.length&&i18n.phonenumbers.PhoneNumberUtil.LEADING_PLUS_CHARS_PATTERN.test(t)},i18n.phonenumbers.PhoneNumberUtil.prototype.parse=function(t,e){return this.parseHelper_(t,e,!1,!0)},i18n.phonenumbers.PhoneNumberUtil.prototype.parseAndKeepRawInput=function(t,e){if(!this.isValidRegionCode_(e)&&0<t.length&&t.charAt(0)!=i18n.phonenumbers.PhoneNumberUtil.PLUS_SIGN)throw Error(i18n.phonenumbers.Error.INVALID_COUNTRY_CODE);return this.parseHelper_(t,e,!0,!0)},i18n.phonenumbers.PhoneNumberUtil.setItalianLeadingZerosForPhoneNumber_=function(t,e){if(1<t.length&&"0"==t.charAt(0)){e.setItalianLeadingZero(!0);for(var r=1;r<t.length-1&&"0"==t.charAt(r);)r++;1!=r&&e.setNumberOfLeadingZeros(r)}},i18n.phonenumbers.PhoneNumberUtil.prototype.parseHelper_=function(t,e,r,n){if(null==t)throw Error(i18n.phonenumbers.Error.NOT_A_NUMBER);if(t.length>
15672i18n.phonenumbers.PhoneNumberUtil.MAX_INPUT_STRING_LENGTH_)throw Error(i18n.phonenumbers.Error.TOO_LONG);var i=new goog.string.StringBuffer;if(this.buildNationalNumberForParsing_(t,i),!i18n.phonenumbers.PhoneNumberUtil.isViablePhoneNumber(i.toString()))throw Error(i18n.phonenumbers.Error.NOT_A_NUMBER);if(n&&!this.checkRegionForParsing_(i.toString(),e))throw Error(i18n.phonenumbers.Error.INVALID_COUNTRY_CODE);n=new i18n.phonenumbers.PhoneNumber,r&&n.setRawInput(t),0<(t=this.maybeStripExtension(i)).length&&n.setExtension(t);var o=this.getMetadataForRegion(e);t=new goog.string.StringBuffer;var s=0,a=i.toString();try{s=this.maybeExtractCountryCode(a,o,t,r,n)}catch(e){if(e.message!=i18n.phonenumbers.Error.INVALID_COUNTRY_CODE||!i18n.phonenumbers.PhoneNumberUtil.LEADING_PLUS_CHARS_PATTERN.test(a))throw e;if(a=a.replace(i18n.phonenumbers.PhoneNumberUtil.LEADING_PLUS_CHARS_PATTERN,""),0==(s=this.maybeExtractCountryCode(a,o,t,r,n)))throw e}if(0!=s?(i=this.getRegionCodeForCountryCode(s))!=e&&(o=this.getMetadataForRegionOrCallingCode_(s,i)):(i18n.phonenumbers.PhoneNumberUtil.normalizeSB_(i),t.append(i.toString()),null!=e?(s=o.getCountryCodeOrDefault(),n.setCountryCode(s)):r&&n.clearCountryCodeSource()),t.getLength()<i18n.phonenumbers.PhoneNumberUtil.MIN_LENGTH_FOR_NSN_)throw Error(i18n.phonenumbers.Error.TOO_SHORT_NSN);if(null!=o&&(e=new goog.string.StringBuffer,i=new goog.string.StringBuffer(t.toString()),this.maybeStripNationalPrefixAndCarrierCode(i,o,e),(o=this.testNumberLength_(i.toString(),o))!=(s=i18n.phonenumbers.PhoneNumberUtil.ValidationResult).TOO_SHORT&&o!=s.IS_POSSIBLE_LOCAL_ONLY&&o!=s.INVALID_LENGTH&&(t=i,r&&0<e.toString().length&&n.setPreferredDomesticCarrierCode(e.toString()))),r=t.toString(),(t=r.length)<i18n.phonenumbers.PhoneNumberUtil.MIN_LENGTH_FOR_NSN_)throw Error(i18n.phonenumbers.Error.TOO_SHORT_NSN);if(t>i18n.phonenumbers.PhoneNumberUtil.MAX_LENGTH_FOR_NSN_)throw Error(i18n.phonenumbers.Error.TOO_LONG);return i18n.phonenumbers.PhoneNumberUtil.setItalianLeadingZerosForPhoneNumber_(r,n),n.setNationalNumber(parseInt(r,10)),n},i18n.phonenumbers.PhoneNumberUtil.prototype.extractPhoneContext_=function(t){var e=t.indexOf(i18n.phonenumbers.PhoneNumberUtil.RFC3966_PHONE_CONTEXT_);if(-1===e)return null;if((e+=i18n.phonenumbers.PhoneNumberUtil.RFC3966_PHONE_CONTEXT_.length)>=t.length)return"";var r=t.indexOf(";",e);return-1!==r?t.substring(e,r):t.substring(e)},i18n.phonenumbers.PhoneNumberUtil.prototype.isPhoneContextValid_=function(t){if(null==t)return!0;if(0===t.length)return!1;var e=i18n.phonenumbers.PhoneNumberUtil.RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_.exec(t);return t=i18n.phonenumbers.PhoneNumberUtil.RFC3966_DOMAINNAME_PATTERN_.exec(t),null!==e||null!==t},i18n.phonenumbers.PhoneNumberUtil.prototype.buildNationalNumberForParsing_=function(t,e){var r=i18n.phonenumbers.PhoneNumberUtil.prototype.extractPhoneContext_(t);if(!i18n.phonenumbers.PhoneNumberUtil.prototype.isPhoneContextValid_(r))throw Error(i18n.phonenumbers.Error.NOT_A_NUMBER);if(null!=r){r.charAt(0)===i18n.phonenumbers.PhoneNumberUtil.PLUS_SIGN&&e.append(r),r=0<=(r=t.indexOf(i18n.phonenumbers.PhoneNumberUtil.RFC3966_PREFIX_))?r+i18n.phonenumbers.PhoneNumberUtil.RFC3966_PREFIX_.length:0;var n=t.indexOf(i18n.phonenumbers.PhoneNumberUtil.RFC3966_PHONE_CONTEXT_);e.append(t.substring(r,n))}else e.append(i18n.phonenumbers.PhoneNumberUtil.extractPossibleNumber(null!=t?t:""));0<(r=(t=e.toString()).indexOf(i18n.phonenumbers.PhoneNumberUtil.RFC3966_ISDN_SUBADDRESS_))&&(e.clear(),e.append(t.substring(0,r)))},i18n.phonenumbers.PhoneNumberUtil.copyCoreFieldsOnly_=function(t){var e=new i18n.phonenumbers.PhoneNumber;return e.setCountryCode(t.getCountryCodeOrDefault()),e.setNationalNumber(t.getNationalNumberOrDefault()),0<t.getExtensionOrDefault().length&&e.setExtension(t.getExtensionOrDefault()),t.getItalianLeadingZero()&&(e.setItalianLeadingZero(!0),e.setNumberOfLeadingZeros(t.getNumberOfLeadingZerosOrDefault())),e},i18n.phonenumbers.PhoneNumberUtil.prototype.isNumberMatch=function(t,e){if("string"==typeof t)try{var r=this.parse(t,i18n.phonenumbers.PhoneNumberUtil.UNKNOWN_REGION_)}catch(o){if(o.message!=i18n.phonenumbers.Error.INVALID_COUNTRY_CODE)return i18n.phonenumbers.PhoneNumberUtil.MatchType.NOT_A_NUMBER;if("string"!=typeof e){var n=this.getRegionCodeForCountryCode(e.getCountryCodeOrDefault());if(n!=i18n.phonenumbers.PhoneNumberUtil.UNKNOWN_REGION_){try{r=this.parse(t,n)}catch(t){return i18n.phonenumbers.PhoneNumberUtil.MatchType.NOT_A_NUMBER}var i=this.isNumberMatch(r,e);return i==i18n.phonenumbers.PhoneNumberUtil.MatchType.EXACT_MATCH?i18n.phonenumbers.PhoneNumberUtil.MatchType.NSN_MATCH:i}}try{r=this.parseHelper_(t,null,!1,!1)}catch(t){return i18n.phonenumbers.PhoneNumberUtil.MatchType.NOT_A_NUMBER}}else r=t.clone();if("string"==typeof e)try{return i=this.parse(e,i18n.phonenumbers.PhoneNumberUtil.UNKNOWN_REGION_),this.isNumberMatch(t,i)}catch(t){return t.message!=i18n.phonenumbers.Error.INVALID_COUNTRY_CODE?i18n.phonenumbers.PhoneNumberUtil.MatchType.NOT_A_NUMBER:this.isNumberMatch(e,r)}else i=e.clone();return t=i18n.phonenumbers.PhoneNumberUtil.copyCoreFieldsOnly_(r),i=i18n.phonenumbers.PhoneNumberUtil.copyCoreFieldsOnly_(i),t.hasExtension()&&i.hasExtension()&&t.getExtension()!=i.getExtension()?i18n.phonenumbers.PhoneNumberUtil.MatchType.NO_MATCH:(e=t.getCountryCodeOrDefault(),r
15672=i.getCountryCodeOrDefault(),0!=e&&0!=r?t.equals(i)?i18n.phonenumbers.PhoneNumberUtil.MatchType.EXACT_MATCH:e==r&&this.isNationalNumberSuffixOfTheOther_(t,i)?i18n.phonenumbers.PhoneNumberUtil.MatchType.SHORT_NSN_MATCH:i18n.phonenumbers.PhoneNumberUtil.MatchType.NO_MATCH:(t.setCountryCode(0),i.setCountryCode(0),t.equals(i)?i18n.phonenumbers.PhoneNumberUtil.MatchType.NSN_MATCH:this.isNationalNumberSuffixOfTheOther_(t,i)?i18n.phonenumbers.PhoneNumberUtil.MatchType.SHORT_NSN_MATCH:i18n.phonenumbers.PhoneNumberUtil.MatchType.NO_MATCH))},i18n.phonenumbers.PhoneNumberUtil.prototype.isNationalNumberSuffixOfTheOther_=function(t,e){return t=""+t.getNationalNumber(),e=""+e.getNationalNumber(),goog.string.endsWith(t,e)||goog.string.endsWith(e,t)},i18n.phonenumbers.PhoneNumberUtil.prototype.canBeInternationallyDialled=function(t){var e=this.getMetadataForRegion(this.getRegionCodeForNumber(t));return null==e||(t=this.getNationalSignificantNumber(t),!this.isNumberMatchingDesc_(t,e.getNoInternationalDialling()))},i18n.phonenumbers.PhoneNumberUtil.matchesEntirely=function(t,e){return!(!(t="string"==typeof t?e.match("^(?:"+t+")$"):e.match(t))||t[0].length!=e.length)},i18n.phonenumbers.PhoneNumberUtil.matchesPrefix=function(t,e){return!(!(t="string"==typeof t?e.match("^(?:"+t+")"):e.match(t))||!goog.string.startsWith(e,t[0]))},i18n.phonenumbers.shortnumbermetadata={},i18n.phonenumbers.shortnumbermetadata.countryCodeToRegionCodeMap={0:"AC AD AE AF AG AI AL AM AO AR AS AT AU AW AX AZ BA BB BD BE BF BG BH BI BJ BL BM BN BO BQ BR BS BT BW BY BZ CA CC CD CF CG CH CI CK CL CM CN CO CR CU CV CW CX CY CZ DE DJ DK DM DO DZ EC EE EG EH ER ES ET FI FJ FK FM FO FR GA GB GD GE GF GG GH GI GL GM GN GP GR GT GU GW GY HK HN HR HT HU ID IE IL IM IN IQ IR IS IT JE JM JO JP KE KG KH KI KM KN KP KR KW KY KZ LA LB LC LI LK LR LS LT LU LV LY MA MC MD ME MF MG MH MK ML MM MN MO MP MQ MR MS MT MU MV MW MX MY MZ NA NC NE NF NG NI NL NO NP NR NU NZ OM PA PE PF PG PH PK PL PM PR PS PT PW PY QA RE RO RS RU RW SA SB SC SD SE SG SH SI SJ SK SL SM SN SO SR SS ST SV SX SY SZ TC TD TG TH TJ TL TM TN TO TR TT TV TW TZ UA UG US UY UZ VA VC VE VG VI VN VU WF WS XK YE YT ZA ZM ZW".split(" ")},i18n.phonenumbers.shortnumbermetadata.countryToMetadata={AC:[,[,,"9\\d\\d",,,,,,,[3]],,,[,,"9(?:11|99)",,,,"911"],[,,,,,,,,,[-1]],,,,"AC",,,,,,,,,,,,,,,,,,[,,"9(?:11|99)",,,,"911"],,[,,"9(?:11|99)",,,,"911"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],AD:[,[,,"1\\d\\d",,,,,,,[3]],,,[,,"11[0268]",,,,"110"],[,,,,,,,,,[-1]],,,,"AD",,,,,,,,,,,,,,,,,,[,,"11[0268]",,,,"110"],,[,,"11[0268]",,,,"110"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],AE:[,[,,"[149]\\d{2,3}",,,,,,,[3,4]],,,[,,"112|99[7-9]",,,,"112",,,[3]],[,,,,,,,,,[-1]],,,,"AE",,,,,,,,,,,,,,,,,,[,,"112|99[7-9]",,,,"112",,,[3]],,[,,"112|445[16]|99[7-9]",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,"445\\d",,,,"4450",,,[4]]],AF:[,[,,"[14]\\d\\d(?:\\d{2})?",,,,,,,[3,5]],,,[,,"1(?:0[02]|19)",,,,"100",,,[3]],[,,,,,,,,,[-1]],,,,"AF",,,,,,,,,,,,,,,,,,[,,"1(?:0[02]|19)",,,,"100",,,[3]],,[,,"1(?:0[02]|19)|40404",,,,"100"],[,,,,,,,,,[-1]],[,,"404\\d\\d",,,,"40400",,,[5]],,[,,"404\\d\\d",,,,"40400",,,[5]]],AG:[,[,,"[19]\\d\\d",,,,,,,[3]],,,[,,"9(?:11|88|99)",,,,"911"],[,,,,,,,,,[-1]],,,,"AG",,,,,,,,,,,,,,,,,,[,,"9(?:11|99)",,,,"911"],,[,,"176|9(?:11|88|99)",,,,"176"],[,,,,,,,,,[-1]],[,,"176",,,,"176"],,[,,"176",,,,"176"]],AI:[,[,,"[19]\\d\\d",,,,,,,[3]],,,[,,"9(?:11|88)",,,,"911"],[,,,,,,,,,[-1]],,,,"AI",,,,,,,,,,,,,,,,,,[,,"911",,,,"911"],,[,,"176|9(?:11|88)",,,,"176"],[,,,,,,,,,[-1]],[,,"176",,,,"176"],,[,,"176",,,,"176"]],AL:[,[,,"[15]\\d{2,5}",,,,,,,[3,4,5,6]],,,[,,"1(?:1(?:2|6[01]\\d\\d)|2[7-9]|3[15]|41)",,,,"112",,,[3,6]],[,,"5\\d{4}",,,,"50000",,,[5]],,,,"AL",,,,,,,,,,,,,,,,,,[,,"1(?:12|2[7-9])",,,,"112",,,[3]],,[,,"1(?:1(?:6(?:000|1(?:06|11|23))|8\\d\\d)|65\\d|89[12])|5\\d{4}|1(?:[1349]\\d|2[2-9])",,,,"110"],[,,,,,,,,,[-1]],[,,"123",,,,"123",,,[3]],,[,,"131|5\\d{4}",,,,"131",,,[3,5]]],AM:[,[,,"[148]\\d{2,4}",,,,,,,[3,4,5]],,,[,,"10[1-3]",,,,"101",,,[3]],[,,,,,,,,,[-1]],,,,"AM",,,,,,,,,,,,,,,,,,[,,"10[1-3]",,,,"101",,,[3]],,[,,"(?:1|8[1-7])\\d\\d|40404",,,,"100"],[,,,,,,,,,[-1]],[,,"404\\d\\d",,,,"40400",,,[5]],,[,,"404\\d\\d",,,,"40400",,,[5]]],AO:[,[,,"1\\d\\d",,,,,,,[3]],,,[,,"11[235]",,,,"112"],[,,,,,,,,,[-1]],,,,"AO",,,,,,,,,,,,,,,,,,[,,"11[235]",,,,"112"],,[,,"11[235]",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],AR:[,[,,"[01389]\\d{1,4}",,,,,,,[2,3,4,5]],,,[,,"000|1(?:0[0-35-7]|1[0245]|2[015]|3[47]|4[478]|9)|911",,,,"19",,,[2,3]],[,,,,,,,,,[-1]],,,,"AR",,,,,,,,,,,,,,,,,,[,,"10[017]|911",,,,"100",,,[3]],,[,,"000|1(?:0[0-35-7]|1[02-5]|2[015]|3[47]|4[478]|9)|3372|89338|911",,,,"19"],[,,,,,,,,,[-1]],[,,"893\\d\\d",,,,"89300",,,[5]],,[,,"(?:337|893\\d)\\d",,,,"3370",,,[4,5]]],AS:[,[,,"[49]\\d\\d(?:\\d{2})?",,,,,,,[3,5]],,,[,,"9(?:11|88)",,,,"911",,,[3]],[,,,,,,,,,[-1]],,,,"AS",,,,,,,,,,,,,,,,,,[,,"911",,,,"911",,,[3]],,[,,"40404|9(?:11|88)",,,,"911"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,"404\\d\\d",,,,"40400",,,[5]]],AT:[,[,,"[1268]\\d\\d(?:\\d(?:\\d{2})?)?",,,,,,,[3,4,6]],,,[,,"1(?:12|2[0238]|3[03]|4[0-247])|1(?:16\\d\\d|4[58])\\d",,,,"112"],[,,,,,,,,,[-1]],,,,"AT",,,,,,,,,,,,,,,,,,[,,"1(?:[12]2|33|44)",,,,"112",,,[3]],,[,,"1(?:1(?:2|6(?:00[06]|1(?:17|23)))|2[0238]|3[03]|4(?:[0-247]|5[05]|84))|(?:220|61|8108[1-3])0",,,,"112"],[,,,,,,,,,[-1]],[,,"(?:220|810\\d\\d)\\d|610",,,,"610"],,[,,,,,,,,,[-1]]],AU:[,[,,"[0-27]\\d{2,7}",,,,,,,[3,4,5,6,7,8]],,,[,,"000|1(?:06|12|258885|55\\d)|733",,,,"000",,,[3,4,7]],[,,"1(?:2(?:34|456)|9\\d{4,6})",,,,"1234",,,[4,5,6,7,8]],,,,"AU",,,,,,,,,,,,,,,,,,[,,"000|1(?:06|12)",,,,"000",,,[3]],,[,,"000|1(?:06|1(?:00|2|9[46])|2(?:014[1-3]|[23]\\d|(?:4|5\\d)\\d{2,3}|68[689]|72(?:20|3\\d\\d)|8(?:[013-9]\\d|2))|555|9\\d{4,6})|225|7(?:33|67)",,,,"000"],[,,"1(?:1[09]\\d|24733)|225|767",,,,"225",,,[3,4,6]],[,,"1(?:258885|55\\d)",,,,"1550",,,[4,7]],,[,,"19\\d{4,6}",,,,"190000",,,[6,7,8]]],AW:[,[,,"[19]\\d\\d",,,,,,,[3]],,,[,,"100|911",,,,"100"],[,,,,,,,,,[-1]],,,,"AW",,,,,,,,,,,,,,,,,,[,,"100|911",,,,"100"],,[,,"1(?:00|18|76)|91[13]",,,,"100"],[,,,,,,,,,[-1]],[,,"176",,,,"176"],,[,,"176",,,,"176"]],AX:[,[,,"[17]\\d\\d(?:\\d{2})?",,,,,,,[3,5]],,,[,,"112",,,,"112",,,[3]],[,,,,,,,,,[-1]],,,,"AX",,,,,,,,,,,,,,,,,,[,,"112",,,,"112",,,[3]],,[,,"112|75[12]\\d\\d",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],AZ:[,[,,"[148]\\d{2,3}",,,,,,,[3,4]],,,[,,"1(?:0[1-3]|12)",,,,"101",,,[3]],[,,,,,,,,,[-1]],,,,"AZ",,,,,,,,,,,,,,,,,,[,,"1(?:0[1-3]|12)",,,,"101",,,[3]],,[,,"1(?:0[1-3]|12)|(?:404|880)0",,,,"101"],[,,,,,,,,,[-1]],[,,"(?:404|880)\\d",,,,"4040",,,[4]],,[,,"(?:404|880)\\d",,,,"4040",,,[4]]],BA:[,[,,"1\\d{2,5}",,,,,,,[3,4,5,6]],,,[,,"1(?:16\\d{3}|2[2-4])",,,,"122",,,[3,6]],[,,,,,,,,,[-1]],,,,"BA",,,,,,,,,,,,,,,,,,[,,"12[2-4]",,,,"122",,,[3]],,[,,"1(?:16(?:00[06]|1(?:1[17]|23))|2(?:0[0-7]|[2-5]|6[0-26])|(?:[3-5]|7\\d)\\d\\d)|1(?:18|2[78])\\d\\d?",,,,"122"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],BB:[,[,,"[2-689]\\d\\d",,,,,,,[3]],,,[,,"988|[2359]11",,,,"211"],[,,,,,,,,,[-1]],,,,"BB",,,,,,,,,,,,,,,,,,[,,"[2359]11",,,,"211"],,[,,"988|[2-689]11",,,,"211"],[,,,,,,,,,[-1]],[,,"[468]11",,,,"411"],,[,,,,,,,,,[-1]]],BD:[,[,,"[1579]\\d{2,4}",,,,,,,[3,4,5]],,,[,,"10[0-26]|[19]99",,,,"100",,,[3]],[,,,,,,,,,[-1]],,,,"BD",,,,,,,,,,,,,,,,,,[,,"10[0-2]|[19]99",,,,"100",,,[3]],,[,,"1(?:0(?:[0-369]|5[1-4]|7[0-4]|8[0-29])|1[16-9]|2(?:[134]|2[0-5])|3(?:1\\d?|6[3-6])|5[2-9])|5012|786|9594|[19]99|1(?:0(?:50|6\\d)|33|4(?:0|1\\d))\\d",,,,"100"],[,,,,,,,,,[-1]],[,,"1(?:11|2[13])|(?:501|959)\\d|786",,,,"111",,,[3,4]],,[,,"959\\d",,,,"9590",,,[4]]],BE:[,[,,"[1-9]\\d\\d(?:\\d(?:\\d{2})?)?",,,,,,,[3,4,6]],,,[,,"1(?:0[0-35-8]|1[0269]|7(?:12|77)|813)|(?:116|8)\\d{3}",,,,"100"],[,,"1(?:2[03]|40)4|(?:1(?:[24]1|3[01])|[2-79]\\d\\d)\\d",,,,"1204",,,[4]],,,,"BE",,,,,,,,,,,,,,,,,,[,,"1(?:0[01]|12)",,,,"100",,,[3]],,[,,"1(?:0[0-8]|16117|2(?:12|3[0-24])|313|414|5(?:1[05]|5[15]|66|95)|6(?:1[167]|36|6[16])|7(?:[07][017]|1[27-9]|22|33|65)|81[39])|[2-9]\\d{3}|11[02679]|1(?:1600|45)0|1(?:[2-4]9|78)9|1[2-4]0[47]",,,,"100"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,"[2-9]\\d{3}
15672",,,,"2000",,,[4]]],BF:[,[,,"1\\d",,,,,,,[2]],,,[,,"1[78]",,,,"17"],[,,,,,,,,,[-1]],,,,"BF",,,,,,,,,,,,,,,,,,[,,"1[78]",,,,"17"],,[,,"1[78]",,,,"17"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],BG:[,[,,"1\\d\\d(?:\\d{3})?",,,,,,,[3,6]],,,[,,"1(?:1(?:2|6\\d{3})|50|6[06])",,,,"112"],[,,,,,,,,,[-1]],,,,"BG",,,,,,,,,,,,,,,,,,[,,"1(?:12|50|6[06])",,,,"112",,,[3]],,[,,"1(?:1(?:2|6(?:000|111))|50|6[06])",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],BH:[,[,,"[0189]\\d\\d(?:\\d{2})?",,,,,,,[3,5]],,,[,,"(?:0[167]|81)\\d{3}|[19]99",,,,"199"],[,,"9[148]\\d{3}",,,,"91000",,,[5]],,,,"BH",,,,,,,,,,,,,,,,,,[,,"[19]99",,,,"199",,,[3]],,[,,"1(?:[02]\\d|12|4[01]|51|8[18]|9[169])|99[02489]|(?:0[167]|8[158]|9[148])\\d{3}",,,,"100"],[,,,,,,,,,[-1]],[,,"0[67]\\d{3}|88000|98555",,,,"06000",,,[5]],,[,,"88000|98555",,,,"88000",,,[5]]],BI:[,[,,"[16-9]\\d{2,3}",,,,,,,[3,4]],,,[,,"11[237]|611",,,,"112",,,[3]],[,,,,,,,,,[-1]],,,,"BI",,,,,,,,,,,,,,,,,,[,,"11[237]",,,,"112",,,[3]],,[,,"1(?:1\\d|5[2-9]|6[0-256])|611|7(?:10|77|979)|8[28]8|900",,,,"110"],[,,,,,,,,,[-1]],[,,"611|7(?:10|77)|888|900",,,,"611",,,[3]],,[,,"(?:71|90)0",,,,"710",,,[3]]],BJ:[,[,,"[17]\\d{2,3}",,,,,,,[3,4]],,,[,,"1(?:1[246-8]|3[68]|6[06])|7[3-5]\\d\\d",,,,"112"],[,,,,,,,,,[-1]],,,,"BJ",,,,,,,,,,,,,,,,,,[,,"11[246-8]",,,,"112",,,[3]],,[,,"1(?:05|1[24-8]|2[02-5]|3[126-8]|5[05]|6[06]|89)|7[0-5]\\d\\d",,,,"105"],[,,,,,,,,,[-1]],[,,"12[02-5]",,,,"120",,,[3]],,[,,,,,,,,,[-1]]],BL:[,[,,"1\\d",,,,,,,[2]],,,[,,"18",,,,"18"],[,,,,,,,,,[-1]],,,,"BL",,,,,,,,,,,,,,,,,,[,,"18",,,,"18"],,[,,"18",,,,"18"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],BM:[,[,,"[19]\\d\\d",,,,,,,[3]],,,[,,"9(?:11|88)",,,,"911"],[,,,,,,,,,[-1]],,,,"BM",,,,,,,,,,,,,,,,,,[,,"911",,,,"911"],,[,,"176|9(?:11|88)",,,,"176"],[,,,,,,,,,[-1]],[,,"176",,,,"176"],,[,,"176",,,,"176"]],BN:[,[,,"9\\d\\d",,,,,,,[3]],,,[,,"99[135]",,,,"991"],[,,,,,,,,,[-1]],,,,"BN",,,,,,,,,,,,,,,,,,[,,"99[135]",,,,"991"],,[,,"99[135]",,,,"991"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],BO:[,[,,"[14]\\d\\d(?:\\d{2})?",,,,,,,[3,5]],,,[,,"11[089]",,,,"110",,,[3]],[,,,,,,,,,[-1]],,,,"BO",,,,,,,,,,,,,,,,,,[,,"11[089]",,,,"110",,,[3]],,[,,"11[089]|40404",,,,"110"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,"404\\d\\d",,,,"40400",,,[5]]],BQ:[,[,,"[19]\\d\\d",,,,,,,[3]],,,[,,"112|911",,,,"112"],[,,,,,,,,,[-1]],,,,"BQ",,,,,,,,,,,,,,,,,,[,,"112|911",,,,"112"],,[,,"1(?:12|76)|911",,,,"112"],[,,,,,,,,,[-1]],[,,"176",,,,"176"],,[,,"176",,,,"176"]],BR:[,[,,"[1-69]\\d{2,5}",,,,,,,[3,4,5,6]],,,[,,"1(?:00|12|28|8[015]|9[0-47-9])|4(?:57|82\\d)|911",,,,"100",,,[3,4]],[,,,,,,,,,[-1]],,,,"BR",,,,,,,,,,,,,,,,,,[,,"1(?:12|28|9[023])|911",,,,"112",,,[3]],,[,,"1(?:0(?:[02]|3(?:1[2-579]|2[13-9]|3[124-9]|4[1-3578]|5[1-468]|6[139]|8[149]|9[168])|5[0-35-9]|6(?:0|1[0-35-8]?|2[0145]|3[0137]?|4[37-9]?|5[0-35]|6[016]?|7[137]?|8[5-8]|9[1359]))|1[25-8]|2[357-9]|3[024-68]|4[12568]|5\\d|6[0-8]|8[015]|9[0-47-9])|2(?:7(?:330|878)|85959?)|(?:32|91)1|4(?:0404?|57|828)|55555|6(?:0\\d{4}|10000)|(?:133|411)[12]",,,,"100"],[,,"102|273\\d\\d|321",,,,"102",,,[3,5]],[,,"151|(?:278|555)\\d\\d|4(?:04\\d\\d?|11\\d|57)",,,,"151",,,[3,4,5]],,[,,"285\\d{2,3}|321|40404|(?:27[38]\\d|482)\\d|6(?:0\\d|10)\\d{3}",,,,"321"]],BS:[,[,,"9\\d\\d",,,,,,,[3]],,,[,,"9(?:1[19]|88)",,,,"911"],[,,,,,,,,,[-1]],,,,"BS",,,,,,,,,,,,,,,,,,[,,"91[19]",,,,"911"],,[,,"9(?:1[19]|88)",,,,"911"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],BT:[,[,,"[14]\\d\\d(?:\\d{2})?",,,,,,,[3,5]],,,[,,"11[023]",,,,"110",,,[3]],[,,,,,,,,,[-1]],,,,"BT",,,,,,,,,,,,,,,,,,[,,"11[023]",,,,"110",,,[3]],,[,,"11[0-6]|40404",,,,"110"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,"404\\d\\d",,,,"40400",,,[5]]],BW:[,[,,"[19]\\d\\d(?:\\d{2})?",,,,,,,[3,5]],,,[,,"9(?:11|9[7-9])",,,,"911",,,[3]],[,,,,,,,,,[-1]],,,,"BW",,,,,,,,,,,,,,,,,,[,,"9(?:11|9[7-9])",,,,"911",,,[3]],,[,,"1(?:1[26]|3123)|9(?:1[14]|9[1-57-9])",,,,"112"],[,,,,,,,,,[-1]],[,,"131\\d\\d",,,,"13100",,,[5]],,[,,"131\\d\\d",,,,"13100",,,[5]]],BY:[,[,,"1\\d\\d",,,,,,,[3]],,,[,,"1(?:0[1-3]|12)",,,,"101"],[,,,,,,,,,[-1]],,,,"BY",,,,,,,,,,,,,,,,,,[,,"1(?:0[1-3]|12)",,,,"101"],,[,,"1(?:0[1-79]|1[246]|35|5[1-35]|6[89]|7[5-7]|8[58]|9[1-7])",,,,"101"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],BZ:[,[,,"9\\d\\d?",,,,,,,[2,3]],,,[,,"9(?:0|11|22|66|77|9[09])",,,,"90"],[,,,,,,,,,[-1]],,,,"BZ",,,,,,,,,,,,,,,,,,[,,"9(?:0|11|90)",,,,"90"],,[,,"9(?:0|11|22|66|77|9[09])",,,,"90"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],CA:[,[,,"[1-9]\\d\\d(?:\\d{2,3})?",,,,,,,[3,5,6]],,,[,,"112|988|[29]11",,,,"112",,,[3]],[,,,,,,,,,[-1]],,,,"CA",,,,,,,,,,,,,,,,,,[,,"112|911",,,,"112",,,[3]],,[,,"[1-35-9]\\d{4,5}|112|[2-8]11|9(?:11|88)",,,,"112"],[,,,,,,,,,[-1]],[,,"[235-7]11",,,,"211",,,[3]],,[,,"[1-35-9]\\d{4,5}",,,,"10000",,,[5,6]]],CC:[,[,,"[01]\\d\\d",,,,,,,[3]],,,[,,"000|112",,,,"000"],[,,,,,,,,,[-1]],,,,"CC",,,,,,,,,,,,,,,,,,[,,"000|112",,,,"000"],,[,,"000|112",,,,"000"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],CD:[,[,,"[14]\\d\\d(?:\\d{2})?",,,,,,,[3,5]],,,[,,"1(?:1[348]|77|88)",,,,"113",,,[3]],[,,,,,,,,,[-1]],,,,"CD",,,,,,,,,,,,,,,,,,[,,"1(?:1[348]|77|88)",,,,"113",,,[3]],,[,,"1(?:1[348]|23|77|88)|40404",,,,"113"],[,,,,,,,,,[-1]],[,,"404\\d\\d",,,,"40400",,,[5]],,[,,"404\\d\\d",,,,"40400",,,[5]]],CF:[,[,,"1\\d{2,3}",,,,,,,[3,4]],,,[,,"1(?:1[78]|22\\d)",,,,"117"],[,,,,,,,,,[-1]],,,,"CF",,,,,,,,,,,,,,,,,,[,,"1(?:1[78]|220)",,,,"117"],,[,,"1(?:1[478]|220)",,,,"114"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],CG:[,[,,"1\\d\\d",,,,,,,[3]],,,[,,"11[178]",,,,"111"],[,,,,,,,,,[-1]],,,,"CG",,,,,,,,,,,,,,,,,,[,,"11[78]",,,,"117"],,[,,"11[126-8]",,,,"111"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],CH:[,[,,"[1-9]\\d{2,5}",,,,,,,[3,4,5,6]],,,[,,"1(?:1(?:[278]|6\\d{3})|4[47])|5200",,,,"112",,,[3,4,6]],[,,"1(?:14|8[0-2589])\\d|543|83111",,,,"543",,,[3,4,5]],,,,"CH",,,,,,,,,,,,,,,,,,[,,"1(?:1[278]|44)",,,,"112",,,[3]],,[,,"1(?:0[78]\\d\\d|1(?:[278]|45|6(?:000|111))|4(?:[03-57]|1[0145])|6(?:00|[1-46])|8(?:02|1[189]|[25]0|7|8[08]|99))|[2-9]\\d{2,4}",,,,"112"],[,,"1(?:4[035]|6[1-46])|1(?:41|60)\\d",,,,"140",,,[3,4]],[,,"5(?:200|35)",,,,"535",,,[3,4]],,[,,"[2-9]\\d{2,4}",,,,"200",,,[3,4,5]]],CI:[,[,,"[14]\\d{2,3}",,,,,,,[3,4]],,,[,,"1(?:1[01]|[78]0)",,,,"110",,,[3]],[,,,,,,,,,[-1]],,,,"CI",,,,,,,,,,,,,,,,,,[,,"1(?:1[01]|[78]0)",,,,"110",,,[3]],,[,,"1(?:1[01]|[78]0)|4443",,,,"110"],[,,,,,,,,,[-1]],[,,"444\\d",,,,"4440",,,[4]],,[,,"444\\d",,,,"4440",,,[4]]],CK:[,[,,"9\\d\\d",,,,,,,[3]],,,[,,"99[689]",,,,"996"],[,,,,,,,,,[-1]],,,,"CK",,,,,,,,,,,,,,,,,,[,,"99[689]",,,,"996"],,[,,"99[689]",,,,"996"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],CL:[,[,,"[1-9]\\d{2,4}",,,,,,,[3,4,5]],,,[,,"1(?:213|3[1-3])|434\\d|911",,,,"131",,,[3,4]],[,,"1(?:211|3(?:13|[348]0|5[01]))|(?:1(?:[05]6|[48]1|9[18])|2(?:01\\d|[23]2|77|88)|3(?:0[59]|13|3[279]|66)|4(?:[12]4|36\\d|4[017]|55)|5(?:00|41\\d|5[67]|99)|6(?:07\\d|13|22|3[06]|50|69)|787|8(?:[01]1|[48]8)|9(?:01|[12]0|33))\\d",,,,"1060",,,[4,5]],,,,"CL",,,,,,,,,,,,,,,,,,[,,"13[1-3]|911",,,,"131",,,[3]],,[,,"1(?:00|21[13]|3(?:13|[348]0|5[01])|4(?:0[02-6]|17|[379])|818|919)|2(?:0(?:01|122)|22[47]|323|777|882)|3(?:0(?:51|99)|132|3(?:29|[37]7)|665)|43656|5(?:(?:00|415)4|5(?:66|77)|995)|6(?:131|222|366|699)|7878|8(?:011|11[28]|482|889)|9(?:01|1)1|13\\d|4(?:[13]42|243|4(?:02|15|77)|554)|(?:1(?:[05]6|98)|339|6(?:07|[35])0|9(?:[12]0|33))0",,,,"100"],[,,"(?:200|333)\\d",,,,"2000",,,[4]],[,,,,,,,,,[-1]],,[,,"13(?:13|[348]0|5[01])|(?:1(?:[05]6|[28]1|4[01]|9[18])|2(?:0(?:0|1\\d)|[23]2|77|88)|3(?:0[59]|13|3[2379]|66)|436\\d|5(?:00|41\\d|5[67]|99)|6(?:07\\d|13|22|3[06]|50|69)|787|8(?:[01]1|[48]8)|9(?:01|[12]0|33))\\d|4(?:[1-3]4|4[017]|55)\\d",,,,"1060",,,[4,5]]],CM:[,[,,"[18]\\d{1,3}",,,,,,,[2,3,4]],,,[,,"1(?:1[37]|[37])",,,,"13",,,[2,3]],[,,,,,,,,,[-1]],,,,"CM",,,,,,,,,,,,,,,,,,[,,"1(?:1[37]|[37])",,,,"13",,,[2,3]],,[,,"1(?:1[37]|[37])|8711",,,,"13"],[,,,,,,,,,[-1]],[,,"871\\d",,,,"8710",,,[4]],,[,,"871\\d",,,,"8710",,,[4]]],CN:[,[,,"[19]\\d{2,5}",,,,,,,[3,4,5,6]],,,[,,"1(?:1[09]|2(?:[02]|1\\d\\d|395))",,,,"110",,,[3,5]],[,,,,,,,,,[-1]],,,,"CN",,,,,,,,,,,,,,,,,,[,,"1(?:1[09]|20)",,,,"110",,,[3]],,[,,"1(?:00|1[0249]|2395|6[08])|9[56]\\d{3,4}|12[023]|1(?:0(?:[0-26]\\d|8)|21\\d)\\d",,,,"100"],[,,"1(?:0(?:[0-26]\\d|8)\\d|1[24]|23|6[08])|9[56]\\d{3,4}|100",,,,"100"],[,,,,,,,,,[-1]],,[,,"12110",,,,"12110",,,[5]]],CO:[,[,,"[1-589]\\d\\d(?:\\d{2,3})?",,,,,,,[3,5,6]],,,[,,"1(?:1[29]|23|32|56)",,,,"112",,,[3]],[,,,,,,,,,[-1]],,,,"CO",,,,,,,,,,,,,,,,,,[,,"1(?:1[29]|23|32|56)",,,,"112",,,[3]],,[,,"1(?:06|1[2-9]|2[35-7]|3[27]|4[467]|5[36]|6[4-7]|95)|(?:29002|39003)9|40404|5930\\d\\d|85432|(?:[2359][57]|8(?:7|9\\d))\\d{3}",,,,"106"],[,,,,,,,,,[-1]],[,,"(?:40|85)4\\d\\d",,,,"40400",,,[5]],,[,,"(?:40|85)4\\d\\d",,,,"40400",,,[5]]],CR:[,[,,"[1359]\\d{2,3}",,,,,,,[3,4]],,,[,,"112|911",,,,"112",,,[3]],[,,,,,,,,,[-1]],,,,"CR",,,,,,,,,,,,,,,,,,[,,"112|911",,,,"112",,,[3]],,[,,"1(?:0(?:00|15|2[2-4679])|1(?:1[0-35-9]|2|37|[46]6|7[57]|8[79]|9[0-379])|2(?:00|[12]2|34|55)|3(?:21|33)|4(?:0[06]|1[4-6])|5(?:15|5[15])|693|7(?:00|1[7-9]|2[02]|[67]7)|975)|3855|5(?:0(?:30|49)|510)|911",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,"(?:385|5(?:0[34]|51))\\d",,,,"3850",,,[4]]],CU:[,[,,"[12]\\d\\d(?:\\d{3,4})?",,,,,,,[3,6,7]],,,[,,"10[4-7]|(?:116|204\\d)\\d{3}",,,,"104"],[,,,,,,,,,[-1]],,,,"CU",,,,,,,,,,,,,,,,,,[,,"10[4-6]",,,,"104",,,[3]],,[,,"1(?:0[4-7]|1(?:6111|8)|40)|2045252",,,,"104"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],CV:[,[,,"1\\d\\d",,,,,,,[3]],,,[,,"13[0-2]",,,,"130"],[,,,,,,,,,[-1]],,,,"CV",,,,,,,,,,,,,,,,,,[,,"13[0-2]",,,,"130"],,[,,"13[0-2]",,,,"130"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],CW:[,[,,"[19]\\d\\d",,,,,,,[3]],,,[,,"112|911",,,,"112"],[,,,,,,,,,[-1]],,,,"CW",,,,,,,,,,,,,,,,,,[,,"112|911",,,,"112"],,[,,"1(?:12|76)|911",,,,"112"],[,,,,,,,,,[-1]],[,,"176",,,,"176"],,[,,"176",,,,"176"]],CX:[,[,,"[01]\\d\\d",,,,,,,[3]],,,[,,"000|112",,,,"000"],[,,,,,,,,,[-1]],,,,"CX",,,,,,,,,,,,,,,,,,[,,"000|112",,,,"000"],,[,,"000|112",,,,"000"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],CY:[,[,,"1\\d\\d(?:\\d{3})?",,,,,,,[3,6]],,,[,,"1(?:1(?:2|6\\d{3})|99)",,,,"112"],[,,,,,,,,,[-1]],,,,"CY",,,,,,,,,,,,,,,,,,[,,"1(?:12|99)",,,,"112",,,[3]],,[,,"1(?:1(?:2|6(?:000|111))|99)",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],CZ:[,[,,"1\\d{2,5}",,,,,,,[3,4,5,6]],,,[,,"1(?:1(?:2|6(?:00[06]|1(?:11|23)))|5\\d)",,,,"112",,,[3,6]],[,,,,,,,,,[-1]],,,,"CZ",,,,,,,,,,,,,,,,,,[,,"1(?:12|5\\d)",,,,"112",,,[3]],,[,,"1(?:1(?:2|8\\d)|(?:2|3\\d)\\d{2,3}|5\\d|99)|1(?:16|4)\\d{3}",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],DE:[,[,,"[13]\\d{2,5}",,,,,,,[3,4,5,6]],,,[,,"11(?:[02]|6\\d{3})",,,,"110",,,[3,6]],[,,,,,,,,,[-1]],,,,"DE",,,,,,,,,,,,,,,,,,[,,"11[02]",,,,"110",,,[3]],,[,,"11(?:[025]|6(?:00[06]|1(?:1[167]|23))|800\\d)|3311|118\\d\\d",,,,"110"],[,,,,,,,,,[-1]],[,,"331\\d",,,,"3310",,,[4]],,[,,,,,,,,,[-1]]],DJ:[,[,,"1\\d",,,,,,,[2]],,,[,,"1[78]",,,,"17"],[,,,,,,,,,[-1]],,,,"DJ",,,,,,,,,,,,,,,,,,[,,"1[78]",,,,"17"],,[,,"1[78]",,,,"17"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],DK:[,[,,"1\\d{2,5}",,,,,,,[3,4,5,6]],,,[,,"11(?:[24]|6\\d{3})",,,,"112",,,[3,6]],[,,,,,,,,,[-1]],,,,"DK",,,,,,,,,,,,,,,,,,[,,"11[24]",,,,"112",,,[3]],,[,,"1(?:1(?:[2-
vendor: 12,066 bytes, line 15672
1567248]|6(?:00[06]|111))|619[0-2]|8(?:01|1[0238]|28|30|5[13]|8[18]))",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],DM:[,[,,"[39]\\d\\d",,,,,,,[3]],,,[,,"333|9(?:11|88|99)",,,,"333"],[,,,,,,,,,[-1]],,,,"DM",,,,,,,,,,,,,,,,,,[,,"333|9(?:11|99)",,,,"333"],,[,,"333|9(?:11|88|99)",,,,"333"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],DO:[,[,,"[19]\\d\\d",,,,,,,[3]],,,[,,"112|9(?:11|88)",,,,"112"],[,,,,,,,,,[-1]],,,,"DO",,,,,,,,,,,,,,,,,,[,,"112|911",,,,"112"],,[,,"112|9(?:11|88)",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],DZ:[,[,,"[17]\\d{1,3}",,,,,,,[2,3,4]],,,[,,"1(?:12|[47]|54\\d)",,,,"14"],[,,,,,,,,,[-1]],,,,"DZ",,,,,,,,,,,,,,,,,,[,,"1(?:12|[47])",,,,"14",,,[2,3]],,[,,"1(?:055|12|[47]|548)|730",,,,"14"],[,,,,,,,,,[-1]],[,,"730",,,,"730",,,[3]],,[,,"730",,,,"730",,,[3]]],EC:[,[,,"[19]\\d\\d",,,,,,,[3]],,,[,,"1(?:0[12]|12)|911",,,,"101"],[,,,,,,,,,[-1]],,,,"EC",,,,,,,,,,,,,,,,,,[,,"1(?:0[12]|12)|911",,,,"101"],,[,,"1(?:0[12]|12)|911",,,,"101"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],EE:[,[,,"1\\d{2,5}",,,,,,,[3,4,5,6]],,,[,,"1(?:1(?:[02]|6\\d{3})|2(?:05|28)|3(?:014|3(?:21|5\\d?)|660)|492|5(?:1[03]|410|501)|6(?:112|333|644)|7(?:012|127|89)|8(?:10|8[57])|9(?:0[134]|14))",,,,"110"],[,,"1(?:18(?:00|[12458]\\d?)|2(?:0(?:[02-46-8]\\d?|1[0-36])|1(?:[0-4]\\d?|6[06])|2(?:[0-4]\\d?|5[25])|[367]|4(?:0[04]|[12]\\d?|4[24]|54)|55[12457])|3(?:0(?:[02]\\d?|1[13578]|3[356])|1[1347]|2[02-5]|3(?:[01347]\\d?|2[023]|88)|4(?:[35]\\d?|4[34])|5(?:3[134]|5[035])|666)|4(?:2(?:00|4\\d?)|4(?:0[01358]|1[024]|50|7\\d?)|900)|5(?:0[0-35]|1(?:[1267]\\d?|5[0-7]|82)|2(?:[014-6]\\d?|22)|330|4(?:[35]\\d?|44)|5(?:00|[1-69]\\d?)|9(?:[159]\\d?|[38]0|77))|6(?:1(?:00|1[19]|[35-9]\\d?)|2(?:2[26]|[68]\\d?)|3(?:22|36|6[36])|5|6(?:[0-359]\\d?|6[0-26])|7(?:00|55|7\\d?|8[89])|9(?:00|1\\d?|69))|7(?:0(?:[023]\\d?|1[0578])|1(?:00|2[034]|[4-9]\\d?)|2(?:[07]\\d?|20|44)|7(?:[0-57]\\d?|9[79])|8(?:0[08]|2\\d?|8[0178])|9(?:00|97))|8(?:1[127]|8[1268]|9[269])|9(?:0(?:[02]\\d?|69|9[0269])|1[1-3689]|21))",,,,"123",,,[3,4,5]],,,,"EE",,,,,,,,,,,,,,,,,,[,,"11[02]",,,,"110",,,[3]],,[,,"1(?:1(?:[02-579]|6(?:000|111)|8(?:[09]\\d|[1-8]))|2[36-9]|3[7-9]|4[05-7]|5[6-8]|6[05]|7[3-6]|8[02-7]|9[3-9])|1(?:2[0-245]|3[0-6]|4[1-489]|5[0-59]|6[1-46-9]|7[0-27-9]|8[189]|9[0-2])\\d\\d?",,,,"110"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,"1(?:18[1258]|2(?:0(?:1[036]|[46]\\d?)|166|21|4(?:0[04]|1\\d?|5[47])|[67])|3(?:0(?:1[13-578]|2\\d?|3[56])|1[15]|2[045]|3(?:[13]\\d?|2[13])|43|5(?:00|3[34]|53))|44(?:0[0135]|14|50|7\\d?)|5(?:05|1(?:[12]\\d?|5[1246]|8[12])|2(?:[01]\\d?|22)|3(?:00|3[03])|4(?:15|5\\d?)|500|9(?:5\\d?|77|80))|6(?:1[35-8]|226|3(?:22|3[36]|66)|644|7(?:00|7\\d?|89)|9(?:00|69))|7(?:01[258]|1(?:00|[15]\\d?)|2(?:44|7\\d?)|8(?:00|87|9\\d?))|8(?:1[128]|8[56]|9(?:[26]\\d?|77))|90(?:2\\d?|69|92))",,,,"126",,,[3,4,5]]],EG:[,[,,"[13]\\d\\d(?:\\d{2})?",,,,,,,[3,5]],,,[,,"1(?:2[23]|80)",,,,"122",,,[3]],[,,,,,,,,,[-1]],,,,"EG",,,,,,,,,,,,,,,,,,[,,"1(?:2[23]|80)",,,,"122",,,[3]],,[,,"1(?:2[23]|[679]\\d{3}|80)|34400",,,,"122"],[,,,,,,,,,[-1]],[,,"344\\d\\d",,,,"34400",,,[5]],,[,,"344\\d\\d",,,,"34400",,,[5]]],EH:[,[,,"1\\d\\d?",,,,,,,[2,3]],,,[,,"1(?:[59]|77)",,,,"15"],[,,,,,,,,,[-1]],,,,"EH",,,,,,,,,,,,,,,,,,[,,"1(?:[59]|77)",,,,"15"],,[,,"1(?:[59]|77)",,,,"15"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],ER:[,[,,"[12]\\d\\d(?:\\d{3})?",,,,,,,[3,6]],,,[,,"11[2-46]|(?:12[47]|20[12])\\d{3}",,,,"112"],[,,,,,,,,,[-1]],,,,"ER",,,,,,,,,,,,,,,,,,[,,"1(?:1[2-46]|24422)|20(?:1(?:606|917)|2914)|(?:1277|2020)99",,,,"112"],,[,,"1(?:1[2-6]|24422)|20(?:1(?:606|917)|2914)|(?:1277|2020)99",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],ES:[,[,,"[0-379]\\d{2,5}",,,,,,,[3,4,5,6]],,,[,,"0(?:16|6[57]|8[58])|1(?:006|12|[3-7]\\d\\d)|(?:116|20\\d)\\d{3}",,,,"016",,,[3,4,6]],[,,"[12]2\\d{1,4}|90(?:5\\d|7)|(?:118|2(?:[357]\\d|80)|3[357]\\d)\\d\\d|[79]9[57]\\d{3}",,,,"120"],,,,"ES",,,,,,,,,,,,,,,,,,[,,"08[58]|112",,,,"085",,,[3]],,[,,"0(?:1[0-26]|6[0-257]|8[058]|9[12])|1(?:0[03-57]\\d{1,3}|1(?:2|6(?:000|111)|8\\d\\d)|2\\d{1,4}|[3-9]\\d\\d)|2(?:2\\d{1,4}|80\\d\\d)|90(?:5[124578]|7)|1(?:3[34]|77)|(?:2[01]\\d|[79]9[57])\\d{3}|[23][357]\\d{3}",,,,"010"],[,,"0(?:[16][0-2]|80|9[12])|21\\d{4}",,,,"010",,,[3,6]],[,,"1(?:3[34]|77)|[12]2\\d{1,4}",,,,"120"],,[,,"(?:2[0-2]\\d|3[357]|[79]9[57])\\d{3}|2(?:[2357]\\d|80)\\d\\d",,,,"22000",,,[5,6]]],ET:[,[,,"9\\d\\d?",,,,,,,[2,3]],,,[,,"9(?:07|11?|2|39?|9[17])",,,,"91"],[,,,,,,,,,[-1]],,,,"ET",,,,,,,,,,,,,,,,,,[,,"9(?:11?|2|39?|9[17])",,,,"91"],,[,,"9(?:07|11?|2|39?|45|9[17])",,,,"91"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],FI:[,[,,"[17]\\d\\d(?:\\d{2,3})?",,,,,,,[3,5,6]],,,[,,"11(?:2|6\\d{3})",,,,"112",,,[3,6]],[,,,,,,,,,[-1]],,,,"FI",,,,,,,,,,,,,,,,,,[,,"112",,,,"112",,,[3]],,[,,"11(?:2|6(?:00[06]|1(?:1[17]|23)))|(?:1[2-8]\\d|75[12])\\d\\d",,,,"112"],[,,"1[2-8]\\d{3}",,,,"12000",,,[5]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],FJ:[,[,,"[0-579]\\d(?:\\d(?:\\d{2})?)?",,,,,,,[2,3,5]],,,[,,"91[17]",,,,"911",,,[3]],[,,,,,,,,,[-1]],,,,"FJ",,,,,,,,,,,,,,,,,,[,,"91[17]",,,,"911",,,[3]],,[,,"0(?:1[34]|8[1-4])|1(?:0[1-3]|[25]9)|2[289]|30|40404|91[137]|[45]4|75",,,,"22"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,"404\\d\\d",,,,"40400",,,[5]]],FK:[,[,,"[19]\\d\\d",,,,,,,[3]],,,[,,"999",,,,"999"],[,,,,,,,,,[-1]],,,,"FK",,,,,,,,,,,,,,,,,,[,,"999",,,,"999"],,[,,"1\\d\\d|999",,,,"100"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],FM:[,[,,"[39]\\d\\d(?:\\d{3})?",,,,,,,[3,6]],,,[,,"320\\d{3}|911",,,,"911"],[,,,,,,,,,[-1]],,,,"FM",,,,,,,,,,,,,,,,,,[,,"(?:32022|91)1",,,,"911"],,[,,"(?:32022|91)1",,,,"911"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],FO:[,[,,"1\\d{2,3}",,,,,,,[3,4]],,,[,,"1(?:1[24]|81\\d)",,,,"112"],[,,,,,,,,,[-1]],,,,"FO",,,,,,,,,,,,,,,,,,[,,"11[24]",,,,"112",,,[3]],,[,,"1(?:1[248]|819)|1(?:4[124]|71|8[7-9])\\d",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],FR:[,[,,"[1-8]\\d{1,5}",,,,,,,[2,3,4,5,6]],,,[,,"1(?:1[02459]|[578]|9[167])|224|(?:3370|74)0|(?:116\\d|3[01])\\d\\d",,,,"15"],[,,"(?:1(?:0|18\\d)|366|[4-8]\\d\\d)\\d\\d|3[2-9]\\d\\d",,,,"1000",,,[4,5,6]],,,,"FR",,,,,,,,,,,,,,,,,,[,,"1(?:12|[578])",,,,"15",,,[2,3]],,[,,"1(?:0\\d\\d|1(?:[02459]|6(?:000|111)|8\\d{3})|[578]|9[167])|2(?:0(?:00|2)0|24)|[3-8]\\d{4}|3\\d{3}|6(?:1[14]|34)|7(?:0[06]|22|40)",,,,"15"],[,,"202\\d|6(?:1[14]|34)|70[06]",,,,"611",,,[3,4]],[,,"118777|224|6(?:1[14]|34)|7(?:0[06]|22|40)|20(?:0\\d|2)\\d",,,,"224",,,[3,4,5,6]],,[,,"114|[3-8]\\d{4}",,,,"114",,,[3,5]]],GA:[,[,,"1\\d(?:\\d{2})?",,,,,,,[2,4]],,,[,,"18|1(?:3\\d|73)\\d",,,,"18"],[,,,,,,,,,[-1]],,,,"GA",,,,,,,,,,,,,,,,,,[,,"1(?:3\\d\\d|730|8)",,,,"18"],,[,,"1(?:3\\d\\d|730|8)",,,,"18"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],GB:[,[,,"[1-46-9]\\d{2,5}",,,,,,,[3,4,5,6]],,,[,,"1(?:05|1(?:[29]|6\\d{3})|7[56]\\d|8000)|2(?:20\\d|48)|4444|999",,,,"105"],[,,,,,,,,,[-1]],,,,"GB",,,,,,,,,,,,,,,,,,[,,"112|999",,,,"112",,,[3]],,[,,"1(?:0[015]|1(?:[129]|6(?:000|1(?:11|23))|8\\d{3})|2(?:[1-3]|50)|33|4(?:1|7\\d)|571|7(?:0\\d|[56]0)|800\\d|9[15])|2(?:0202|1300|2(?:02|11)|3(?:02|336|45)|4(?:25|8))|3[13]3|4(?:0[02]|35[01]|44[45]|5\\d)|(?:[68]\\d|7[089])\\d{3}|15\\d|2[02]2|650|789|9(?:01|99)",,,,"100"],[,,,,,,,,,[-1]],[,,"1(?:(?:25|7[56])\\d|571)|2(?:02(?:\\d{2})?|[13]3\\d\\d|48)|4444|901",,,,"202",,,[3,4,5]],,[,,"(?:125|2(?:020|13\\d)|(?:7[089]|8[01])\\d\\d)\\d",,,,"1250",,,[4,5]]],GD:[,[,,"[19]\\d\\d",,,,,,,[3]],,,[,,"9(?:11|88)",,,,"911"],[,,,,,,,,,[-1]],,,,"GD",,,,,,,,,,,,,,,,,,[,,"911",,,,"911"],,[,,"176|9(?:11|88)",,,,"176"],[,,,,,,,,,[-1]],[,,"176",,,,"176"],,[,,"176",,,,"176"]],GE:[,[,,"[014]\\d\\d(?:\\d{2})?",,,,,,,[3,5]],,,[,,"0(?:11|33)|11[1-3]|[01]22",,,,"011",,,[3]],[,,,,,,,,,[-1]],,,,"GE",,,,,,,,,,,,,,,,,,[,,"0(?:11|33)|11[1-3]|[01]22",,,,"011",,,[3]],,[,,"0(?:11|33)|11[1-3]|40404|[01]22",,,,"011"],[,,,,,,,,,[-1]],[,,"404\\d\\d",,,,"40400",,,[5]],,[,,"404\\d\\d",,,,"40400",,,[5]]],GF:[,[,,"1\\d",,,,,,,[2]],,,[,,"1[578]",,,,"15"],[,,,,,,,,,[-1]],,,,"GF",,,,,,,,,,,,,,,,,,[,,"1[578]",,,,"15"],,[,,"1[578]",,,,"15"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],GG:[,[,,"[19]\\d{2,5}",,,,,,,[3,4,5,6]],,,[,,"112|999",,,,"112",,,[3]],[,,,,,,,,,[-1]],,,,"GG",,,,,,,,,,,,,,,,,,[,,"112|999",,,,"112",,,[3]],,[,,"1(?:0[01]|1[12]|23|41|55|9[05])|999|1(?:1[68]\\d\\d|47|800)\\d",,,,"100"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],GH:[,[,,"[14589]\\d{2,4}",,,,,,,[3,4,5]],,,[,,"19[1-3]|999",,,,"191",,,[3]],[,,,,,,,,,[-1]],,,,"GH",,,,,,,,,,,,,,,,,,[,,"19[1-3]|999",,,,"191",,,[3]],,[,,"19[1-3]|40404|(?:54|83)00|999",,,,"191"],[,,,,,,,,,[-1]],[,,"404\\d\\d|(?:54|83)0\\d",,,,"5400",,,[4,5]],,[,,"404\\d\\d|(?:54|83)0\\d",,,,"5400",,,[4,5]]],GI:[,[,,"[158]\\d{2,5}",,,,,,,[3,4,5,6]],,,[,,"1(?:00|1[25]|23|4(?:1|7\\d)|5[15]|9[02-49])|555|(?:116\\d|80)\\d\\d",,,,"100",,,[3,4,6]],[,,"8[1-69]\\d\\d",,,,"8100",,,[4]],,,,"GI",,,,,,,,,,,,,,,,,,[,,"1(?:12|9[09])",,,,"112",,,[3]],,[,,"1(?:00|1(?:[25]|6(?:00[06]|1(?:1[17]|23))|8\\d\\d)|23|4(?:1|7[014])|5[015]|9[02-49])|555|8[0-79]\\d\\d|8(?:00|4[0-2]|8[0-589])",,,,"100"],[,,"150|87\\d\\d",,,,"150",,,[3,4]],[,,"1(?:00|1(?:5|8\\d\\d)|23|51|9[2-4])|555|8(?:00|4[0-2]|8[0-589])",,,,"100",,,[3,5]],,[,,,,,,,,,[-1]]],GL:[,[,,"1\\d\\d",,,,,,,[3]],,,[,,"112",,,,"112"],[,,,,,,,,,[-1]],,,,"GL",,,,,,,,,,,,,,,,,,[,,"112",,,,"112"],,[,,"1[1-8]\\d",,,,"110"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],GM:[,[,,"1\\d\\d?",,,,,,,[2,3]],,,[,,"1(?:1[6-8]|[6-8])",,,,"16"],[,,,,,,,,,[-1]],,,,"GM",,,,,,,,,,,,,,,,,,[,,"1(?:1[6-8]|[6-8])",,,,"16"],,[,,"1(?:1[6-8]|[6-8])",,,,"16"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],GN:[,[,,"[14]\\d\\d(?:\\d{2})?",,,,,,,[3,5]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,,"GN",,,,,,,,,,,,,,,,,,[,,,,,,,,,[-1]],,[,,"12\\d|40404",,,,"120"],[,,,,,,,,,[-1]],[,,"404\\d\\d",,,,"40400",,,[5]],,[,,"404\\d\\d",,,,"40400",,,[5]]],GP:[,[,,"1\\d",,,,,,,[2]],,,[,,"1[578]",,,,"15"],[,,,,,,,,,[-1]],,,,"GP",,,,,,,,,,,,,,,,,,[,,"1[578]",,,,"15"],,[,,"1[578]",,,,"15"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],GR:[,[,,"1\\d\\d(?:\\d{2,3})?",,,,,,,[3,5,6]],,,[,,"1(?:0[089]|1(?:2|6\\d{3})|66|99)",,,,"100",,,[3,6]],[,,,,,,,,,[-1]],,,,"GR",,,,,,,,,,,,,,,,,,[,,"1(?:00|12|66|99)",,,,"100",,,[3]],,[,,"1(?:0[089]|1(?:2|320|6(?:000|1(?:1[17]|23)))|(?:389|9)9|66)",,,,"100"],[,,"113\\d\\d",,,,"11300",,,[5]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],GT:[,[,,"[14]\\d{2,4}",,,,,,,[3,4,5]],,,[,,"1(?:10|2[03])",,,,"110",,,[3]],[,,,,,,,,,[-1]],,,,"GT",,,,,,,,,,,,,,,,,,[,,"1(?:10|2[03])",,,,"110",,,[3]],,[,,"110|40404|1(?:2|[57]\\d)\\d",,,,"110"],[,,,,,,,,,[-1]],[,,"404\\d\\d",,,,"40400",,,[5]],,[,,"404\\d\\d",,,,"40400",,,[5]]],GU:[,[,,"9\\d\\d",,,,,,,[3]],,,[,,"9(?:11|88)",,,,"911"],[,,,,,,,,,[-1]],,,,"GU",,,,,,,,,,,,,,,,,,[,,"911",,,,"911"],,[,,"9(?:11|88)",,,,"911"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],GW:[,[,,"1\\d\\d",,,,,,,[3]],,,[,,"11[378]",,,,"113"],[,,,,,,,,,[-1]],,,,"GW",,,,,,,,,,,,,,,,,,[,,"11[378]",,,,"113"],,[,,"11[378]",,,,"113"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],GY:[,[,,"[019]\\d{2,3}",,,,,,,[3,4]],,,[,,"91[1-3]",,,,"911",,,[3]],[,,,,,,,,,[-1]],,,,"GY",,,,,,,,,,,,,,,,,,[,,"91[1-3]",,,,"911",,,[3]],,[,,"0(?:02|(?:17|80)1|444|7(?:[67]7|9)|9(?:0[78]|[2-47]))|1(?:443|5[568])|91[1-3]",,,,"002"],[,,,,,,,,,[-1]],[,,"144\\d",,,,"1440",,,[4]],,[,,"144\\d",,,,"1440",,,[4]]],HK:[,[,,"[19]\\d{2,6}",,,,,,,[3,4,5,6,7]],,,[,,"112|99[29]",,,,"112",,,[3]],[,,,,,,,,,[-1]],,,,"HK",,,,,,,,,,,,,,,,,,[,,"112|99[29]",,,,"112",,,[3]],,[,,"1(?:0(?:(?:[0136]\\d|2[14])\\d{0,3}|8[138])|12|2(?:[0-3]\\d{0,4}|(?:58|8[13])\\d{0,3})|7(?:[135-9]\\d{0,4}|219\\d{0,2})|8(?:0(?:(?:[13]|60\\d)\\d|8)|1(?:0\\d|[2-8])|2(?:0[5-9]|(?:18|2)2|3|8[128])|(?:(?:3[0-689]\\d|7(?:2[1-389]|8[0235-9]|93))\\d|8)\\d|50[138]|6(?:1(?:11|86)|8)))|99[29]|10[0139]",,,,"100"],[,,,,,,,,,[-1]],[,,"109|1(?:08|85\\d)\\d",,,,"109",,,[3,4,5]],,[,,"992",,,,"992",,,[3]]],HN:[,[,,"[14]\\d\\d(?:\\d{2})?",,,,,,,[3,5]],,,[,,"199",,,,"199",,,[3]],[,,,,,,,,,[-1]],,,,"HN",,,,,,,,,,,,,,,,,,[,,"199",,,,"199",,,[3]],,[,,"199|40404",,,,"199"],[,,,,,,,,,[-1]],[,,"404\\d\\d",,,,"40400",,,[5]],,[,,"404\\d\\d",,,,"40400",,,[5]]],HR:[,[,,"[
1567219]\\d{1,5}",,,,,,,[2,3,4,5,6]],,,[,,"1(?:12|9[2-4])|9[34]|1(?:16\\d|39)\\d\\d",,,,"93",,,[2,3,5,6]],[,,"118\\d\\d",,,,"11800",,,[5]],,,,"HR",,,,,,,,,,,,,,,,,,[,,"1(?:12|9[2-4])|9[34]",,,,"93",,,[2,3]],,[,,"
vendor: 21,373 bytes, line 15672
156721(?:1(?:2|6(?:00[06]|1(?:1[17]|23))|8\\d\\d)|3977|9(?:[2-5]|87))|9[34]",,,,"93"],[,,,,,,,,,[-1]],[,,"139\\d\\d",,,,"13900",,,[5]],,[,,"139\\d\\d",,,,"13900",,,[5]]],HT:[,[,,"[14]\\d\\d(?:\\d{2})?",,,,,,,[3,5]],,,[,,"11[48]",,,,"114",,,[3]],[,,,,,,,,,[-1]],,,,"HT",,,,,,,,,,,,,,,,,,[,,"11[48]",,,,"114",,,[3]],,[,,"11[48]|40404",,,,"114"],[,,,,,,,,,[-1]],[,,"404\\d\\d",,,,"40400",,,[5]],,[,,"404\\d\\d",,,,"40400",,,[5]]],HU:[,[,,"1\\d{2,5}",,,,,,,[3,4,5,6]],,,[,,"1(?:0[457]|12|4[0-4]\\d)|1(?:16\\d|37|45)\\d\\d",,,,"104"],[,,,,,,,,,[-1]],,,,"HU",,,,,,,,,,,,,,,,,,[,,"1(?:0[457]|12)",,,,"104",,,[3]],,[,,"1(?:0[457]|1(?:2|6(?:000|1(?:11|23))|800)|2(?:0[0-4]|1[013489]|2[0-5]|3[0-46]|4[0-24-68]|5[0-2568]|6[06]|7[0-25-7]|8[028]|9[08])|37(?:00|37|7[07])|4(?:0[0-5]|1[013-8]|2[034]|3[23]|4[02-9]|5(?:00|41|67))|777|8(?:1[27-9]|2[04]|40|[589]))",,,,"104"],[,,,,,,,,,[-1]],[,,"1(?:4[0-4]|77)\\d|1(?:18|2|45)\\d\\d",,,,"1200",,,[4,5]],,[,,"184\\d",,,,"1840",,,[4]]],ID:[,[,,"[178]\\d\\d(?:\\d{2,3})?",,,,,,,[3,5,6]],,,[,,"11[02389]",,,,"110",,,[3]],[,,,,,,,,,[-1]],,,,"ID",,,,,,,,,,,,,,,,,,[,,"11[02389]",,,,"110",,,[3]],,[,,"1(?:1[02389]|40\\d\\d|50264)|71400|89887",,,,"110"],[,,,,,,,,,[-1]],[,,"(?:714|898)\\d\\d",,,,"71400",,,[5]],,[,,"714\\d\\d",,,,"71400",,,[5]]],IE:[,[,,"[159]\\d{2,5}",,,,,,,[3,4,5,6]],,,[,,"11(?:2|6\\d{3})|999",,,,"112",,,[3,6]],[,,"5[37]\\d{3}",,,,"53000",,,[5]],,,,"IE",,,,,,,,,,,,,,,,,,[,,"112|999",,,,"112",,,[3]],,[,,"11(?:2|6(?:00[06]|1(?:1[17]|23)))|999|(?:1(?:18|9)|5[0137]\\d)\\d\\d",,,,"112"],[,,"51\\d{3}",,,,"51000",,,[5]],[,,"51210",,,,"51210",,,[5]],,[,,"51210|(?:118|5[037]\\d)\\d\\d",,,,"11800",,,[5]]],IL:[,[,,"[12]\\d{2,4}",,,,,,,[3,4,5]],,,[,,"1(?:0[0-2]|12)",,,,"100",,,[3]],[,,,,,,,,,[-1]],,,,"IL",,,,,,,,,,,,,,,,,,[,,"1(?:0[0-2]|12)",,,,"100",,,[3]],,[,,"1(?:0[0-2]|1(?:[013-9]\\d|2)|[2-9]\\d\\d)|2407|(?:104|27)00",,,,"100"],[,,,,,,,,,[-1]],[,,"104\\d\\d",,,,"10400",,,[5]],,[,,"104\\d\\d",,,,"10400",,,[5]]],IM:[,[,,"[189]\\d\\d(?:\\d{2,3})?",,,,,,,[3,5,6]],,,[,,"999",,,,"999",,,[3]],[,,,,,,,,,[-1]],,,,"IM",,,,,,,,,,,,,,,,,,[,,"999",,,,"999",,,[3]],,[,,"1\\d\\d(?:\\d{3})?|8(?:6444|9887)|999",,,,"100"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,"8(?:64|98)\\d\\d",,,,"86400",,,[5]]],IN:[,[,,"[12578]\\d{2,8}",,,,,,,[3,4,5,6,7,8,9]],,,[,,"1(?:0[0-248]|1[289]|21|[39][89]|4[01]|6(?:1|6\\d?)|8[12])|777|800|1[05]5\\d|1(?:07|51|94)\\d\\d?|(?:1(?:[05]5\\d|70)\\d|261)\\d|1(?:0[369]|10|29|3[126]|9[0-256])\\d",,,,"100",,,[3,4,5,6]],[,,"11[67]\\d{4}|56161561",,,,"1160000",,,[7,8]],,,,"IN",,,,,,,,,,,,,,,,,,[,,"1(?:0[0-28]|12|298)|2611",,,,"100",,,[3,4]],,[,,"1(?:0(?:[0-248]|3[39]|5(?:010|6)|6[3468]|7(?:[01357]|[28]0?|4[01])|9[0135-9])|1(?:00|[289])|2(?:1|98)|3(?:11|2[0-2]|63|[89])|4[01]|5(?:1(?:0[0-36]|[127])|54)|6(?:1|6[01]?)|7000|8[12]|9(?:0[013-59]|12|25|4[4-9]\\d?|50|6[1347]|[89]))|2611|5(?:0(?:0(?:0\\d|1|20?)|325|5[2-79]\\d{3,5})|1(?:234|555|717|818|96[49])|2(?:0(?:0[01]|[14]0)|151|555|666|888|9(?:06|99\\d?))|3(?:0[01]0|131|553|(?:66|77)6)|(?:464|55[05])\\d{1,3}|6(?:070|3[68]|43)|717\\d)|777|800|5(?:05(?:0|1\\d)|221|3(?:03|3[23]))\\d{1,4}|5(?:(?:04|88)0|2(?:2[0267]|3[16])|4(?:1[04]|20|3[02])|5(?:3[16]|67)|6(?:06|[67]\\d)|787|9(?:64|90))\\d\\d?|(?:1(?:05[79]|(?:1[67][0-2]|802)\\d|55[23])\\d|5(?:(?:00(?:0\\d|1)|(?:304|616)\\d\\d)\\d|1(?:0[12]|4[2-4])|2(?:2[3589]|3(?:1\\d{3}|2)|4[04]|7[78])|4(?:[02]4|32\\d{4}|4[04]|99)|5(?:1[25]|[36]5|4[45]|93)|7(?:(?:17\\d|57)\\d\\d|[27]7|88)|8(?:3[4-69]|4[01]|5[58]|88(?:8\\d\\d|9)|99)|9(?:0(?:0|2\\d{3})|55|6[67]|77|88)))\\d",,,,"100"],[,,"5(?:14(?:2[5-9]|[34]\\d)|757555)",,,,"51425",,,[5,7]],[,,"1(?:(?:1[67]\\d\\d|70)\\d\\d|55330|909)|5(?:300\\d|6161(?:17[89]|561))|1(?:[19][89]|21|4[01])",,,,"118",,,[3,4,5,6,7,8]],,[,,"1(?:39|90[019])|5(?:14(?:2[5-9]|[34]\\d)|6161(?:17[89]|561)|757555)",,,,"139",,,[3,4,5,7,8]]],IQ:[,[,,"[1479]\\d{2,4}",,,,,,,[3,4,5]],,,[,,"1(?:0[04]|15|22)",,,,"100",,,[3]],[,,,,,,,,,[-1]],,,,"IQ",,,,,,,,,,,,,,,,,,[,,"1(?:0[04]|15|22)",,,,"100",,,[3]],,[,,"1(?:0[04]|15|22)|4432|71117|9988",,,,"100"],[,,,,,,,,,[-1]],[,,"(?:443|711\\d|998)\\d",,,,"4430",,,[4,5]],,[,,"(?:443|711\\d|998)\\d",,,,"4430",,,[4,5]]],IR:[,[,,"[129]\\d{2,5}",,,,,,,[3,4,5,6]],,,[,,"1(?:1[0-68]|2[0-59]|9[0-579])|911",,,,"110",,,[3]],[,,,,,,,,,[-1]],,,,"IR",,,,,,,,,,,,,,,,,,[,,"1(?:1[025]|25)|911",,,,"110",,,[3]],,[,,"1(?:1[0-68]|2[0-59]|3[346-8]|4(?:[0147]|[289]0)|5(?:0[14]|1[02479]|2[0-3]|39|[49]0|65)|6(?:[16]6|[27]|90)|8(?:03|1[18]|22|3[37]|4[28]|88|99)|9[0-579])|20(?:[09]0|1(?:[038]|1[079]|26|9[69])|2[01])|9(?:11|9(?:0009|90))",,,,"110"],[,,"1(?:5[0-469]|8[0-489])\\d",,,,"1500",,,[4]],[,,"(?:1(?:5[0-469]|8[0-489])|99(?:0\\d\\d|9))\\d",,,,"1500",,,[4,6]],,[,,"990\\d{3}",,,,"990000",,,[6]]],IS:[,[,,"1\\d\\d(?:\\d(?:\\d{2})?)?",,,,,,,[3,4,6]],,,[,,"1(?:12|71\\d)",,,,"112",,,[3,4]],[,,,,,,,,,[-1]],,,,"IS",,,,,,,,,,,,,,,,,,[,,"112",,,,"112",,,[3]],,[,,"1(?:1(?:[28]|61(?:16|23))|4(?:00|1[145]|4[0146])|55|7(?:00|17|7[07-9])|8(?:[02]0|1[16-9]|88)|900)",,,,"112"],[,,,,,,,,,[-1]],[,,"14(?:0\\d|41)",,,,"1400",,,[4]],,[,,"1(?:415|90\\d)",,,,"1415",,,[4]]],IT:[,[,,"[14]\\d{2,6}",,,,,,,[3,4,5,6,7]],,,[,,"1(?:1(?:[2358]|6\\d{3})|87)",,,,"112",,,[3,6]],[,,"(?:12|4(?:[478](?:[0-4]|[5-9]\\d\\d)|55))\\d\\d",,,,"1200",,,[4,5,7]],,,,"IT",,,,,,,,,,,,,,,,,,[,,"11[2358]",,,,"112",,,[3]],,[,,"1(?:0\\d{2,3}|1(?:[2-57-9]|6(?:000|111))|3[39]|4(?:82|9\\d{1,3})|5(?:00|1[58]|2[25]|3[03]|44|[59])|60|8[67]|9(?:[01]|2[2-9]|4\\d|696))|4(?:2323|5045)|(?:1(?:2|92[01])|4(?:3(?:[01]|[45]\\d\\d)|[478](?:[0-4]|[5-9]\\d\\d)|55))\\d\\d",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,"4(?:3(?:[01]|[45]\\d\\d)|[478](?:[0-4]|[5-9]\\d\\d)|5[05])\\d\\d",,,,"43000",,,[5,7]]],JE:[,[,,"[129]\\d\\d(?:\\d(?:\\d{2})?)?",,,,,,,[3,4,6]],,,[,,"112|999",,,,"112",,,[3]],[,,,,,,,,,[-1]],,,,"JE",,,,,,,,,,,,,,,,,,[,,"112|999",,,,"112",,,[3]],,[,,"1(?:00|1(?:2|8\\d{3})|23|4(?:[14]|28|7\\d)|5\\d|7(?:0[12]|[128]|35?)|808|9[0135])|23[2-4]|999",,,,"100"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],JM:[,[,,"[19]\\d\\d",,,,,,,[3]],,,[,,"11[029]|9(?:11|88)",,,,"110"],[,,,,,,,,,[-1]],,,,"JM",,,,,,,,,,,,,,,,,,[,,"11[029]|911",,,,"110"],,[,,"1(?:1[029]|76)|9(?:11|88)",,,,"110"],[,,,,,,,,,[-1]],[,,"176",,,,"176"],,[,,"176",,,,"176"]],JO:[,[,,"[19]\\d\\d(?:\\d{2})?",,,,,,,[3,5]],,,[,,"1(?:0[235]|1[2-6]|9[127])|911",,,,"102",,,[3]],[,,"9[0-4689]\\d{3}",,,,"90000",,,[5]],,,,"JO",,,,,,,,,,,,,,,,,,[,,"1(?:12|9[127])|911",,,,"112",,,[3]],,[,,"1(?:0[2359]|1[0-68]|9[0-24-79])|9[0-4689]\\d{3}|911",,,,"102"],[,,,,,,,,,[-1]],[,,"9[0-4689]\\d{3}",,,,"90000",,,[5]],,[,,"9[0-4689]\\d{3}",,,,"90000",,,[5]]],JP:[,[,,"[01]\\d\\d(?:\\d{7})?",,,,,,,[3,10]],,,[,,"11[089]",,,,"110",,,[3]],[,,,,,,,,,[-1]],,,,"JP",,,,,,,,,,,,,,,,,,[,,"11[09]",,,,"110",,,[3]],,[,,"000[259]\\d{6}|1(?:0[24]|1[089]|44|89)",,,,"102"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,"000[259]\\d{6}",,,,"0002000000",,,[10]]],KE:[,[,,"[1-9]\\d{2,4}",,,,,,,[3,4,5]],,,[,,"1(?:1(?:[246]|9\\d)|5(?:01|2[127]|6[26]\\d))|999",,,,"112"],[,,"909\\d\\d",,,,"90900",,,[5]],,,,"KE",,,,,,,,,,,,,,,,,,[,,"11[24]|999",,,,"112",,,[3]],,[,,"1(?:0(?:[07-9]|1[0-25]|400)|1(?:[024-6]|9[0-579])|2[1-3]|3[01]|4[14]|5(?:[01][01]|2[0-24-79]|33|4[05]|5[59]|6(?:00|29|6[67]))|(?:6[035]\\d|[78])\\d|9(?:[02-9]\\d\\d|19))|(?:(?:2[0-79]|[37][0-29]|4[0-4]|6[2357]|8\\d)\\d|5(?:[0-7]\\d|99))\\d\\d|9(?:09\\d\\d|99)|8988",,,,"100"],[,,,,,,,,,[-1]],[,,"1(?:(?:04|6[35])\\d\\d|3[01]|4[14]|5(?:1\\d|2[25]))|(?:(?:2[0-79]|[37][0-29]|4[0-4]|6[2357]|8\\d)\\d|5(?:[0-7]\\d|99)|909)\\d\\d|898\\d",,,,"130"],,[,,"1(?:(?:04|6[035])\\d\\d|4[14]|5(?:01|55|6[26]\\d))|40404|8988|909\\d\\d",,,,"141"]],KG:[,[,,"[14]\\d{2,3}",,,,,,,[3,4]],,,[,,"10[1-3]",,,,"101",,,[3]],[,,,,,,,,,[-1]],,,,"KG",,,,,,,,,,,,,,,,,,[,,"10[1-3]",,,,"101",,,[3]],,[,,"10[1-3]|4040",,,,"101"],[,,,,,,,,,[-1]],[,,"404\\d",,,,"4040",,,[4]],,[,,"404\\d",,,,"4040",,,[4]]],KH:[,[,,"[146]\\d\\d(?:\\d{2})?",,,,,,,[3,5]],,,[,,"11[7-9]|666",,,,"117",,,[3]],[,,,,,,,,,[-1]],,,,"KH",,,,,,,,,,,,,,,,,,[,,"11[7-9]|666",,,,"117",,,[3]],,[,,"11[7-9]|40404|666",,,,"117"],[,,,,,,,,,[-1]],[,,"404\\d\\d",,,,"40400",,,[5]],,[,,"404\\d\\d",,,,"40400",,,[5]]],KI:[,[,,"[179]\\d{2,3}",,,,,,,[3,4]],,,[,,"19[2-5]|99[2-4]",,,,"192",,,[3]],[,,,,,,,,,[-1]],,,,"KI",,,,,,,,,,,,,,,,,,[,,"19[2-5]|99[2-4]",,,,"192",,,[3]],,[,,"1(?:05[0-259]|88|9[2-5])|777|99[2-4]|10[0-8]",,,,"100"],[,,"103",,,,"103",,,[3]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],KM:[,[,,"1\\d",,,,,,,[2]],,,[,,"1[78]",,,,"17"],[,,,,,,,,,[-1]],,,,"KM",,,,,,,,,,,,,,,,,,[,,"1[78]",,,,"17"],,[,,"1[78]",,,,"17"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],KN:[,[,,"[39]\\d\\d",,,,,,,[3]],,,[,,"333|9(?:11|88|99)",,,,"333"],[,,,,,,,,,[-1]],,,,"KN",,,,,,,,,,,,,,,,,,[,,"333|9(?:11|99)",,,,"333"],,[,,"333|9(?:11|88|99)",,,,"333"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],KP:[,[,,"[18]\\d\\d",,,,,,,[3]],,,[,,"11[29]|819",,,,"112"],[,,,,,,,,,[-1]],,,,"KP",,,,,,,,,,,,,,,,,,[,,"11[29]|819",,,,"112"],,[,,"11[29]|819",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],KR:[,[,,"1\\d{2,4}",,,,,,,[3,4,5]],,,[,,"1(?:1[27-9]|28|330|82)",,,,"112",,,[3,4]],[,,,,,,,,,[-1]],,,,"KR",,,,,,,,,,,,,,,,,,[,,"11[29]",,,,"112",,,[3]],,[,,"1(?:[016-9]114|3(?:0[01]|2|3[0-35-9]|45?|5[057]|6[569]|7[79]|8[2589]|9[0189]))|1(?:0[015]|1\\d|2[01357-9]|41|8[28])",,,,"100"],[,,,,,,,,,[-1]],[,,"1(?:0[01]|1[4-6]|41)|1(?:[06-9]1\\d|111)\\d",,,,"100",,,[3,5]],,[,,,,,,,,,[-1]]],KW:[,[,,"[18]\\d\\d(?:\\d{2})?",,,,,,,[3,5]],,,[,,"112",,,,"112",,,[3]],[,,,,,,,,,[-1]],,,,"KW",,,,,,,,,,,,,,,,,,[,,"112",,,,"112",,,[3]],,[,,"1[0-7]\\d|89887",,,,"100"],[,,,,,,,,,[-1]],[,,"898\\d\\d",,,,"89800",,,[5]],,[,,,,,,,,,[-1]]],KY:[,[,,"9\\d\\d",,,,,,,[3]],,,[,,"9(?:11|88)",,,,"911"],[,,,,,,,,,[-1]],,,,"KY",,,,,,,,,,,,,,,,,,[,,"911",,,,"911"],,[,,"9(?:11|88)",,,,"911"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],KZ:[,[,,"[1-4]\\d{2,4}",,,,,,,[3,4,5]],,,[,,"1(?:0[1-3]|12)|212\\d",,,,"101",,,[3,4]],[,,,,,,,,,[-1]],,,,"KZ",,,,,,,,,,,,,,,,,,[,,"1(?:0[1-3]|12)",,,,"101",,,[3]],,[,,"1(?:0[1-4]|12)|2121|(?:3040|404)0",,,,"101"],[,,,,,,,,,[-1]],[,,"(?:304\\d|404)\\d",,,,"4040",,,[4,5]],,[,,"(?:304\\d|404)\\d",,,,"4040",,,[4,5]]],LA:[,[,,"1\\d\\d",,,,,,,[3]],,,[,,"19[015]",,,,"190"],[,,,,,,,,,[-1]],,,,"LA",,,,,,,,,,,,,,,,,,[,,"19[015]",,,,"190"],,[,,"19[015]",,,,"190"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],LB:[,[,,"[19]\\d\\d",,,,,,,[3]],,,[,,"1(?:12|40|75)|999",,,,"112"],[,,,,,,,,,[-1]],,,,"LB",,,,,,,,,,,,,,,,,,[,,"1(?:12|40|75)|999",,,,"112"],,[,,"1(?:12|40|75)|999",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],LC:[,[,,"9\\d\\d",,,,,,,[3]],,,[,,"9(?:11|88|99)",,,,"911"],[,,,,,,,,,[-1]],,,,"LC",,,,,,,,,,,,,,,,,,[,,"9(?:11|99)",,,,"911"],,[,,"9(?:11|88|99)",,,,"911"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],LI:[,[,,"1\\d{2,3}",,,,,,,[3,4]],,,[,,"1(?:1[278]|44)",,,,"112",,,[3]],[,,,,,,,,,[-1]],,,,"LI",,,,,,,,,,,,,,,,,,[,,"1(?:1[278]|44)",,,,"112",,,[3]],,[,,"1(?:1(?:[278]|45)|4[3-57]|50|75|81[18])",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],LK:[,[,,"1\\d{2,3}",,,,,,,[3,4]],,,[,,"11[02689]",,,,"110",,,[3]],[,,,,,,,,,[-1]],,,,"LK",,,,,,,,,,,,,,,,,,[,,"11[02689]",,,,"110",,,[3]],,[,,"1(?:1[024-9]|3(?:00|1[2-49]|2[23]|3[1-3]|44|5[07]|[67]9|88|9[039])|9(?:0[0-2589]|1[0-357-9]|2[0-25689]|3[0389]|4[0489]|5[014-69]|6[0-2689]|7[03579]|8[02457-9]|9[0-2569]))",,,,"110"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],LR:[,[,,"[3489]\\d{2,3}",,,,,,,[3,4]],,,[,,"355|911",,,,"355",,,[3]],[,,,,,,,,,[-1]],,,,"LR",,,,,,,,,,,,,,,,,,[,,"355|911",,,,"355",,,[3]],,[,,"355|4040|8(?:400|933)|911",,,,"355"],[,,,,,,,,,[-1]],[,,"(?:404|8(?:40|93))\\d",,,,"4040",,,[4]],,[,,"(?:404|8(?:40|93))\\d",,,,"4040",,,[4]]],LS:[,[,,"1\\d\\d",,,,,,,[3]],,,[,,"11[257]",,,,"112"],[,,,,,,,,,[-1]],,,,"LS",,,,,,,,,,,,,,,,,,[,,"11[257]",,,,"112"],,[,,"11[257]",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],LT:[,[,,"[01]\\d(?:\\d(?:\\d{3})?)?",,,,,,,[2,3,6]],,,[,,"0(?:11?|22?|33?)|1(?:0[1-3]|1(?:2|6111))|116(?:0\\d|12)\\d",,,,"01"],[,,,,,,,,,[-1]],,,,"LT",,,,,,,,,,,,,,,,,,[,,"0(?:11?|22?|33?)|1(?:0[1-3]|12)",,,,"01",,,[2,3]],,[,,"0(?:11?|22?|33?)|1(?:0[1-3]|1(?:[27-9]|6(?:000|1(?:1[17]|23))))",,,,"01"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],LU:[,[,,"1\\d{2,5}",,,,,,,[3,4,5,6]],,,[,,"11(?:[23]|6\\d{3})",,,,"112",,,[3,6]],[,,,,,,,,,[-1]],,,,"LU",,,,,,,,,,,,,,,,,,[,,"11[23]",,,,"112",,,[3]],,[,,"11(?:[23]|6(?:000|111))|1(?:18|[25]\\d|3)\\d\\d",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],LV:[,[,,"[018]\\d{1,5}",,,,,,,[2,3,4,5,6]],,,[,,"0[1-3]|11(?:[023]|6\\d{3})",,,,"01",,,[2,3,6]],[,,"1180|821\\d\\d",,,,"1180",,,[4,5]],,,,"LV",,,,,,,,,,,,,,,,,,[,,"0[1-3]|11[023]",,,,"01",,,[2,3]],,[,,"0[1-4]|1(?:1(?:[02-4]|6(?:000|111)|8[0189])|(?:5|65)5|77)|821[57]4",,,,"01"],[,,"1181",,,,"1181",,,[4]],[,,"165\\d",,,,"1650",,,[4]],,[,,,,,,,,,[-1]]],LY:[,[,,"1\\d\\d",,,,,,,[3]],,,[,,"19[013]",,,,"190"],[,,,,,,,,,[-1]],,,,"LY",,,,,,,,,,,,,,,,,,[,,"19[013]",,,,"190"],,[,,"19[013]",,,,"190"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],MA:[,[,,"1\\d\\d?",,,,,,,[2,3]],,,[,,"1(?:[59]|77)",,,,"15"],[,,,,,,,,,[-1]],,,,"MA",,,,,,,,,,,,,,,,,,[,,"1(?:[59]|77)",,,,"15"],,[,,"1(?:[59]|77)",,,,"15"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],MC:[,[,,"1\\d\\d?",,,,,,,[2,3]],,,[,,"1(?:12|[578])",,,,"15"],[,,,,,,,,,[-1]],,,,"MC",,,,,,,,,,,,,,,,,,[,,"1(?:12|[578])",,,,"15"],,[,,"1(?:12|41|[578])",,,,"15"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],MD:[,[,,"[19]\\d{2,5}",,,,,,,[3,4,5,6]],,,[,,"11(?:2|6(?:000|1(?:11|2\\d)))|90[1-3]",,,,"112",,,[3,6]],[,,,,,,,,,[-1]],,,,"MD",,,,,,,,,,,,,,,,,,[,,"112|90[1-3]",,,,"112",,,[3]],,[,,"1(?:1(?:2|6(?:00[06]|1(?:1[17]|23))|8\\d\\d?|99)|90[04-9])|90[1-3]|1(?:4\\d\\d|6[0-389]|9[1-4])\\d",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],ME:[,[,,"1\\d{2,5}",,,,,,,[3,4,5,6]],,,[,,"1(?:12|2[2-4])",,,,"112",,,[3]],[,,,,,,,,,[-1]],,,,"ME",,,,,,,,,,,,,,,,,,[,,"1(?:12|2[2-4])",,,,"112",,,[3]],,[,,"1(?:1(?:(?:[013-57-9]|6\\d\\d)\\d|2)|[249]\\d{3}|5999|8(?:0[089]|1[0-8]|888))|1(?:[02-5]\\d\\d|60[06]|700)|12\\d",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],MF:[,[,,"1\\d",,,,,,,[2]],,,[,,"1[578]",,,,"15"],[,,,,,,,,,[-1]],,,,"MF",,,,,,,,,,,,,,,,,,[,,"1[578]",,,,"15"],,[,,"1[578]",,,,"15"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],MG:[,[,,"1\\d\\d?",,,,,,,[2,3]],,,[,,"1(?:1[78]|[78])",,,,"17"],[,,,,,,,,,[-1]],,,,"MG",,,,,,,,,,,,,,,,,,[,,"1(?:1[78]|[78])",,,,"17"],,[,,"1(?:1[78]|[78])",,,,"17"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],MH:[,[,,"9\\d\\d",,,,,,,[3]],,,[,,"911",,,,"911"],[,,,,,,,,,[-1]],,,,"MH",,,,,,,,,,,,,,,,,,[,,"911",,,,"911"],,[,,"911",,,,"911"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],MK:[,[,,"1\\d\\d(?:\\d(?:\\d{2})?)?",,,,,,,[3,4,6]],,,[,,"1(?:1(?:2|6\\d{3})|9[2-4])",,,,"112",,,[3,6]],[,,,,,,,,,[-1]],,,,"MK",,,,,,,,,,,,,,,,,,[,,"1(?:12|9[2-4])",,,,"112",,,[3]],,[,,"1(?:1(?:2|8\\d)|3\\d|9[2-4])|1(?:16|2\\d)\\d{3}",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],ML:[,[,,"[136-8]\\d{1,4}",,,,,,,[2,3,4,5]],,,[,,"1[578]|(?:352|67)00|7402|(?:677|744|8000)\\d",,,,"15",,,[2,4,5]],[,,"(?:12|800)2\\d|3(?:52(?:11|2[02]|3[04-6]|99)|7574)",,,,"1220",,,[4,5]],,,,"ML",,,,,,,,,,,,,,,,,,[,,"1[578]",,,,"15",,,[2]],,[,,"1(?:1(?:[013-9]\\d|2)|2(?:1[02-469]|2[13])|[578])|350(?:35|57)|67(?:0[09]|[59]9|77|8[89])|74(?:0[02]|44|55)|800[0-2][12]|3(?:52|[67]\\d)\\d\\d",,,,"15"],[,,"37(?:433|575)|7400|8001\\d",,,,"7400",,,[4,5]],[,,"3503\\d|(?:3[67]\\d|800)\\d\\d",,,,"35030",,,[5]],,[,,"374(?:0[24-9]|[1-9]\\d)|7400|3(?:6\\d|75)\\d\\d",,,,"7400",,,[4,5]]],MM:[,[,,"1\\d\\d",,,,,,,[3]],,,[,,"199",,,,"199"],[,,,,,,,,,[-1]],,,,"MM",,,,,,,,,,,,,,,,,,[,,"199",,,,"199"],,[,,"199",,,,"199"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],MN:[,[,,"1\\d\\d",,,,,,,[3]],,,[,,"10[0-35]",,,,"100"],[,,,,,,,,,[-1]],,,,"MN",,,,,,,,,,,,,,,,,,[,,"10[0-35]",,,,"100"],,[,,"10[0-35]",,,,"100"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],MO:[,[,,"9\\d\\d",,,,,,,[3]],,,[,,"999",,,,"999"],[,,,,,,,,,[-1]],,,,"MO",,,,,,,,,,,,,,,,,,[,,"999",,,,"999"],,[,,"999",,,,"999"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],MP:[,[,,"9\\d\\d",,,,,,,[3]],,,[,,"9(?:11|88)",,,,"911"],[,,,,,,,,,[-1]],,,,"MP",,,,,,,,,,,,,,,,,,[,,"911",,,,"911"],,[,,"9(?:11|88)",,,,"911"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],MQ:[,[,,"[13]\\d(?:\\d(?:\\d(?:\\d{2})?)?)?",,,,,,,[2,3,4,6]],,,[,,"1(?:12|[578])|3[01]\\d\\d",,,,"15",,,[2,3,4]],[,,"3[2469]\\d\\d",,,,"3200",,,[4]],,,,"MQ",,,,,,,,,,,,,,,,,,[,,"1(?:12|[578])",,,,"15",,,[2,3]],,[,,"1(?:12|[578])|(?:118[02-9]|3[0-2469])\\d\\d",,,,"15"],[,,"118\\d{3}",,,,"118000",,,[6]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],MR:[,[,,"1\\d",,,,,,,[2]],,,[,,"1[78]",,,,"17"],[,,,,,,,,,[-1]],,,,"MR",,,,,,,,,,,,,,,,,,[,,"1[78]",,,,"17"],,[,,"1[78]",,,,"17"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],MS:[,[,,"[29]\\d\\d",,,,,,,[3]],,,[,,"9(?:11|88|99)",,,,"911"],[,,,,,,,,,[-1]],,,,"MS",,,,,,,,,,,,,,,,,,[,,"9(?:11|99)",,,,"911"],,[,,"211|9(?:11|88|99)",,,,"211"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],MT:[,[,,"1\\d\\d(?:\\d{3})?",,,,,,,[3,6]],,,[,,"11(?:2|6\\d{3})",,,,"112"],[,,,,,,,,,[-1]],,,,"MT",,,,,,,,,,,,,,,,,,[,,"112",,,,"112",,,[3]],,[,,"11(?:2|6(?:000|1(?:11|23)))",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],MU:[,[,,"[189]\\d{2,4}",,,,,,,[3,4,5]],,,[,,"11[45]|99[59]",,,,"114",,,[3]],[,,,,,,,,,[-1]],,,,"MU",,,,,,,,,,,,,,,,,,[,,"11[45]|99[59]",,,,"114",,,[3]],,[,,"1\\d{2,4}|(?:8\\d\\d|99)\\d",,,,"100"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],MV:[,[,,"[14]\\d{2,3}",,,,,,,[3,4]],,,[,,"1(?:02|1[89])",,,,"102",,,[3]],[,,,,,,,,,[-1]],,,,"MV",,,,,,,,,,,,,,,,,,[,,"1(?:02|1[89])",,,,"102",,,[3]],,[,,"1(?:[0-37-9]|[4-6]\\d)\\d|4040|1[45]1",,,,"100"],[,,,,,,,,,[-1]],[,,"1[45]1",,,,"141",,,[3]],,[,,,,,,,,,[-1]]],MW:[,[,,"[189]\\d\\d(?:\\d{2})?",,,,,,,[3,5]],,,[,,"199|99[7-9]",,,,"199",,,[3]],[,,,,,,,,,[-1]],,,,"MW",,,,,,,,,,,,,,,,,,[,,"199|99[7-9]",,,,"199",,,[3]],,[,,"199|80400|99[7-9]",,,,"199"],[,,,,,,,,,[-1]],[,,"804\\d\\d",,,,"80400",,,[5]],,[,,"804\\d\\d",,,,"80400",,,[5]]],MX:[,[,,"[0579]\\d{2,4}",,,,,,,[3,4,5]],,,[,,"0(?:6[0568]|80)|911",,,,"060",,,[3]],[,,"(?:530\\d|776)\\d",,,,"7760",,,[4,5]],,,,"MX",,,,,,,,,,,,,,,,,,[,,"0(?:6[0568]|80)|911",,,,"060",,,[3]],,[,,"0[1-9]\\d|53053|7766|911",,,,"010"],[,,,,,,,,,[-1]],[,,"0(?:[249]0|[35][01])",,,,"020",,,[3]],,[,,,,,,,,,[-1]]],MY:[,[,,"[1369]\\d{2,4}",,,,,,,[3,4,5]],,,[,,"112|999",,,,"112",,,[3]],[,,,,,,,,,[-1]],,,,"MY",,,,,,,,,,,,,,,,,,[,,"112|999",,,,"112",,,[3]],,[,,"1(?:0[01348]|1(?:[02]|1[128]|311)|2(?:0[125]|[13-6]|2\\d{0,2})|(?:3[1-35-79]|7[45])\\d\\d?|5(?:454|5\\d\\d?|77|888|999?)|8(?:18?|2|8[18])|9(?:[124]\\d?|68|71|9[0679]))|66628|99[1-469]|13[5-7]|(?:1(?:0[569]|309|5[12]|7[136-9]|9[03])|3[23679]\\d\\d)\\d",,,,"100"],[,,"666\\d\\d",,,,"66600",,,[5]],[,,,,,,,,,[-1]],,[,,"(?:3[23679]\\d|666)\\d\\d",,,,"32000",,,[5]]],MZ:[,[,,"1\\d{2,3}",,,,,,,[3,4]],,,[,,"1(?:1[79]|9[78])",,,,"117",,,[3]],[,,,,,,,,,[-1]],,,,"MZ",,,,,,,,,,,,,,,,,,[,,"1(?:1[79]|9[78])",,,,"117",,,[3]],,[,,"1(?:[02-5]\\d\\d|1[79]|9[78])",,,,"117"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],NA:[,[,,"[19]\\d{2,4}",,,,,,,[3,4,5]],,,[,,"10111",,,,"10111",,,[5]],[,,,,,,,,,[-1]],,,,"NA",,,,,,,,,,,,,,,,,,[,,"10111",,,,"10111",,,[5]],,[,,"(?:10|93)111|(?:1\\d|9)\\d\\d",,,,"900"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],NC:[,[,,"[135]\\d{1,3}",,,,,,,[2,3,4]],,,[,,"1(?:0(?:00|1[23]|3[0-2]|8\\d)|[5-8])|363\\d|577",,,,"15"],[,,,,,,,,,[-1]],,,,"NC",,,,,,,,,,,,,,,,,,[,,"1[5-8]",,,,"15",,,[2]],,[,,"1(?:0(?:0[06]|1[02-46]|20|3[0-25]|42|5[058]|77|88)|[5-8])|3631|5[6-8]\\d",,,,"15"],[,,"5(?:67|88)",,,,"567",,,[3]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],NE:[,[,,"[1-3578]\\d(?:\\d(?:\\d{3})?)?",,,,,,,[2,3,6]],,,[,,"1(?:18|[578])|723\\d{3}",,,,"15"],[,,,,,,,,,[-1]],,,,"NE",,,,,,,,,,,,,,,,,,[,,"1(?:18|[578])|723141",,,,"15"],,[,,"1(?:0[01]|1[128]|2[034]|3[013]|[46]0|55?|[78])|222|333|555|723141|888",,,,"15"],[,,,,,,,,,[-1]],[,,"1(?:0[01]|1[12]|2[034]|3[013]|[46]0|55)|222|333|555|888",,,,"100",,,[3]],,[,,,,,,,,,[-1]]],NF:[,[,,"9\\d\\d",,,,,,,[3]],,,[,,"9(?:11|55|77)",,,,"911"],[,,,,,,,,,[-1]],,,,"NF",,,,,,,,,,,,,,,,,,[,,"9(?:11|55|77)",,,,"911"],,[,,"9(?:11|55|77)",,,,"911"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],NG:[,[,,"[14]\\d\\d(?:\\d{2})?",,,,,,,[3,5]],,,[,,"199",,,,"199",,,[3]],[,,,,,,,,,[-1]],,,,"NG",,,,,,,,,,,,,,,,,,[,,"199",,,,"199",,,[3]],,[,,"199|40700",,,,"199"],[,,,,,,,,,[-1]],[,,"407\\d\\d",,,,"40700",,,[5]],,[,,"407\\d\\d",,,,"40700",,,[5]]],NI:[,[,,"[12467]\\d{2,3}",,,,,,,[3,4]],,,[,,"1(?:1[58]|2[08])|737\\d",,,,"115"],[,,,,,,,,,[-1]],,,,"NI",,,,,,,,,,,,,,,,,,[,,"1(?:1[58]|2[08])",,,,"115",,,[3]],,[,,"1(?:1[58]|200)|4878|7(?:010|373)|12[0158]|(?:19|[267]1)00",,,,"115"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],NL:[,[,,"[1349]\\d\\d(?:\\d(?:\\d{2})?)?",,,,,,,[3,4,6]],,,[,,"11(?:2|6\\d{3})|911",,,,"112",,,[3,6]],[,,,,,,,,,[-1]],,,,"NL",,,,,,,,,,,,,,,,,,[,,"112|911",,,,"112",,,[3]],,[,,"1(?:1(?:2|6(?:00[06]|1(?:11|23)))|2(?:0[0-4]|3[34]|44)|3[03-9]\\d|400|8(?:[02-9]\\d|1[0-79]))|[34]000|911",,,,"112"],[,,,,,,,,,[-1]],[,,"120\\d",,,,"1200",,,[4]],,[,,"[34]00\\d",,,,"3000",,,[4]]],NO:[,[,,"[01]\\d{2,5}",,,,,,,[3,4,5,6]],,,[,,"11(?:[023]|6\\d{3})",,,,"110",,,[3,6]],[,,,,,,,,,[-1]],,,,"NO",,,,,,,,,,,,,,,,,,[,,"11[023]",,,,"110",,,[3]],,[,,"04\\d{3}|1(?:1(?:[0239]|61(?:1[17]|23))|2[048]|4(?:12|[59])|7[57]|8
15672[5-9]
vendor: 21,547 bytes, line 15672
15672\\d|90)",,,,"110"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,"04\\d{3}",,,,"04000",,,[5]]],NP:[,[,,"1\\d{2,3}",,,,,,,[3,4]],,,[,,"1(?:0[0-36]|12)|1(?:09|11)\\d",,,,"100"],[,,,,,,,,,[-1]],,,,"NP",,,,,,,,,,,,,,,,,,[,,"1(?:0[0-3]|12)",,,,"100",,,[3]],,[,,"1(?:0(?:[0-36]|98)|1(?:1[1-4]|2))",,,,"100"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],NR:[,[,,"1\\d\\d",,,,,,,[3]],,,[,,"11[0-2]",,,,"110"],[,,,,,,,,,[-1]],,,,"NR",,,,,,,,,,,,,,,,,,[,,"11[0-2]",,,,"110"],,[,,"1(?:1[0-2]|23|92)",,,,"110"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],NU:[,[,,"[019]\\d\\d",,,,,,,[3]],,,[,,"999",,,,"999"],[,,,,,,,,,[-1]],,,,"NU",,,,,,,,,,,,,,,,,,[,,"999",,,,"999"],,[,,"01[05]|101|999",,,,"010"],[,,,,,,,,,[-1]],[,,"010",,,,"010"],,[,,,,,,,,,[-1]]],NZ:[,[,,"\\d{3,4}",,,,,,,[3,4]],,,[,,"111",,,,"111",,,[3]],[,,"018",,,,"018",,,[3]],,,,"NZ",,,,,,,,,,,,,,,,,,[,,"111",,,,"111",,,[3]],,[,,"018|1(?:(?:1|37)1|(?:23|94)4|7[03]7)|[2-57-9]\\d{2,3}|6(?:161|26[0-3]|742)",,,,"018"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,"018|(?:1(?:23|37|7[03]|94)|6(?:[12]6|74))\\d|[2-57-9]\\d{2,3}",,,,"018"]],OM:[,[,,"[19]\\d{3}",,,,,,,[4]],,,[,,"1444|999\\d",,,,"1444"],[,,,,,,,,,[-1]],,,,"OM",,,,,,,,,,,,,,,,,,[,,"1444|9999",,,,"1444"],,[,,"1(?:111|222|4(?:4[0-5]|50|66|7[7-9])|51[0-8])|9999|1(?:2[3-5]|3[0-2]|50)\\d",,,,"1111"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],PA:[,[,,"[19]\\d\\d",,,,,,,[3]],,,[,,"911",,,,"911"],[,,,,,,,,,[-1]],,,,"PA",,,,,,,,,,,,,,,,,,[,,"911",,,,"911"],,[,,"10[2-4]|911",,,,"102"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],PE:[,[,,"1\\d\\d",,,,,,,[3]],,,[,,"1(?:05|1[67])",,,,"105"],[,,,,,,,,,[-1]],,,,"PE",,,,,,,,,,,,,,,,,,[,,"1(?:05|1[67])",,,,"105"],,[,,"1(?:05|1[67])",,,,"105"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],PF:[,[,,"1\\d",,,,,,,[2]],,,[,,"1[578]",,,,"15"],[,,,,,,,,,[-1]],,,,"PF",,,,,,,,,,,,,,,,,,[,,"1[578]",,,,"15"],,[,,"1[578]",,,,"15"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],PG:[,[,,"[01]\\d{2,6}",,,,,,,[3,4,5,6,7]],,,[,,"000|11[01]",,,,"000",,,[3]],[,,,,,,,,,[-1]],,,,"PG",,,,,,,,,,,,,,,,,,[,,"000|11[01]",,,,"000",,,[3]],,[,,"000|1(?:1[01]|5\\d\\d|6\\d{2,5})",,,,"000"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,"16\\d{2,5}",,,,"1600",,,[4,5,6,7]]],PH:[,[,,"[19]\\d\\d",,,,,,,[3]],,,[,,"11[27]|911",,,,"112"],[,,,,,,,,,[-1]],,,,"PH",,,,,,,,,,,,,,,,,,[,,"11[27]|911",,,,"112"],,[,,"11[27]|911",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],PK:[,[,,"1\\d{1,3}",,,,,,,[2,3,4]],,,[,,"1(?:1(?:2\\d?|5)|[56])",,,,"15"],[,,,,,,,,,[-1]],,,,"PK",,,,,,,,,,,,,,,,,,[,,"1(?:1(?:22?|5)|[56])",,,,"15"],,[,,"1(?:122|3[014]|[56])|11[2457-9]",,,,"15"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],PL:[,[,,"[19]\\d\\d(?:\\d{2,3})?",,,,,,,[3,5,6]],,,[,,"11(?:2|6\\d{3})|99[7-9]",,,,"112",,,[3,6]],[,,,,,,,,,[-1]],,,,"PL",,,,,,,,,,,,,,,,,,[,,"112|99[7-9]",,,,"112",,,[3]],,[,,"1(?:1(?:2|61(?:11|23)|891[23])|9\\d{3})|9(?:8[4-7]|9[1-9])|11[68]000",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],PM:[,[,,"[13]\\d(?:\\d\\d(?:\\d{2})?)?",,,,,,,[2,4,6]],,,[,,"1[578]|3(?:0\\d|1[689])\\d",,,,"15",,,[2,4]],[,,"3[2469]\\d\\d",,,,"3200",,,[4]],,,,"PM",,,,,,,,,,,,,,,,,,[,,"1[578]",,,,"15",,,[2]],,[,,"1[578]|31(?:03|[689]\\d)|(?:118[02-9]|3[02469])\\d\\d",,,,"15"],[,,"118\\d{3}",,,,"118000",,,[6]],[,,"310\\d",,,,"3100",,,[4]],,[,,,,,,,,,[-1]]],PR:[,[,,"9\\d\\d",,,,,,,[3]],,,[,,"9(?:11|88)",,,,"911"],[,,,,,,,,,[-1]],,,,"PR",,,,,,,,,,,,,,,,,,[,,"911",,,,"911"],,[,,"9(?:11|88)",,,,"911"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],PS:[,[,,"1\\d{2,3}",,,,,,,[3,4]],,,[,,"1(?:0[0-2]|66)",,,,"100",,,[3]],[,,,,,,,,,[-1]],,,,"PS",,,,,,,,,,,,,,,,,,[,,"10[0-2]",,,,"100",,,[3]],,[,,"1(?:0[0-2]|122|44|66|99)",,,,"100"],[,,,,,,,,,[-1]],[,,"112\\d",,,,"1120",,,[4]],,[,,,,,,,,,[-1]]],PT:[,[,,"1\\d\\d(?:\\d(?:\\d{2})?)?",,,,,,,[3,4,6]],,,[,,"11[257]|1(?:16\\d\\d|5[1589]|8[279])\\d",,,,"112"],[,,,,,,,,,[-1]],,,,"PT",,,,,,,,,,,,,,,,,,[,,"11[25]",,,,"112",,,[3]],,[,,"1(?:0(?:45|5[01])|1(?:[2578]|600[06])|4(?:1[45]|4)|583|6(?:1[0236]|3[02]|9[169]))|1(?:1611|59)1|1[068]78|1[08]9[16]|1(?:0[1-38]|40|5[15]|6[258]|82)0",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],PW:[,[,,"9\\d\\d",,,,,,,[3]],,,[,,"911",,,,"911"],[,,,,,,,,,[-1]],,,,"PW",,,,,,,,,,,,,,,,,,[,,"911",,,,"911"],,[,,"911",,,,"911"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],PY:[,[,,"[19]\\d\\d",,,,,,,[3]],,,[,,"128|911",,,,"128"],[,,,,,,,,,[-1]],,,,"PY",,,,,,,,,,,,,,,,,,[,,"128|911",,,,"128"],,[,,"1[1-9]\\d|911",,,,"110"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],QA:[,[,,"[129]\\d{2,4}",,,,,,,[3,4,5]],,,[,,"99\\d",,,,"990",,,[3]],[,,"900",,,,"900",,,[3]],,,,"QA",,,,,,,,,,,,,,,,,,[,,"999",,,,"999",,,[3]],,[,,"9(?:00|[19]\\d)|(?:1|20|9[27]\\d)\\d\\d",,,,"100"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],RE:[,[,,"1\\d\\d?",,,,,,,[2,3]],,,[,,"1(?:12|[578])",,,,"15"],[,,,,,,,,,[-1]],,,,"RE",,,,,,,,,,,,,,,,,,[,,"1(?:12|[578])",,,,"15"],,[,,"1(?:12|[578])",,,,"15"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],RO:[,[,,"[18]\\d{2,5}",,,,,,,[3,4,5,6]],,,[,,"11(?:2|6\\d{3})",,,,"112",,,[3,6]],[,,"(?:1(?:18[39]|[24])|8[48])\\d\\d",,,,"1200",,,[4,6]],,,,"RO",,,,,,,,,,,,,,,,,,[,,"112",,,,"112",,,[3]],,[,,"1(?:1(?:2|6(?:000|1(?:11|23))|8(?:(?:01|8[18])1|119|[23]00|932))|[24]\\d\\d|9(?:0(?:00|19)|1[19]|21|3[02]|5[178]))|8[48]\\d\\d",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,"(?:1[24]|8[48])\\d\\d",,,,"1200",,,[4]]],RS:[,[,,"[19]\\d{1,5}",,,,,,,[2,3,4,5,6]],,,[,,"112|9[2-4]",,,,"92",,,[2,3]],[,,,,,,,,,[-1]],,,,"RS",,,,,,,,,,,,,,,,,,[,,"112|9[2-4]",,,,"92",,,[2,3]],,[,,"1[189]\\d{1,4}|9[2-4]",,,,"92"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],RU:[,[,,"[01]\\d\\d?",,,,,,,[2,3]],,,[,,"112|(?:0|10)[1-3]",,,,"01"],[,,,,,,,,,[-1]],,,,"RU",,,,,,,,,,,,,,,,,,[,,"112|(?:0|10)[1-3]",,,,"01"],,[,,"112|(?:0|10)[1-4]",,,,"01"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],RW:[,[,,"[14]\\d\\d",,,,,,,[3]],,,[,,"11[1245]",,,,"111"],[,,,,,,,,,[-1]],,,,"RW",,,,,,,,,,,,,,,,,,[,,"11[12]",,,,"111"],,[,,"1(?:0[0-2]|1[0-24-6]|2[13]|70|99)|456",,,,"100"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],SA:[,[,,"[19]\\d{2,5}",,,,,,,[3,4,5,6]],,,[,,"11(?:2|6\\d{3})|9(?:11|37|9[7-9])",,,,"112",,,[3,6]],[,,,,,,,,,[-1]],,,,"SA",,,,,,,,,,,,,,,,,,[,,"112|9(?:11|9[79])",,,,"112",,,[3]],,[,,"1(?:1(?:00|2|6111)|410|9(?:00|1[89]|9(?:099|22|9[0-3])))|9(?:0[24-79]|11|3[379]|40|66|8[5-9]|9[02-9])",,,,"112"],[,,"141\\d",,,,"1410",,,[4]],[,,"1(?:10|41)\\d|90[24679]",,,,"902",,,[3,4]],,[,,,,,,,,,[-1]]],SB:[,[,,"[127-9]\\d\\d",,,,,,,[3]],,,[,,"999",,,,"999"],[,,,,,,,,,[-1]],,,,"SB",,,,,,,,,,,,,,,,,,[,,"999",,,,"999"],,[,,"1(?:[02]\\d|1[12]|[35][01]|[49][1-9]|6[2-9]|7[7-9]|8[0-8])|269|777|835|9(?:[01]1|22|33|55|77|88|99)",,,,"100"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],SC:[,[,,"[19]\\d{2,3}",,,,,,,[3,4]],,,[,,"1(?:1[1468]|60)|999",,,,"111",,,[3]],[,,,,,,,,,[-1]],,,,"SC",,,,,,,,,,,,,,,,,,[,,"999",,,,"999",,,[3]],,[,,"1(?:[06]\\d|1[0-246-8]|2[0-8]|3[13]|4[0-2]|5[15]|7[124-6]|8[158]|9[015])|9(?:6\\d\\d|99)",,,,"100"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],SD:[,[,,"9\\d\\d",,,,,,,[3]],,,[,,"999",,,,"999"],[,,,,,,,,,[-1]],,,,"SD",,,,,,,,,,,,,,,,,,[,,"999",,,,"999"],,[,,"999",,,,"999"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],SE:[,[,,"[1-37-9]\\d{2,5}",,,,,,,[3,4,5,6]],,,[,,"11(?:2|(?:3|6\\d)\\d\\d|414|77)|900\\d\\d",,,,"112"],[,,"11811[89]|72\\d{3}",,,,"72000",,,[5,6]],,,,"SE",,,,,,,,,,,,,,,,,,[,,"112|90000",,,,"112",,,[3,5]],,[,,"11(?:[25]|313|6(?:00[06]|1(?:1[17]|23))|7[0-8])|2(?:2[02358]|33|4[01]|50|6[1-4])|32[13]|8(?:22|88)|9(?:0(?:00|51)0|12)|(?:11(?:4|8[02-46-9])|7\\d\\d|90[2-4])\\d\\d|(?:118|90)1(?:[02-9]\\d|1[013-9])",,,,"112"],[,,,,,,,,,[-1]],[,,"2(?:2[02358]|33|4[01]|50|6[1-4])|32[13]|8(?:22|88)|912",,,,"220",,,[3]],,[,,"7\\d{4}",,,,"70000",,,[5]]],SG:[,[,,"[179]\\d{2,4}",,,,,,,[3,4,5]],,,[,,"99[359]",,,,"993",,,[3]],[,,,,,,,,,[-1]],,,,"SG",,,,,,,,,,,,,,,,,,[,,"99[359]",,,,"993",,,[3]],,[,,"1(?:(?:[01368]\\d|44)\\d|[57]\\d{2,3}|9(?:0[1-9]|[1-9]\\d))|77222|99[02-9]|100",,,,"100"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,"772\\d\\d",,,,"77200",,,[5]]],SH:[,[,,"[129]\\d{2,4}",,,,,,,[3,4,5]],,,[,,"9(?:11|99)",,,,"911",,,[3]],[,,,,,,,,,[-1]],,,,"SH",,,,,,,,,,,,,,,,,,[,,"9(?:11|99)",,,,"911",,,[3]],,[,,"1\\d{2,3}|26[01]\\d\\d|9(?:11|99)",,,,"100"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],SI:[,[,,"1\\d{2,5}",,,,,,,[3,4,5,6]],,,[,,"11(?:(?:0|6\\d)\\d\\d|[23]|8\\d\\d?)",,,,"112"],[,,,,,,,,,[-1]],,,,"SI",,,,,,,,,,,,,,,,,,[,,"11[23]",,,,"112",,,[3]],,[,,"1(?:1(?:00[146]|[23]|6(?:000|1(?:11|23))|8(?:[08]|99))|9(?:059|1(?:0[12]|16)|5|70|87|9(?:00|[149])))|19(?:08|81)[09]",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],SJ:[,[,,"[01]\\d\\d(?:\\d{2})?",,,,,,,[3,5]],,,[,,"11[023]",,,,"110",,,[3]],[,,,,,,,,,[-1]],,,,"SJ",,,,,,,,,,,,,,,,,,[,,"11[023]",,,,"110",,,[3]],,[,,"04\\d{3}|11[023]",,,,"110"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,"04\\d{3}",,,,"04000",,,[5]]],SK:[,[,,"1\\d{2,5}",,,,,,,[3,4,5,6]],,,[,,"1(?:1(?:2|6\\d{3})|5[058])",,,,"112",,,[3,6]],[,,,,,,,,,[-1]],,,,"SK",,,,,,,,,,,,,,,,,,[,,"1(?:12|5[058])",,,,"112",,,[3]],,[,,"1(?:1(?:2|6(?:000|111)|8[0-8])|[248]\\d{3}|5[0589])",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],SL:[,[,,"[069]\\d\\d(?:\\d{2})?",,,,,,,[3,5]],,,[,,"(?:01|99)9",,,,"019",,,[3]],[,,,,,,,,,[-1]],,,,"SL",,,,,,,,,,,,,,,,,,[,,"(?:01|99)9",,,,"019",,,[3]],,[,,"(?:01|99)9|60400",,,,"019"],[,,,,,,,,,[-1]],[,,"604\\d\\d",,,,"60400",,,[5]],,[,,"604\\d\\d",,,,"60400",,,[5]]],SM:[,[,,"1\\d\\d",,,,,,,[3]],,,[,,"11[358]",,,,"113"],[,,,,,,,,,[-1]],,,,"SM",,,,,,,,,,,,,,,,,,[,,"11[358]",,,,"113"],,[,,"11[358]",,,,"113"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],SN:[,[,,"[12]\\d{1,5}",,,,,,,[2,3,4,5,6]],,,[,,"1(?:515|[78])|2(?:00|1)\\d{3}",,,,"17",,,[2,4,5,6]],[,,"2(?:0[246]|[468])\\d{3}",,,,"24000",,,[5,6]],,,,"SN",,,,,,,,,,,,,,,,,,[,,"1[78]",,,,"17",,,[2]],,[,,"1(?:1[69]|(?:[246]\\d|51)\\d)|2(?:0[0-246]|[12468])\\d{3}|1[278]",,,,"12"],[,,"2(?:01|2)\\d{3}",,,,"22000",,,[5,6]],[,,"1[46]\\d\\d",,,,"1400",,,[4]],,[,,"2[468]\\d{3}",,,,"24000",,,[5]]],SO:[,[,,"[57-9]\\d\\d",,,,,,,[3]],,,[,,"555|888|999",,,,"555"],[,,,,,,,,,[-1]],,,,"SO",,,,,,,,,,,,,,,,,,[,,"555|888|999",,,,"555"],,[,,"555|777|888|999",,,,"555"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],SR:[,[,,"1\\d{2,3}",,,,,,,[3,4]],,,[,,"115",,,,"115",,,[3]],[,,,,,,,,,[-1]],,,,"SR",,,,,,,,,,,,,,,,,,[,,"115",,,,"115",,,[3]],,[,,"1\\d{2,3}",,,,"100"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],SS:[,[,,"9\\d\\d",,,,,,,[3]],,,[,,"999",,,,"999"],[,,,,,,,,,[-1]],,,,"SS",,,,,,,,,,,,,,,,,,[,,"999",,,,"999"],,[,,"999",,,,"999"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],ST:[,[,,"1\\d\\d",,,,,,,[3]],,,[,,"112",,,,"112"],[,,,,,,,,,[-1]],,,,"ST",,,,,,,,,,,,,,,,,,[,,"112",,,,"112"],,[,,"112",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],SV:[,[,,"[149]\\d\\d(?:\\d{2,3})?",,,,,,,[3,5,6]],,,[,,"116\\d{3}|911",,,,"911",,,[3,6]],[,,,,,,,,,[-1]],,,,"SV",,,,,,,,,,,,,,,,,,[,,"91[13]",,,,"911",,,[3]],,[,,"1(?:1(?:2|6111)|2[136-8]|3[0-6]|9[05])|40404|9(?:1\\d|29)",,,,"112"],[,,,,,,,,,[-1]],[,,"404\\d\\d",,,,"40400",,,[5]],,[,,"404\\d\\d",,,,"40400",,,[5]]],SX:[,[,,"9\\d\\d",,,,,,,[3]],,,[,,"9(?:19|88)",,,,"919"],[,,,,,,,,,[-1]],,,,"SX",,,,,,,,,,,,,,,,,,[,,"919",,,,"919"],,[,,"9(?:19|88)",,,,"919"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],SY:[,[,,"1\\d\\d",,,,,,,[3]],,,[,,"11[023]",,,,"110"],[,,,,,,,,,[-1]],,,,"SY",,,,,,,,,,,,,,,,,,[,,"11[023]",,,,"110"],,[,,"11[023]",,,,"110"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],SZ:[,[,,"9\\d\\d",,,,,,,[3]],,,[,,"999",,,,"999"],[,,,,,,,,,[-1]],,,,"SZ",,,,,,,,,,,,,,,,,,[,,"999",,,,"999"],,[,,"999",,,,"999"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],TC:[,[,,"9\\d\\d",,,,,,,[3]],,,[,,"9(?:11|88|99)",,,,"911"],[,,,,,,,,,[-1]],,,,"TC",,,,,,,,,,,,,,,,,,[,,"9(?:11|99)",,,,"911"],,[,,"9(?:11|88|99)",,,,"911"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],TD:[,[,,"1\\d",,,,,,,[2]],,,[,,"1[78]",,,,"17"],[,,,,,,,,,[-1]],,,,"TD",,,,,,,,,,,,,,,,,,[,,"1[78]",,,,"17"],,[,,"1[78]",,,,"17"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],TG:[,[,,"1\\d{2,3}",,,,,,,[3,4]],,,[,,"1(?:1[78]|7[127])",,,,"117",,,[3]],[,,,,,,,,,[-1]],,,,"TG",,,,,,,,,,,,,,,,,,[,,"1(?:1[78]|7[127])",,,,"117",,,[3]],,[,,"1(?:011|1[078]|7[127])",,,,"110"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],TH:[,[,,"1\\d{2,3}",,,,,,,[3,4]],,,[,,"1(?:1(?:00|2[03]|3[3479]|7[67]|9[0246])|578|6(?:44|6[79]|88|9[16])|88\\d|9[19])|1[15]55",,,,"191"],[,,"1(?:113|2[23]\\d|5(?:09|56))",,,,"1113",,,[4]],,,,"TH",,,,,,,,,,,,,,,,,,[,,"1(?:669|9[19])",,,,"191"],,[,,"1(?:0[0-2]|1(?:0[03]|1[1-35]|2[0358]|3[03-79]|4[02-489]|5[04-9]|6[04-79]|7[03-9]|8[027-9]|9[02-9])|2(?:22|3[89]|66)|3(?:18|2[23]|3[013]|5[56]|6[45]|73)|477|5(?:0\\d|4[0-37-9]|5[1-8]|6[01679]|7[12568]|8[0-24589]|9[013589])|6(?:0[0-29]|2[03]|4[3-6]|6[1-9]|7[0257-9]|8[0158]|9[014-9])|7(?:[14]9|7[27]|90)|888|9[19])",,,,"100"],[,,"1(?:1(?:03|1[15]|2[58]|3[056]|4[02-49]|5[046-9]|7[03-589]|9[57-9])|5(?:0[0-8]|4[0-378]|5[1-478]|7[156])|6(?:20|4[356]|6[1-68]|7[057-9]|8[015]|9[0457-9]))|1(?:1[68]|26|3[1-35]|5[689]|60|7[17])\\d",,,,"1103",,,[4]],[,,"114[89]",,,,"1148",,,[4]],,[,,,,,,,,,[-1]]],TJ:[,[,,"1\\d\\d",,,,,,,[3]],,,[,,"1(?:0[1-3]|12)",,,,"101"],[,,,,,,,,,[-1]],,,,"TJ",,,,,,,,,,,,,,,,,,[,,"1(?:0[1-3]|12)",,,,"101"],,[,,"1(?:0[1-3]|12)",,,,"101"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],TL:[,[,,"1\\d\\d",,,,,,,[3]],,,[,,"11[25]",,,,"112"],[,,,,,,,,,[-1]],,,,"TL",,,,,,,,,,,,,,,,,,[,,"11[25]",,,,"112"],,[,,"1(?:0[02]|1[25]|2[0138]|72|9[07])",,,,"100"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],TM:[,[,,"0\\d",,,,,,,[2]],,,[,,"0[1-49]",,,,"01"],[,,,,,,,,,[-1]],,,,"TM",,,,,,,,,,,,,,,,,,[,,"0[1-3]",,,,"01"],,[,,"0[1-49]",,,,"01"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],TN:[,[,,"1\\d\\d",,,,,,,[3]],,,[,,"19[078]",,,,"190"],[,,,,,,,,,[-1]],,,,"TN",,,,,,,,,,,,,,,,,,[,,"19[078]",,,,"190"],,[,,"19[078]",,,,"190"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],TO:[,[,,"9\\d\\d",,,,,,,[3]],,,[,,"9(?:11|22|33|99)",,,,"911"],[,,,,,,,,,[-1]],,,,"TO",,,,,,,,,,,,,,,,,,[,,"9(?:11|22|33|99)",,,,"911"],,[,,"9(?:11|22|33|99)",,,,"911"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],TR:[,[,,"[1-9]\\d{2,4}",,,,,,,[3,4,5]],,,[,,"1(?:1[02]|22|3[126]|4[04]|5[15-9]|6[18]|77|83)",,,,"110",,,[3]],[,,,,,,,,,[-1]],,,,"TR",,,,,,,,,,,,,,,,,,[,,"1(?:1[02]|55)",,,,"110",,,[3]],,[,,"1(?:1(?:[02-79]|8(?:1[018]|2[0245]|3[2-4]|42|5[058]|6[06]|7[07]|8[01389]|9[089]))|3(?:37|[58]6|65)|471|5(?:07|78)|6(?:[02]6|99)|8(?:63|95))|2(?:077|268|4(?:17|23)|5(?:7[26]|82)|6[14]4|8\\d\\d|9(?:30|89))|3(?:0(?:05|72)|353|4(?:06|30|64)|502|674|747|851|9(?:1[29]|60))|4(?:0(?:25|3[12]|[47]2)|3(?:3[13]|[89]1)|439|5(?:43|55)|717|832)|5(?:145|290|[4-6]\\d\\d|772|833|9(?:[06]1|92))|6(?:236|6(?:12|39|8[59])|769)|7890|8(?:688|7(?:28|65)|85[06])|9(?:159|290)|1[2-9]\\d",,,,"110"],[,,"(?:285|542)0",,,,"2850",,,[4]],[,,,,,,,,,[-1]],,[,,"1(?:3(?:37|[58]6|65)|4(?:4|71)|5(?:07|78)|6(?:[02]6|99)|8(?:3|63|95))|(?:2(?:07|26|4[12]|5[78]|6[14]|8\\d|9[38])|3(?:0[07]|[38]5|4[036]|50|67|74|9[16])|4(?:0[2-47]|3[389]|[48]3|5[45]|71)|5(?:14|29|[4-6]\\d|77|83|9[069])|6(?:23|6[138]|76)|789|8(?:68|7[26]|85)|9(?:15|29))\\d",,,,"144",,,[3,4]]],TT:[,[,,"9\\d\\d",,,,,,,[3]],,,[,,"9(?:88|9[09])",,,,"988"],[,,,,,,,,,[-1]],,,,"TT",,,,,,,,,,,,,,,,,,[,,"99[09]",,,,"990"],,[,,"9(?:88|9[09])",,,,"988"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],TV:[,[,,"[19]\\d\\d",,,,,,,[3]],,,[,,"911",,,,"911"],[,,,,,,,,,[-1]],,,,"TV",,,,,,,,,,,,,,,,,,[,,"911",,,,"911"],,[,,"1\\d\\d|911",,,,"100"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],TW:[,[,,"1\\d{2,3}",,,,,,,[3,4]],,,[,,"11[0289]|1(?:81|92)\\d",,,,"110"],[,,"10[56]",,,,"105",,,[3]],,,,"TW",,,,,,,,,,,,,,,,,,[,,"11[029]",,,,"110",,,[3]],,[,,"1(?:0[04-6]|1[0237-9]|3[389]|6[05-8]|7[07]|8(?:0|11)|9(?:19|22|5[057]|68|8[05]|9[15689]))",,,,"100"],[,,"1(?:65|9(?:1\\d|50|85|98))",,,,"165"],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],TZ:[,[,,"[149]\\d\\d(?:\\d{2})?",,,,,,,[3,5]],,,[,,"1(?:1[0-79]|9[09])|999",,,,"110",,,[3]],[,,,,,,,,,[-1]],,,,"TZ",,,,,,,,,,,,,,,,,,[,,"11[0-245]|999",,,,"110",,,[3]],,[,,"1(?:1\\d|9[09])|46400|999",,,,"110"],[,,,,,,,,,[-1]],[,,"464\\d\\d",,,,"46400",,,[5]],,[,,"464\\d\\d",,,,"46400",,,[5]]],UA:[,[,,"[189]\\d{2,5}",,,,,,,[3,4,5,6]],,,[,,"1(?:0[1-3]|1(?:2|6\\d{3}))",,,,"101",,,[3,6]],[,,,,,,,,,[-1]],,,,"UA",,,,,,,,,,,,,,,,,,[,,"1(?:0[1-3]|12)",,,,"101",,,[3]],,[,,"1(?:0[1-49]|1(?:2|6(?:000|1(?:11|23))|8\\d\\d?)|(?:[278]|5\\d)\\d)|[89]00\\d\\d?|151|1(?:06|4\\d|6)\\d\\d",,,,"101"],[,,,,,,,,,[-1]],[,,"(?:118|[89]00)\\d\\d?",,,,"1180",,,[4,5]],,[,,,,,,,,,[-1]]],UG:[,[,,"9\\d\\d",,,,,,,[3]],,,[,,"999",,,,"999"],[,,,,,,,,,[-1]],,,,"UG",,,,,,,,,,,,,,,,,,[,,"999",,,,"999"],,[,,"999",,,,"999"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],US:[,[,,"[1-9]\\d{2,5}",,,,,,,[3,4,5,6]],,,[,,"112|611|9(?:11|33|88)",,,,"112",,,[3]],[,,"24280|(?:381|968)35|4(?:3355|7553|8221)|5(?:(?:489|934)2|5928)|72078|(?:323|960)40|(?:276|414)63|(?:2(?:520|744)|7390|9968)9|(?:693|732|976)88|(?:3(?:556|825)|5294|8623|9729)4|(?:3378|4136|7642|8961|9979)6|(?:4(?:6(?:15|32)|827)|(?:591|720)8|9529)7",,,,"24280",,,[5]],,,,"US",,,,,,,,,,,,,,,,,,[,,"112|911",,,,"112",,,[3]],,[,,"11(?:2|5[1-47]|[68]\\d|7[0-57]|98)|[2-9]\\d{3,5}|[2-8]11|9(?:11|33|88)",,,,"112"],[,,"2(?:3333|(?:4224|7562|900)2|56447|6688)|3(?:1010|2665|7404)|40404|560560|6(?:0060|22639|5246|7622)|7(?:0701|3822|4666)|8(?:(?:3825|7226)5|4816)|99099",,,,"23333",,,[5,6]],[,,"336\\d\\d|[2-9]\\d{3}|[2356]11",,,,"211",,,[3,4,5]],,[,,"[2-9]\\d{4,5}",,,,"20000",,,[5,6]]],UY:[,[,,"[129]\\d{2,4}",,,,,,,[3,4,5]],,,[,,"128|911",,,,"128",,,[3]],[,,,,,,,,,[-1]],,,,"UY",,,,,,,,,,,,,,,,,,[,,"128|911",,,,"128",,,[3]],,[,,"1(?:0[4-9]|1[2368]|2[0-3568]|787|997\\d?)|21997|911",,,,"104"],[,,"178\\d",,,,"1780",,,[4]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],UZ:[,[,,"[04]\\d(?:\\d(?:\\d{2})?)?",,,,,,,[2,3,5]],,,[,,"0(?:0[1-3]|[1-3]|50)",,,,"01",,,[2,3]],[,,,,,,,,,[-1]],,,,"UZ",,,,,,,,,,,,,,,,,,[,,"0(?:0[1-3]|[1-3]|50)",,,,"01",,,[2,3]],,[,,"0(?:0[1-3]|[1-3]|50)|45400",,,,"01"],[,,,,,,,,,[-1]],[,,"454\\d\\d",,,,"45400",,,[5]],,[,,"454\\d\\d",,,,"45400",,,[5]]],VA:[,[,,"1\\d\\d",,,,,,,[3]],,,[,,"11[2358]",,,,"112"],[,,,,,,,,,[-1]],,,,"VA",,,,,,,,,,,,,,,,,,[,,"11[2358]",,,,"112"],,[,,"11[2358]",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],VC:[,[,,"9\\d\\d",,,,,,,[3]],,,[,,"9(?:11|88|99)",,,,"911"],[,,,,,,,,,[-1]],,,,"VC",,,,,,,,,,,,,,,,,,[,,"9(?:11|99)",,,,"911"],,[,,"9(?:11|88|99)",,,,"911"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],VE:[,[,,"[19]\\d\\d",,,,,,,[3]],,,[,,"1(?:12|71)|911",,,,"112"],[,,,,,,,,,[-1]],,,,"VE",,,,,,,,,,,,,,,,,,[,,"1(?:12|71)|911",,,,"112"],,[,,"1(?:12|71)|911",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],VG:[,[,,"9\\d\\d",,,,,,,[3]],,,[,,"9(?:11|88|99)",,,,"911"],[,,,,,,,,,[-1]],,,,"VG",,,,,,,,,,,,,,,,,,[,,"9(?:11|99)",,,,"911"],,[,,"9(?:11|88|99)",,,,"911"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],VI:[,[,,"9\\d\\d",,,,,,,[3]],,,[,,"9(?:11|88)",,,,"911"],[,,,,,,,,,[-1]],,,,"VI",,,,,,,,,,,,,,,,,,[,,"911",,,,"911"],,[,,"9(?:11|88)",,,,"911"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],VN:[,[,,"1\\d\\d",,,,,,,[3]],,,[,,"11[3-5]",,,,"113"],[,,,,,,,,,[-1]],,,,"VN",,,,,,,,,,,,,,,,,,[,,"11[3-5]",,,,"113"],,[,,"11[3-5]",,,,"113"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],VU:[,[,,"1\\d\\d",,,,,,,[3]],,,[,,"112",,,,"112"],[,,,,,,,,,[-1]],,,,"VU",,,,,,,,,,,,,,,,,,[,,"112",,,,"112"],,[,,"112",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],WF:[,[,,"1\\d",,,,,,,[2]],,,[,,"1[578]",,,,"15"],[,,,,,,,,,[-1]],,,,"WF",,,,,,,,,,,,,,,,,,[,,"1[578]",,,,"15"],,[,,"1[578]",,,,"15"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],WS:[,[,,"[19]\\d\\d",,,,,,,[3]],,,[,,"9(?:11|9[4-69])",,,,"911"],[,,,,,,,,,[-1]],,,,"WS",,,,,,,,,,,,,,,,,,[,,"9(?:11|9[4-69])",,,,"911"],,[,,"1(?:1[12]|2[0-6]|[39]0)|9(?:11|9[4-79])",,,,"111"],[,,,,,,,,,[-1]],[,,"12[0-6]",,,,"120"],,[,,,,,,,,,[-1]]],XK:[,[,,"1\\d\\d",,,,,,,[3]],,,[,,"1(?:12|9[2-4])",,,,"112"],[,,,,,,,,,[-1]],,,,"XK",,,,,,,,,,,,,,,,,,[,,"1(?:12|9[2-4])",,,,"112"],,[,,"1(?:12|9[2-4])",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],YE:[,[,,"1\\d\\d",,,,,,,[3]],,,[,,"19[1459]",,,,"191"],[,,,,,,,,,[-1]],,,,"YE",,,,,,,,,,,,,,,,,,[,,"19[1459]",,,,"191"],,[,,"19[1459]",,,,"191"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],YT:[,[,,"1\\d\\d?",,,,,,,[2,3]],,,[,,"1(?:12|5)",,,,"15"],[,,,,,,,,,[-1]],,,,"YT",,,,,,,,,,,,,,,,,,[,,"1(?:12|5)",,,,"15"],,[,,"1(?:12|5)",,,,"15"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],ZA:[,[,,"[134]\\d{2,4}",,,,,,,[3,4,5]],,,[,,"1(?:01\\d\\d|12)",,,,"112",,,[3,5]],[,,"41(?:348|851)",,,,"41348",,,[5]],,,,"ZA",,,,,,,,,,,,,,,,,,[,,"1(?:01(?:11|77)|12)",,,,"112",,,[3,5]],,[,,"1(?:0(?:1(?:11|77)|20|7)|1[12]|77(?:3[237]|[45]7|6[279]|9[26]))|[34]\\d{4}",,,,"107"],[,,"3(?:078[23]|7(?:064|567)|8126)|4(?:394[16]|7751|8837)|4[23]699",,,,"30782",,,[5]],[,,"111",,,,"111",,,[3]],,[,,"[34]\\d{4}",,,,"30000",,,[5]]],ZM:[,[,,"[19]\\d\\d",,,,,,,[3]],,,[,,"112|99[139]",,,,"112"],[,,,,,,,,,[-1]],,,,"ZM",,,,,,,,,,,,,,,,,,[,,"112|99[139]",,,,"112"],,[,,"112|99[139]",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],ZW:[,[,,"[139]\\d\\d(?:\\d{2})?",,,,,,,[3,5]],,,[,,"112|9(?:5[023]|61|9[3-59])",,,,"112",,,[3]],[,,"3[013-57-9]\\d{3}",,,,"30000",,,[5]],,,,"ZW",,,,,,,,,,,,,,,,,,[,,"112|99[3-59]",,,,"112",,,[3]],,[,,"11[2469]|3[013-57-9]\\d{3}|9(?:5[023]|6[0-25]|9[3-59])",,,,"112"],[,,,,,,,,,[-1]],[,,"114|9(?:5[023]|6[0-25])",,,,"114",,,[3]],,[,,,,,,,,,[-1]]]}
15672,i18n.phonenumbers.ShortNumberInfo=function(){this.regionToMetadataMap={}},goog.addSingletonGetter(i18n.phonenumbers.ShortNumberInfo),i18n.phonenumbers.ShortNumberInfo.REGIONS_WHERE_EMERGENCY_NUMBERS_MUST_BE_EXACT_=["BR","CL","NI"],i18n.phonenumbers.ShortNumberInfo.ShortNumberCost={TOLL_FREE:0,STANDARD_RATE:1,PREMIUM_RATE:2,UNKNOWN_COST:3},i18n.phonenumbers.ShortNumberInfo.prototype.getRegionCodesForCountryCode_=function(t){return(t=i18n.phonenumbers.metadata.countryCodeToRegionCodeMap[t])?t:[]},i18n.phonenumbers.ShortNumberInfo.prototype.regionDialingFromMatchesNumber_=function(t,e){return t=this.getRegionCodesForCountryCode_(t.getCountryCodeOrDefault()),null!=e&&t.includes(e)},i18n.phonenumbers.ShortNumberInfo.prototype.isPossibleShortNumberForRegion=function(t,e){return!!this.regionDialingFromMatchesNumber_(t,e)&&!!(e=this.getMetadataForRegion_(e))&&(t=this.getNationalSignificantNumber_(t).length,e.getGeneralDesc().possibleLengthArray().includes(t))},i18n.phonenumbers.ShortNumberInfo.prototype.isPossibleShortNumber=function(t){var e=this.getRegionCodesForCountryCode_(t.getCountryCodeOrDefault());t=this.getNationalSignificantNumber_(t).length;for(var r=0;r<e.length;r++){var n=this.getMetadataForRegion_(e[r]);if(n&&n.getGeneralDesc().possibleLengthArray().includes(t))return!0}return!1},i18n.phonenumbers.ShortNumberInfo.prototype.isValidShortNumberForRegion=function(t,e){if(!this.regionDialingFromMatchesNumber_(t,e))return!1;if(!(e=this.getMetadataForRegion_(e)))return!1;t=this.getNationalSignificantNumber_(t);var r=e.getGeneralDesc();return!!this.matchesPossibleNumberAndNationalNumber_(t,r)&&(e=e.getShortCode(),this.matchesPossibleNumberAndNationalNumber_(t,e))},i18n.phonenumbers.ShortNumberInfo.prototype.isValidShortNumber=function(t){var e=this.getRegionCodesForCountryCode_(t.getCountryCodeOrDefault()),r=this.getRegionCodeForShortNumberFromRegionList_(t,e);return 1<e.length&&null!=r||this.isValidShortNumberForRegion(t,r)},i18n.phonenumbers.ShortNumberInfo.prototype.getExpectedCostForRegion=function(t,e){var r=i18n.phonenumbers.ShortNumberInfo.ShortNumberCost;if(!this.regionDialingFromMatchesNumber_(t,e))return r.UNKNOWN_COST;var n=this.getMetadataForRegion_(e);return n?(t=this.getNationalSignificantNumber_(t),n.getGeneralDesc().possibleLengthArray().includes(t.length)?this.matchesPossibleNumberAndNationalNumber_(t,n.getPremiumRate())?r.PREMIUM_RATE:this.matchesPossibleNumberAndNationalNumber_(t,n.getStandardRate())?r.STANDARD_RATE:this.matchesPossibleNumberAndNationalNumber_(t,n.getTollFree())||this.isEmergencyNumber(t,e)?r.TOLL_FREE:r.UNKNOWN_COST:r.UNKNOWN_COST):r.UNKNOWN_COST},i18n.phonenumbers.ShortNumberInfo.prototype.getExpectedCost=function(t){var e=i18n.phonenumbers.ShortNumberInfo.ShortNumberCost,r=this.getRegionCodesForCountryCode_(t.getCountryCodeOrDefault());if(0===r.length)return e.UNKNOWN_COST;if(1===r.length)return this.getExpectedCostForRegion(t,r[0]);for(var n=e.TOLL_FREE,i=0;i<r.length;i++){var o=this.getExpectedCostForRegion(t,r[i]);switch(o){case e.PREMIUM_RATE:return e.PREMIUM_RATE;case e.UNKNOWN_COST:n=e.UNKNOWN_COST;break;case e.STANDARD_RATE:n!==e.UNKNOWN_COST&&(n=e.STANDARD_RATE);break;case e.TOLL_FREE:break;default:throw Error("Unrecognized cost for region: "+o)}}return n},i18n.phonenumbers.ShortNumberInfo.prototype.getRegionCodeForShortNumberFromRegionList_=function(t,e){if(0===e.length)return null;if(1===e.length)return e[0];t=this.getNationalSignificantNumber_(t);for(var r=0;r<e.length;r++){var n=e[r],i=this.getMetadataForRegion_(n);if(i&&this.matchesPossibleNumberAndNationalNumber_(t,i.getShortCode()))return n}return null},i18n.phonenumbers.ShortNumberInfo.prototype.getSupportedRegions=function(){return Object.keys(i18n.phonenumbers.shortnumbermetadata.countryToMetadata).filter((function(t){return isNaN(t)}))},i18n.phonenumbers.ShortNumberInfo.prototype.getExampleShortNumber=function(t){return(t=this.getMetadataForRegion_(t))&&(t=t.getShortCode()).hasExampleNumber()&&t.getExampleNumber()||""},i18n.phonenumbers.ShortNumberInfo.prototype.getExampleShortNumberForCost=function(t,e){if(!(t=this.getMetadataForRegion_(t)))return"";
15672var r=i18n.phonenumbers.ShortNumberInfo.ShortNumberCost,n=null;switch(e){case r.TOLL_FREE:n=t.getTollFree();break;case r.STANDARD_RATE:n=t.getStandardRate();break;case r.PREMIUM_RATE:n=t.getPremiumRate()}return n&&n.hasExampleNumber()&&n.getExampleNumber()||""},i18n.phonenumbers.ShortNumberInfo.prototype.connectsToEmergencyNumber=function(t,e){return this.matchesEmergencyNumberHelper_(t,e,!0)},i18n.phonenumbers.ShortNumberInfo.prototype.isEmergencyNumber=function(t,e){return this.matchesEmergencyNumberHelper_(t,e,!1)},i18n.phonenumbers.ShortNumberInfo.prototype.getMetadataForRegion_=function(t){if(!t)return null;t=t.toUpperCase();var e=this.regionToMetadataMap[t];if(null==e){e=new goog.proto2.PbLiteSerializer;var r=i18n.phonenumbers.shortnumbermetadata.countryToMetadata[t];if(null==r)return null;e=e.deserialize(i18n.phonenumbers.PhoneMetadata.getDescriptor(),r),this.regionToMetadataMap[t]=e}return e},i18n.phonenumbers.ShortNumberInfo.prototype.matchesEmergencyNumberHelper_=function(t,e,r){var n=i18n.phonenumbers.PhoneNumberUtil.extractPossibleNumber(t);return!i18n.phonenumbers.PhoneNumberUtil.LEADING_PLUS_CHARS_PATTERN.test(n)&&!(null==(t=this.getMetadataForRegion_(e))||!t.hasEmergency())&&(n=i18n.phonenumbers.PhoneNumberUtil.normalizeDigitsOnly(n),e=r&&!i18n.phonenumbers.ShortNumberInfo.REGIONS_WHERE_EMERGENCY_NUMBERS_MUST_BE_EXACT_.includes(e),r=t.getEmergency().getNationalNumberPatternOrDefault(),i18n.phonenumbers.PhoneNumberUtil.matchesEntirely(r,n)||e&&i18n.phonenumbers.PhoneNumberUtil.matchesPrefix(r,n))},i18n.phonenumbers.ShortNumberInfo.prototype.isCarrierSpecific=function(t){var e=this.getRegionCodesForCountryCode_(t.getCountryCodeOrDefault());return e=this.getRegionCodeForShortNumberFromRegionList_(t,e),t=this.getNationalSignificantNumber_(t),!!(e=this.getMetadataForRegion_(e))&&this.matchesPossibleNumberAndNationalNumber_(t,e.getCarrierSpecific())},i18n.phonenumbers.ShortNumberInfo.prototype.isCarrierSpecificForRegion=function(t,e){return!!this.regionDialingFromMatchesNumber_(t,e)&&(t=this.getNationalSignificantNumber_(t),!!(e=this.getMetadataForRegion_(e))&&this.matchesPossibleNumberAndNationalNumber_(t,e.getCarrierSpecific()))},i18n.phonenumbers.ShortNumberInfo.prototype.isSmsServiceForRegion=function(t,e){return!!this.regionDialingFromMatchesNumber_(t,e)&&(e=this.getMetadataForRegion_(e),t=this.getNationalSignificantNumber_(t),!!e&&this.matchesPossibleNumberAndNationalNumber_(t,e.getSmsServices()))},i18n.phonenumbers.ShortNumberInfo.prototype.getNationalSignificantNumber_=function(t){if(!t.hasNationalNumber())return"";var e=""+t.getNationalNumber();return t.hasItalianLeadingZero()&&t.getItalianLeadingZero()&&0<t.getNumberOfLeadingZerosOrDefault()?Array(t.getNumberOfLeadingZerosOrDefault()+1).join("0")+e:e},i18n.phonenumbers.ShortNumberInfo.prototype.matchesPossibleNumberAndNationalNumber_=function(t,e){return!(0<e.possibleLengthArray().length&&!e.possibleLengthArray().includes(t.length))&&i18n.phonenumbers.PhoneNumberUtil.matchesEntirely(e.getNationalNumberPatternOrDefault(),t.toString())},i18n.phonenumbers.AsYouTypeFormatter=function(t){this.DIGIT_PLACEHOLDER_="â",this.DIGIT_PATTERN_=new RegExp(this.DIGIT_PLACEHOLDER_),this.currentOutput_="",this.formattingTemplate_=new goog.string.StringBuffer,this.currentFormattingPattern_="",this.accruedInput_=new goog.string.StringBuffer,this.accruedInputWithoutFormatting_=new goog.string.StringBuffer,this.ableToFormat_=!0,this.isExpectingCountryCallingCode_=this.isCompleteNumber_=this.inputHasFormatting_=!1,this.phoneUtil_=i18n.phonenumbers.PhoneNumberUtil.getInstance(),this.positionToRemember_=this.originalPosition_=this.lastMatchPosition_=0,this.prefixBeforeNationalNumber_=new goog.string.StringBuffer,this.shouldAddSpaceAfterNationalPrefix_=!1,this.extractedNationalPrefix_="",this.nationalNumber_=new goog.string.StringBuffer,this.possibleFormats_=[],this.defaultCountry_=t,this.defaultMetadata_=this.currentMetadata_=this.getMetadataForRegion_(this.defaultCountry_)},i18n.phonenumbers.AsYouTypeFormatter.SEPARATOR_BEFORE_NATIONAL_NUMBER_=" ",i18n.phonenumbers.AsYouTypeFormatter.EMPTY_METADATA_=new i18n.phonenumbers.PhoneMetadata,i18n.phonenumbers.AsYouTypeFormatter.EMPTY_METADATA_.setInternationalPrefix("NA"),i18n.phonenumbers.AsYouTypeFormatter.ELIGIBLE_FORMAT_PATTERN_=new RegExp("^["+i18n.phonenumbers.PhoneNumberUtil.VALID_PUNCTUATION+"]*\\$1["+i18n.phonenumbers.PhoneNumberUtil.VALID_PUNCTUATION+"]*(\\$\\d["+i18n.phonenumbers.PhoneNumberUtil.VALID_PUNCTUATION+"]*)*$"),i18n.phonenumbers.AsYouTypeFormatter.NATIONAL_PREFIX_SEPARATORS_PATTERN_=/[- ]/,i18n.phonenumbers.AsYouTypeFormatter.MIN_LEADING_DIGITS_LENGTH_=3,i18n.phonenumbers.AsYouTypeFormatter.prototype.getMetadataForRegion_=function(t){return t=this.phoneUtil_.getCountryCodeForRegion(t),t=this.phoneUtil_.getRegionCodeForCountryCode(t),null!=(t=this.phoneUtil_.getMetadataForRegion(t))?t:i18n.phonenumbers.AsYouTypeFormatter.EMPTY_METADATA_},i18n.phonenumbers.AsYouTypeFormatter.prototype.maybeCreateNewTemplate_=function(){for(var t=this.possibleFormats_.length,e=0;e<t;++e){var r=this.possibleFormats_[e],n=r.getPatternOrDefault();if(this.currentFormattingPattern_==n)return!1;if(this.createFormattingTemplate_(r))return this.currentFormattingPattern_=n,this.shouldAddSpaceAfterNationalPrefix_=i18n.phonenumbers.AsYouTypeFormatter.NATIONAL_PREFIX_SEPARATORS_PATTERN_.test(r.getNationalPrefixFormattingRule()),this.lastMatchPosition_=0,!0}return this.ableToFormat_=!1},i18n.phonenumbers.AsYouTypeFormatter.prototype.getAvailableFormats_=function(t){for(var e=this.isCompleteNumber_&&0==this.extractedNationalPrefix_.length&&0<this.currentMetadata_.intlNumberFormatCount()?this.currentMetadata_.intlNumberFormatArray():this.currentMetadata_.numberFormatArray(),r=e.length,n=0;n<r;++n){var i=e[n];0<this.extractedNationalPrefix_.length&&this.phoneUtil_.formattingRuleHasFirstGroupOnly(i.getNationalPrefixFormattingRuleOrDefault())&&!i.getNationalPrefixOptionalWhenFormatting()&&!i.hasDomesticCarrierCodeFormattingRule()||(0!=this.extractedNationalPrefix_.length||this.isCompleteNumber_||this.phoneUtil_.formattingRuleHasFirstGroupOnly(i.getNationalPrefixFormattingRuleOrDefault())||i.getNationalPrefixOptionalWhenFormatting())&&i18n.phonenumbers.AsYouTypeFormatter.ELIGIBLE_FORMAT_PATTERN_.test(i.getFormatOrDefault())&&this.possibleFormats_.push(i)}this.narrowDownPossibleFormats_(t)},i18n.phonenumbers.AsYouTypeFormatter.prototype.narrowDownPossibleFormats_=function(t){for(var e=[],r=t.length-i18n.phonenumbers.AsYouTypeFormatter.MIN_LEADING_DIGITS_LENGTH_,n=this.possibleFormats_.length,i=0;i<n;++i){var o=this.possibleFormats_[i];if(0==o.leadingDigitsPatternCount())e.push(this.possibleFormats_[i]);else{var s=Math.min(r,o.leadingDigitsPatternCount()-1);o=o.getLeadingDigitsPattern(s),0==t.search(o)&&e.push(this.possibleFormats_[i])}}this.possibleFormats_=e},i18n.phonenumbers.AsYouTypeFormatter.prototype.createFormattingTemplate_=function(t){var e=t.getPatternOrDefault();return this.formattingTemplate_.clear(),0<(t=this.getFormattingTemplate_(e,t.getFormatOrDefault())).length&&(this.formattingTemplate_.append(t),!0)},i18n.phonenumbers.AsYouTypeFormatter.prototype.getFormattingTemplate_=function(t,e){var r="999999999999999".match(t)[0];return r.length<this.nationalNumber_.getLength()?"":(t=r.replace(new RegExp(t,"g"),e)).replace(/9/g,this.DIGIT_PLACEHOLDER_)},i18n.phonenumbers.AsYouTypeFormatter.prototype.clear=function(){this.currentOutput_="",this.accruedInput_.clear(),this.accruedInputWithoutFormatting_.clear(),this.formattingTemplate_.clear(),this.lastMatchPosition_=0,this.currentFormattingPattern_="",this.prefixBeforeNationalNumber_.clear(),this.extractedNationalPrefix_="",this.nationalNumber_.clear(),this.ableToFormat_=!0,this.inputHasFormatting_=!1,this.originalPosition_=this.positionToRemember_=0,this.isExpectingCountryCallingCode_=this.isCompleteNumber_=!1,this.possibleFormats_=[],this.shouldAddSpaceAfterNationalPrefix_=!1,this.currentMetadata_!=this.defaultMetadata_&&(this.currentMetadata_=this.getMetadataForRegion_(this.defaultCountry_))},i18n.phonenumbers.AsYouTypeFormatter.prototype.inputDigit=function(t){return this.currentOutput_=this.inputDigitWithOptionToRememberPosition_(t,!1)},i18n.phonenumbers.AsYouTypeFormatter.prototype.inputDigitAndRememberPosition=function(t){return this.currentOutput_=this.inputDigitWithOptionToRememberPosition_(t,!0)},i18n.phonenumbers.AsYouTypeFormatter.prototype.inputDigitWithOptionToRememberPosition_=function(t,e){if(this.accruedInput_.append(t),e&&(this.originalPosition_=this.accruedInput_.getLength()),this.isDigitOrLeadingPlusSign_(t)?t=this.normalizeAndAccrueDigitsAndPlusSign_(t,e):(this.ableToFormat_=!1,this.inputHasFormatting_=!0),!this.ableToFormat_){if(!this.inputHasFormatting_)if(this.attemptToExtractIdd_()){if(this.attemptToExtractCountryCallingCode_())return this.attemptToChoosePatternWithPrefixExtracted_()}else if(this.ableToExtractLongerNdd_())return this.prefixBeforeNationalNumber_.append(i18n.phonenumbers.AsYouTypeFormatter.SEPARATOR_BEFORE_NATIONAL_NUMBER_),this.attemptToChoosePatternWithPrefixExtracted_();return this.accruedInput_.toString()}switch(this.accruedInputWithoutFormatting_.getLength()){case 0:case 1:case 2:return this.accruedInput_.toString();case 3:if(!this.attemptToExtractIdd_())return this.extractedNationalPrefix_=this.removeNationalPrefixFromNationalNumber_(),this.attemptToChooseFormattingPattern_();this.isExpectingCountryCallingCode_=!0;default:return this.isExpectingCountryCallingCode_?(this.attemptToExtractCountryCallingCode_()&&(this.isExpectingCountryCallingCode_=!1),this.prefixBeforeNationalNumber_.toString()+this.nationalNumber_.toString()):0<this.possibleFormats_.length?(t=this.inputDigitHelper_(t),0<(e=this.attemptToFormatAccruedDigits_()).length?e:(this.narrowDownPossibleFormats_(this.nationalNumber_.toString()),this.maybeCreateNewTemplate_()?this.inputAccruedNationalNumber_():this.ableToFormat_?this.appendNationalNumber_(t):this.accruedInput_.toString())):this.attemptToChooseFormattingPattern_()}},i18n.phonenumbers.AsYouTypeFormatter.prototype.attemptToChoosePatternWithPrefixExtracted_=function(){return this.ableToFormat_=!0,this.isExpectingCountryCallingCode_=!1,this.possibleFormats_=[],this.lastMatchPosition_=0,this.formattingTemplate_.clear(),this.currentFormattingPattern_="",this.attemptToChooseFormattingPattern_()},i18n.phonenumbers.AsYouTypeFormatter.prototype.getExtractedNationalPrefix_=function(){return this.extractedNationalPrefix_},i18n.phonenumbers.AsYouTypeFormatter.prototype.ableToExtractLongerNdd_=function(){if(0<this.extractedNationalPrefix_.length){var t=this.nationalNumber_.toString();this.nationalNumber_.clear(),this.nationalNumber_.append(this.extractedNationalPrefix_),this.nationalNumber_.append(t);var e=(t=this.prefixBeforeNationalNumber_.toString()).lastIndexOf(this.extractedNationalPrefix_);this.prefixBeforeNationalNumber_.clear(),this.prefixBeforeNationalNumber_.append(t.substring(0,e))}return this.extractedNationalPrefix_!=this.removeNationalPrefixFromNationalNumber_()},i18n.phonenumbers.AsYouTypeFormatter.prototype.isDigitOrLeadingPlusSign_=function(t){return i18n.phonenumbers.PhoneNumberUtil.CAPTURING_DIGIT_PATTERN.test(t)||1==this.accruedInput_.getLength()&&i18n.phonenumbers.PhoneNumberUtil.PLUS_CHARS_PATTERN.test(t)},i18n.phonenumbers.AsYouTypeFormatter.prototype.attemptToFormatAccruedDigits_=function(){for(var t=this.nationalNumber_.toString(),e=this.possibleFormats_.length,r=0;r<e;++r){var n=this.possibleFormats_[r],i=n.getPatternOrDefault();if(new RegExp("^(?:"+i+")$").test(t)&&(this.shouldAddSpaceAfterNationalPrefix_=i18n.phonenumbers.AsYouTypeFormatter.NATIONAL_PREFIX_SEPARATORS_PATTERN_.test(n.getNationalPrefixFormattingRule()),n=t.replace(new RegExp(i,"g"),n.getFormat()),n=this.appendNationalNumber_(n),i18n.phonenumbers.PhoneNumberUtil.normalizeDiallableCharsOnly(n)==this.accruedInputWithoutFormatting_))return n}return""},i18n.phonenumbers.AsYouTypeFormatter.prototype.appendNationalNumber_=function(t){var e=this.prefixBeforeNationalNumber_.getLength();return this.shouldAddSpaceAfterNationalPrefix_&&0<e&&this.prefixBeforeNationalNumber_.toString().charAt(e-1)!=i18n.phonenumbers.AsYouTypeFormatter.SEPARATOR_BEFORE_NATIONAL_NUMBER_?this.prefixBeforeNationalNumber_+i18n.phonenumbers.AsYouTypeFormatter.SEPARATOR_BEFORE_NATIONAL_NUMBER_+t:this.prefixBeforeNationalNumber_+t},i18n.phonenumbers.AsYouTypeFormatter.prototype.getRememberedPosition=function(){if(!this.ableToFormat_)return this.originalPosition_;for(var t=0,e=0,r=this.accruedInputWithoutFormatting_.toString(),n=this.currentOutput_.toString();t<this.positionToRemember_&&e<n.length;)r.charAt(t)==n.charAt(e)&&t++,e++;return e},i18n.phonenumbers.AsYouTypeFormatter.prototype.attemptToChooseFormattingPattern_=function(){var t=this.nationalNumber_.toString();return t.length>=i18n.phonenumbers.AsYouTypeFormatter.MIN_LEADING_DIGITS_LENGTH_?(this.getAvailableFormats_(t),0<(t=this.attemptToFormatAccruedDigits_()).length?t:this.maybeCreateNewTemplate_()?this.inputAccruedNationalNumber_():this.accruedInput_.toString()):this.appendNationalNumber_(t)}
15672,i18n.phonenumbers.AsYouTypeFormatter.prototype.inputAccruedNationalNumber_=function(){var t=this.nationalNumber_.toString(),e=t.length;if(0<e){for(var r="",n=0;n<e;n++)r=this.inputDigitHelper_(t.charAt(n));return this.ableToFormat_?this.appendNationalNumber_(r):this.accruedInput_.toString()}return this.prefixBeforeNationalNumber_.toString()},i18n.phonenumbers.AsYouTypeFormatter.prototype.isNanpaNumberWithNationalPrefix_=function(){if(1!=this.currentMetadata_.getCountryCode())return!1;var t=this.nationalNumber_.toString();return"1"==t.charAt(0)&&"0"!=t.charAt(1)&&"1"!=t.charAt(1)},i18n.phonenumbers.AsYouTypeFormatter.prototype.removeNationalPrefixFromNationalNumber_=function(){var t=this.nationalNumber_.toString(),e=0;if(this.isNanpaNumberWithNationalPrefix_())e=1,this.prefixBeforeNationalNumber_.append("1").append(i18n.phonenumbers.AsYouTypeFormatter.SEPARATOR_BEFORE_NATIONAL_NUMBER_),this.isCompleteNumber_=!0;else if(this.currentMetadata_.hasNationalPrefixForParsing()){var r=new RegExp("^(?:"+this.currentMetadata_.getNationalPrefixForParsing()+")");null!=(r=t.match(r))&&null!=r[0]&&0<r[0].length&&(this.isCompleteNumber_=!0,e=r[0].length,this.prefixBeforeNationalNumber_.append(t.substring(0,e)))}return this.nationalNumber_.clear(),this.nationalNumber_.append(t.substring(e)),t.substring(0,e)},i18n.phonenumbers.AsYouTypeFormatter.prototype.attemptToExtractIdd_=function(){var t=this.accruedInputWithoutFormatting_.toString(),e=new RegExp("^(?:\\"+i18n.phonenumbers.PhoneNumberUtil.PLUS_SIGN+"|"+this.currentMetadata_.getInternationalPrefix()+")");return null!=(e=t.match(e))&&null!=e[0]&&0<e[0].length&&(this.isCompleteNumber_=!0,e=e[0].length,this.nationalNumber_.clear(),this.nationalNumber_.append(t.substring(e)),this.prefixBeforeNationalNumber_.clear(),this.prefixBeforeNationalNumber_.append(t.substring(0,e)),t.charAt(0)!=i18n.phonenumbers.PhoneNumberUtil.PLUS_SIGN&&this.prefixBeforeNationalNumber_.append(i18n.phonenumbers.AsYouTypeFormatter.SEPARATOR_BEFORE_NATIONAL_NUMBER_),!0)},i18n.phonenumbers.AsYouTypeFormatter.prototype.attemptToExtractCountryCallingCode_=function(){if(0==this.nationalNumber_.getLength())return!1;var t=new goog.string.StringBuffer,e=this.phoneUtil_.extractCountryCode(this.nationalNumber_,t);return 0!=e&&(this.nationalNumber_.clear(),this.nationalNumber_.append(t.toString()),t=this.phoneUtil_.getRegionCodeForCountryCode(e),i18n.phonenumbers.PhoneNumberUtil.REGION_CODE_FOR_NON_GEO_ENTITY==t?this.currentMetadata_=this.phoneUtil_.getMetadataForNonGeographicalRegion(e):t!=this.defaultCountry_&&(this.currentMetadata_=this.getMetadataForRegion_(t)),this.prefixBeforeNationalNumber_.append(""+e).append(i18n.phonenumbers.AsYouTypeFormatter.SEPARATOR_BEFORE_NATIONAL_NUMBER_),this.extractedNationalPrefix_="",!0)},i18n.phonenumbers.AsYouTypeFormatter.prototype.normalizeAndAccrueDigitsAndPlusSign_=function(t,e){if(t==i18n.phonenumbers.PhoneNumberUtil.PLUS_SIGN){var r=t;this.accruedInputWithoutFormatting_.append(t)}else r=i18n.phonenumbers.PhoneNumberUtil.DIGIT_MAPPINGS[t],this.accruedInputWithoutFormatting_.append(r),this.nationalNumber_.append(r);return e&&(this.positionToRemember_=this.accruedInputWithoutFormatting_.getLength()),r},i18n.phonenumbers.AsYouTypeFormatter.prototype.inputDigitHelper_=function(t){var e=this.formattingTemplate_.toString();if(0<=e.substring(this.lastMatchPosition_).search(this.DIGIT_PATTERN_)){var r=e.search(this.DIGIT_PATTERN_);return t=e.replace(this.DIGIT_PATTERN_,t),this.formattingTemplate_.clear(),this.formattingTemplate_.append(t),this.lastMatchPosition_=r,t.substring(0,this.lastMatchPosition_+1)}return 1==this.possibleFormats_.length&&(this.ableToFormat_=!1),this.currentFormattingPattern_="",this.accruedInput_.toString()},Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=i18n.phonenumbers,module.exports=exports.default}).call(this)}).call(this,void 0!==__webpack_require__.g?__webpack_require__.g:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1])(1)},module.exports=f()},4729:(t,e,r)=>{"use strict";var n=r(2861).Buffer,i=r(8310).Transform;function o(t){i.call(this),this._block=n.allocUnsafe(t),this._blockSize=t,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}r(6698)(o,i),o.prototype._transform=function(t,e,r){var n=null;try{this.update(t,e)}catch(t){n=t}r(n)},o.prototype._flush=function(t){var e=null;try{this.push(this.digest())}catch(t){e=t}t(e)};var s="undefined"!=typeof Uint8Array,a="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&ArrayBuffer.isView&&
vendor: 8,082 bytes, line 15672
15672(n.prototype instanceof Uint8Array||n.TYPED_ARRAY_SUPPORT);o.prototype.update=function(t,e){if(this._finalized)throw new Error("Digest already called");t=function(t,e){if(t instanceof n)return t;if("string"==typeof t)return n.from(t,e);if(a&&ArrayBuffer.isView(t)){if(0===t.byteLength)return n.alloc(0);var r=n.from(t.buffer,t.byteOffset,t.byteLength);if(r.byteLength===t.byteLength)return r}if(s&&t instanceof Uint8Array)return n.from(t);if(n.isBuffer(t)&&t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t))return n.from(t);throw new TypeError('The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView.')}(t,e);for(var r=this._block,i=0;this._blockOffset+t.length-i>=this._blockSize;){for(var o=this._blockOffset;o<this._blockSize;)r[o++]=t[i++];this._update(),this._blockOffset=0}for(;i<t.length;)r[this._blockOffset++]=t[i++];for(var d=0,u=8*t.length;u>0;++d)this._length[d]+=u,(u=this._length[d]/4294967296|0)>0&&(this._length[d]-=4294967296*u);return this},o.prototype._update=function(){throw new Error("_update is not implemented")},o.prototype.digest=function(t){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var e=this._digest();void 0!==t&&(e=e.toString(t)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return e},o.prototype._digest=function(){throw new Error("_digest is not implemented")},t.exports=o},7952:(t,e,r)=>{var n=e;n.utils=r(7426),n.common=r(6166),n.sha=r(6229),n.ripemd=r(6784),n.hmac=r(8948),n.sha1=n.sha.sha1,n.sha256=n.sha.sha256,n.sha224=n.sha.sha224,n.sha384=n.sha.sha384,n.sha512=n.sha.sha512,n.ripemd160=n.ripemd.ripemd160},6166:(t,e,r)=>{"use strict";var n=r(7426),i=r(3349);function o(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}e.BlockHash=o,o.prototype.update=function(t,e){if(t=n.toArray(t,e),this.pending?this.pending=this.pending.concat(t):this.pending=t,this.pendingTotal+=t.length,this.pending.length>=this._delta8){var r=(t=this.pending).length%this._delta8;this.pending=t.slice(t.length-r,t.length),0===this.pending.length&&(this.pending=null),t=n.join32(t,0,t.length-r,this.endian);for(var i=0;i<t.length;i+=this._delta32)this._update(t,i,i+this._delta32)}return this},o.prototype.digest=function(t){return this.update(this._pad()),i(null===this.pending),this._digest(t)},o.prototype._pad=function(){var t=this.pendingTotal,e=this._delta8,r=e-(t+this.padLength)%e,n=new Array(r+this.padLength);n[0]=128;for(var i=1;i<r;i++)n[i]=0;if(t<<=3,"big"===this.endian){for(var o=8;o<this.padLength;o++)n[i++]=0;n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=t>>>24&255,n[i++]=t>>>16&255,n[i++]=t>>>8&255,n[i++]=255&t}else for(n[i++]=255&t,n[i++]=t>>>8&255,n[i++]=t>>>16&255,n[i++]=t>>>24&255,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,o=8;o<this.padLength;o++)n[i++]=0;return n}},8948:(t,e,r)=>{"use strict";var n=r(7426),i=r(3349);function o(t,e,r){if(!(this instanceof o))return new o(t,e,r);this.Hash=t,this.blockSize=t.blockSize/8,this.outSize=t.outSize/8,this.inner=null,this.outer=null,this._init(n.toArray(e,r))}t.exports=o,o.prototype._init=function(t){t.length>this.blockSize&&(t=(new this.Hash).update(t).digest()),i(t.length<=this.blockSize);for(var e=t.length;e<this.blockSize;e++)t.push(0);for(e=0;e<t.length;e++)t[e]^=54;for(this.inner=(new this.Hash).update(t),e=0;e<t.length;e++)t[e]^=106;this.outer=(new this.Hash).update(t)},o.prototype.update=function(t,e){return this.inner.update(t,e),this},o.prototype.digest=function(t){return this.outer.update(this.inner.digest()),this.outer.digest(t)}},6784:(t,e,r)=>{"use strict";var n=r(7426),i=r(6166),o=n.rotl32,s=n.sum32,a=n.sum32_3,d=n.sum32_4,u=i.BlockHash;function h(){if(!(this instanceof h))return new h;u.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function l(t,e,r,n){return t<=15?e^r^n:t<=31?e&r|~e&n:t<=47?(e|~r)^n:t<=63?e&n|r&~n:e^(r|~n)}function f(t){return t<=15?0:t<=31?1518500249:t<=47?1859775393:t<=63?2400959708:2840853838}function c(t){return t<=15?1352829926:t<=31?1548603684:t<=47?1836072691:t<=63?2053994217:0}n.inherits(h,u),e.ripemd160=h,h.blockSize=512,h.outSize=160,h.hmacStrength=192,h.padLength=64,h.prototype._update=function(t,e){for(var r=this.h[0],n=this.h[1],i=this.h[2],u=this.h[3],h=this.h[4],y=r,v=n,_=i,M=u,w=h,$=0;$<80;$++){var S=s(o(d(r,l($,n,i,u),t[g[$]+e],f($)),m[$]),h);r=h,h=u,u=o(i,10),i=n,n=S,S=s(o(d(y,l(79-$,v,_,M),t[p[$]+e],c($)),b[$]),w),y=w,w=M,M=o(_,10),_=v,v=S}S=a(this.h[1],i,M),this.h[1]=a(this.h[2],u,w),this.h[2]=a(this.h[3],h,y),this.h[3]=a(this.h[4],r,v),this.h[4]=a(this.h[0],n,_),this.h[0]=S},h.prototype._digest=function(t){return"hex"===t?n.toHex32(this.h,"little"):n.split32(this.h,"little")};var g=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],p=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],m=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],b=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},6229:(t,e,r)=>{"use strict";e.sha1=r(3917),e.sha224=r(7714),e.sha256=r(2287),e.sha384=r(1911),e.sha512=r(7766)},3917:(t,e,r)=>{"use strict";var n=r(7426),i=r(6166),o=r(6225),s=n.rotl32,a=n.sum32,d=n.sum32_5,u=o.ft_1,h=i.BlockHash,l=[1518500249,1859775393,2400959708,3395469782];function f(){if(!(this instanceof f))return new f;h.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}n.inherits(f,h),t.exports=f,f.blockSize=512,f.outSize=160,f.hmacStrength=80,f.padLength=64,f.prototype._update=function(t,e){for(var r=this.W,n=0;n<16;n++)r[n]=t[e+n];for(;n<r.length;n++)r[n]=s(r[n-3]^r[n-8]^r[n-14]^r[n-16],1);var i=this.h[0],o=this.h[1],h=this.h[2],f=this.h[3],c=this.h[4];for(n=0;n<r.length;n++){var g=~~(n/20),p=d(s(i,5),u(g,o,h,f),c,r[n],l[g]);c=f,f=h,h=s(o,30),o=i,i=p}this.h[0]=a(this.h[0],i),this.h[1]=a(this.h[1],o),this.h[2]=a(this.h[2],h),this.h[3]=a(this.h[3],f),this.h[4]=a(this.h[4],c)},f.prototype._digest=function(t){return"hex"===t?n.toHex32(this.h,"big"):n.split32(this.h,"big")}},7714:(t,e,r)=>{"use strict";var n=r(7426),i=r(2287);function o(){if(!(this instanceof o))return new o;i.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}n.inherits(o,i),t.exports=o,o.blockSize=512,o.outSize=224,o.hmacStrength=192,o.padLength=64,o.prototype._digest=function(t){return"hex"===t?n.toHex32(this.h.slice(0,7),"big"):n.split32(this.h.slice(0,7),"big")}},2287:(t,e,r)=>{"use strict";var n=r(7426),i=r(6166),o=r(6225),s=r(3349),a=n.sum32,d=n.sum32_4,u=n.sum32_5,h=o.ch32,l=o.maj32,f=o.s0_256,c=o.s1_256,g=o.g0_256,p=o.g1_256,m=i.BlockHash,b=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756
vendor: 3,358 bytes, line 15672
15672734187,3204031479,3329325298];function y(){if(!(this instanceof y))return new y;m.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=b,this.W=new Array(64)}n.inherits(y,m),t.exports=y,y.blockSize=512,y.outSize=256,y.hmacStrength=192,y.padLength=64,y.prototype._update=function(t,e){for(var r=this.W,n=0;n<16;n++)r[n]=t[e+n];for(;n<r.length;n++)r[n]=d(p(r[n-2]),r[n-7],g(r[n-15]),r[n-16]);var i=this.h[0],o=this.h[1],m=this.h[2],b=this.h[3],y=this.h[4],v=this.h[5],_=this.h[6],M=this.h[7];for(s(this.k.length===r.length),n=0;n<r.length;n++){var w=u(M,c(y),h(y,v,_),this.k[n],r[n]),$=a(f(i),l(i,o,m));M=_,_=v,v=y,y=a(b,w),b=m,m=o,o=i,i=a(w,$)}this.h[0]=a(this.h[0],i),this.h[1]=a(this.h[1],o),this.h[2]=a(this.h[2],m),this.h[3]=a(this.h[3],b),this.h[4]=a(this.h[4],y),this.h[5]=a(this.h[5],v),this.h[6]=a(this.h[6],_),this.h[7]=a(this.h[7],M)},y.prototype._digest=function(t){return"hex"===t?n.toHex32(this.h,"big"):n.split32(this.h,"big")}},1911:(t,e,r)=>{"use strict";var n=r(7426),i=r(7766);function o(){if(!(this instanceof o))return new o;i.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}n.inherits(o,i),t.exports=o,o.blockSize=1024,o.outSize=384,o.hmacStrength=192,o.padLength=128,o.prototype._digest=function(t){return"hex"===t?n.toHex32(this.h.slice(0,12),"big"):n.split32(this.h.slice(0,12),"big")}},7766:(t,e,r)=>{"use strict";var n=r(7426),i=r(6166),o=r(3349),s=n.rotr64_hi,a=n.rotr64_lo,d=n.shr64_hi,u=n.shr64_lo,h=n.sum64,l=n.sum64_hi,f=n.sum64_lo,c=n.sum64_4_hi,g=n.sum64_4_lo,p=n.sum64_5_hi,m=n.sum64_5_lo,b=i.BlockHash,y=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,
vendor: 5,763 bytes, line 15672
156721126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function v(){if(!(this instanceof v))return new v;b.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=y,this.W=new Array(160)}function _(t,e,r,n,i){var o=t&r^~t&i;return o<0&&(o+=4294967296),o}function M(t,e,r,n,i,o){var s=e&n^~e&o;return s<0&&(s+=4294967296),s}function w(t,e,r,n,i){var o=t&r^t&i^r&i;return o<0&&(o+=4294967296),o}function $(t,e,r,n,i,o){var s=e&n^e&o^n&o;return s<0&&(s+=4294967296),s}function S(t,e){var r=s(t,e,28)^s(e,t,2)^s(e,t,7);return r<0&&(r+=4294967296),r}function N(t,e){var r=a(t,e,28)^a(e,t,2)^a(e,t,7);return r<0&&(r+=4294967296),r}function E(t,e){var r=a(t,e,14)^a(t,e,18)^a(e,t,9);return r<0&&(r+=4294967296),r}function T(t,e){var r=s(t,e,1)^s(t,e,8)^d(t,e,7);return r<0&&(r+=4294967296),r}function A(t,e){var r=a(t,e,1)^a(t,e,8)^u(t,e,7);return r<0&&(r+=4294967296),r}function R(t,e){var r=a(t,e,19)^a(e,t,29)^u(t,e,6);return r<0&&(r+=4294967296),r}n.inherits(v,b),t.exports=v,v.blockSize=1024,v.outSize=512,v.hmacStrength=192,v.padLength=128,v.prototype._prepareBlock=function(t,e){for(var r=this.W,n=0;n<32;n++)r[n]=t[e+n];for(;n<r.length;n+=2){var i=(m=r[n-4],b=r[n-3],y=void 0,(y=s(m,b,19)^s(b,m,29)^d(m,b,6))<0&&(y+=4294967296),y),o=R(r[n-4],r[n-3]),a=r[n-14],u=r[n-13],h=T(r[n-30],r[n-29]),l=A(r[n-30],r[n-29]),f=r[n-32],p=r[n-31];r[n]=c(i,o,a,u,h,l,f,p),r[n+1]=g(i,o,a,u,h,l,f,p)}var m,b,y},v.prototype._update=function(t,e){this._prepareBlock(t,e);var r,n,i,a=this.W,d=this.h[0],u=this.h[1],c=this.h[2],g=this.h[3],b=this.h[4],y=this.h[5],v=this.h[6],T=this.h[7],A=this.h[8],R=this.h[9],P=this.h[10],O=this.h[11],C=this.h[12],I=this.h[13],L=this.h[14],D=this.h[15];o(this.k.length===a.length);for(var U=0;U<a.length;U+=2){var k=L,x=D,F=(i=void 0,(i=s(r=A,n=R,14)^s(r,n,18)^s(n,r,9))<0&&(i+=4294967296),i),B=E(A,R),V=_(A,0,P,0,C),j=M(0,R,0,O,0,I),H=this.k[U],G=this.k[U+1],W=a[U],Y=a[U+1],z=p(k,x,F,B,V,j,H,G,W,Y),q=m(k,x,F,B,V,j,H,G,W,Y);k=S(d,u),x=N(d,u),F=w(d,0,c,0,b),B=$(0,u,0,g,0,y);var K=l(k,x,F,B),Z=f(k,x,F,B);L=C,D=I,C=P,I=O,P=A,O=R,A=l(v,T,z,q),R=f(T,T,z,q),v=b,T=y,b=c,y=g,c=d,g=u,d=l(z,q,K,Z),u=f(z,q,K,Z)}h(this.h,0,d,u),h(this.h,2,c,g),h(this.h,4,b,y),h(this.h,6,v,T),h(this.h,8,A,R),h(this.h,10,P,O),h(this.h,12,C,I),h(this.h,14,L,D)},v.prototype._digest=function(t){return"hex"===t?n.toHex32(this.h,"big"):n.split32(this.h,"big")}},6225:(t,e,r)=>{"use strict";var n=r(7426).rotr32;function i(t,e,r){return t&e^~t&r}function o(t,e,r){return t&e^t&r^e&r}function s(t,e,r){return t^e^r}e.ft_1=function(t,e,r,n){return 0===t?i(e,r,n):1===t||3===t?s(e,r,n):2===t?o(e,r,n):void 0},e.ch32=i,e.maj32=o,e.p32=s,e.s0_256=function(t){return n(t,2)^n(t,13)^n(t,22)},e.s1_256=function(t){return n(t,6)^n(t,11)^n(t,25)},e.g0_256=function(t){return n(t,7)^n(t,18)^t>>>3},e.g1_256=function(t){return n(t,17)^n(t,19)^t>>>10}},7426:(t,e,r)=>{"use strict";var n=r(3349),i=r(6698);function o(t,e){return 55296==(64512&t.charCodeAt(e))&&!(e<0||e+1>=t.length)&&56320==(64512&t.charCodeAt(e+1))}function s(t){return(t>>>24|t>>>8&65280|t<<8&16711680|(255&t)<<24)>>>0}function a(t){return 1===t.length?"0"+t:t}function d(t){return 7===t.length?"0"+t:6===t.length?"00"+t:5===t.length?"000"+t:4===t.length?"0000"+t:3===t.length?"00000"+t:2===t.length?"000000"+t:1===t.length?"0000000"+t:t}e.inherits=i,e.toArray=function(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if("string"==typeof t)if(e){if("hex"===e)for((t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t),i=0;i<t.length;i+=2)r.push(parseInt(t[i]+t[i+1],16))}else for(var n=0,i=0;i<t.length;i++){var s=t.charCodeAt(i);s<128?r[n++]=s:s<2048?(r[n++]=s>>6|192,r[n++]=63&s|128):o(t,i)?(s=65536+((1023&s)<<10)+(1023&t.charCodeAt(++i)),r[n++]=s>>18|240,r[n++]=s>>12&63|128,r[n++]=s>>6&63|128,r[n++]=63&s|128):(r[n++]=s>>12|224,r[n++]=s>>6&63|128,r[n++]=63&s|128)}else for(i=0;i<t.length;i++)r[i]=0|t[i];return r},e.toHex=function(t){for(var e="",r=0;r<t.length;r++)e+=a(t[r].toString(16));return e},e.htonl=s,e.toHex32=function(t,e){for(var r="",n=0;n<t.length;n++){var i=t[n];"little"===e&&(i=s(i)),r+=d(i.toString(16))}return r},e.zero2=a,e.zero8=d,e.join32=function(t,e,r,i){var o=r-e;n(o%4==0);for(var s=new Array(o/4),a=0,d=e;a<s.length;a++,d+=4){var u;u="big"===i?t[d]<<24|t[d+1]<<16|t[d+2]<<8|t[d+3]:t[d+3]<<24|t[d+2]<<16|t[d+1]<<8|t[d],s[a]=u>>>0}return s},e.split32=function(t,e){for(var r=new Array(4*t.length),n=0,i=0;n<t.length;n++,i+=4){var o=t[n];"big"===e?(r[i]=o>>>24,r[i+1]=o>>>16&255,r[i+2]=o>>>8&255,r[i+3]=255&o):(r[i+3]=o>>>24,r[i+2]=o>>>16&255,r[i+1]=o>>>8&255,r[i]=255&o)}return r},e.rotr32=function(t,e){return t>>>e|t<<32-e},e.rotl32=function(t,e){return t<<e|t>>>32-e},e.sum32=function(t,e){return t+e>>>0},e.sum32_3=function(t,e,r){return t+e+r>>>0},e.sum32_4=function(t,e,r,n){return t+e+r+n>>>0},e.sum32_5=function(t,e,r,n,i){return t+e+r+n+i>>>0},e.sum64=function(t,e,r,n){var i=t[e],o=n+t[e+1]>>>0,s=(o<n?1:0)+r+i;t[e]=s>>>0,t[e+1]=o},e.sum64_hi=function(t,e,r,n){return(e+n>>>0<e?1:0)+t+r>>>0},e.sum64_lo=function(t,e,r,n){return e+n>>>0},e.sum64_4_hi=function(t,e,r,n,i,o,s,a){var d=0,u=e;return d+=(u=u+n>>>0)<e?1:0,d+=(u=u+o>>>0)<o?1:0,t+r+i+s+(d+=(u=u+a>>>0)<a?1:0)>>>0},e.sum64_4_lo=function(t,e,r,n,i,o,s,a){return e+n+o+a>>>0},e.sum64_5_hi=function(t,e,r,n,i,o,s,a,d,u){var h=0,l=e;return h+=(l=l+n>>>0)<e?1:0,h+=(l=l+o>>>0)<o?1:0,h+=(l=l+a>>>0)<a?1:0,t+r+i+s+d+(h+=(l=l+u>>>0)<u?1:0)>>>0},e.sum64_5_lo=function(t,e,r,n,i,o,s,a,d,u){return e+n+o+a+u>>>0},e.rotr64_hi=function(t,e,r){return(e<<32-r|t>>>r)>>>0},e.rotr64_lo=function(t,e,r){return(t<<32-r|e>>
vendor: 4,831 bytes, line 15672
15672>r)>>>0},e.shr64_hi=function(t,e,r){return t>>>r},e.shr64_lo=function(t,e,r){return(t<<32-r|e>>>r)>>>0}},2723:(t,e,r)=>{"use strict";var n=r(7952),i=r(4367),o=r(3349);function s(t){if(!(this instanceof s))return new s(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=i.toArray(t.entropy,t.entropyEnc||"hex"),r=i.toArray(t.nonce,t.nonceEnc||"hex"),n=i.toArray(t.pers,t.persEnc||"hex");o(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,r,n)}t.exports=s,s.prototype._init=function(t,e,r){var n=t.concat(e).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i<this.V.length;i++)this.K[i]=0,this.V[i]=1;this._update(n),this._reseed=1,this.reseedInterval=281474976710656},s.prototype._hmac=function(){return new n.hmac(this.hash,this.K)},s.prototype._update=function(t){var e=this._hmac().update(this.V).update([0]);t&&(e=e.update(t)),this.K=e.digest(),this.V=this._hmac().update(this.V).digest(),t&&(this.K=this._hmac().update(this.V).update([1]).update(t).digest(),this.V=this._hmac().update(this.V).digest())},s.prototype.reseed=function(t,e,r,n){"string"!=typeof e&&(n=r,r=e,e=null),t=i.toArray(t,e),r=i.toArray(r,n),o(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(r||[])),this._reseed=1},s.prototype.generate=function(t,e,r,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof e&&(n=r,r=e,e=null),r&&(r=i.toArray(r,n||"hex"),this._update(r));for(var o=[];o.length<t;)this.V=this._hmac().update(this.V).digest(),o=o.concat(this.V);var s=o.slice(0,t);return this._update(r),this._reseed++,i.encode(s,e)}},251:(t,e)=>{e.read=function(t,e,r,n,i){var o,s,a=8*i-n-1,d=(1<<a)-1,u=d>>1,h=-7,l=r?i-1:0,f=r?-1:1,c=t[e+l];for(l+=f,o=c&(1<<-h)-1,c>>=-h,h+=a;h>0;o=256*o+t[e+l],l+=f,h-=8);for(s=o&(1<<-h)-1,o>>=-h,h+=n;h>0;s=256*s+t[e+l],l+=f,h-=8);if(0===o)o=1-u;else{if(o===d)return s?NaN:1/0*(c?-1:1);s+=Math.pow(2,n),o-=u}return(c?-1:1)*s*Math.pow(2,o-n)},e.write=function(t,e,r,n,i,o){var s,a,d,u=8*o-i-1,h=(1<<u)-1,l=h>>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,c=n?0:o-1,g=n?1:-1,p=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=h):(s=Math.floor(Math.log(e)/Math.LN2),e*(d=Math.pow(2,-s))<1&&(s--,d*=2),(e+=s+l>=1?f/d:f*Math.pow(2,1-l))*d>=2&&(s++,d/=2),s+l>=h?(a=0,s=h):s+l>=1?(a=(e*d-1)*Math.pow(2,i),s+=l):(a=e*Math.pow(2,l-1)*Math.pow(2,i),s=0));i>=8;t[r+c]=255&a,c+=g,a/=256,i-=8);for(s=s<<i|a,u+=i;u>0;t[r+c]=255&s,c+=g,s/=256,u-=8);t[r+c-g]|=128*p}},6698:t=>{"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}},4634:t=>{var e={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==e.call(t)}},3065:function(t,e,r){var n,i;!function(){"use strict";n=function(){var t=function(){},e="undefined",r=typeof window!==e&&typeof window.navigator!==e&&/Trident\/|MSIE /.test(window.navigator.userAgent),n=["trace","debug","info","warn","error"];function i(t,e){var r=t[e];if("function"==typeof r.bind)return r.bind(t);try{return Function.prototype.bind.call(r,t)}catch(e){return function(){return Function.prototype.apply.apply(r,[t,arguments])}}}function o(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function s(e,r){for(var i=0;i<n.length;i++){var o=n[i];this[o]=i<e?t:this.methodFactory(o,e,r)}this.log=this.debug}function a(t,r,n){return function(){typeof console!==e&&(s.call(this,r,n),this[t].apply(this,arguments))}}function d(n,s,d){return function(n){return"debug"===n&&(n="log"),typeof console!==e&&("trace"===n&&r?o:void 0!==console[n]?i(console,n):void 0!==console.log?i(console,"log"):t)}(n)||a.apply(this,arguments)}function u(t,r,i){var o,a=this,u="loglevel";function h(){var t;if(typeof window!==e&&u){try{t=window.localStorage[u]}catch(t){}if(typeof t===e)try{var r=window.document.cookie,n=r.indexOf(encodeURIComponent(u)+"=");-1!==n&&(t=/^([^;]+)/.exec(r.slice(n))[1])}catch(t){}return void 0===a.levels[t]&&(t=void 0),t}}"string"==typeof t?u+=":"+t:"symbol"==typeof t&&(u=void 0),a.name=t,a.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},a.methodFactory=i||d,a.getLevel=function(){return o},a.setLevel=function(r,i){if("string"==typeof r&&void 0!==a.levels[r.toUpperCase()]&&(r=a.levels[r.toUpperCase()]),!("number"==typeof r&&r>
15672=0&&r<=a.levels.SILENT))throw"log.setLevel() called with invalid level: "+r;if(o=r,!1!==i&&function(t){var r=(n[t]||"silent").toUpperCase();if(typeof window!==e&&u){try{return void(window.localStorage[u]=r)}catch(t){}try{window.document.cookie=encodeURIComponent(u)+"="+r+";"}catch(t){}}}(r),s.call(a,r,t),typeof console===e&&r<a.levels.SILENT)return"No console available for logging"},a.setDefaultLevel=function(t){h()||a.setLevel(t,!1)},a.enableAll=function(t){a.setLevel(a.levels.TRACE,t)},a.disableAll=function(t){a.setLevel(a.levels.SILENT,t)};var l=h();null==l&&(l=null==r?"WARN":r),a.setLevel(l,!1)}var h=new u,l={};h.getLogger=function(t){if("symbol"!=typeof t&&"string"!=typeof t||""===t)throw new TypeError("You must supply a name when creating a logger.");var e=l[t];return e||(e=l[t]=new u(t,h.getLevel(),h.methodFactory)),e};var f=typeof window!==e?window.log:void 0;return h.noConflict=function(){return typeof window!==e&&window.log===h&&(window.log=f),h},h.getLoggers=function(){return l},h.default=h,h},void 0===(i=n.call(e,r,e,t))||(t.exports=i)}()},8276:(t,e,r)=>{"use strict";var n=r(6698),i=r(4729),o=r(2861).Buffer,s=new Array(16);function a(){i.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function d(t,e){return t<<e|t>>>32-e}function u(t,e,r,n,i,o,s){return d(t+(e&r|~e&n)+i+o|0,s)+e|0}function h(t,e,r,n,i,o,s){return d(t+(e&n|r&~n)+i+o|0,s)+e|0}function l(t,e,r,n,i,o,s){return d(t+(e^r^n)+i+o|0,s)+e|0}function f(t,e,r,n,i,o,s){return d(t+(r^(e|~n))+i+o|0,s)+e|0}n(a,i),a.prototype._update=function(){for(var t=s,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);var r=this._a,n=this._b,i=this._c,o=this._d;r=u(r,n,i,o,t[0],3614090360,7),o=u(o,r,n,i,t[1],3905402710,12),i=u(i,o,r,n,t[2],606105819,17),n=u(n,i,o,r,t[3],3250441966,22),r=u(r,n,i,o,t[4],4118548399,7),o=u(o,r,n,i,t[5],1200080426,12),i=u(i,o,r,n,t[6],2821735955,17),n=u(n,i,o,r,t[7],4249261313,22),r=u(r,n,i,o,t[8],1770035416,7),o=u(o,r,n,i,t[9],2336552879,12),i=u(i,o,r,n,t[10],4294925233,17),n=u(n,i,o,r,t[11],2304563134,22),r=u(r,n,i,o,t[12],1804603682,7),o=u(o,r,n,i,t[13],4254626195,12),i=u(i,o,r,n,t[14],2792965006,17),r=h(r,n=u(n,i,o,r,t[15],1236535329,22),i,o,t[1],4129170786,5),o=h(o,r,n,i,t[6],3225465664,9),i=h(i,o,r,n,t[11],643717713,14),n=h(n,i,o,r,t[0],3921069994,20),r=h(r,n,i,o,t[5],3593408605,5),o=h(o,r,n,i,t[10],38016083,9),i=h(i,o,r,n,t[15],3634488961,14),n=h(n,i,o,r,t[4],3889429448,20),r=h(r,n,i,o,t[9],568446438,5),o=h(o,r,n,i,t[14],3275163606,9),i=h(i,o,r,n,t[3],4107603335,14),n=h(n,i,o,r,t[8],1163531501,20),r=h(r,n,i,o,t[13],2850285829,5),o=h(o,r,n,i,t[2],4243563512,9),i=h(i,o,r,n,t[7],1735328473,14),r=l(r,n=h(n,i,o,r,t[12],2368359562,20),i,o,t[5],4294588738,4),o=l(o,r,n,i,t[8],2272392833,11),i=l(i,o,r,n,t[11],1839030562,16),n=l(n,i,o,r,t[14],4259657740,23),r=l(r,n,i,o,t[1],2763975236,4),o=l(o,r,n,i,t[4],1272893353,11),i=l(i,o,r,n,t[7],4139469664,16),n=l(n,i,o,r,t[10],3200236656,23),r=l(r,n,i,o,t[13],681279174,4),o=l(o,r,n,i,t[0],3936430074,11),i=l(i,o,r,n,t[3],3572445317,16),n=l(n,i,o,r,t[6],76029189,23),r=l(r,n,i,o,t[9],3654602809,4),o=l(o,r,n,i,t[12],3873151461,11),i=l(i,o,r,n,t[15],530742520,16),r=f(r,n=l(n,i,o,r,t[2],3299628645,23),i,o,t[0],4096336452,6),o=f(o,r,n,i,t[7],1126891415,10),i=f(i,o,r,n,t[14],2878612391,15),n=f(n,i,o,r,t[5],4237533241,21),r=f(r,n,i,o,t[12],1700485571,6),o=f(o,r,n,i,t[3],2399980690,10),i=f(i,o,r,n,t[10],4293915773,15),n=f(n,i,o,r,t[1],2240044497,21),r=f(r,n,i,o,t[8],1873313359,6),o=f(o,r,n,i,t[15],4264355552,10),i=f(i,o,r,n,t[6],2734768916,15),n=f(n,i,o,r,t[13],
vendor: 6,442 bytes, line 15672
156721309151649,21),r=f(r,n,i,o,t[4],4149444226,6),o=f(o,r,n,i,t[11],3174756917,10),i=f(i,o,r,n,t[2],718787259,15),n=f(n,i,o,r,t[9],3951481745,21),this._a=this._a+r|0,this._b=this._b+n|0,this._c=this._c+i|0,this._d=this._d+o|0},a.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=o.allocUnsafe(16);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t},t.exports=a},2244:(t,e,r)=>{var n=r(1158),i=r(5037);function o(t){this.rand=t||new i.Rand}t.exports=o,o.create=function(t){return new o(t)},o.prototype._randbelow=function(t){var e=t.bitLength(),r=Math.ceil(e/8);do{var i=new n(this.rand.generate(r))}while(i.cmp(t)>=0);return i},o.prototype._randrange=function(t,e){var r=e.sub(t);return t.add(this._randbelow(r))},o.prototype.test=function(t,e,r){var i=t.bitLength(),o=n.mont(t),s=new n(1).toRed(o);e||(e=Math.max(1,i/48|0));for(var a=t.subn(1),d=0;!a.testn(d);d++);for(var u=t.shrn(d),h=a.toRed(o);e>0;e--){var l=this._randrange(new n(2),a);r&&r(l);var f=l.toRed(o).redPow(u);if(0!==f.cmp(s)&&0!==f.cmp(h)){for(var c=1;c<d;c++){if(0===(f=f.redSqr()).cmp(s))return!1;if(0===f.cmp(h))break}if(c===d)return!1}}return!0},o.prototype.getDivisor=function(t,e){var r=t.bitLength(),i=n.mont(t),o=new n(1).toRed(i);e||(e=Math.max(1,r/48|0));for(var s=t.subn(1),a=0;!s.testn(a);a++);for(var d=t.shrn(a),u=s.toRed(i);e>0;e--){var h=this._randrange(new n(2),s),l=t.gcd(h);if(0!==l.cmpn(1))return l;var f=h.toRed(i).redPow(d);if(0!==f.cmp(o)&&0!==f.cmp(u)){for(var c=1;c<a;c++){if(0===(f=f.redSqr()).cmp(o))return f.fromRed().subn(1).gcd(t);if(0===f.cmp(u))break}if(c===a)return(f=f.redSqr()).fromRed().subn(1).gcd(t)}}return!1}},1158:function(t,e,r){!function(t,e){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function o(t,e,r){if(o.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var s;"object"==typeof t?t.exports=o:e.BN=o,o.BN=o,o.wordSize=26;try{s="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(4688).Buffer}catch(t){}function a(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function d(t,e,r){var n=a(t,r);return r-1>=e&&(n|=a(t,r-1)<<4),n}function u(t,e,r,n){for(var i=0,o=Math.min(t.length,r),s=e;s<o;s++){var a=t.charCodeAt(s)-48;i*=n,i+=a>=49?a-49+10:a>=17?a-17+10:a}return i}o.isBN=function(t){return t instanceof o||null!==t&&"object"==typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i<t.length&&(16===e?this._parseHex(t,i,r):(this._parseBase(t,e,i),"le"===r&&this._initArray(this.toArray(),e,r)))},o.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initArray=function(t,e,r){if(n("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var o,s,a=0;if("be"===r)for(i=t.length-1,o=0;i>=0;i-=3)s=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===r)for(i=0,o=0;i<t.length;i+=3)s=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var i,o=0,s=0;if("be"===r)for(n=t.length-1;n>=e;n-=2)i=d(t,e,n)<<o,this.words[s]|=67108863&i,o>=18?(o-=18,s+=1,this.words[s]|=i>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n<t.length;n+=2)i=d(t,e,n)<<o,this.words[s]|=67108863&i,o>=18?(o-=18,s+=1,this.words[s]|=i>>>26):o+=8;this.strip()},o.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,s=o%n,a=Math.min(o,o-s)+r,d=0,h=r;h<a;h+=n)d=u(t,h,h+n,e),this.imuln(i),this.words[0]+d<67108864?this.words[0]+=d:this._iaddn(d);if(0!==s){var l=1;for(d=u(t,h,t.length,e),h=0;h<s;h++)l*=e;this.imuln(l),this.words[0]+d<67108864?this.words[0]+=d:this._iaddn(d)}this.strip()},o.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},o.prototype.clone=function(){var t=new o(null);return this.copy(t),t},o.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},o.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16
vendor: 4,478 bytes, line 15672
15672777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function c(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],s=i*o,a=67108863&s,d=s/67108864|0;r.words[0]=a;for(var u=1;u<n;u++){for(var h=d>>>26,l=67108863&d,f=Math.min(u,e.length-1),c=Math.max(0,u-t.length+1);c<=f;c++){var g=u-c|0;h+=(s=(i=0|t.words[g])*(o=0|e.words[c])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,d=0|h}return 0!==d?r.words[u]=0|d:r.length--,r.strip()}o.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var i=0,o=0,s=0;s<this.length;s++){var a=this.words[s],d=(16777215&(a<<i|o)).toString(16);o=a>>>24-i&16777215,(i+=2)>=26&&(i-=26,s--),r=0!==o||s!==this.length-1?h[6-d.length]+d+r:d+r}for(0!==o&&(r=o.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=l[t],c=f[t];r="";var g=this.clone();for(g.negative=0;!g.isZero();){var p=g.modn(c).toString(t);r=(g=g.idivn(c)).isZero()?p+r:h[u-p.length]+p+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return n(void 0!==s),this.toArrayLike(s,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),o=r||Math.max(1,i);n(i<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0"),this.strip();var s,a,d="le"===e,u=new t(o),h=this.clone();if(d){for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),u[a]=s;for(;a<o;a++)u[a]=0}else{for(a=0;a<o-i;a++)u[a]=0;for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),u[o-a-1]=s}return u},Math.clz32?o.prototype._countBits=function(t){return 32-Math.clz32(t)}:o.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 8191&e||(r+=13,e>>>=13),127&e||(r+=7,e>>>=7),15&e||(r+=4,e>>>=4),3&e||(r+=2,e>>>=2),1&e||r++,r},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},o.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},o.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},o.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},o.prototype.isNeg=function(){return 0!==this.negative},o.prototype.neg=function(){return this.clone().ineg()},o.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},o.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},o.prototype.ior=function(t){return n(!(this.negative|t.negative)),this.iuor(t)},o.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},o.prototype.iand=function(t){return n(!(this.negative|t.negative)),this.iuand(t)},o.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n<r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n<e.length;n++)this.words[n]=e.words[n];return this.length=e.length,this.strip()},o.prototype.ixor=function(t){return n(!
vendor: 2,330 bytes, line 15672
15672(this.negative|t.negative)),this.iuxor(t)},o.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<<i:this.words[r]&~(1<<i),this.strip()},o.prototype.iadd=function(t){var e,r,n;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o<n.length;o++)e=(0|r.words[o])+(0|n.words[o])+i,this.words[o]=67108863&e,i=e>>>26;for(;0!==i&&o<r.length;o++)e=(0|r.words[o])+i,this.words[o]=67108863&e,i=e>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},o.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,s=0;s<n.length;s++)o=(e=(0|r.words[s])-(0|n.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},o.prototype.sub=function(t){return this.clone().isub(t)};var
vendor: 7,651 bytes, line 15672
15672g=function(t,e,r){var n,i,o,s=t.words,a=e.words,d=r.words,u=0,h=0|s[0],l=8191&h,f=h>>>13,c=0|s[1],g=8191&c,p=c>>>13,m=0|s[2],b=8191&m,y=m>>>13,v=0|s[3],_=8191&v,M=v>>>13,w=0|s[4],$=8191&w,S=w>>>13,N=0|s[5],E=8191&N,T=N>>>13,A=0|s[6],R=8191&A,P=A>>>13,O=0|s[7],C=8191&O,I=O>>>13,L=0|s[8],D=8191&L,U=L>>>13,k=0|s[9],x=8191&k,F=k>>>13,B=0|a[0],V=8191&B,j=B>>>13,H=0|a[1],G=8191&H,W=H>>>13,Y=0|a[2],z=8191&Y,q=Y>>>13,K=0|a[3],Z=8191&K,X=K>>>13,J=0|a[4],Q=8191&J,tt=J>>>13,et=0|a[5],rt=8191&et,nt=et>>>13,it=0|a[6],ot=8191&it,st=it>>>13,at=0|a[7],dt=8191&at,ut=at>>>13,ht=0|a[8],lt=8191&ht,ft=ht>>>13,ct=0|a[9],gt=8191&ct,pt=ct>>>13;r.negative=t.negative^e.negative,r.length=19;var mt=(u+(n=Math.imul(l,V))|0)+((8191&(i=(i=Math.imul(l,j))+Math.imul(f,V)|0))<<13)|0;u=((o=Math.imul(f,j))+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(g,V),i=(i=Math.imul(g,j))+Math.imul(p,V)|0,o=Math.imul(p,j);var bt=(u+(n=n+Math.imul(l,G)|0)|0)+((8191&(i=(i=i+Math.imul(l,W)|0)+Math.imul(f,G)|0))<<13)|0;u=((o=o+Math.imul(f,W)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(b,V),i=(i=Math.imul(b,j))+Math.imul(y,V)|0,o=Math.imul(y,j),n=n+Math.imul(g,G)|0,i=(i=i+Math.imul(g,W)|0)+Math.imul(p,G)|0,o=o+Math.imul(p,W)|0;var yt=(u+(n=n+Math.imul(l,z)|0)|0)+((8191&(i=(i=i+Math.imul(l,q)|0)+Math.imul(f,z)|0))<<13)|0;u=((o=o+Math.imul(f,q)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(_,V),i=(i=Math.imul(_,j))+Math.imul(M,V)|0,o=Math.imul(M,j),n=n+Math.imul(b,G)|0,i=(i=i+Math.imul(b,W)|0)+Math.imul(y,G)|0,o=o+Math.imul(y,W)|0,n=n+Math.imul(g,z)|0,i=(i=i+Math.imul(g,q)|0)+Math.imul(p,z)|0,o=o+Math.imul(p,q)|0;var vt=(u+(n=n+Math.imul(l,Z)|0)|0)+((8191&(i=(i=i+Math.imul(l,X)|0)+Math.imul(f,Z)|0))<<13)|0;u=((o=o+Math.imul(f,X)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul($,V),i=(i=Math.imul($,j))+Math.imul(S,V)|0,o=Math.imul(S,j),n=n+Math.imul(_,G)|0,i=(i=i+Math.imul(_,W)|0)+Math.imul(M,G)|0,o=o+Math.imul(M,W)|0,n=n+Math.imul(b,z)|0,i=(i=i+Math.imul(b,q)|0)+Math.imul(y,z)|0,o=o+Math.imul(y,q)|0,n=n+Math.imul(g,Z)|0,i=(i=i+Math.imul(g,X)|0)+Math.imul(p,Z)|0,o=o+Math.imul(p,X)|0;var _t=(u+(n=n+Math.imul(l,Q)|0)|0)+((8191&(i=(i=i+Math.imul(l,tt)|0)+Math.imul(f,Q)|0))<<13)|0;u=((o=o+Math.imul(f,tt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(E,V),i=(i=Math.imul(E,j))+Math.imul(T,V)|0,o=Math.imul(T,j),n=n+Math.imul($,G)|0,i=(i=i+Math.imul($,W)|0)+Math.imul(S,G)|0,o=o+Math.imul(S,W)|0,n=n+Math.imul(_,z)|0,i=(i=i+Math.imul(_,q)|0)+Math.imul(M,z)|0,o=o+Math.imul(M,q)|0,n=n+Math.imul(b,Z)|0,i=(i=i+Math.imul(b,X)|0)+Math.imul(y,Z)|0,o=o+Math.imul(y,X)|0,n=n+Math.imul(g,Q)|0,i=(i=i+Math.imul(g,tt)|0)+Math.imul(p,Q)|0,o=o+Math.imul(p,tt)|0;var Mt=(u+(n=n+Math.imul(l,rt)|0)|0)+((8191&(i=(i=i+Math.imul(l,nt)|0)+Math.imul(f,rt)|0))<<13)|0;u=((o=o+Math.imul(f,nt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(R,V),i=(i=Math.imul(R,j))+Math.imul(P,V)|0,o=Math.imul(P,j),n=n+Math.imul(E,G)|0,i=(i=i+Math.imul(E,W)|0)+Math.imul(T,G)|0,o=o+Math.imul(T,W)|0,n=n+Math.imul($,z)|0,i=(i=i+Math.imul($,q)|0)+Math.imul(S,z)|0,o=o+Math.imul(S,q)|0,n=n+Math.imul(_,Z)|0,i=(i=i+Math.imul(_,X)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,X)|0,n=n+Math.imul(b,Q)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(y,Q)|0,o=o+Math.imul(y,tt)|0,n=n+Math.imul(g,rt)|0,i=(i=i+Math.imul(g,nt)|0)+Math.imul(p,rt)|0,o=o+Math.imul(p,nt)|0;var wt=(u+(n=n+Math.imul(l,ot)|0)|0)+((8191&(i=(i=i+Math.imul(l,st)|0)+Math.imul(f,ot)|0))<<13)|0;u=((o=o+Math.imul(f,st)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(C,V),i=(i=Math.imul(C,j))+Math.imul(I,V)|0,o=Math.imul(I,j),n=n+Math.imul(R,G)|0,i=(i=i+Math.imul(R,W)|0)+Math.imul(P,G)|0,o=o+Math.imul(P,W)|0,n=n+Math.imul(E,z)|0,i=(i=i+Math.imul(E,q)|0)+Math.imul(T,z)|0,o=o+Math.imul(T,q)|0,n=n+Math.imul($,Z)|0,i=(i=i+Math.imul($,X)|0)+Math.imul(S,Z)|0,o=o+Math.imul(S,X)|0,n=n+Math.imul(_,Q)|0,i=(i=i+Math.imul(_,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(y,rt)|0,o=o+Math.imul(y,nt)|0,n=n+Math.imul(g,ot)|0,i=(i=i+Math.imul(g,st)|0)+Math.imul(p,ot)|0,o=o+Math.imul(p,st)|0;var $t=(u+(n=n+Math.imul(l,dt)|0)|0)+((8191&(i=(i=i+Math.imul(l,ut)|0)+Math.imul(f,dt)|0))<<13)|0;u=((o=o+Math.imul(f,ut)|0)+(i>>>13)|0)+($t>>>26)|0,$t&=67108863,n=Math.imul(D,V),i=(i=Math.imul(D,j))+Math.imul(U,V)|0,o=Math.imul(U,j),n=n+Math.imul(C,G)|0,i=(i=i+Math.imul(C,W)|0)+Math.imul(I,G)|0,o=o+Math.imul(I,W)|0,n=n+Math.imul(R,z)|0,i=(i=i+Math.imul(R,q)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,q)|0,n=n+Math.imul(E,Z)|0,i=(i=i+Math.imul(E,X)|0)+Math.imul(T,Z)|0,o=o+Math.imul(T,X)|0,n=n+Math.imul($,Q)|0,i=(i=i+Math.imul($,tt)|0)+Math.imul(S,Q)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(_,rt)|0,i=(i=i+Math.imul(_,nt)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,nt)|0,n=n+Math.imul(b,ot)|0,i=(i=i+Math.imul(b,st)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,st)|0,n=n+Math.imul(g,dt)|0,i=(i=i+Math.imul(g,ut)|0)+Math.imul(p,dt)|0,o=o+Math.imul(p,ut)|0;var St=(u+(n=n+Math.imul(l,lt)|0)|0)+((8191&(i=(i=i+Math.imul(l,ft)|0)+Math.imul(f,lt)|0))<<13)|0;u=((o=o+Math.imul(f,ft)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(x,V),i=(i=Math.imul(x,j))+Math.imul(F,V)|0,o=Math.imul(F,j),n=n+Math.imul(D,G)|0,i=(i=i+Math.imul(D,W)|0)+Math.imul(U,G)|0,o=o+Math.imul(U,W)|0,n=n+Math.imul(C,z)|0,i=(i=i+Math.imul(C,q)|0)+Math.imul(I,z)|0,o=o+Math.imul(I,q)|0,n=n+Math.imul(R,Z)|0,i=(i=i+Math.imul(R,X)|0)+Math.imul(P,Z)|0,o=o+Math.imul(P,X)|0,n=n+Math.imul(E,Q)|0,i=(i=i+Math.imul(E,tt)|0)+Math.imul(T,Q)|0,o=o+Math.imul(T,tt)|0,n=n+Math.imul($,rt)|0,i=(i=i+Math.imul($,nt)|0)+Math.imul(S,rt)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(_,ot)|0,i=(i=i+Math.imul(_,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,n=n+Math.imul(b,dt)|0,i=(i=i+Math.imul(b,ut)|0)+Math.imul(y,dt)|0,o=o+Math.imul(y,ut)|0,n=n+Math.imul(g,lt)|0,i=(i=i+Math.imul(g,ft)|0)+Math.imul(p,lt)|0,o=o+Math.imul(p,ft)|0;var Nt=(u+(n=n+Math.imul(l,gt)|0)|0)+((8191&(i=(i=i+Math.imul(l,pt)|0)+Math.imul(f,gt)|0))<<13)|0;u=((o=o+Math.imul(f,pt)|0)+(i>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,n=Math.imul(x,G),i=(i=Math.imul(x,W))+Math.imul(F,G)|0,o=Math.imul(F,W),n=n+Math.imul(D,z)|0,i=(i=i+Math.imul(D,q)|0)+Math.imul(U,z)|0,o=o+Math.imul(U,q)|0,n=n+Math.imul(C,Z)|0,i=(i=i+Math.imul(C,X)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,X)|0,n=n+Math.imul(R,Q)|0,i=(i=i+Math.imul(R,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,n=n+Math.imul(E,rt)|0,i=(i=i+Math.imul(E,nt)|0)+Math.imul(T,rt)|0,o=o+Math.imul(T,nt)|0,n=n+Math.imul($,ot)|0,i=(i=i+Math.imul($,st)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,st)|0,n=n+Math.imul(_,dt)|0,i=(i=i+Math.imul(_,ut)|0)+Math.imul(M,dt)|0,o=o+Math.imul(M,ut)|0,n=n+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ft)|0)+Math.imul(y,lt)|0,o=o+Math.imul(y,ft)|0;var Et=(u+(n=n+Math.imul(g,gt)|0)|0)+((8191&(i=(i=i+Math.imul(g,pt)|0)+Math.imul(p,gt)|0))<<13)|0;u=((o=o+Math.imul(p,pt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(x,z),i=(i=Math.imul(x,q))+Math.imul(F,z)|0,o=Math.imul(F,q),n=n+Math.imul(D,Z)|0,i=(i=i+Math.imul(D,X)|0)+Math.imul(U,Z)|0,o=o+Math.imul(U,X)|0,n=n+Math.imul(C,Q)|0,i=(i=i+Math.imul(C,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,n=n+Math.imul(R,rt)|0,i=(i=i+Math.imul(R,nt)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,nt)|0,n=n+Math.imul(E,ot)|0,i=(i=i+Math.imul(E,st)|0)+Math.imul(T,ot)|0,o=o+Math.imul(T,st)|0,n=n+Math.imul($,dt)|0,i=(i=i+Math.imul($,ut)|0)+Math.imul(S,dt)|0,o=o+Math.imul(S,ut)|0,n=n+Math.imul(_,lt)|0,i=(i=i+Math.imul(_,ft)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,ft)|0;var Tt=(u+(n=n+Math.imul(b,gt)|0)|0)+((8191&(i=(i=i+Math.imul(b,pt)|0)+Math.imul(y,gt)|0))<<13)|0;u=((o=o+Math.imul(y,pt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(x,Z),i=(i=Math.imul(x,X))+Math.imul(F,Z)|0,o=Math.imul(F,X
vendor: 5,428 bytes, line 15672
15672),n=n+Math.imul(D,Q)|0,i=(i=i+Math.imul(D,tt)|0)+Math.imul(U,Q)|0,o=o+Math.imul(U,tt)|0,n=n+Math.imul(C,rt)|0,i=(i=i+Math.imul(C,nt)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,nt)|0,n=n+Math.imul(R,ot)|0,i=(i=i+Math.imul(R,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,n=n+Math.imul(E,dt)|0,i=(i=i+Math.imul(E,ut)|0)+Math.imul(T,dt)|0,o=o+Math.imul(T,ut)|0,n=n+Math.imul($,lt)|0,i=(i=i+Math.imul($,ft)|0)+Math.imul(S,lt)|0,o=o+Math.imul(S,ft)|0;var At=(u+(n=n+Math.imul(_,gt)|0)|0)+((8191&(i=(i=i+Math.imul(_,pt)|0)+Math.imul(M,gt)|0))<<13)|0;u=((o=o+Math.imul(M,pt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(x,Q),i=(i=Math.imul(x,tt))+Math.imul(F,Q)|0,o=Math.imul(F,tt),n=n+Math.imul(D,rt)|0,i=(i=i+Math.imul(D,nt)|0)+Math.imul(U,rt)|0,o=o+Math.imul(U,nt)|0,n=n+Math.imul(C,ot)|0,i=(i=i+Math.imul(C,st)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,st)|0,n=n+Math.imul(R,dt)|0,i=(i=i+Math.imul(R,ut)|0)+Math.imul(P,dt)|0,o=o+Math.imul(P,ut)|0,n=n+Math.imul(E,lt)|0,i=(i=i+Math.imul(E,ft)|0)+Math.imul(T,lt)|0,o=o+Math.imul(T,ft)|0;var Rt=(u+(n=n+Math.imul($,gt)|0)|0)+((8191&(i=(i=i+Math.imul($,pt)|0)+Math.imul(S,gt)|0))<<13)|0;u=((o=o+Math.imul(S,pt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(x,rt),i=(i=Math.imul(x,nt))+Math.imul(F,rt)|0,o=Math.imul(F,nt),n=n+Math.imul(D,ot)|0,i=(i=i+Math.imul(D,st)|0)+Math.imul(U,ot)|0,o=o+Math.imul(U,st)|0,n=n+Math.imul(C,dt)|0,i=(i=i+Math.imul(C,ut)|0)+Math.imul(I,dt)|0,o=o+Math.imul(I,ut)|0,n=n+Math.imul(R,lt)|0,i=(i=i+Math.imul(R,ft)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ft)|0;var Pt=(u+(n=n+Math.imul(E,gt)|0)|0)+((8191&(i=(i=i+Math.imul(E,pt)|0)+Math.imul(T,gt)|0))<<13)|0;u=((o=o+Math.imul(T,pt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(x,ot),i=(i=Math.imul(x,st))+Math.imul(F,ot)|0,o=Math.imul(F,st),n=n+Math.imul(D,dt)|0,i=(i=i+Math.imul(D,ut)|0)+Math.imul(U,dt)|0,o=o+Math.imul(U,ut)|0,n=n+Math.imul(C,lt)|0,i=(i=i+Math.imul(C,ft)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ft)|0;var Ot=(u+(n=n+Math.imul(R,gt)|0)|0)+((8191&(i=(i=i+Math.imul(R,pt)|0)+Math.imul(P,gt)|0))<<13)|0;u=((o=o+Math.imul(P,pt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(x,dt),i=(i=Math.imul(x,ut))+Math.imul(F,dt)|0,o=Math.imul(F,ut),n=n+Math.imul(D,lt)|0,i=(i=i+Math.imul(D,ft)|0)+Math.imul(U,lt)|0,o=o+Math.imul(U,ft)|0;var Ct=(u+(n=n+Math.imul(C,gt)|0)|0)+((8191&(i=(i=i+Math.imul(C,pt)|0)+Math.imul(I,gt)|0))<<13)|0;u=((o=o+Math.imul(I,pt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(x,lt),i=(i=Math.imul(x,ft))+Math.imul(F,lt)|0,o=Math.imul(F,ft);var It=(u+(n=n+Math.imul(D,gt)|0)|0)+((8191&(i=(i=i+Math.imul(D,pt)|0)+Math.imul(U,gt)|0))<<13)|0;u=((o=o+Math.imul(U,pt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Lt=(u+(n=Math.imul(x,gt))|0)+((8191&(i=(i=Math.imul(x,pt))+Math.imul(F,gt)|0))<<13)|0;return u=((o=Math.imul(F,pt))+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,d[0]=mt,d[1]=bt,d[2]=yt,d[3]=vt,d[4]=_t,d[5]=Mt,d[6]=wt,d[7]=$t,d[8]=St,d[9]=Nt,d[10]=Et,d[11]=Tt,d[12]=At,d[13]=Rt,d[14]=Pt,d[15]=Ot,d[16]=Ct,d[17]=It,d[18]=Lt,0!==u&&(d[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(g=c),o.prototype.mulTo=function(t,e){var r,n=this.length+t.length;return r=10===this.length&&10===t.length?g(this,t,e):n<63?c(this,t,e):n<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o<r.length-1;o++){var s=i;i=0;for(var a=67108863&n,d=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=d;u++){var h=o-u,l=(0|t.words[h])*(0|e.words[u]),f=67108863&l;a=67108863&(f=f+a|0),i+=(s=(s=s+(l/67108864|0)|0)+(f>>>26)|0)>>>26,s&=67108863}r.words[o]=a,n=s,s=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}(this,t,e):p(this,t,e),r},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=o.prototype._countBits(t)-1,n=0;n<t;n++)e[n]=this.revBin(n,r,t);return e},m.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,i=0;i<e;i++)n|=(1&t)<<e-i-1,t>>=1;return n},m.prototype.permute=function(t,e,r,n,i,o){for(var s=0;s<o;s++)n[s]=e[t[s]],i[s]=r[t[s]]},m.prototype.transform=function(t,e,r,n,i,o){this.permute(o,t,e,r,n,i);for(var s=1;s<i;s<<=1)for(var a=s<<1,d=Math.cos(2*Math.PI/a),u=Math.sin(2*Math.PI/a),h=0;h<i;h+=a)for(var l=d,f=u,c=0;c<s;c++){var g=r[h+c],p=n[h+c],m=r[h+c+s],b=n[h+c+s],y=l*m-f*b;b=l*b+f*m,m=y,r[h+c]=g+m,n[h+c]=p+b,r[h+c+s]=g-m,n[h+c+s]=p-b,c!==a&&(y=d*l-u*f,f=d*f+u*l,l=y)}},m.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},m.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=t[n];t[n]=t[r-n-1],t[r-n-1]=i,i=e[n],e[n]=-e[r-n-1],e[r-n-1]=-i}},m.prototype.normalize13b=function(t,e){for(var r=0,n=0;n<e/2;n++){var i=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&i,r=i<67108864?0:i/67108864|0}return t},m.prototype.convert13b=function(t,e,r,i){for(var o=0,s=0;s<e;s++)o+=0|t[s],r[2*s]=8191&o,o>>>=13,r[2*s+1]=8191&o,o>>>=13;for(s=2*e;s<i;++s)r[s]=0;n(0===o),n(!(-8192&o))},m.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},m.prototype.mulp=function(t,e,r){var n=2*this.guessLen13b(t.length,e.length),i=this.makeRBT(n),o=this.stub(n),s=new Array(n),a=new Array(n),d=new Array(n),u=new Array(n),h=new Array(n),l=new Array(n),f=r.words;f.length=n,this.convert13b(t.words,t.length,s,n),this.convert13b(e.words,e.length,u,n),this.transform(s,o,a,d,n,i),this.transform(u,o,h,l,n,i);for(var c=0;c<n;
vendor: 16,384 bytes, line 15672
15672c++){var g=a[c]*h[c]-d[c]*l[c];d[c]=a[c]*l[c]+d[c]*h[c],a[c]=g}return this.conjugate(a,d,n),this.transform(a,d,f,o,n,i),this.conjugate(f,o,n),this.normalize13b(f,n),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},o.prototype.mul=function(t){var e=new o(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},o.prototype.mulf=function(t){var e=new o(null);return e.words=new Array(this.length+t.length),p(this,t,e)},o.prototype.imul=function(t){return this.clone().mulTo(t,this)},o.prototype.imuln=function(t){n("number"==typeof t),n(t<67108864);for(var e=0,r=0;r<this.length;r++){var i=(0|this.words[r])*t,o=(67108863&i)+(67108863&e);e>>=26,e+=i/67108864|0,e+=o>>>26,this.words[r]=67108863&o}return 0!==e&&(this.words[r]=e,this.length++),this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var n=r/26|0,i=r%26;e[r]=(t.words[n]&1<<i)>>>i}return e}(t);if(0===e.length)return new o(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var i=r.sqr();n<e.length;n++,i=i.sqr())0!==e[n]&&(r=r.mul(i));return r},o.prototype.iushln=function(t){n("number"==typeof t&&t>=0);var e,r=t%26,i=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var s=0;for(e=0;e<this.length;e++){var a=this.words[e]&o,d=(0|this.words[e])-a<<r;this.words[e]=d|s,s=a>>>26-r}s&&(this.words[e]=s,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this.strip()},o.prototype.ishln=function(t){return n(0===this.negative),this.iushln(t)},o.prototype.iushrn=function(t,e,r){var i;n("number"==typeof t&&t>=0),i=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<<o,d=r;if(i-=s,i=Math.max(0,i),d){for(var u=0;u<s;u++)d.words[u]=this.words[u];d.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var h=0;for(u=this.length-1;u>=0&&(0!==h||u>=i);u--){var l=0|this.words[u];this.words[u]=h<<26-o|l>>>o,h=l&a}return d&&0!==h&&(d.words[d.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<<e;return!(this.length<=r||!(this.words[r]&i))},o.prototype.imaskn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this.strip()},o.prototype.maskn=function(t){return this.clone().imaskn(t)},o.prototype.iaddn=function(t){return n("number"==typeof t),n(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},o.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},o.prototype.addn=function(t){return this.clone().iaddn(t)},o.prototype.subn=function(t){return this.clone().isubn(t)},o.prototype.iabs=function(){return this.negative=0,this},o.prototype.abs=function(){return this.clone().iabs()},o.prototype._ishlnsubmul=function(t,e,r){var i,o,s=t.length+r;this._expand(s);var a=0;for(i=0;i<t.length;i++){o=(0|this.words[i+r])+a;var d=(0|t.words[i])*e;a=((o-=67108863&d)>>26)-(d/67108864|0),this.words[i+r]=67108863&o}for(;i<this.length-r;i++)a=(o=(0|this.words[i+r])+a)>>26,this.words[i+r]=67108863&o;if(0===a)return this.strip();for(n(-1===a),a=0,i=0;i<this.length;i++)a=(o=-(0|this.words[i])+a)>>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,s=0|i.words[i.length-1];0!=(r=26-this._countBits(s))&&(i=i.ushln(r),n.iushln(r),s=0|i.words[i.length-1]);var a,d=n.length-i.length;if("mod"!==e){(a=new o(null)).length=d+1,a.words=new Array(a.length);for(var u=0;u<a.length;u++)a.words[u]=0}var h=n.clone()._ishlnsubmul(i,1,d);0===h.negative&&(n=h,a&&(a.words[d]=1));for(var l=d-1;l>=0;l--){var f=67108864*(0|n.words[i.length+l])+(0|n.words[i.length+l-1]);for(f=Math.min(f/s|0,67108863),n._ishlnsubmul(i,f,l);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(i,1,l),n.isZero()||(n.negative^=1);a&&(a.words[l]=f)}return a&&a.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:a||null,mod:n}},o.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(i=a.div.neg()),"div"!==e&&(s=a.mod.neg(),r&&0!==s.negative&&s.iadd(t)),{div:i,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(i=a.div.neg()),{div:i,mod:a.mod}):this.negative&t.negative?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),r&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,s,a},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},o.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new o(1),s=new o(0),a=new o(0),d=new o(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var h=r.clone(),l=e.clone();!e.isZero();){for(var f=0,c=1;!(e.words[0]&c)&&f<26;++f,c<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(i.isOdd()||s.isOdd())&&(i.iadd(h),s.isub(l)),i.iushrn(1),s.iushrn(1);for(var g=0,p=1;!(r.words[0]&p)&&g<26;++g,p<<=1);if(g>0)for(r.iushrn(g);g-- >0;)(a.isOdd()||d.isOdd())&&(a.iadd(h),d.isub(l)),a.iushrn(1),d.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(a),s.isub(d)):(r.isub(e),a.isub(i),d.isub(s))}return{a,b:d,gcd:r.iushln(u)}},o.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,s=new o(1),a=new o(0),d=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,h=1;!(e.words[0]&h)&&u<26;++u,h<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(d),s.iushrn(1);for(var l=0,f=1;!(r.words[0]&f)&&l<26;++l,f<<=1);if(l>0)for(r.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(d),a.iushrn(1);e.cmp(r)>=0?(e.isub(r),s.isub(a)):(r.isub(e),a.isub(s))}return(i=0===e.cmpn(1)?s:a).cmpn(0)<0&&i.iadd(t),i},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return!(1&this.words[0])},o.prototype.isOdd=function(){return!(1&~this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,i=1<<e;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var o=i,s=r;0!==o&&s<this.length;s++){var a=0|this.words[s];o=(a+=o)>>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:i<t?-1:1}return 0!==this.negative?0|-e:e},o.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},o.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){n<i?e=-1:n>i&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new $(t)},o.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var b={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function _(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function M(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function $(t){if("string"==typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function S(t){$.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},i(v,y),v.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i<n;i++)e.words[i]=t.words[i];if(e.length=n,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,i=10;i<t.length;i++){var s=0|t.words[i];t.words[i-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[i-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(_,y),i(M,y),i(w,y),w.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,i=67108863&n;n>>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(b[t])return b[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new _;else if("p192"===t)e=new M;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new w}return b[t]=e,e},$.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},$.prototype._verify2=function(t,e){n(!(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},$.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},$.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},$.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},$.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},$.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},$.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},$.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},$.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},$.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},$.prototype.isqr=function(t){return this.imul(t,t.clone())},$.prototype.sqr=function(t){return th
vendor: 1,235 bytes, line 15672
15672is.mul(t,t)},$.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new o(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),s=0;!i.isZero()&&0===i.andln(1);)s++,i.iushrn(1);n(!i.isZero());var a=new o(1).toRed(this),d=a.redNeg(),u=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new o(2*h*h).toRed(this);0!==this.pow(h,u).cmp(d);)h.redIAdd(d);for(var l=this.pow(h,i),f=this.pow(t,i.addn(1).iushrn(1)),c=this.pow(t,i),g=s;0!==c.cmp(a);){for(var p=c,m=0;0!==p.cmp(a);m++)p=p.redSqr();n(m<g);var b=this.pow(l,new o(1).iushln(g-m-1));f=f.redMul(b),l=b.redSqr(),c=c.redMul(l),g=m}return f},$.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},$.prototype.pow=function(t,e){if(e.isZero())return new o(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new o(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var i=r[0],s=0,a=0,d=e.bitLength()%26;for(0===d&&(d=26),n=e.length-1;n>=0;n--){for(var u=e.words[n],h=d-1;h>=0;h--){var l=u>>h&1;i!==r[0]&&(i=this.sqr(i)),0!==l||0!==s?(s<<=1,s|=l,(4==++a||0===n&&0===h)&&(i=this.mul(i,r[s]),a=0,s=0)):a=0}
vendor: 1,975 bytes, line 15672
15672d=26}return i},$.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},$.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new S(t)},i(S,$),S.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},S.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),s=i;return i.cmp(this.m)>=0?s=i.isub(this.m):i.cmpn(0)<0&&(s=i.iadd(this.m)),s._forceRed(this)},S.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},3349:t=>{function e(t,e){if(!t)throw new Error(e||"Assertion failed")}t.exports=e,e.equal=function(t,e,r){if(t!=e)throw new Error(r||"Assertion failed: "+t+" != "+e)}},4367:(t,e)=>{"use strict";var r=e;function n(t){return 1===t.length?"0"+t:t}function i(t){for(var e="",r=0;r<t.length;r++)e+=n(t[r].toString(16));return e}r.toArray=function(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if("string"!=typeof t){for(var n=0;n<t.length;n++)r[n]=0|t[n];return r}if("hex"===e)for((t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t),n=0;n<t.length;n+=2)r.push(parseInt(t[n]+t[n+1],16));else for(n=0;n<t.length;n++){var i=t.charCodeAt(n),o=i>>8,s=255&i;o?r.push(o,s):r.push(s)}return r},r.zero2=n,r.toHex=i,r.encode=function(t,e){return"hex"===e?i(t):t}},1137:t=>{function e(t){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}e.keys=()=>
vendor: 4,209 bytes, line 15672
15672[],e.resolve=e,e.id=1137,t.exports=e},5093:function(t,e,r){(t=r.nmd(t)).exports=function(){"use strict";var e,n;function i(){return e.apply(null,arguments)}function o(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function s(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function a(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function d(t){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(t).length;var e;for(e in t)if(a(t,e))return!1;return!0}function u(t){return void 0===t}function h(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function l(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function f(t,e){var r,n=[],i=t.length;for(r=0;r<i;++r)n.push(e(t[r],r));return n}function c(t,e){for(var r in e)a(e,r)&&(t[r]=e[r]);return a(e,"toString")&&(t.toString=e.toString),a(e,"valueOf")&&(t.valueOf=e.valueOf),t}function g(t,e,r,n){return Le(t,e,r,n,!0).utc()}function p(t){return null==t._pf&&(t._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidEra:null,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],era:null,meridiem:null,rfc2822:!1,weekdayMismatch:!1}),t._pf}function m(t){if(null==t._isValid){var e=p(t),r=n.call(e.parsedDateParts,(function(t){return null!=t})),i=!isNaN(t._d.getTime())&&e.overflow<0&&!e.empty&&!e.invalidEra&&!e.invalidMonth&&!e.invalidWeekday&&!e.weekdayMismatch&&!e.nullInput&&!e.invalidFormat&&!e.userInvalidated&&(!e.meridiem||e.meridiem&&r);if(t._strict&&(i=i&&0===e.charsLeftOver&&0===e.unusedTokens.length&&void 0===e.bigHour),null!=Object.isFrozen&&Object.isFrozen(t))return i;t._isValid=i}return t._isValid}function b(t){var e=g(NaN);return null!=t?c(p(e),t):p(e).userInvalidated=!0,e}n=Array.prototype.some?Array.prototype.some:function(t){var e,r=Object(this),n=r.length>>>0;for(e=0;e<n;e++)if(e in r&&t.call(this,r[e],e,r))return!0;return!1};var y=i.momentProperties=[],v=!1;function _(t,e){var r,n,i,o=y.length;if(u(e._isAMomentObject)||(t._isAMomentObject=e._isAMomentObject),u(e._i)||(t._i=e._i),u(e._f)||(t._f=e._f),u(e._l)||(t._l=e._l),u(e._strict)||(t._strict=e._strict),u(e._tzm)||(t._tzm=e._tzm),u(e._isUTC)||(t._isUTC=e._isUTC),u(e._offset)||(t._offset=e._offset),u(e._pf)||(t._pf=p(e)),u(e._locale)||(t._locale=e._locale),o>0)for(r=0;r<o;r++)u(i=e[n=y[r]])||(t[n]=i);return t}function M(t){_(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===v&&(v=!0,i.updateOffset(this),v=!1)}function w(t){return t instanceof M||null!=t&&null!=t._isAMomentObject}function $(t){!1===i.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function S(t,e){var r=!0;return c((function(){if(null!=i.deprecationHandler&&i.deprecationHandler(null,t),r){var n,o,s,d=[],u=arguments.length;for(o=0;o<u;o++){if(n="","object"==typeof arguments[o]){for(s in n+="\n["+o+"] ",arguments[0])a(arguments[0],s)&&(n+=s+": "+arguments[0][s]+", ");n=n.slice(0,-2)}else n=arguments[o];d.push(n)}$(t+"\nArguments: "+Array.prototype.slice.call(d).join("")+"\n"+(new Error).stack),r=!1}return e.apply(this,arguments)}),e)}var N,E={};function T(t,e){null!=i.deprecationHandler&&i.deprecationHandler(t,e),E[t]||($(e),E[t]=!0)}function A(t){return"undefined"!=typeof Function&&t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}function R(t,e){var r,n=c({},t);for(r in e)a(e,r)&&(s(t[r])&&s(e[r])?(n[r]={},c(n[r],t[r]),c(n[r],e[r])):null!=e[r]?n[r]=e[r]:delete n[r]);for(r in t)a(t,r)&&!a(e,r)&&s(t[r])&&(n[r]=c({},n[r]));return n}function P(t){null!=t&&this.set(t)}i.suppressDeprecationWarnings=!1,i.deprecationHandler=null,N=Object.keys?Object.keys:function(t){var e,r=[];for(e in t)a(t,e)&&r.push(e);return r};function O(t,e,r){var n=""+Math.abs(t),i=e-n.length;return(t>=0?r?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+n}var C=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}
vendor: 5,545 bytes, line 15672
15672|x|X|zz?|ZZ?|.)/g,I=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,L={},D={};function U(t,e,r,n){var i=n;"string"==typeof n&&(i=function(){return this[n]()}),t&&(D[t]=i),e&&(D[e[0]]=function(){return O(i.apply(this,arguments),e[1],e[2])}),r&&(D[r]=function(){return this.localeData().ordinal(i.apply(this,arguments),t)})}function k(t,e){return t.isValid()?(e=x(e,t.localeData()),L[e]=L[e]||function(t){var e,r,n,i=t.match(C);for(e=0,r=i.length;e<r;e++)D[i[e]]?i[e]=D[i[e]]:i[e]=(n=i[e]).match(/\[[\s\S]/)?n.replace(/^\[|\]$/g,""):n.replace(/\\/g,"");return function(e){var n,o="";for(n=0;n<r;n++)o+=A(i[n])?i[n].call(e,t):i[n];return o}}(e),L[e](t)):t.localeData().invalidDate()}function x(t,e){var r=5;function n(t){return e.longDateFormat(t)||t}for(I.lastIndex=0;r>=0&&I.test(t);)t=t.replace(I,n),I.lastIndex=0,r-=1;return t}var F={};function B(t,e){var r=t.toLowerCase();F[r]=F[r+"s"]=F[e]=t}function V(t){return"string"==typeof t?F[t]||F[t.toLowerCase()]:void 0}function j(t){var e,r,n={};for(r in t)a(t,r)&&(e=V(r))&&(n[e]=t[r]);return n}var H={};function G(t,e){H[t]=e}function W(t){return t%4==0&&t%100!=0||t%400==0}function Y(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function z(t){var e=+t,r=0;return 0!==e&&isFinite(e)&&(r=Y(e)),r}function q(t,e){return function(r){return null!=r?(Z(this,t,r),i.updateOffset(this,e),this):K(this,t)}}function K(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function Z(t,e,r){t.isValid()&&!isNaN(r)&&("FullYear"===e&&W(t.year())&&1===t.month()&&29===t.date()?(r=z(r),t._d["set"+(t._isUTC?"UTC":"")+e](r,t.month(),Ot(r,t.month()))):t._d["set"+(t._isUTC?"UTC":"")+e](r))}var X,J=/\d/,Q=/\d\d/,tt=/\d{3}/,et=/\d{4}/,rt=/[+-]?\d{6}/,nt=/\d\d?/,it=/\d\d\d\d?/,ot=/\d\d\d\d\d\d?/,st=/\d{1,3}/,at=/\d{1,4}/,dt=/[+-]?\d{1,6}/,ut=/\d+/,ht=/[+-]?\d+/,lt=/Z|[+-]\d\d:?\d\d/gi,ft=/Z|[+-]\d\d(?::?\d\d)?/gi,ct=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i;function gt(t,e,r){X[t]=A(e)?e:function(t,n){return t&&r?r:e}}function pt(t,e){return a(X,t)?X[t](e._strict,e._locale):new RegExp(mt(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(function(t,e,r,n,i){return e||r||n||i}))))}function mt(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}X={};var bt={};function yt(t,e){var r,n,i=e;for("string"==typeof t&&(t=[t]),h(e)&&(i=function(t,r){r[e]=z(t)}),n=t.length,r=0;r<n;r++)bt[t[r]]=i}function vt(t,e){yt(t,(function(t,r,n,i){n._w=n._w||{},e(t,n._w,n,i)}))}function _t(t,e,r){null!=e&&a(bt,t)&&bt[t](e,r._a,r,t)}var Mt,wt=0,$t=1,St=2,Nt=3,Et=4,Tt=5,At=6,Rt=7,Pt=8;function Ot(t,e){if(isNaN(t)||isNaN(e))return NaN;var r,n=(e%(r=12)+r)%r;return t+=(e-n)/12,1===n?W(t)?29:28:31-n%7%2}Mt=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;e<this.length;++e)if(this[e]===t)return e;return-1},U("M",["MM",2],"Mo",(function(){return this.month()+1})),U("MMM",0,0,(function(t){return this.localeData().monthsShort(this,t)})),U("MMMM",0,0,(function(t){return this.localeData().months(this,t)})),B("month","M"),G("month",8),gt("M",nt),gt("MM",nt,Q),gt("MMM",(function(t,e){return e.monthsShortRegex(t)})),gt("MMMM",(function(t,e){return e.monthsRegex(t)})),yt(["M","MM"],(function(t,e){e[$t]=z(t)-1})),yt(["MMM","MMMM"],(function(t,e,r,n){var i=r._locale.monthsParse(t,n,r._strict);null!=i?e[$t]=i:p(r).invalidMonth=t}));var Ct="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),It="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),Lt=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,Dt=ct,Ut=ct;function kt(t,e,r){var n,i,o,s=t.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],n=0;n<12;++n)o=g([2e3,n]),this._shortMonthsParse[n]=this.monthsShort(o,"").toLocaleLowerCase(),this._longMonthsParse[n]=this.months(o,"").toLocaleLowerCase();return r?"MMM"===e?-1!==(i=Mt.call(this._shortMonthsParse,s))?i:null:-1!==(i=Mt.call(this._longMonthsParse,s))?i:null:"MMM"===e?-1!==(i=Mt.call(this._shortMonthsParse,s))||-1!==(i=Mt.call(this._longMonthsParse,s))?i:null:-1!==(i=Mt.call(this._longMonthsParse,s))||-1!==(i=Mt.call(this._shortMonthsParse,s))?i:null}function xt(t,e){var r;if(!t.isValid())return t;if("string"==typeof e)if(/^\d+$/.test(e))e=z(e);else if(!h(e=t.localeData().monthsParse(e)))return t;return r=Math.min(t.date(),Ot(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,r),t}function Ft(t){return null!=t?(xt(this,t),i.updateOffset(this,!0),this):K(this,"Month")}function Bt(){function t(t,e){return e.length-t.length}var e,r,n=[],i=[],o=[];for(e=0;e<12;e++)r=g([2e3,e]),n.push(this.monthsShort(r,"")),i.push(this.months(r,"")),o.push(this.months(r,"")),o.push(this.monthsShort(r,""));for(n.sort(t),i.sort(t),o.sort(t),e=0;e<12;e++)n[e]=mt(n[e]),i[e]=mt(i[e]);for(e=0;e<24;e++)o[e]=mt(o[e]);this._monthsRegex=new RegExp("^("+o.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+n.join("|")+")","i")}function Vt(t){return W(t)?366:365}U("Y",0,0,(function(){var t=this.year();return t<=9999?O(t,4):"+"+t})),U(0,["YY",2],0,(function(){return this.year()%100})),U(0,["YYYY",4],0,"year"),U(0,["YYYYY",5],0,"year"),U(0,["YYYYYY",6,!0],0,"year"),B("year","y"),G("year",1),gt("Y",ht),gt("YY",nt,Q),gt("YYYY",at,et),gt("YYYYY",dt,rt),gt("YYYYYY",dt,rt),yt(["YYYYY","YYYYYY"],wt),yt("YYYY",(function(t,e){e[wt]=2===t.length?
vendor: 4,335 bytes, line 15672
15672i.parseTwoDigitYear(t):z(t)})),yt("YY",(function(t,e){e[wt]=i.parseTwoDigitYear(t)})),yt("Y",(function(t,e){e[wt]=parseInt(t,10)})),i.parseTwoDigitYear=function(t){return z(t)+(z(t)>68?1900:2e3)};var jt=q("FullYear",!0);function Ht(t,e,r,n,i,o,s){var a;return t<100&&t>=0?(a=new Date(t+400,e,r,n,i,o,s),isFinite(a.getFullYear())&&a.setFullYear(t)):a=new Date(t,e,r,n,i,o,s),a}function Gt(t){var e,r;return t<100&&t>=0?((r=Array.prototype.slice.call(arguments))[0]=t+400,e=new Date(Date.UTC.apply(null,r)),isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t)):e=new Date(Date.UTC.apply(null,arguments)),e}function Wt(t,e,r){var n=7+e-r;return-(7+Gt(t,0,n).getUTCDay()-e)%7+n-1}function Yt(t,e,r,n,i){var o,s,a=1+7*(e-1)+(7+r-n)%7+Wt(t,n,i);return a<=0?s=Vt(o=t-1)+a:a>Vt(t)?(o=t+1,s=a-Vt(t)):(o=t,s=a),{year:o,dayOfYear:s}}function zt(t,e,r){var n,i,o=Wt(t.year(),e,r),s=Math.floor((t.dayOfYear()-o-1)/7)+1;return s<1?n=s+qt(i=t.year()-1,e,r):s>qt(t.year(),e,r)?(n=s-qt(t.year(),e,r),i=t.year()+1):(i=t.year(),n=s),{week:n,year:i}}function qt(t,e,r){var n=Wt(t,e,r),i=Wt(t+1,e,r);return(Vt(t)-n+i)/7}U("w",["ww",2],"wo","week"),U("W",["WW",2],"Wo","isoWeek"),B("week","w"),B("isoWeek","W"),G("week",5),G("isoWeek",5),gt("w",nt),gt("ww",nt,Q),gt("W",nt),gt("WW",nt,Q),vt(["w","ww","W","WW"],(function(t,e,r,n){e[n.substr(0,1)]=z(t)}));function Kt(t,e){return t.slice(e,7).concat(t.slice(0,e))}U("d",0,"do","day"),U("dd",0,0,(function(t){return this.localeData().weekdaysMin(this,t)})),U("ddd",0,0,(function(t){return this.localeData().weekdaysShort(this,t)})),U("dddd",0,0,(function(t){return this.localeData().weekdays(this,t)})),U("e",0,0,"weekday"),U("E",0,0,"isoWeekday"),B("day","d"),B("weekday","e"),B("isoWeekday","E"),G("day",11),G("weekday",11),G("isoWeekday",11),gt("d",nt),gt("e",nt),gt("E",nt),gt("dd",(function(t,e){return e.weekdaysMinRegex(t)})),gt("ddd",(function(t,e){return e.weekdaysShortRegex(t)})),gt("dddd",(function(t,e){return e.weekdaysRegex(t)})),vt(["dd","ddd","dddd"],(function(t,e,r,n){var i=r._locale.weekdaysParse(t,n,r._strict);null!=i?e.d=i:p(r).invalidWeekday=t})),vt(["d","e","E"],(function(t,e,r,n){e[n]=z(t)}));var Zt="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Xt="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Jt="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Qt=ct,te=ct,ee=ct;function re(t,e,r){var n,i,o,s=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],n=0;n<7;++n)o=g([2e3,1]).day(n),this._minWeekdaysParse[n]=this.weekdaysMin(o,"").toLocaleLowerCase(),this._shortWeekdaysParse[n]=this.weekdaysShort(o,"").toLocaleLowerCase(),this._weekdaysParse[n]=this.weekdays(o,"").toLocaleLowerCase();return r?"dddd"===e?-1!==(i=Mt.call(this._weekdaysParse,s))?i:null:"ddd"===e?-1!==(i=Mt.call(this._shortWeekdaysParse,s))?i:null:-1!==(i=Mt.call(this._minWeekdaysParse,s))?i:null:"dddd"===e?-1!==(i=Mt.call(this._weekdaysParse,s))||-1!==(i=Mt.call(this._shortWeekdaysParse,s))||-1!==(i=Mt.call(this._minWeekdaysParse,s))?i:null:"ddd"===e?-1!==(i=Mt.call(this._shortWeekdaysParse,s))||-1!==(i=Mt.call(this._weekdaysParse,s))||-1!==(i=Mt.call(this._minWeekdaysParse,s))?i:null:-1!==(i=Mt.call(this._minWeekdaysParse,s))||-1!==(i=Mt.call(this._weekdaysParse,s))||-1!==(i=Mt.call(this._shortWeekdaysParse,s))?i:null}function ne(){function t(t,e){return e.length-t.length}var e,r,n,i,o,s=[],a=[],d=[],u=[];for(e=0;e<7;e++)r=g([2e3,1]).day(e),n=mt(this.weekdaysMin(r,"")),i=mt(this.weekdaysShort(r,"")),o=mt(this.weekdays(r,"")),s.push(n),a.push(i),d.push(o),u.push(n),u.push(i),u.push(o);s.sort(t),a.sort(t),d.sort(t),u.sort(t),this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+s.join("|")+")","i")}function ie(){return this.hours()%12||12}function oe(t,e){U(t,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)}))}function se(t,e){return e._meridiemParse}U("H",["HH",2],0,"hour"),U("h",["hh",2],0,ie),U("k",["kk",2],0,(function(){return this.hours()||24})),U("hmm",0,0,(function(){return""+ie.apply(this)+O(this.minutes(),2)}
vendor: 9,356 bytes, line 15672
15672)),U("hmmss",0,0,(function(){return""+ie.apply(this)+O(this.minutes(),2)+O(this.seconds(),2)})),U("Hmm",0,0,(function(){return""+this.hours()+O(this.minutes(),2)})),U("Hmmss",0,0,(function(){return""+this.hours()+O(this.minutes(),2)+O(this.seconds(),2)})),oe("a",!0),oe("A",!1),B("hour","h"),G("hour",13),gt("a",se),gt("A",se),gt("H",nt),gt("h",nt),gt("k",nt),gt("HH",nt,Q),gt("hh",nt,Q),gt("kk",nt,Q),gt("hmm",it),gt("hmmss",ot),gt("Hmm",it),gt("Hmmss",ot),yt(["H","HH"],Nt),yt(["k","kk"],(function(t,e,r){var n=z(t);e[Nt]=24===n?0:n})),yt(["a","A"],(function(t,e,r){r._isPm=r._locale.isPM(t),r._meridiem=t})),yt(["h","hh"],(function(t,e,r){e[Nt]=z(t),p(r).bigHour=!0})),yt("hmm",(function(t,e,r){var n=t.length-2;e[Nt]=z(t.substr(0,n)),e[Et]=z(t.substr(n)),p(r).bigHour=!0})),yt("hmmss",(function(t,e,r){var n=t.length-4,i=t.length-2;e[Nt]=z(t.substr(0,n)),e[Et]=z(t.substr(n,2)),e[Tt]=z(t.substr(i)),p(r).bigHour=!0})),yt("Hmm",(function(t,e,r){var n=t.length-2;e[Nt]=z(t.substr(0,n)),e[Et]=z(t.substr(n))})),yt("Hmmss",(function(t,e,r){var n=t.length-4,i=t.length-2;e[Nt]=z(t.substr(0,n)),e[Et]=z(t.substr(n,2)),e[Tt]=z(t.substr(i))}));var ae=q("Hours",!0);var de,ue={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Ct,monthsShort:It,week:{dow:0,doy:6},weekdays:Zt,weekdaysMin:Jt,weekdaysShort:Xt,meridiemParse:/[ap]\.?m?\.?/i},he={},le={};function fe(t,e){var r,n=Math.min(t.length,e.length);for(r=0;r<n;r+=1)if(t[r]!==e[r])return r;return n}function ce(t){return t?t.toLowerCase().replace("_","-"):t}function ge(e){var n=null;if(void 0===he[e]&&t&&t.exports&&function(t){return null!=t.match("^[^/\\\\]*$")}(e))try{n=de._abbr,r(1137)("./"+e),pe(n)}catch(t){he[e]=null}return he[e]}function pe(t,e){var r;return t&&((r=u(e)?be(t):me(t,e))?de=r:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),de._abbr}function me(t,e){if(null!==e){var r,n=ue;if(e.abbr=t,null!=he[t])T("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),n=he[t]._config;else if(null!=e.parentLocale)if(null!=he[e.parentLocale])n=he[e.parentLocale]._config;else{if(null==(r=ge(e.parentLocale)))return le[e.parentLocale]||(le[e.parentLocale]=[]),le[e.parentLocale].push({name:t,config:e}),null;n=r._config}return he[t]=new P(R(n,e)),le[t]&&le[t].forEach((function(t){me(t.name,t.config)})),pe(t),he[t]}return delete he[t],null}function be(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return de;if(!o(t)){if(e=ge(t))return e;t=[t]}return function(t){for(var e,r,n,i,o=0;o<t.length;){for(e=(i=ce(t[o]).split("-")).length,r=(r=ce(t[o+1]))?r.split("-"):null;e>0;){if(n=ge(i.slice(0,e).join("-")))return n;if(r&&r.length>=e&&fe(i,r)>=e-1)break;e--}o++}return de}(t)}function ye(t){var e,r=t._a;return r&&-2===p(t).overflow&&(e=r[$t]<0||r[$t]>11?$t:r[St]<1||r[St]>Ot(r[wt],r[$t])?St:r[Nt]<0||r[Nt]>24||24===r[Nt]&&(0!==r[Et]||0!==r[Tt]||0!==r[At])?Nt:r[Et]<0||r[Et]>59?Et:r[Tt]<0||r[Tt]>59?Tt:r[At]<0||r[At]>999?At:-1,p(t)._overflowDayOfYear&&(e<wt||e>St)&&(e=St),p(t)._overflowWeeks&&-1===e&&(e=Rt),p(t)._overflowWeekday&&-1===e&&(e=Pt),p(t).overflow=e),t}var ve=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,_e=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Me=/Z|[+-]\d\d(?::?\d\d)?/,we=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],$e=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Se=/^\/?Date\((-?\d+)/i,Ne=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,Ee={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Te(t){var e,r,n,i,o,s,a=t._i,d=ve.exec(a)||_e.exec(a),u=we.length,h=$e.length;if(d){for(p(t).iso=!0,e=0,r=u;e<r;e++)if(we[e][1].exec(d[1])){i=we[e][0],n=!1!==we[e][2];break}if(null==i)return void(t._isValid=!1);if(d[3]){for(e=0,r=h;e<r;e++)if($e[e][1].exec(d[3])){o=(d[2]||" ")+$e[e][0];break}if(null==o)return void(t._isValid=!1)}if(!n&&null!=o)return void(t._isValid=!1);if(d[4]){if(!Me.exec(d[4]))return void(t._isValid=!1);s="Z"}t._f=i+(o||"")+(s||""),Ce(t)}else t._isValid=!1}function Ae(t){var e=parseInt(t,10);return e<=49?2e3+e:e<=999?1900+e:e}function Re(t){var e,r,n,i,o,s,a,d,u=Ne.exec(t._i.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));if(u){if(r=u[4],n=u[3],i=u[2],o=u[5],s=u[6],a=u[7],d=[Ae(r),It.indexOf(n),parseInt(i,10),parseInt(o,10),parseInt(s,10)],a&&d.push(parseInt(a,10)),e=d,!function(t,e,r){return!t||Xt.indexOf(t)===new Date(e[0],e[1],e[2]).getDay()||(p(r).weekdayMismatch=!0,r._isValid=!1,!1)}(u[1],e,t))return;t._a=e,t._tzm=function(t,e,r){if(t)return Ee[t];if(e)return 0;var n=parseInt(r,10),i=n%100;return(n-i)/100*60+i}(u[8],u[9],u[10]),t._d=Gt.apply(null,t._a),t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),p(t).rfc2822=!0}else t._isValid=!1}function Pe(t,e,r){return null!=t?t:null!=e?e:r}function Oe(t){var e,r,n,o,s,a=[];if(!t._d){for(n=function(t){var e=new Date(i.now());return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}(t),t._w&&null==t._a[St]&&null==t._a[$t]&&function(t){var e,r,n,i,o,s,a,d,u;null!=(e=t._w).GG||null!=e.W||null!=e.E?(o=1,s=4,r=Pe(e.GG,t._a[wt],zt(De(),1,4).year),n=Pe(e.W,1),((i=Pe(e.E,1))<1||i>7)&&(d=!0)):(o=t._locale._week.dow,s=t._locale._week.doy,u=zt(De(),o,s),r=Pe(e.gg,t._a[wt],u.year),n=Pe(e.w,u.week),null!=e.d?((i=e.d)<0||i>6)&&(d=!0):null!=e.e?(i=e.e+o,(e.e<0||e.e>6)&&(d=!0)):i=o),n<1||n>qt(r,o,s)?p(t)._overflowWeeks=!0:null!=d?p(t)._overflowWeekday=!0:(a=Yt(r,n,i,o,s),t._a[wt]=a.year,t._dayOfYear=a.dayOfYear)}(t),null!=t._dayOfYear&&(s=Pe(t._a[wt],n[wt]),(t._dayOfYear>Vt(s)||0===t._dayOfYear)&&(p(t)._overflowDayOfYear=!0),r=Gt(s,0,t._dayOfYear),t._a[$t]=r.getUTCMonth(),t._a[St]=r.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=a[e]=n[e];for(;e<7;e++)t._a[e]=a[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[Nt]&&0===t._a[Et]&&0===t._a[Tt]&&0===t._a[At]&&(t._nextDay=!0,t._a[Nt]=0),t._d=(t._useUTC?Gt:Ht).apply(null,a),o=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[Nt]=24),t._w&&void 0!==t._w.d&&t._w.d!==o&&(p(t).weekdayMismatch=!0)}}function Ce(t){if(t._f!==i.ISO_8601)if(t._f!==i.RFC_2822){t._a=[],p(t).empty=!0;var e,r,n,o,s,a,d,u=""+t._i,h=u.length,l=0;for(d=(n=x(t._f,t._locale).match(C)||[]).length,e=0;e<d;e++)o=n[e],(r=(u.match(pt(o,t))||[])[0])&&((s=u.substr(0,u.indexOf(r))).length>0&&p(t).unusedInput.push(s),u=u.slice(u.indexOf(r)+r.length),l+=r.length),D[o]?(r?p(t).empty=!1:p(t).unusedTokens.push(o),_t(o,r,t)):t._strict&&!r&&p(t).unusedTokens.push(o);p(t).charsLeftOver=h-l,u.length>0&&p(t).unusedInput.push(u),t._a[Nt]<=12&&!0===p(t).bigHour&&t._a[Nt]>0&&(p(t).bigHour=void 0),p(t).parsedDateParts=t._a.slice(0),p(t).meridiem=t._meridiem,t._a[Nt]=function(t,e,r){var n;return null==r?e:null!=t.meridiemHour?t.meridiemHour(e,r):null!=t.isPM?((n=t.isPM(r))&&e<12&&(e+=12),n||12!==e||(e=0),e):e}(t._locale,t._a[Nt],t._meridiem),null!==(a=p(t).era)&&(t._a[wt]=t._locale.erasConvertYear(a,t._a[wt])),Oe(t),ye(t)}else Re(t);else Te(t)}function Ie(t){var e=t._i,r=t._f;return t._locale=t._locale||be(t._l),null===e||void 0===r&&""===e?b({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),w(e)?new M(ye(e)):(l(e)?t._d=e:o(r)?function(t){var e,r,n,i,o,s,a=!1,d=t._f.length;if(0===d)return p(t).invalidFormat=!0,void(t._d=new Date(NaN));for(i=0;i<d;i++)o=0,s=!1,e=_({},t),null!=t._useUTC&&(e._useUTC=t._useUTC),e._f=t._f[i],Ce(e),m(e)&&(s=!0),o+=p(e).charsLeftOver,o+=10*p(e).unusedTokens.length,p(e).score=o,a?o<n&&(n=o,r=e):(null==n||o<n||s)&&(n=o,r=e,s&&(a=!0));c(t,r||e)}(t):r?Ce(t):function(t){var e=t._i;u(e)?t._d=new Date(i.now()):l(e)?t._d=new Date(e.valueOf()):"string"==typeof e?function(t){var e=Se.exec(t._i);
vendor: 6,538 bytes, line 15672
15672null===e?(Te(t),!1===t._isValid&&(delete t._isValid,Re(t),!1===t._isValid&&(delete t._isValid,t._strict?t._isValid=!1:i.createFromInputFallback(t)))):t._d=new Date(+e[1])}(t):o(e)?(t._a=f(e.slice(0),(function(t){return parseInt(t,10)})),Oe(t)):s(e)?function(t){if(!t._d){var e=j(t._i),r=void 0===e.day?e.date:e.day;t._a=f([e.year,e.month,r,e.hour,e.minute,e.second,e.millisecond],(function(t){return t&&parseInt(t,10)})),Oe(t)}}(t):h(e)?t._d=new Date(e):i.createFromInputFallback(t)}(t),m(t)||(t._d=null),t))}function Le(t,e,r,n,i){var a,u={};return!0!==e&&!1!==e||(n=e,e=void 0),!0!==r&&!1!==r||(n=r,r=void 0),(s(t)&&d(t)||o(t)&&0===t.length)&&(t=void 0),u._isAMomentObject=!0,u._useUTC=u._isUTC=i,u._l=r,u._i=t,u._f=e,u._strict=n,(a=new M(ye(Ie(u))))._nextDay&&(a.add(1,"d"),a._nextDay=void 0),a}function De(t,e,r,n){return Le(t,e,r,n,!1)}i.createFromInputFallback=S("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",(function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))})),i.ISO_8601=function(){},i.RFC_2822=function(){};var Ue=S("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var t=De.apply(null,arguments);return this.isValid()&&t.isValid()?t<this?this:t:b()})),ke=S("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var t=De.apply(null,arguments);return this.isValid()&&t.isValid()?t>this?this:t:b()}));function xe(t,e){var r,n;if(1===e.length&&o(e[0])&&(e=e[0]),!e.length)return De();for(r=e[0],n=1;n<e.length;++n)e[n].isValid()&&!e[n][t](r)||(r=e[n]);return r}var Fe=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Be(t){var e=j(t),r=e.year||0,n=e.quarter||0,i=e.month||0,o=e.week||e.isoWeek||0,s=e.day||0,d=e.hour||0,u=e.minute||0,h=e.second||0,l=e.millisecond||0;this._isValid=function(t){var e,r,n=!1,i=Fe.length;for(e in t)if(a(t,e)&&(-1===Mt.call(Fe,e)||null!=t[e]&&isNaN(t[e])))return!1;for(r=0;r<i;++r)if(t[Fe[r]]){if(n)return!1;parseFloat(t[Fe[r]])!==z(t[Fe[r]])&&(n=!0)}return!0}(e),this._milliseconds=+l+1e3*h+6e4*u+1e3*d*60*60,this._days=+s+7*o,this._months=+i+3*n+12*r,this._data={},this._locale=be(),this._bubble()}function Ve(t){return t instanceof Be}function je(t){return t<0?-1*Math.round(-1*t):Math.round(t)}function He(t,e){U(t,0,0,(function(){var t=this.utcOffset(),r="+";return t<0&&(t=-t,r="-"),r+O(~~(t/60),2)+e+O(~~t%60,2)}))}He("Z",":"),He("ZZ",""),gt("Z",ft),gt("ZZ",ft),yt(["Z","ZZ"],(function(t,e,r){r._useUTC=!0,r._tzm=We(ft,t)}));var Ge=/([\+\-]|\d\d)/gi;function We(t,e){var r,n,i=(e||"").match(t);return null===i?null:0===(n=60*(r=((i[i.length-1]||[])+"").match(Ge)||["-",0,0])[1]+z(r[2]))?0:"+"===r[0]?n:-n}function Ye(t,e){var r,n;return e._isUTC?(r=e.clone(),n=(w(t)||l(t)?t.valueOf():De(t).valueOf())-r.valueOf(),r._d.setTime(r._d.valueOf()+n),i.updateOffset(r,!1),r):De(t).local()}function ze(t){return-Math.round(t._d.getTimezoneOffset())}function qe(){return!!this.isValid()&&this._isUTC&&0===this._offset}i.updateOffset=function(){};var Ke=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,Ze=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Xe(t,e){var r,n,i,o,s,d,u=t,l=null;return Ve(t)?u={ms:t._milliseconds,d:t._days,M:t._months}:h(t)||!isNaN(+t)?(u={},e?u[e]=+t:u.milliseconds=+t):(l=Ke.exec(t))?(r="-"===l[1]?-1:1,u={y:0,d:z(l[St])*r,h:z(l[Nt])*r,m:z(l[Et])*r,s:z(l[Tt])*r,ms:z(je(1e3*l[At]))*r}):(l=Ze.exec(t))?(r="-"===l[1]?-1:1,u={y:Je(l[2],r),M:Je(l[3],r),w:Je(l[4],r),d:Je(l[5],r),h:Je(l[6],r),m:Je(l[7],r),s:Je(l[8],r)}):null==u?u={}:"object"==typeof u&&("from"in u||"to"in u)&&(o=De(u.from),s=De(u.to),i=o.isValid()&&s.isValid()?(s=Ye(s,o),o.isBefore(s)?d=Qe(o,s):((d=Qe(s,o)).milliseconds=-d.milliseconds,d.months=-d.months),d):{milliseconds:0,months:0},(u={}).ms=i.milliseconds,u.M=i.months),n=new Be(u),Ve(t)&&a(t,"_locale")&&(n._locale=t._locale),Ve(t)&&a(t,"_isValid")&&(n._isValid=t._isValid),n}function Je(t,e){var r=t&&parseFloat(t.replace(",","."));return(isNaN(r)?0:r)*e}function Qe(t,e){var r={};return r.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(r.months,"M").isAfter(e)&&--r.months,r.milliseconds=+e-+t.clone().add(r.months,"M"),r}function tr(t,e){return function(r,n){var i;return null===n||isNaN(+n)||(T(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),i=r,r=n,n=i),er(this,Xe(r,n),t),this}}function er(t,e,r,n){var o=e._milliseconds,s=je(e._days),a=je(e._months);t.isValid()&&(n=null==n||n,a&&xt(t,K(t,"Month")+a*r),s&&Z(t,"Date",K(t,"Date")+s*r),o&&t._d.setTime(t._d.valueOf()+o*r),n&&i.updateOffset(t,s||a))}Xe.fn=Be.prototype,Xe.invalid=function(){return Xe(NaN)};var rr=tr(1,"add"),nr=tr(-1,"subtract");function ir(t){return"string"==typeof t||t instanceof String}function or(t){return w(t)||l(t)||ir(t)||h(t)||function(t){var e=o(t),r=!1;return e&&(r=0===t.filter((function(e){return!h(e)&&ir(t)})).length),e&&r}(t)||function(t){var e,r,n=s(t)&&!d(t),i=!1,o=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],u=o.length;for(e=0;e<u;e+=1)r=o[e],i=i||a(t,r);return n&&i}(t)||null==t}function sr(t,e){if(t.date()<e.date())return-sr(e,t);var r=12*(e.year()-t.year())+(e.month()-t.month()),n=t.clone().add(r,"months");return-(r+(e-n<0?(e-n)/(n-t.clone().add(r-1,"months")):(e-n)/(t.clone().add(r+1,"months")-n)))||0}function ar(t){var e;return void 0===t?this._locale._abbr:(null!=(e=be(t))&&(this._locale=e),this)}i.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",i.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var dr=S("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",(function(t){return void 0===t?this.localeData():this.locale(t)}));function ur(){return this._locale}var hr=1e3,lr=6e4,fr=36e5,cr=126227808e5;function gr(t,e){return(t%e+e)%e}function pr(t,e,r){return t<100&&t>=0?new Date(t+400,e,r)-cr:new Date(t,e,r).valueOf()}function mr(t,e,r){return t<100&&t>
vendor: 4,695 bytes, line 15672
15672=0?Date.UTC(t+400,e,r)-cr:Date.UTC(t,e,r)}function br(t,e){return e.erasAbbrRegex(t)}function yr(){var t,e,r=[],n=[],i=[],o=[],s=this.eras();for(t=0,e=s.length;t<e;++t)n.push(mt(s[t].name)),r.push(mt(s[t].abbr)),i.push(mt(s[t].narrow)),o.push(mt(s[t].name)),o.push(mt(s[t].abbr)),o.push(mt(s[t].narrow));this._erasRegex=new RegExp("^("+o.join("|")+")","i"),this._erasNameRegex=new RegExp("^("+n.join("|")+")","i"),this._erasAbbrRegex=new RegExp("^("+r.join("|")+")","i"),this._erasNarrowRegex=new RegExp("^("+i.join("|")+")","i")}function vr(t,e){U(0,[t,t.length],0,e)}function _r(t,e,r,n,i){var o;return null==t?zt(this,n,i).year:(e>(o=qt(t,n,i))&&(e=o),Mr.call(this,t,e,r,n,i))}function Mr(t,e,r,n,i){var o=Yt(t,e,r,n,i),s=Gt(o.year,0,o.dayOfYear);return this.year(s.getUTCFullYear()),this.month(s.getUTCMonth()),this.date(s.getUTCDate()),this}U("N",0,0,"eraAbbr"),U("NN",0,0,"eraAbbr"),U("NNN",0,0,"eraAbbr"),U("NNNN",0,0,"eraName"),U("NNNNN",0,0,"eraNarrow"),U("y",["y",1],"yo","eraYear"),U("y",["yy",2],0,"eraYear"),U("y",["yyy",3],0,"eraYear"),U("y",["yyyy",4],0,"eraYear"),gt("N",br),gt("NN",br),gt("NNN",br),gt("NNNN",(function(t,e){return e.erasNameRegex(t)})),gt("NNNNN",(function(t,e){return e.erasNarrowRegex(t)})),yt(["N","NN","NNN","NNNN","NNNNN"],(function(t,e,r,n){var i=r._locale.erasParse(t,n,r._strict);i?p(r).era=i:p(r).invalidEra=t})),gt("y",ut),gt("yy",ut),gt("yyy",ut),gt("yyyy",ut),gt("yo",(function(t,e){return e._eraYearOrdinalRegex||ut})),yt(["y","yy","yyy","yyyy"],wt),yt(["yo"],(function(t,e,r,n){var i;r._locale._eraYearOrdinalRegex&&(i=t.match(r._locale._eraYearOrdinalRegex)),r._locale.eraYearOrdinalParse?e[wt]=r._locale.eraYearOrdinalParse(t,i):e[wt]=parseInt(t,10)})),U(0,["gg",2],0,(function(){return this.weekYear()%100})),U(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),vr("gggg","weekYear"),vr("ggggg","weekYear"),vr("GGGG","isoWeekYear"),vr("GGGGG","isoWeekYear"),B("weekYear","gg"),B("isoWeekYear","GG"),G("weekYear",1),G("isoWeekYear",1),gt("G",ht),gt("g",ht),gt("GG",nt,Q),gt("gg",nt,Q),gt("GGGG",at,et),gt("gggg",at,et),gt("GGGGG",dt,rt),gt("ggggg",dt,rt),vt(["gggg","ggggg","GGGG","GGGGG"],(function(t,e,r,n){e[n.substr(0,2)]=z(t)})),vt(["gg","GG"],(function(t,e,r,n){e[n]=i.parseTwoDigitYear(t)})),U("Q",0,"Qo","quarter"),B("quarter","Q"),G("quarter",7),gt("Q",J),yt("Q",(function(t,e){e[$t]=3*(z(t)-1)})),U("D",["DD",2],"Do","date"),B("date","D"),G("date",9),gt("D",nt),gt("DD",nt,Q),gt("Do",(function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient})),yt(["D","DD"],St),yt("Do",(function(t,e){e[St]=z(t.match(nt)[0])}));var wr=q("Date",!0);U("DDD",["DDDD",3],"DDDo","dayOfYear"),B("dayOfYear","DDD"),G("dayOfYear",4),gt("DDD",st),gt("DDDD",tt),yt(["DDD","DDDD"],(function(t,e,r){r._dayOfYear=z(t)})),U("m",["mm",2],0,"minute"),B("minute","m"),G("minute",14),gt("m",nt),gt("mm",nt,Q),yt(["m","mm"],Et);var $r=q("Minutes",!1);U("s",["ss",2],0,"second"),B("second","s"),G("second",15),gt("s",nt),gt("ss",nt,Q),yt(["s","ss"],Tt);var Sr,Nr,Er=q("Seconds",!1);for(U("S",0,0,(function(){return~~(this.millisecond()/100)})),U(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),U(0,["SSS",3],0,"millisecond"),U(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),U(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),U(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),U(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),U(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),U(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),B("millisecond","ms"),G("millisecond",16),gt("S",st,J),gt("SS",st,Q),gt("SSS",st,tt),Sr="SSSS";Sr.length<=9;Sr+="S")gt(Sr,ut);function Tr(t,e){e[At]=z(1e3*("0."+t))}for(Sr="S";Sr.length<=9;Sr+="S")yt(Sr,Tr);Nr=q("Milliseconds",!1),U("z",0,0,"zoneAbbr"),U("zz",0,0,"zoneName");var Ar=M.prototype;function Rr(t){return t}Ar.add=rr,Ar.calendar=function(t,e){1===arguments.length&&(arguments[0]?or(arguments[0])?(t=arguments[0],e=void 0):function(t){var e,r=s(t)&&!d(t),n=!1,i=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"];for(e=0;e<i.length;e+=1)n=n||a(t,i[e]);return r&&n}(arguments[0])&&(e=arguments[0],t=void 0):(t=void 0,e=void 0));var r=t||De(),n=Ye(r,this).startOf("day"),o=i.calendarFormat(this,n)||"sameElse",u=e&&(A(e[o])?e[o].call(this,r):e[o]);return this.format(u||this.localeData().calendar(o,this,De(r)))},Ar.clone=function(){return new M(this)},Ar.diff=function(t,e,r){var n,i,o;if(!this.isValid())return NaN;if(!(n=Ye(t,this)).isValid())return NaN;switch(i=6e4*(n.utcOffset()-this.utcOffset()),e=V(e)){case"year":o=sr(this,n)/12;break;case"month":o=sr(this,n);break;
vendor: 21,096 bytes, line 15672
15672case"quarter":o=sr(this,n)/3;break;case"second":o=(this-n)/1e3;break;case"minute":o=(this-n)/6e4;break;case"hour":o=(this-n)/36e5;break;case"day":o=(this-n-i)/864e5;break;case"week":o=(this-n-i)/6048e5;break;default:o=this-n}return r?o:Y(o)},Ar.endOf=function(t){var e,r;if(void 0===(t=V(t))||"millisecond"===t||!this.isValid())return this;switch(r=this._isUTC?mr:pr,t){case"year":e=r(this.year()+1,0,1)-1;break;case"quarter":e=r(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":e=r(this.year(),this.month()+1,1)-1;break;case"week":e=r(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":e=r(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":e=r(this.year(),this.month(),this.date()+1)-1;break;case"hour":e=this._d.valueOf(),e+=fr-gr(e+(this._isUTC?0:this.utcOffset()*lr),fr)-1;break;case"minute":e=this._d.valueOf(),e+=lr-gr(e,lr)-1;break;case"second":e=this._d.valueOf(),e+=hr-gr(e,hr)-1}return this._d.setTime(e),i.updateOffset(this,!0),this},Ar.format=function(t){t||(t=this.isUtc()?i.defaultFormatUtc:i.defaultFormat);var e=k(this,t);return this.localeData().postformat(e)},Ar.from=function(t,e){return this.isValid()&&(w(t)&&t.isValid()||De(t).isValid())?Xe({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},Ar.fromNow=function(t){return this.from(De(),t)},Ar.to=function(t,e){return this.isValid()&&(w(t)&&t.isValid()||De(t).isValid())?Xe({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},Ar.toNow=function(t){return this.to(De(),t)},Ar.get=function(t){return A(this[t=V(t)])?this[t]():this},Ar.invalidAt=function(){return p(this).overflow},Ar.isAfter=function(t,e){var r=w(t)?t:De(t);return!(!this.isValid()||!r.isValid())&&("millisecond"===(e=V(e)||"millisecond")?this.valueOf()>r.valueOf():r.valueOf()<this.clone().startOf(e).valueOf())},Ar.isBefore=function(t,e){var r=w(t)?t:De(t);return!(!this.isValid()||!r.isValid())&&("millisecond"===(e=V(e)||"millisecond")?this.valueOf()<r.valueOf():this.clone().endOf(e).valueOf()<r.valueOf())},Ar.isBetween=function(t,e,r,n){var i=w(t)?t:De(t),o=w(e)?e:De(e);return!!(this.isValid()&&i.isValid()&&o.isValid())&&("("===(n=n||"()")[0]?this.isAfter(i,r):!this.isBefore(i,r))&&(")"===n[1]?this.isBefore(o,r):!this.isAfter(o,r))},Ar.isSame=function(t,e){var r,n=w(t)?t:De(t);return!(!this.isValid()||!n.isValid())&&("millisecond"===(e=V(e)||"millisecond")?this.valueOf()===n.valueOf():(r=n.valueOf(),this.clone().startOf(e).valueOf()<=r&&r<=this.clone().endOf(e).valueOf()))},Ar.isSameOrAfter=function(t,e){return this.isSame(t,e)||this.isAfter(t,e)},Ar.isSameOrBefore=function(t,e){return this.isSame(t,e)||this.isBefore(t,e)},Ar.isValid=function(){return m(this)},Ar.lang=dr,Ar.locale=ar,Ar.localeData=ur,Ar.max=ke,Ar.min=Ue,Ar.parsingFlags=function(){return c({},p(this))},Ar.set=function(t,e){if("object"==typeof t){var r,n=function(t){var e,r=[];for(e in t)a(t,e)&&r.push({unit:e,priority:H[e]});return r.sort((function(t,e){return t.priority-e.priority})),r}(t=j(t)),i=n.length;for(r=0;r<i;r++)this[n[r].unit](t[n[r].unit])}else if(A(this[t=V(t)]))return this[t](e);return this},Ar.startOf=function(t){var e,r;if(void 0===(t=V(t))||"millisecond"===t||!this.isValid())return this;switch(r=this._isUTC?mr:pr,t){case"year":e=r(this.year(),0,1);break;case"quarter":e=r(this.year(),this.month()-this.month()%3,1);break;case"month":e=r(this.year(),this.month(),1);break;case"week":e=r(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":e=r(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":e=r(this.year(),this.month(),this.date());break;case"hour":e=this._d.valueOf(),e-=gr(e+(this._isUTC?0:this.utcOffset()*lr),fr);break;case"minute":e=this._d.valueOf(),e-=gr(e,lr);break;case"second":e=this._d.valueOf(),e-=gr(e,hr)}return this._d.setTime(e),i.updateOffset(this,!0),this},Ar.subtract=nr,Ar.toArray=function(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]},Ar.toObject=function(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}},Ar.toDate=function(){return new Date(this.valueOf())},Ar.toISOString=function(t){if(!this.isValid())return null;var e=!0!==t,r=e?this.clone().utc():this;return r.year()<0||r.year()>9999?k(r,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):A(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",k(r,"Z")):k(r,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},Ar.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t,e,r,n="moment",i="";return this.isLocal()||(n=0===this.utcOffset()?"moment.utc":"moment.parseZone",i="Z"),t="["+n+'("]',e=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",r=i+'[")]',this.format(t+e+"-MM-DD[T]HH:mm:ss.SSS"+r)},"undefined"!=typeof Symbol&&null!=Symbol.for&&(Ar[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),Ar.toJSON=function(){return this.isValid()?this.toISOString():null},Ar.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},Ar.unix=function(){return Math.floor(this.valueOf()/1e3)},Ar.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},Ar.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},Ar.eraName=function(){var t,e,r,n=this.localeData().eras();for(t=0,e=n.length;t<e;++t){if(r=this.clone().startOf("day").valueOf(),n[t].since<=r&&r<=n[t].until)return n[t].name;if(n[t].until<=r&&r<=n[t].since)return n[t].name}return""},Ar.eraNarrow=function(){var t,e,r,n=this.localeData().eras();for(t=0,e=n.length;t<e;++t){if(r=this.clone().startOf("day").valueOf(),n[t].since<=r&&r<=n[t].until)return n[t].narrow;if(n[t].until<=r&&r<=n[t].since)return n[t].narrow}return""},Ar.eraAbbr=function(){var t,e,r,n=this.localeData().eras();for(t=0,e=n.length;t<e;++t){if(r=this.clone().startOf("day").valueOf(),n[t].since<=r&&r<=n[t].until)return n[t].abbr;if(n[t].until<=r&&r<=n[t].since)return n[t].abbr}return""},Ar.eraYear=function(){var t,e,r,n,o=this.localeData().eras();for(t=0,e=o.length;t<e;++t)if(r=o[t].since<=o[t].until?1:-1,n=this.clone().startOf("day").valueOf(),o[t].since<=n&&n<=o[t].until||o[t].until<=n&&n<=o[t].since)return(this.year()-i(o[t].since).year())*r+o[t].offset;return this.year()},Ar.year=jt,Ar.isLeapYear=function(){return W(this.year())},Ar.weekYear=function(t){return _r.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},Ar.isoWeekYear=function(t){return _r.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)},Ar.quarter=Ar.quarters=function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},Ar.month=Ft,Ar.daysInMonth=function(){return Ot(this.year(),this.month())},Ar.week=Ar.weeks=function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")},Ar.isoWeek=Ar.isoWeeks=function(t){var e=zt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")},Ar.weeksInYear=function(){var t=this.localeData()._week;return qt(this.year(),t.dow,t.doy)},Ar.weeksInWeekYear=function(){var t=this.localeData()._week;return qt(this.weekYear(),t.dow,t.doy)},Ar.isoWeeksInYear=function(){return qt(this.year(),1,4)},Ar.isoWeeksInISOWeekYear=function(){return qt(this.isoWeekYear(),1,4)},Ar.date=wr,Ar.day=Ar.days=function(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=function(t,e){return"string"!=typeof t?t:isNaN(t)?"number"==typeof(t=e.weekdaysParse(t))?t:null:parseInt(t,10)}(t,this.localeData()),this.add(t-e,"d")):e},Ar.weekday=function(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")},Ar.isoWeekday=function(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=function(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7},Ar.dayOfYear=function(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")},Ar.hour=Ar.hours=ae,Ar.minute=Ar.minutes=$r,Ar.second=Ar.seconds=Er,Ar.millisecond=Ar.milliseconds=Nr,Ar.utcOffset=function(t,e,r){var n,o=this._offset||0;if(!this.isValid())return null!=t?this:NaN;if(null!=t){if("string"==typeof t){if(null===(t=We(ft,t)))return this}else Math.abs(t)<16&&!r&&(t*=60);return!this._isUTC&&e&&(n=ze(this)),this._offset=t,this._isUTC=!0,null!=n&&this.add(n,"m"),o!==t&&(!e||this._changeInProgress?er(this,Xe(t-o,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,i.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?o:ze(this)},Ar.utc=function(t){return this.utcOffset(0,t)},Ar.local=function(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(ze(this),"m")),this},Ar.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var t=We(lt,this._i);null!=t?this.utcOffset(t):this.utcOffset(0,!0)}return this},Ar.hasAlignedHourOffset=function(t){return!!this.isValid()&&(t=t?De(t).utcOffset():0,(this.utcOffset()-t)%60==0)},Ar.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},Ar.isLocal=function(){return!!this.isValid()&&!this._isUTC},Ar.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},Ar.isUtc=qe,Ar.isUTC=qe,Ar.zoneAbbr=function(){return this._isUTC?"UTC":""},Ar.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},Ar.dates=S("dates accessor is deprecated. Use date instead.",wr),Ar.months=S("months accessor is deprecated. Use month instead",Ft),Ar.years=S("years accessor is deprecated. Use year instead",jt),Ar.zone=S("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",(function(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()})),Ar.isDSTShifted=S("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",(function(){if(!u(this._isDSTShifted))return this._isDSTShifted;var t,e={};return _(e,this),(e=Ie(e))._a?(t=e._isUTC?g(e._a):De(e._a),this._isDSTShifted=this.isValid()&&function(t,e,r){var n,i=Math.min(t.length,e.length),o=Math.abs(t.length-e.length),s=0;for(n=0;n<i;n++)(r&&t[n]!==e[n]||!r&&z(t[n])!==z(e[n]))&&s++;return s+o}(e._a,t.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}));var Pr=P.prototype;function Or(t,e,r,n){var i=be(),o=g().set(n,e);return i[r](o,t)}function Cr(t,e,r){if(h(t)&&(e=t,t=void 0),t=t||"",null!=e)return Or(t,e,r,"month");var n,i=[];for(n=0;n<12;n++)i[n]=Or(t,n,r,"month");return i}function Ir(t,e,r,n){"boolean"==typeof t?(h(e)&&(r=e,e=void 0),e=e||""):(r=e=t,t=!1,h(e)&&(r=e,e=void 0),e=e||"");var i,o=be(),s=t?o._week.dow:0,a=[];if(null!=r)return Or(e,(r+s)%7,n,"day");for(i=0;i<7;i++)a[i]=Or(e,(i+s)%7,n,"day");return a}Pr.calendar=function(t,e,r){var n=this._calendar[t]||this._calendar.sameElse;return A(n)?n.call(e,r):n},Pr.longDateFormat=function(t){var e=this._longDateFormat[t],r=this._longDateFormat[t.toUpperCase()];return e||!r?e:(this._longDateFormat[t]=r.match(C).map((function(t){return"MMMM"===t||"MM"===t||"DD"===t||"dddd"===t?t.slice(1):t})).join(""),this._longDateFormat[t])},Pr.invalidDate=function(){return this._invalidDate},Pr.ordinal=function(t){return this._ordinal.replace("%d",t)},Pr.preparse=Rr,Pr.postformat=Rr,Pr.relativeTime=function(t,e,r,n){var i=this._relativeTime[r];return A(i)?i(t,e,r,n):i.replace(/%d/i,t)},Pr.pastFuture=function(t,e){var r=this._relativeTime[t>0?"future":"past"];return A(r)?r(e):r.replace(/%s/i,e)},Pr.set=function(t){var e,r;for(r in t)a(t,r)&&(A(e=t[r])?this[r]=e:this["_"+r]=e);this._config=t,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},Pr.eras=function(t,e){var r,n,o,s=this._eras||be("en")._eras;for(r=0,n=s.length;r<n;++r)switch("string"==typeof s[r].since&&(o=i(s[r].since).startOf("day"),s[r].since=o.valueOf()),typeof s[r].until){case"undefined":s[r].until=1/0;break;case"string":o=i(s[r].until).startOf("day").valueOf(),s[r].until=o.valueOf()}return s},Pr.erasParse=function(t,e,r){var n,i,o,s,a,d=this.eras();for(t=t.toUpperCase(),n=0,i=d.length;n<i;++n)if(o=d[n].name.toUpperCase(),s=d[n].abbr.toUpperCase(),a=d[n].narrow.toUpperCase(),r)switch(e){case"N":case"NN":case"NNN":if(s===t)return d[n];break;case"NNNN":if(o===t)return d[n];break;case"NNNNN":if(a===t)return d[n]}else if([o,s,a].indexOf(t)>=0)return d[n]},Pr.erasConvertYear=function(t,e){var r=t.since<=t.until?1:-1;return void 0===e?i(t.since).year():i(t.since).year()+(e-t.offset)*r},Pr.erasAbbrRegex=function(t){return a(this,"_erasAbbrRegex")||yr.call(this),t?this._erasAbbrRegex:this._erasRegex},Pr.erasNameRegex=function(t){return a(this,"_erasNameRegex")||yr.call(this),t?this._erasNameRegex:this._erasRegex},Pr.erasNarrowRegex=function(t){return a(this,"_erasNarrowRegex")||yr.call(this),t?this._erasNarrowRegex:this._erasRegex},Pr.months=function(t,e){return t?o(this._months)?this._months[t.month()]:this._months[(this._months.isFormat||Lt).test(e)?"format":"standalone"][t.month()]:o(this._months)?this._months:this._months.standalone},Pr.monthsShort=function(t,e){return t?o(this._monthsShort)?this._monthsShort[t.month()]:this._monthsShort[Lt.test(e)?"format":"standalone"][t.month()]:o(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},Pr.monthsParse=function(t,e,r){var n,i,o;if(this._monthsParseExact)return kt.call(this,t,e,r);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),n=0;n<12;n++){if(i=g([2e3,n]),r&&!this._longMonthsParse[n]&&(this._longMonthsParse[n]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[n]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),r||this._monthsParse[n]||(o="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[n]=new RegExp(o.replace(".",""),"i")),r&&"MMMM"===e&&this._longMonthsParse[n].test(t))return n;if(r&&"MMM"===e&&this._shortMonthsParse[n].test(t))return n;if(!r&&this._monthsParse[n].test(t))return n}},Pr.monthsRegex=function(t){return this._monthsParseExact?(a(this,"_monthsRegex")||Bt.call(this),t?this._monthsStrictRegex:this._monthsRegex):(a(this,"_monthsRegex")||(this._monthsRegex=Ut),this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex)},Pr.monthsShortRegex=function(t){return this._monthsParseExact?(a(this,"_monthsRegex")||Bt.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):(a(this,"_monthsShortRegex")||(this._monthsShortRegex=Dt),this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex)},Pr.week=function(t){return zt(t,this._week.dow,this._week.doy).week},Pr.firstDayOfYear=function(){return this._week.doy},Pr.firstDayOfWeek=function(){return this._week.dow},Pr.weekdays=function(t,e){var r=o(this._weekdays)?this._weekdays:this._weekdays[t&&!0!==t&&this._weekdays.isFormat.test(e)?"format":"standalone"];return!0===t?Kt(r,this._week.dow):t?r[t.day()]:r},Pr.weekdaysMin=function(t){return!0===t?Kt(this._weekdaysMin,this._week.dow):t?this._weekdaysMin[t.day()]:this._weekdaysMin},Pr.weekdaysShort=function(t){return!0===t?Kt(this._weekdaysShort,this._week.dow):t?this._weekdaysShort[t.day()]:this._weekdaysShort},Pr.weekdaysParse=function(t,e,r){var n,i,o;if(this._weekdaysParseExact)return re.call(this,t,e,r);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),n=0;n<7;n++){if(i=g([2e3,1]).day(n),r&&!this._fullWeekdaysParse[n]&&(this._fullWeekdaysParse[n]=new RegExp("^"+this.weekdays(i,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[n]=new RegExp("^"+this.weekdaysShort(i,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[n]=new RegExp("^"+this.weekdaysMin(i,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[n]||(o="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[n]=new RegExp(o.replace(".",""),"i")),r&&"dddd"===e&&this._fullWeekdaysParse[n].test(t))return n;if(r&&"ddd"===e&&this._shortWeekdaysParse[n].test(t))return n;if(r&&"dd"===e&&this._minWeekdaysParse[n].test(t))return n;if(!r&&this._weekdaysParse[n].test(t))return n}},Pr.weekdaysRegex=function(t){return this._weekdaysParseExact?(a(this,"_weekdaysRegex")||ne.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(a(this,"_weekdaysRegex")||(this._weekdaysRegex=Qt),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)},Pr.weekdaysShortRegex=function(t){return this._weekdaysParseExact?(a(this,"_weekdaysRegex")||ne.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(a(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=te),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},Pr.weekdaysMinRegex=function(t){return this._weekdaysParseExact?(a(this,"_weekdaysRegex")||ne.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(a(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=ee),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},Pr.isPM=function(t){return"p"===(t+"").toLowerCase().charAt(0)},Pr.meridiem=function(t,e,r){return t>11?r?"pm":"PM":r?"am":"AM"},pe("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1===z(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),i.lang=S("moment.lang is deprecated. Use moment.locale instead.",pe),i.langData=S("moment.langData is deprecated. Use moment.localeData instead.",be);var Lr=Math.abs;function Dr(t,e,r,n){var i=Xe(e,r);return t._milliseconds+=n*i._milliseconds,t._days+=n*i._days,t._months+=n*i._months,t._bubble()}function Ur(t){return t<0?Math.floor(t):Math.ceil(t)}function kr(t){return 4800*t/146097}function xr(t){return 146097*t/4800}function Fr(t){return function(){return this.as(t)}}var Br=Fr("ms"),Vr=Fr("s"),jr=Fr("m"),Hr=Fr("h"),Gr=Fr("d"),Wr=Fr("w"),Yr=Fr("M"),zr=Fr("Q"),qr=Fr("y");function Kr(t){return function(){return this.isValid()?this._data[t]:NaN}}var Zr=Kr("milliseconds"),Xr=Kr("seconds"),Jr=Kr("minutes"),Qr=Kr("hours"),tn=Kr("days"),en=Kr("months"),rn=Kr("years");var nn=Math.round,on={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function sn(t,e,r,n,i){return i.relativeTime(e||1,!!r,t,n)}var an=Math.abs;function dn(t){return(t>0)-(t<0)||+t}function un(){if(!this.isValid())return this.localeData().invalidDate();var t,e,r,n,i,o,s,a,d=an(this._milliseconds)/1e3,u=an(this._days),h=an(this._months),l=this.asSeconds();return l?(t=Y(d/60),e=Y(t/60),d%=60,t%=60,r=Y(h/12),h%=12,n=d?d.toFixed(3).replace(/\.?0+$/,""):"",i=l<0?"-":"",o=dn(this._months)!==dn(l)?"-":"",s=dn(this._days)!==dn(l)?"-":"",a=dn(this._milliseconds)!==dn(l)?"-":"",i+"P"+(r?o+r+"Y":"")+(h?o+h+"M":"")+(u?s+u+"D":"")+(e||t||d?"T":"")+(e?a+e+"H":"")+(t?a+t+"M":"")+(d?a+n+"S":"")):"P0D"}var hn=Be.prototype;return hn.isValid=function(){return this._isValid},hn.abs=function(){var t=this._data;return this._milliseconds=Lr(this._milliseconds),this._days=Lr(this._days),this._months=Lr(this._months),t.milliseconds=Lr(t.milliseconds),t.seconds=Lr(t.seconds),t.minutes=Lr(t.minutes),t.hours=Lr(t.hours),t.months=Lr(t.months),t.years=Lr(t.years),this},hn.add=function(t,e){return Dr(this,t,e,1)},hn.subtract=function(t,e){return Dr(this,t,e,-1)},hn.as=function(t){if(!this.isValid())return NaN;var e,r,n=this._milliseconds;if("month"===(t=V(t))||"quarter"===t||"year"===t)switch(e=this._days+n/864e5,r=this._months+kr(e),t){case"month":return r;case"quarter":return r/3;case"year":return r/12}else switch(e=this._days+Math.round(xr(this._months)),t){case"week":return e/7+n/6048e5;case"day":return e+n/864e5;case"hour":return 24*e+n/36e5;case"minute":return 1440*e+n/6e4;case"second":return 86400*e+n/1e3;case"millisecond":return Math.floor(864e5*e)+n;default:throw new Error("Unknown unit "+t)}},hn.asMilliseconds=Br,hn.asSeconds=Vr,hn.asMinutes=jr,hn.asHours=Hr,hn.asDays=Gr,hn.asWeeks=Wr,hn.asMonths=Yr,hn.asQuarters=zr,hn.asYears=qr,hn.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*z(this._months/12):NaN},hn._bubble=function(){var t,e,r,n,i,o=this._milliseconds,s=this._days,a=this._months,d=this._data;return o>=0&&s>=0&&a>=0||o<=0&&s<=0&&a<=0||(o+=864e5*Ur(xr(a)+s),s=0,a=0),d.milliseconds=o%1e3,t=Y(o/1e3),d.seconds=t%60,e=Y(t/60),d.mi
vendor: 6,223 bytes, line 15672
15672nutes=e%60,r=Y(e/60),d.hours=r%24,s+=Y(r/24),a+=i=Y(kr(s)),s-=Ur(xr(i)),n=Y(a/12),a%=12,d.days=s,d.months=a,d.years=n,this},hn.clone=function(){return Xe(this)},hn.get=function(t){return t=V(t),this.isValid()?this[t+"s"]():NaN},hn.milliseconds=Zr,hn.seconds=Xr,hn.minutes=Jr,hn.hours=Qr,hn.days=tn,hn.weeks=function(){return Y(this.days()/7)},hn.months=en,hn.years=rn,hn.humanize=function(t,e){if(!this.isValid())return this.localeData().invalidDate();var r,n,i=!1,o=on;return"object"==typeof t&&(e=t,t=!1),"boolean"==typeof t&&(i=t),"object"==typeof e&&(o=Object.assign({},on,e),null!=e.s&&null==e.ss&&(o.ss=e.s-1)),n=function(t,e,r,n){var i=Xe(t).abs(),o=nn(i.as("s")),s=nn(i.as("m")),a=nn(i.as("h")),d=nn(i.as("d")),u=nn(i.as("M")),h=nn(i.as("w")),l=nn(i.as("y")),f=o<=r.ss&&["s",o]||o<r.s&&["ss",o]||s<=1&&["m"]||s<r.m&&["mm",s]||a<=1&&["h"]||a<r.h&&["hh",a]||d<=1&&["d"]||d<r.d&&["dd",d];return null!=r.w&&(f=f||h<=1&&["w"]||h<r.w&&["ww",h]),(f=f||u<=1&&["M"]||u<r.M&&["MM",u]||l<=1&&["y"]||["yy",l])[2]=e,f[3]=+t>0,f[4]=n,sn.apply(null,f)}(this,!i,o,r=this.localeData()),i&&(n=r.pastFuture(+this,n)),r.postformat(n)},hn.toISOString=un,hn.toString=un,hn.toJSON=un,hn.locale=ar,hn.localeData=ur,hn.toIsoString=S("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",un),hn.lang=dr,U("X",0,0,"unix"),U("x",0,0,"valueOf"),gt("x",ht),gt("X",/[+-]?\d+(\.\d{1,3})?/),yt("X",(function(t,e,r){r._d=new Date(1e3*parseFloat(t))})),yt("x",(function(t,e,r){r._d=new Date(z(t))})),i.version="2.29.4",e=De,i.fn=Ar,i.min=function(){return xe("isBefore",[].slice.call(arguments,0))},i.max=function(){return xe("isAfter",[].slice.call(arguments,0))},i.now=function(){return Date.now?Date.now():+new Date},i.utc=g,i.unix=function(t){return De(1e3*t)},i.months=function(t,e){return Cr(t,e,"months")},i.isDate=l,i.locale=pe,i.invalid=b,i.duration=Xe,i.isMoment=w,i.weekdays=function(t,e,r){return Ir(t,e,r,"weekdays")},i.parseZone=function(){return De.apply(null,arguments).parseZone()},i.localeData=be,i.isDuration=Ve,i.monthsShort=function(t,e){return Cr(t,e,"monthsShort")},i.weekdaysMin=function(t,e,r){return Ir(t,e,r,"weekdaysMin")},i.defineLocale=me,i.updateLocale=function(t,e){if(null!=e){var r,n,i=ue;null!=he[t]&&null!=he[t].parentLocale?he[t].set(R(he[t]._config,e)):(null!=(n=ge(t))&&(i=n._config),e=R(i,e),null==n&&(e.abbr=t),(r=new P(e)).parentLocale=he[t],he[t]=r),pe(t)}else null!=he[t]&&(null!=he[t].parentLocale?(he[t]=he[t].parentLocale,t===pe()&&pe(t)):null!=he[t]&&delete he[t]);return he[t]},i.locales=function(){return N(he)},i.weekdaysShort=function(t,e,r){return Ir(t,e,r,"weekdaysShort")},i.normalizeUnits=V,i.relativeTimeRounding=function(t){return void 0===t?nn:"function"==typeof t&&(nn=t,!0)},i.relativeTimeThreshold=function(t,e){return void 0!==on[t]&&(void 0===e?on[t]:(on[t]=e,"s"===t&&(on.ss=e-1),!0))},i.calendarFormat=function(t,e){var r=t.diff(e,"days",!0);return r<-6?"sameElse":r<-1?"lastWeek":r<0?"lastDay":r<1?"sameDay":r<2?"nextDay":r<7?"nextWeek":"sameElse"},i.prototype=Ar,i.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},i}()},3518:(t,e,r)=>{"use strict";var n=r(7568);e.certificate=r(6413);var i=n.define("RSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())}));e.RSAPrivateKey=i;var o=n.define("RSAPublicKey",(function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())}));e.RSAPublicKey=o;var s=n.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())})),a=n.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(s),this.key("subjectPublicKey").bitstr())}));e.PublicKey=a;var d=n.define("PrivateKeyInfo",(function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(s),this.key("subjectPrivateKey").octstr())}));e.PrivateKey=d;var u=n.define("EncryptedPrivateKeyInfo",(function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())}));e.EncryptedPrivateKey=u;var h=n.define("DSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())}));e.DSAPrivateKey=h,e.DSAparam=n.define("DSAparam",(function(){this.int()}));var l=n.define("ECParameters",(function(){this.choice({namedCurve:this.objid()})})),f=n.define("ECPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(l),this.key("publicKey").optional().explicit(1).bitstr())}));e.ECPrivateKey=f,e.signature=n.define("signature",(function(){this.seq().obj(this.key("r").int(),this.key("s").int())}))},6413:(t,e,r)=>{"use strict";var n=r(7568),i=n.define("Time",(function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})})),o=n.define("AttributeTypeValue",(function(){this.seq().obj(this.key("type").objid(),this.key("value").any())})),s=n.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())})),a=n.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(s),this.key("subjectPublicKey").bitstr())})),d=n.define("RelativeDistinguishedName",(function(){this.setof(o)})),u=n.define("RDNSequence",(function(){this.seqof(d)}
vendor: 5,691 bytes, line 15672
15672)),h=n.define("Name",(function(){this.choice({rdnSequence:this.use(u)})})),l=n.define("Validity",(function(){this.seq().obj(this.key("notBefore").use(i),this.key("notAfter").use(i))})),f=n.define("Extension",(function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())})),c=n.define("TBSCertificate",(function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(s),this.key("issuer").use(h),this.key("validity").use(l),this.key("subject").use(h),this.key("subjectPublicKeyInfo").use(a),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(f).optional())})),g=n.define("X509Certificate",(function(){this.seq().obj(this.key("tbsCertificate").use(c),this.key("signatureAlgorithm").use(s),this.key("signatureValue").bitstr())}));t.exports=g},4101:(t,e,r)=>{"use strict";var n=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r+/=]+)[\n\r]+/m,i=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,o=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r+/=]+)-----END \1-----$/m,s=r(8078),a=r(1241),d=r(2861).Buffer;t.exports=function(t,e){var r,u=t.toString(),h=u.match(n);if(h){var l="aes"+h[1],f=d.from(h[2],"hex"),c=d.from(h[3].replace(/[\r\n]/g,""),"base64"),g=s(e,f.slice(0,8),parseInt(h[1],10)).key,p=[],m=a.createDecipheriv(l,g,f);p.push(m.update(c)),p.push(m.final()),r=d.concat(p)}else{var b=u.match(o);r=d.from(b[2].replace(/[\r\n]/g,""),"base64")}return{tag:u.match(i)[1],data:r}}},8170:(t,e,r)=>{"use strict";var n=r(3518),i=r(5579),o=r(4101),s=r(1241),a=r(8396),d=r(2861).Buffer;function u(t){var e;"object"!=typeof t||d.isBuffer(t)||(e=t.passphrase,t=t.key),"string"==typeof t&&(t=d.from(t));var r,u,h=o(t,e),l=h.tag,f=h.data;switch(l){case"CERTIFICATE":u=n.certificate.decode(f,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(u||(u=n.PublicKey.decode(f,"der")),r=u.algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return n.RSAPublicKey.decode(u.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return u.subjectPrivateKey=u.subjectPublicKey,{type:"ec",data:u};case"1.2.840.10040.4.1":return u.algorithm.params.pub_key=n.DSAparam.decode(u.subjectPublicKey.data,"der"),{type:"dsa",data:u.algorithm.params};default:throw new Error("unknown key id "+r)}case"ENCRYPTED PRIVATE KEY":f=function(t,e){var r=t.algorithm.decrypt.kde.kdeparams.salt,n=parseInt(t.algorithm.decrypt.kde.kdeparams.iters.toString(),10),o=i[t.algorithm.decrypt.cipher.algo.join(".")],u=t.algorithm.decrypt.cipher.iv,h=t.subjectPrivateKey,l=parseInt(o.split("-")[1],10)/8,f=a.pbkdf2Sync(e,r,n,l,"sha1"),c=s.createDecipheriv(o,f,u),g=[];return g.push(c.update(h)),g.push(c.final()),d.concat(g)}(f=n.EncryptedPrivateKey.decode(f,"der"),e);case"PRIVATE KEY":switch(r=(u=n.PrivateKey.decode(f,"der")).algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return n.RSAPrivateKey.decode(u.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:u.algorithm.curve,privateKey:n.ECPrivateKey.decode(u.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return u.algorithm.params.priv_key=n.DSAparam.decode(u.subjectPrivateKey,"der"),{type:"dsa",params:u.algorithm.params};default:throw new Error("unknown key id "+r)}case"RSA PUBLIC KEY":return n.RSAPublicKey.decode(f,"der");case"RSA PRIVATE KEY":return n.RSAPrivateKey.decode(f,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:n.DSAPrivateKey.decode(f,"der")};case"EC PRIVATE KEY":return{curve:(f=n.ECPrivateKey.decode(f,"der")).parameters.value,privateKey:f.privateKey};default:throw new Error("unknown key type "+l)}}u.signature=n.signature,t.exports=u},8396:(t,e,r)=>{e.pbkdf2=r(3832),e.pbkdf2Sync=r(1352)},3832:(t,e,r)=>{var n,i,o=r(2861).Buffer,s=r(4196),a=r(2455),d=r(1352),u=r(3382),h=r.g.crypto&&r.g.crypto.subtle,l={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},f=[];function c(){return i||(i=r.g.process&&r.g.process.nextTick?r.g.process.nextTick:r.g.queueMicrotask?r.g.queueMicrotask:r.g.setImmediate?r.g.setImmediate:r.g.setTimeout)}function g(t,e,r,n,i){return h.importKey("raw",t,{name:"PBKDF2"},!1,["deriveBits"]).then((function(t){return h.deriveBits({name:"PBKDF2",salt:e,iterations:r,hash:{name:i}},t,n<<3)})).then((function(t){return o.from(t)}))}t.exports=function(t,e,i,p,m,b){"function"==typeof m&&(b=m,m=void 0);var y=l[(m=m||"sha1").toLowerCase()];if(y&&"function"==typeof r.g.Promise){if(s(i,p),t=u(t,a,"Password"),e=u(e,a,"Salt"),"function"!=typeof b)throw new Error("No callback provided to pbkdf2");!function(t,e){t.then((function(t){c()((function(){e(null,t)}))}),(function(t){c()((function(){e(t)}))}))}(function(t){if(r.g.process&&!r.g.process.browser)return Promise.resolve(!1);if(!h||!h.importKey||!h.deriveBits)return Promise.resolve(!1);if(void 0!==f[t])return f[t];var e=g(n=n||o.alloc(8),n,10,128,t).then((function(){return!0})).catch((function(){return!1}));return f[t]=e,e}(y).then((function(r){return r?g(t,e,i,p,y):d(t,e,i,p,m)})),b)}else c()((function(){var r;try{r=d(t,e,i,p,m)}catch(t){return b(t)}b(null,r)}))}},2455:(t,e,r)=>{var n,i=r(5606);n=r.g.process&&r.g.process.browser?"utf-8":r.g.process&&r.g.process.version?parseInt(i.version.split(".")[0].slice(1),10)>=6?"utf-8":"binary":"utf-8",t.exports=n},4196:t=>{var e=Math.pow(2,30)-1;t.exports=function(t,r){if("number"!=typeof t)throw new TypeError("Iterations not a number");if(t<0)throw new TypeError("Bad iterations");
vendor: 4,770 bytes, line 15672
15672if("number"!=typeof r)throw new TypeError("Key length not a number");if(r<0||r>e||r!=r)throw new TypeError("Bad key length")}},1352:(t,e,r)=>{var n=r(320),i=r(6011),o=r(2802),s=r(2861).Buffer,a=r(4196),d=r(2455),u=r(3382),h=s.alloc(128),l={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function f(t,e,r){var a=function(t){return"rmd160"===t||"ripemd160"===t?function(t){return(new i).update(t).digest()}:"md5"===t?n:function(e){return o(t).update(e).digest()}}(t),d="sha512"===t||"sha384"===t?128:64;e.length>d?e=a(e):e.length<d&&(e=s.concat([e,h],d));for(var u=s.allocUnsafe(d+l[t]),f=s.allocUnsafe(d+l[t]),c=0;c<d;c++)u[c]=54^e[c],f[c]=92^e[c];var g=s.allocUnsafe(d+r+4);u.copy(g,0,0,d),this.ipad1=g,this.ipad2=u,this.opad=f,this.alg=t,this.blocksize=d,this.hash=a,this.size=l[t]}f.prototype.run=function(t,e){return t.copy(e,this.blocksize),this.hash(e).copy(this.opad,this.blocksize),this.hash(this.opad)},t.exports=function(t,e,r,n,i){a(r,n);var o=new f(i=i||"sha1",t=u(t,d,"Password"),(e=u(e,d,"Salt")).length),h=s.allocUnsafe(n),c=s.allocUnsafe(e.length+4);e.copy(c,0,0,e.length);for(var g=0,p=l[i],m=Math.ceil(n/p),b=1;b<=m;b++){c.writeUInt32BE(b,e.length);for(var y=o.run(c,o.ipad1),v=y,_=1;_<r;_++){v=o.run(v,o.ipad2);for(var M=0;M<p;M++)y[M]^=v[M]}y.copy(h,g),g+=p}return h}},3382:(t,e,r)=>{var n=r(2861).Buffer;t.exports=function(t,e,r){if(n.isBuffer(t))return t;if("string"==typeof t)return n.from(t,e);if(ArrayBuffer.isView(t))return n.from(t.buffer);throw new TypeError(r+" must be a string, a Buffer, a typed array or a DataView")}},3225:(t,e,r)=>{"use strict";var n=r(5606);void 0===n||!n.version||0===n.version.indexOf("v0.")||0===n.version.indexOf("v1.")&&0!==n.version.indexOf("v1.8.")?t.exports={nextTick:function(t,e,r,i){if("function"!=typeof t)throw new TypeError('"callback" argument must be a function');var o,s,a=arguments.length;switch(a){case 0:case 1:return n.nextTick(t);case 2:return n.nextTick((function(){t.call(null,e)}));case 3:return n.nextTick((function(){t.call(null,e,r)}));case 4:return n.nextTick((function(){t.call(null,e,r,i)}));default:for(o=new Array(a-1),s=0;s<o.length;)o[s++]=arguments[s];return n.nextTick((function(){t.apply(null,o)}))}}}:t.exports=n},5606:t=>{var e,r,n=t.exports={};function i(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function s(t){if(e===setTimeout)return setTimeout(t,0);if((e===i||!e)&&setTimeout)return e=setTimeout,setTimeout(t,0);try{return e(t,0)}catch(r){try{return e.call(null,t,0)}catch(r){return e.call(this,t,0)}}}!function(){try{e="function"==typeof setTimeout?setTimeout:i}catch(t){e=i}try{r="function"==typeof clearTimeout?clearTimeout:o}catch(t){r=o}}();var a,d=[],u=!1,h=-1;function l(){u&&a&&(u=!1,a.length?d=a.concat(d):h=-1,d.length&&f())}function f(){if(!u){var t=s(l);u=!0;for(var e=d.length;e;){for(a=d,d=[];++h<e;)a&&a[h].run();h=-1,e=d.length}a=null,u=!1,function(t){if(r===clearTimeout)return clearTimeout(t);if((r===o||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(t);try{return r(t)}catch(e){try{return r.call(null,t)}catch(e){return r.call(this,t)}}}(t)}}function c(t,e){this.fun=t,this.array=e}function g(){}n.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];d.push(new c(t,e)),1!==d.length||u||s(f)},c.prototype.run=function(){this.fun.apply(null,this.array)},n.title="browser",n.browser=!0,n.env={},n.argv=[],n.version="",n.versions={},n.on=g,n.addListener=g,n.once=g,n.off=g,n.removeListener=g,n.removeAllListeners=g,n.emit=g,n.prependListener=g,n.prependOnceListener=g,n.listeners=function(t){return[]},n.binding=function(t){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(t){throw new Error("process.chdir is not supported")},n.umask=function(){return 0}},7168:(t,e,r)=>{e.publicEncrypt=r(8902),e.privateDecrypt=r(7362),e.privateEncrypt=function(t,r){return e.publicEncrypt(t,r,!0)},e.publicDecrypt=function(t,r){return e.privateDecrypt(t,r,!0)}},8206:(t,e,r)=>{var n=r(7108),i=r(2861).Buffer;function o(t){var e=i.allocUnsafe(4);return e.writeUInt32BE(t,0),e}t.exports=function(t,e){for(var r,s=i.alloc(0),a=0;s.length<e;)r=o(a++),s=i.concat([s,n("sha1").update(t).update(r).digest()]);return s.slice(0,e)}},2509:function(t,e,r){!function(t,e){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function o(t,e,r){if(o.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var s;
vendor: 8,569 bytes, line 15672
15672"object"==typeof t?t.exports=o:e.BN=o,o.BN=o,o.wordSize=26;try{s="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(1069).Buffer}catch(t){}function a(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function d(t,e,r){var n=a(t,r);return r-1>=e&&(n|=a(t,r-1)<<4),n}function u(t,e,r,n){for(var i=0,o=Math.min(t.length,r),s=e;s<o;s++){var a=t.charCodeAt(s)-48;i*=n,i+=a>=49?a-49+10:a>=17?a-17+10:a}return i}o.isBN=function(t){return t instanceof o||null!==t&&"object"==typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i<t.length&&(16===e?this._parseHex(t,i,r):(this._parseBase(t,e,i),"le"===r&&this._initArray(this.toArray(),e,r)))},o.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initArray=function(t,e,r){if(n("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var o,s,a=0;if("be"===r)for(i=t.length-1,o=0;i>=0;i-=3)s=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===r)for(i=0,o=0;i<t.length;i+=3)s=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var i,o=0,s=0;if("be"===r)for(n=t.length-1;n>=e;n-=2)i=d(t,e,n)<<o,this.words[s]|=67108863&i,o>=18?(o-=18,s+=1,this.words[s]|=i>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n<t.length;n+=2)i=d(t,e,n)<<o,this.words[s]|=67108863&i,o>=18?(o-=18,s+=1,this.words[s]|=i>>>26):o+=8;this.strip()},o.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,s=o%n,a=Math.min(o,o-s)+r,d=0,h=r;h<a;h+=n)d=u(t,h,h+n,e),this.imuln(i),this.words[0]+d<67108864?this.words[0]+=d:this._iaddn(d);if(0!==s){var l=1;for(d=u(t,h,t.length,e),h=0;h<s;h++)l*=e;this.imuln(l),this.words[0]+d<67108864?this.words[0]+=d:this._iaddn(d)}this.strip()},o.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},o.prototype.clone=function(){var t=new o(null);return this.copy(t),t},o.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},o.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function c(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],s=i*o,a=67108863&s,d=s/67108864|0;r.words[0]=a;for(var u=1;u<n;u++){for(var h=d>>>26,l=67108863&d,f=Math.min(u,e.length-1),c=Math.max(0,u-t.length+1);c<=f;c++){var g=u-c|0;h+=(s=(i=0|t.words[g])*(o=0|e.words[c])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,d=0|h}return 0!==d?r.words[u]=0|d:r.length--,r.strip()}o.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var i=0,o=0,s=0;s<this.length;s++){var a=this.words[s],d=(16777215&(a<<i|o)).toString(16);o=a>>>24-i&16777215,(i+=2)>=26&&(i-=26,s--),r=0!==o||s!==this.length-1?h[6-d.length]+d+r:d+r}for(0!==o&&(r=o.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=l[t],c=f[t];r="";var g=this.clone();for(g.negative=0;!g.isZero();){var p=g.modn(c).toString(t);r=(g=g.idivn(c)).isZero()?p+r:h[u-p.length]+p+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return n(void 0!==s),this.toArrayLike(s,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),o=r||Math.max(1,i);n(i<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0"),this.strip();var s,a,d="le"===e,u=new t(o),h=this.clone();if(d){for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),u[a]=s;for(;a<o;a++)u[a]=0}else{for(a=0;a<o-i;a++)u[a]=0;for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),u[o-a-1]=s}return u},Math.clz32?o.prototype._countBits=function(t){return 32-Math.clz32(t)}:o.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 8191&e||(r+=13,e>>>=13),127&e||(r+=7,e>>>=7),15&e||(r+=4,e>>>=4),3&e||(r+=2,e>>>=2),1&e||r++,r},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},o.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},o.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},o.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},o.prototype.isNeg=function(){return 0!==this.negative},o.prototype.neg=function(){return this.clone().ineg()},o.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},o.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},o.prototype.ior=function(t){return n(!(this.negative|t.negative)),this.iuor(t)},o.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},o.prototype.iand=function(t){return n(!(this.negative|t.negative)),this.iuand(t)},o.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n<r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n<e.length;n++)this.words[n]=e.words[n];return this.length=e.length,this.strip()},o.prototype.ixor=function(t){return n(!
vendor: 2,330 bytes, line 15672
15672(this.negative|t.negative)),this.iuxor(t)},o.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<<i:this.words[r]&~(1<<i),this.strip()},o.prototype.iadd=function(t){var e,r,n;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o<n.length;o++)e=(0|r.words[o])+(0|n.words[o])+i,this.words[o]=67108863&e,i=e>>>26;for(;0!==i&&o<r.length;o++)e=(0|r.words[o])+i,this.words[o]=67108863&e,i=e>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},o.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,s=0;s<n.length;s++)o=(e=(0|r.words[s])-(0|n.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},o.prototype.sub=function(t){return this.clone().isub(t)};var
vendor: 7,651 bytes, line 15672
15672g=function(t,e,r){var n,i,o,s=t.words,a=e.words,d=r.words,u=0,h=0|s[0],l=8191&h,f=h>>>13,c=0|s[1],g=8191&c,p=c>>>13,m=0|s[2],b=8191&m,y=m>>>13,v=0|s[3],_=8191&v,M=v>>>13,w=0|s[4],$=8191&w,S=w>>>13,N=0|s[5],E=8191&N,T=N>>>13,A=0|s[6],R=8191&A,P=A>>>13,O=0|s[7],C=8191&O,I=O>>>13,L=0|s[8],D=8191&L,U=L>>>13,k=0|s[9],x=8191&k,F=k>>>13,B=0|a[0],V=8191&B,j=B>>>13,H=0|a[1],G=8191&H,W=H>>>13,Y=0|a[2],z=8191&Y,q=Y>>>13,K=0|a[3],Z=8191&K,X=K>>>13,J=0|a[4],Q=8191&J,tt=J>>>13,et=0|a[5],rt=8191&et,nt=et>>>13,it=0|a[6],ot=8191&it,st=it>>>13,at=0|a[7],dt=8191&at,ut=at>>>13,ht=0|a[8],lt=8191&ht,ft=ht>>>13,ct=0|a[9],gt=8191&ct,pt=ct>>>13;r.negative=t.negative^e.negative,r.length=19;var mt=(u+(n=Math.imul(l,V))|0)+((8191&(i=(i=Math.imul(l,j))+Math.imul(f,V)|0))<<13)|0;u=((o=Math.imul(f,j))+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(g,V),i=(i=Math.imul(g,j))+Math.imul(p,V)|0,o=Math.imul(p,j);var bt=(u+(n=n+Math.imul(l,G)|0)|0)+((8191&(i=(i=i+Math.imul(l,W)|0)+Math.imul(f,G)|0))<<13)|0;u=((o=o+Math.imul(f,W)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(b,V),i=(i=Math.imul(b,j))+Math.imul(y,V)|0,o=Math.imul(y,j),n=n+Math.imul(g,G)|0,i=(i=i+Math.imul(g,W)|0)+Math.imul(p,G)|0,o=o+Math.imul(p,W)|0;var yt=(u+(n=n+Math.imul(l,z)|0)|0)+((8191&(i=(i=i+Math.imul(l,q)|0)+Math.imul(f,z)|0))<<13)|0;u=((o=o+Math.imul(f,q)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(_,V),i=(i=Math.imul(_,j))+Math.imul(M,V)|0,o=Math.imul(M,j),n=n+Math.imul(b,G)|0,i=(i=i+Math.imul(b,W)|0)+Math.imul(y,G)|0,o=o+Math.imul(y,W)|0,n=n+Math.imul(g,z)|0,i=(i=i+Math.imul(g,q)|0)+Math.imul(p,z)|0,o=o+Math.imul(p,q)|0;var vt=(u+(n=n+Math.imul(l,Z)|0)|0)+((8191&(i=(i=i+Math.imul(l,X)|0)+Math.imul(f,Z)|0))<<13)|0;u=((o=o+Math.imul(f,X)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul($,V),i=(i=Math.imul($,j))+Math.imul(S,V)|0,o=Math.imul(S,j),n=n+Math.imul(_,G)|0,i=(i=i+Math.imul(_,W)|0)+Math.imul(M,G)|0,o=o+Math.imul(M,W)|0,n=n+Math.imul(b,z)|0,i=(i=i+Math.imul(b,q)|0)+Math.imul(y,z)|0,o=o+Math.imul(y,q)|0,n=n+Math.imul(g,Z)|0,i=(i=i+Math.imul(g,X)|0)+Math.imul(p,Z)|0,o=o+Math.imul(p,X)|0;var _t=(u+(n=n+Math.imul(l,Q)|0)|0)+((8191&(i=(i=i+Math.imul(l,tt)|0)+Math.imul(f,Q)|0))<<13)|0;u=((o=o+Math.imul(f,tt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(E,V),i=(i=Math.imul(E,j))+Math.imul(T,V)|0,o=Math.imul(T,j),n=n+Math.imul($,G)|0,i=(i=i+Math.imul($,W)|0)+Math.imul(S,G)|0,o=o+Math.imul(S,W)|0,n=n+Math.imul(_,z)|0,i=(i=i+Math.imul(_,q)|0)+Math.imul(M,z)|0,o=o+Math.imul(M,q)|0,n=n+Math.imul(b,Z)|0,i=(i=i+Math.imul(b,X)|0)+Math.imul(y,Z)|0,o=o+Math.imul(y,X)|0,n=n+Math.imul(g,Q)|0,i=(i=i+Math.imul(g,tt)|0)+Math.imul(p,Q)|0,o=o+Math.imul(p,tt)|0;var Mt=(u+(n=n+Math.imul(l,rt)|0)|0)+((8191&(i=(i=i+Math.imul(l,nt)|0)+Math.imul(f,rt)|0))<<13)|0;u=((o=o+Math.imul(f,nt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(R,V),i=(i=Math.imul(R,j))+Math.imul(P,V)|0,o=Math.imul(P,j),n=n+Math.imul(E,G)|0,i=(i=i+Math.imul(E,W)|0)+Math.imul(T,G)|0,o=o+Math.imul(T,W)|0,n=n+Math.imul($,z)|0,i=(i=i+Math.imul($,q)|0)+Math.imul(S,z)|0,o=o+Math.imul(S,q)|0,n=n+Math.imul(_,Z)|0,i=(i=i+Math.imul(_,X)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,X)|0,n=n+Math.imul(b,Q)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(y,Q)|0,o=o+Math.imul(y,tt)|0,n=n+Math.imul(g,rt)|0,i=(i=i+Math.imul(g,nt)|0)+Math.imul(p,rt)|0,o=o+Math.imul(p,nt)|0;var wt=(u+(n=n+Math.imul(l,ot)|0)|0)+((8191&(i=(i=i+Math.imul(l,st)|0)+Math.imul(f,ot)|0))<<13)|0;u=((o=o+Math.imul(f,st)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(C,V),i=(i=Math.imul(C,j))+Math.imul(I,V)|0,o=Math.imul(I,j),n=n+Math.imul(R,G)|0,i=(i=i+Math.imul(R,W)|0)+Math.imul(P,G)|0,o=o+Math.imul(P,W)|0,n=n+Math.imul(E,z)|0,i=(i=i+Math.imul(E,q)|0)+Math.imul(T,z)|0,o=o+Math.imul(T,q)|0,n=n+Math.imul($,Z)|0,i=(i=i+Math.imul($,X)|0)+Math.imul(S,Z)|0,o=o+Math.imul(S,X)|0,n=n+Math.imul(_,Q)|0,i=(i=i+Math.imul(_,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(y,rt)|0,o=o+Math.imul(y,nt)|0,n=n+Math.imul(g,ot)|0,i=(i=i+Math.imul(g,st)|0)+Math.imul(p,ot)|0,o=o+Math.imul(p,st)|0;var $t=(u+(n=n+Math.imul(l,dt)|0)|0)+((8191&(i=(i=i+Math.imul(l,ut)|0)+Math.imul(f,dt)|0))<<13)|0;u=((o=o+Math.imul(f,ut)|0)+(i>>>13)|0)+($t>>>26)|0,$t&=67108863,n=Math.imul(D,V),i=(i=Math.imul(D,j))+Math.imul(U,V)|0,o=Math.imul(U,j),n=n+Math.imul(C,G)|0,i=(i=i+Math.imul(C,W)|0)+Math.imul(I,G)|0,o=o+Math.imul(I,W)|0,n=n+Math.imul(R,z)|0,i=(i=i+Math.imul(R,q)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,q)|0,n=n+Math.imul(E,Z)|0,i=(i=i+Math.imul(E,X)|0)+Math.imul(T,Z)|0,o=o+Math.imul(T,X)|0,n=n+Math.imul($,Q)|0,i=(i=i+Math.imul($,tt)|0)+Math.imul(S,Q)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(_,rt)|0,i=(i=i+Math.imul(_,nt)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,nt)|0,n=n+Math.imul(b,ot)|0,i=(i=i+Math.imul(b,st)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,st)|0,n=n+Math.imul(g,dt)|0,i=(i=i+Math.imul(g,ut)|0)+Math.imul(p,dt)|0,o=o+Math.imul(p,ut)|0;var St=(u+(n=n+Math.imul(l,lt)|0)|0)+((8191&(i=(i=i+Math.imul(l,ft)|0)+Math.imul(f,lt)|0))<<13)|0;u=((o=o+Math.imul(f,ft)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(x,V),i=(i=Math.imul(x,j))+Math.imul(F,V)|0,o=Math.imul(F,j),n=n+Math.imul(D,G)|0,i=(i=i+Math.imul(D,W)|0)+Math.imul(U,G)|0,o=o+Math.imul(U,W)|0,n=n+Math.imul(C,z)|0,i=(i=i+Math.imul(C,q)|0)+Math.imul(I,z)|0,o=o+Math.imul(I,q)|0,n=n+Math.imul(R,Z)|0,i=(i=i+Math.imul(R,X)|0)+Math.imul(P,Z)|0,o=o+Math.imul(P,X)|0,n=n+Math.imul(E,Q)|0,i=(i=i+Math.imul(E,tt)|0)+Math.imul(T,Q)|0,o=o+Math.imul(T,tt)|0,n=n+Math.imul($,rt)|0,i=(i=i+Math.imul($,nt)|0)+Math.imul(S,rt)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(_,ot)|0,i=(i=i+Math.imul(_,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,n=n+Math.imul(b,dt)|0,i=(i=i+Math.imul(b,ut)|0)+Math.imul(y,dt)|0,o=o+Math.imul(y,ut)|0,n=n+Math.imul(g,lt)|0,i=(i=i+Math.imul(g,ft)|0)+Math.imul(p,lt)|0,o=o+Math.imul(p,ft)|0;var Nt=(u+(n=n+Math.imul(l,gt)|0)|0)+((8191&(i=(i=i+Math.imul(l,pt)|0)+Math.imul(f,gt)|0))<<13)|0;u=((o=o+Math.imul(f,pt)|0)+(i>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,n=Math.imul(x,G),i=(i=Math.imul(x,W))+Math.imul(F,G)|0,o=Math.imul(F,W),n=n+Math.imul(D,z)|0,i=(i=i+Math.imul(D,q)|0)+Math.imul(U,z)|0,o=o+Math.imul(U,q)|0,n=n+Math.imul(C,Z)|0,i=(i=i+Math.imul(C,X)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,X)|0,n=n+Math.imul(R,Q)|0,i=(i=i+Math.imul(R,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,n=n+Math.imul(E,rt)|0,i=(i=i+Math.imul(E,nt)|0)+Math.imul(T,rt)|0,o=o+Math.imul(T,nt)|0,n=n+Math.imul($,ot)|0,i=(i=i+Math.imul($,st)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,st)|0,n=n+Math.imul(_,dt)|0,i=(i=i+Math.imul(_,ut)|0)+Math.imul(M,dt)|0,o=o+Math.imul(M,ut)|0,n=n+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ft)|0)+Math.imul(y,lt)|0,o=o+Math.imul(y,ft)|0;var Et=(u+(n=n+Math.imul(g,gt)|0)|0)+((8191&(i=(i=i+Math.imul(g,pt)|0)+Math.imul(p,gt)|0))<<13)|0;u=((o=o+Math.imul(p,pt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(x,z),i=(i=Math.imul(x,q))+Math.imul(F,z)|0,o=Math.imul(F,q),n=n+Math.imul(D,Z)|0,i=(i=i+Math.imul(D,X)|0)+Math.imul(U,Z)|0,o=o+Math.imul(U,X)|0,n=n+Math.imul(C,Q)|0,i=(i=i+Math.imul(C,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,n=n+Math.imul(R,rt)|0,i=(i=i+Math.imul(R,nt)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,nt)|0,n=n+Math.imul(E,ot)|0,i=(i=i+Math.imul(E,st)|0)+Math.imul(T,ot)|0,o=o+Math.imul(T,st)|0,n=n+Math.imul($,dt)|0,i=(i=i+Math.imul($,ut)|0)+Math.imul(S,dt)|0,o=o+Math.imul(S,ut)|0,n=n+Math.imul(_,lt)|0,i=(i=i+Math.imul(_,ft)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,ft)|0;var Tt=(u+(n=n+Math.imul(b,gt)|0)|0)+((8191&(i=(i=i+Math.imul(b,pt)|0)+Math.imul(y,gt)|0))<<13)|0;u=((o=o+Math.imul(y,pt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(x,Z),i=(i=Math.imul(x,X))+Math.imul(F,Z)|0,o=Math.imul(F,X
vendor: 5,428 bytes, line 15672
15672),n=n+Math.imul(D,Q)|0,i=(i=i+Math.imul(D,tt)|0)+Math.imul(U,Q)|0,o=o+Math.imul(U,tt)|0,n=n+Math.imul(C,rt)|0,i=(i=i+Math.imul(C,nt)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,nt)|0,n=n+Math.imul(R,ot)|0,i=(i=i+Math.imul(R,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,n=n+Math.imul(E,dt)|0,i=(i=i+Math.imul(E,ut)|0)+Math.imul(T,dt)|0,o=o+Math.imul(T,ut)|0,n=n+Math.imul($,lt)|0,i=(i=i+Math.imul($,ft)|0)+Math.imul(S,lt)|0,o=o+Math.imul(S,ft)|0;var At=(u+(n=n+Math.imul(_,gt)|0)|0)+((8191&(i=(i=i+Math.imul(_,pt)|0)+Math.imul(M,gt)|0))<<13)|0;u=((o=o+Math.imul(M,pt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(x,Q),i=(i=Math.imul(x,tt))+Math.imul(F,Q)|0,o=Math.imul(F,tt),n=n+Math.imul(D,rt)|0,i=(i=i+Math.imul(D,nt)|0)+Math.imul(U,rt)|0,o=o+Math.imul(U,nt)|0,n=n+Math.imul(C,ot)|0,i=(i=i+Math.imul(C,st)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,st)|0,n=n+Math.imul(R,dt)|0,i=(i=i+Math.imul(R,ut)|0)+Math.imul(P,dt)|0,o=o+Math.imul(P,ut)|0,n=n+Math.imul(E,lt)|0,i=(i=i+Math.imul(E,ft)|0)+Math.imul(T,lt)|0,o=o+Math.imul(T,ft)|0;var Rt=(u+(n=n+Math.imul($,gt)|0)|0)+((8191&(i=(i=i+Math.imul($,pt)|0)+Math.imul(S,gt)|0))<<13)|0;u=((o=o+Math.imul(S,pt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(x,rt),i=(i=Math.imul(x,nt))+Math.imul(F,rt)|0,o=Math.imul(F,nt),n=n+Math.imul(D,ot)|0,i=(i=i+Math.imul(D,st)|0)+Math.imul(U,ot)|0,o=o+Math.imul(U,st)|0,n=n+Math.imul(C,dt)|0,i=(i=i+Math.imul(C,ut)|0)+Math.imul(I,dt)|0,o=o+Math.imul(I,ut)|0,n=n+Math.imul(R,lt)|0,i=(i=i+Math.imul(R,ft)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ft)|0;var Pt=(u+(n=n+Math.imul(E,gt)|0)|0)+((8191&(i=(i=i+Math.imul(E,pt)|0)+Math.imul(T,gt)|0))<<13)|0;u=((o=o+Math.imul(T,pt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(x,ot),i=(i=Math.imul(x,st))+Math.imul(F,ot)|0,o=Math.imul(F,st),n=n+Math.imul(D,dt)|0,i=(i=i+Math.imul(D,ut)|0)+Math.imul(U,dt)|0,o=o+Math.imul(U,ut)|0,n=n+Math.imul(C,lt)|0,i=(i=i+Math.imul(C,ft)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ft)|0;var Ot=(u+(n=n+Math.imul(R,gt)|0)|0)+((8191&(i=(i=i+Math.imul(R,pt)|0)+Math.imul(P,gt)|0))<<13)|0;u=((o=o+Math.imul(P,pt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(x,dt),i=(i=Math.imul(x,ut))+Math.imul(F,dt)|0,o=Math.imul(F,ut),n=n+Math.imul(D,lt)|0,i=(i=i+Math.imul(D,ft)|0)+Math.imul(U,lt)|0,o=o+Math.imul(U,ft)|0;var Ct=(u+(n=n+Math.imul(C,gt)|0)|0)+((8191&(i=(i=i+Math.imul(C,pt)|0)+Math.imul(I,gt)|0))<<13)|0;u=((o=o+Math.imul(I,pt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(x,lt),i=(i=Math.imul(x,ft))+Math.imul(F,lt)|0,o=Math.imul(F,ft);var It=(u+(n=n+Math.imul(D,gt)|0)|0)+((8191&(i=(i=i+Math.imul(D,pt)|0)+Math.imul(U,gt)|0))<<13)|0;u=((o=o+Math.imul(U,pt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Lt=(u+(n=Math.imul(x,gt))|0)+((8191&(i=(i=Math.imul(x,pt))+Math.imul(F,gt)|0))<<13)|0;return u=((o=Math.imul(F,pt))+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,d[0]=mt,d[1]=bt,d[2]=yt,d[3]=vt,d[4]=_t,d[5]=Mt,d[6]=wt,d[7]=$t,d[8]=St,d[9]=Nt,d[10]=Et,d[11]=Tt,d[12]=At,d[13]=Rt,d[14]=Pt,d[15]=Ot,d[16]=Ct,d[17]=It,d[18]=Lt,0!==u&&(d[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(g=c),o.prototype.mulTo=function(t,e){var r,n=this.length+t.length;return r=10===this.length&&10===t.length?g(this,t,e):n<63?c(this,t,e):n<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o<r.length-1;o++){var s=i;i=0;for(var a=67108863&n,d=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=d;u++){var h=o-u,l=(0|t.words[h])*(0|e.words[u]),f=67108863&l;a=67108863&(f=f+a|0),i+=(s=(s=s+(l/67108864|0)|0)+(f>>>26)|0)>>>26,s&=67108863}r.words[o]=a,n=s,s=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}(this,t,e):p(this,t,e),r},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=o.prototype._countBits(t)-1,n=0;n<t;n++)e[n]=this.revBin(n,r,t);return e},m.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,i=0;i<e;i++)n|=(1&t)<<e-i-1,t>>=1;return n},m.prototype.permute=function(t,e,r,n,i,o){for(var s=0;s<o;s++)n[s]=e[t[s]],i[s]=r[t[s]]},m.prototype.transform=function(t,e,r,n,i,o){this.permute(o,t,e,r,n,i);for(var s=1;s<i;s<<=1)for(var a=s<<1,d=Math.cos(2*Math.PI/a),u=Math.sin(2*Math.PI/a),h=0;h<i;h+=a)for(var l=d,f=u,c=0;c<s;c++){var g=r[h+c],p=n[h+c],m=r[h+c+s],b=n[h+c+s],y=l*m-f*b;b=l*b+f*m,m=y,r[h+c]=g+m,n[h+c]=p+b,r[h+c+s]=g-m,n[h+c+s]=p-b,c!==a&&(y=d*l-u*f,f=d*f+u*l,l=y)}},m.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},m.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=t[n];t[n]=t[r-n-1],t[r-n-1]=i,i=e[n],e[n]=-e[r-n-1],e[r-n-1]=-i}},m.prototype.normalize13b=function(t,e){for(var r=0,n=0;n<e/2;n++){var i=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&i,r=i<67108864?0:i/67108864|0}return t},m.prototype.convert13b=function(t,e,r,i){for(var o=0,s=0;s<e;s++)o+=0|t[s],r[2*s]=8191&o,o>>>=13,r[2*s+1]=8191&o,o>>>=13;for(s=2*e;s<i;++s)r[s]=0;n(0===o),n(!(-8192&o))},m.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},m.prototype.mulp=function(t,e,r){var n=2*this.guessLen13b(t.length,e.length),i=this.makeRBT(n),o=this.stub(n),s=new Array(n),a=new Array(n),d=new Array(n),u=new Array(n),h=new Array(n),l=new Array(n),f=r.words;f.length=n,this.convert13b(t.words,t.length,s,n),this.convert13b(e.words,e.length,u,n),this.transform(s,o,a,d,n,i),this.transform(u,o,h,l,n,i);for(var c=0;c<n;
vendor: 16,384 bytes, line 15672
15672c++){var g=a[c]*h[c]-d[c]*l[c];d[c]=a[c]*l[c]+d[c]*h[c],a[c]=g}return this.conjugate(a,d,n),this.transform(a,d,f,o,n,i),this.conjugate(f,o,n),this.normalize13b(f,n),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},o.prototype.mul=function(t){var e=new o(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},o.prototype.mulf=function(t){var e=new o(null);return e.words=new Array(this.length+t.length),p(this,t,e)},o.prototype.imul=function(t){return this.clone().mulTo(t,this)},o.prototype.imuln=function(t){n("number"==typeof t),n(t<67108864);for(var e=0,r=0;r<this.length;r++){var i=(0|this.words[r])*t,o=(67108863&i)+(67108863&e);e>>=26,e+=i/67108864|0,e+=o>>>26,this.words[r]=67108863&o}return 0!==e&&(this.words[r]=e,this.length++),this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var n=r/26|0,i=r%26;e[r]=(t.words[n]&1<<i)>>>i}return e}(t);if(0===e.length)return new o(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var i=r.sqr();n<e.length;n++,i=i.sqr())0!==e[n]&&(r=r.mul(i));return r},o.prototype.iushln=function(t){n("number"==typeof t&&t>=0);var e,r=t%26,i=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var s=0;for(e=0;e<this.length;e++){var a=this.words[e]&o,d=(0|this.words[e])-a<<r;this.words[e]=d|s,s=a>>>26-r}s&&(this.words[e]=s,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this.strip()},o.prototype.ishln=function(t){return n(0===this.negative),this.iushln(t)},o.prototype.iushrn=function(t,e,r){var i;n("number"==typeof t&&t>=0),i=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<<o,d=r;if(i-=s,i=Math.max(0,i),d){for(var u=0;u<s;u++)d.words[u]=this.words[u];d.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var h=0;for(u=this.length-1;u>=0&&(0!==h||u>=i);u--){var l=0|this.words[u];this.words[u]=h<<26-o|l>>>o,h=l&a}return d&&0!==h&&(d.words[d.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<<e;return!(this.length<=r||!(this.words[r]&i))},o.prototype.imaskn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this.strip()},o.prototype.maskn=function(t){return this.clone().imaskn(t)},o.prototype.iaddn=function(t){return n("number"==typeof t),n(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},o.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},o.prototype.addn=function(t){return this.clone().iaddn(t)},o.prototype.subn=function(t){return this.clone().isubn(t)},o.prototype.iabs=function(){return this.negative=0,this},o.prototype.abs=function(){return this.clone().iabs()},o.prototype._ishlnsubmul=function(t,e,r){var i,o,s=t.length+r;this._expand(s);var a=0;for(i=0;i<t.length;i++){o=(0|this.words[i+r])+a;var d=(0|t.words[i])*e;a=((o-=67108863&d)>>26)-(d/67108864|0),this.words[i+r]=67108863&o}for(;i<this.length-r;i++)a=(o=(0|this.words[i+r])+a)>>26,this.words[i+r]=67108863&o;if(0===a)return this.strip();for(n(-1===a),a=0,i=0;i<this.length;i++)a=(o=-(0|this.words[i])+a)>>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,s=0|i.words[i.length-1];0!=(r=26-this._countBits(s))&&(i=i.ushln(r),n.iushln(r),s=0|i.words[i.length-1]);var a,d=n.length-i.length;if("mod"!==e){(a=new o(null)).length=d+1,a.words=new Array(a.length);for(var u=0;u<a.length;u++)a.words[u]=0}var h=n.clone()._ishlnsubmul(i,1,d);0===h.negative&&(n=h,a&&(a.words[d]=1));for(var l=d-1;l>=0;l--){var f=67108864*(0|n.words[i.length+l])+(0|n.words[i.length+l-1]);for(f=Math.min(f/s|0,67108863),n._ishlnsubmul(i,f,l);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(i,1,l),n.isZero()||(n.negative^=1);a&&(a.words[l]=f)}return a&&a.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:a||null,mod:n}},o.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(i=a.div.neg()),"div"!==e&&(s=a.mod.neg(),r&&0!==s.negative&&s.iadd(t)),{div:i,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(i=a.div.neg()),{div:i,mod:a.mod}):this.negative&t.negative?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),r&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,s,a},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},o.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new o(1),s=new o(0),a=new o(0),d=new o(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var h=r.clone(),l=e.clone();!e.isZero();){for(var f=0,c=1;!(e.words[0]&c)&&f<26;++f,c<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(i.isOdd()||s.isOdd())&&(i.iadd(h),s.isub(l)),i.iushrn(1),s.iushrn(1);for(var g=0,p=1;!(r.words[0]&p)&&g<26;++g,p<<=1);if(g>0)for(r.iushrn(g);g-- >0;)(a.isOdd()||d.isOdd())&&(a.iadd(h),d.isub(l)),a.iushrn(1),d.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(a),s.isub(d)):(r.isub(e),a.isub(i),d.isub(s))}return{a,b:d,gcd:r.iushln(u)}},o.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,s=new o(1),a=new o(0),d=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,h=1;!(e.words[0]&h)&&u<26;++u,h<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(d),s.iushrn(1);for(var l=0,f=1;!(r.words[0]&f)&&l<26;++l,f<<=1);if(l>0)for(r.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(d),a.iushrn(1);e.cmp(r)>=0?(e.isub(r),s.isub(a)):(r.isub(e),a.isub(s))}return(i=0===e.cmpn(1)?s:a).cmpn(0)<0&&i.iadd(t),i},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return!(1&this.words[0])},o.prototype.isOdd=function(){return!(1&~this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,i=1<<e;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var o=i,s=r;0!==o&&s<this.length;s++){var a=0|this.words[s];o=(a+=o)>>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:i<t?-1:1}return 0!==this.negative?0|-e:e},o.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},o.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){n<i?e=-1:n>i&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new $(t)},o.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var b={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function _(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function M(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function $(t){if("string"==typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function S(t){$.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},i(v,y),v.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i<n;i++)e.words[i]=t.words[i];if(e.length=n,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,i=10;i<t.length;i++){var s=0|t.words[i];t.words[i-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[i-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(_,y),i(M,y),i(w,y),w.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,i=67108863&n;n>>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(b[t])return b[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new _;else if("p192"===t)e=new M;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new w}return b[t]=e,e},$.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},$.prototype._verify2=function(t,e){n(!(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},$.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},$.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},$.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},$.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},$.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},$.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},$.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},$.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},$.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},$.prototype.isqr=function(t){return this.imul(t,t.clone())},$.prototype.sqr=function(t){return th
vendor: 1,235 bytes, line 15672
15672is.mul(t,t)},$.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new o(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),s=0;!i.isZero()&&0===i.andln(1);)s++,i.iushrn(1);n(!i.isZero());var a=new o(1).toRed(this),d=a.redNeg(),u=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new o(2*h*h).toRed(this);0!==this.pow(h,u).cmp(d);)h.redIAdd(d);for(var l=this.pow(h,i),f=this.pow(t,i.addn(1).iushrn(1)),c=this.pow(t,i),g=s;0!==c.cmp(a);){for(var p=c,m=0;0!==p.cmp(a);m++)p=p.redSqr();n(m<g);var b=this.pow(l,new o(1).iushln(g-m-1));f=f.redMul(b),l=b.redSqr(),c=c.redMul(l),g=m}return f},$.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},$.prototype.pow=function(t,e){if(e.isZero())return new o(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new o(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var i=r[0],s=0,a=0,d=e.bitLength()%26;for(0===d&&(d=26),n=e.length-1;n>=0;n--){for(var u=e.words[n],h=d-1;h>=0;h--){var l=u>>h&1;i!==r[0]&&(i=this.sqr(i)),0!==l||0!==s?(s<<=1,s|=l,(4==++a||0===n&&0===h)&&(i=this.mul(i,r[s]),a=0,s=0)):a=0}
vendor: 6,453 bytes, line 15672
15672d=26}return i},$.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},$.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new S(t)},i(S,$),S.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},S.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),s=i;return i.cmp(this.m)>=0?s=i.isub(this.m):i.cmpn(0)<0&&(s=i.iadd(this.m)),s._forceRed(this)},S.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},7362:(t,e,r)=>{var n=r(8170),i=r(8206),o=r(2061),s=r(2509),a=r(7332),d=r(7108),u=r(9247),h=r(2861).Buffer;t.exports=function(t,e,r){var l;l=t.padding?t.padding:r?1:4;var f,c=n(t),g=c.modulus.byteLength();if(e.length>g||new s(e).cmp(c.modulus)>=0)throw new Error("decryption error");f=r?u(new s(e),c):a(e,c);var p=h.alloc(g-f.length);if(f=h.concat([p,f],g),4===l)return function(t,e){var r=t.modulus.byteLength(),n=d("sha1").update(h.alloc(0)).digest(),s=n.length;if(0!==e[0])throw new Error("decryption error");var a=e.slice(1,s+1),u=e.slice(s+1),l=o(a,i(u,s)),f=o(u,i(l,r-s-1));if(function(t,e){t=h.from(t),e=h.from(e);var r=0,n=t.length;t.length!==e.length&&(r++,n=Math.min(t.length,e.length));for(var i=-1;++i<n;)r+=t[i]^e[i];return r}(n,f.slice(0,s)))throw new Error("decryption error");for(var c=s;0===f[c];)c++;if(1!==f[c++])throw new Error("decryption error");return f.slice(c)}(c,f);if(1===l)return function(t,e,r){for(var n=e.slice(0,2),i=2,o=0;0!==e[i++];)if(i>=e.length){o++;break}var s=e.slice(2,i-1);if(("0002"!==n.toString("hex")&&!r||"0001"!==n.toString("hex")&&r)&&o++,s.length<8&&o++,o)throw new Error("decryption error");return e.slice(i)}(0,f,r);if(3===l)return f;throw new Error("unknown padding")}},8902:(t,e,r)=>{var n=r(8170),i=r(3209),o=r(7108),s=r(8206),a=r(2061),d=r(2509),u=r(9247),h=r(7332),l=r(2861).Buffer;t.exports=function(t,e,r){var f;f=t.padding?t.padding:r?1:4;var c,g=n(t);if(4===f)c=function(t,e){var r=t.modulus.byteLength(),n=e.length,u=o("sha1").update(l.alloc(0)).digest(),h=u.length,f=2*h;if(n>r-f-2)throw new Error("message too long");var c=l.alloc(r-n-f-2),g=r-h-1,p=i(h),m=a(l.concat([u,c,l.alloc(1,1),e],g),s(p,g)),b=a(p,s(m,h));return new d(l.concat([l.alloc(1),b,m],r))}(g,e);else if(1===f)c=function(t,e,r){var n,o=e.length,s=t.modulus.byteLength();if(o>s-11)throw new Error("message too long");return n=r?l.alloc(s-o-3,255):function(t){for(var e,r=l.allocUnsafe(t),n=0,o=i(2*t),s=0;n<t;)s===o.length&&(o=i(2*t),s=0),(e=o[s++])&&(r[n++]=e);return r}(s-o-3),new d(l.concat([l.from([0,r?1:2]),n,l.alloc(1),e],s))}(g,e,r);else{if(3!==f)throw new Error("unknown padding");if((c=new d(e)).cmp(g.modulus)>=0)throw new Error("data too long for modulus")}return r?h(c,g):u(c,g)}},9247:(t,e,r)=>{var n=r(2509),i=r(2861).Buffer;t.exports=function(t,e){return i.from(t.toRed(n.mont(e.modulus)).redPow(new n(e.publicExponent)).fromRed().toArray())}},2061:t=>{t.exports=function(t,e){for(var r=t.length,n=-1;++n<r;)t[n]^=e[n];return t}},3209:(t,e,r)=>{"use strict";var n=r(5606),i=65536,o=r(2861).Buffer,s=r.g.crypto||r.g.msCrypto;s&&s.getRandomValues?t.exports=function(t,e){if(t>4294967295)throw new RangeError("requested too many random bytes");var r=o.allocUnsafe(t);if(t>0)if(t>i)for(var a=0;a<t;a+=i)s.getRandomValues(r.slice(a,a+i));else s.getRandomValues(r);return"function"==typeof e?n.nextTick((function(){e(null,r)})):r}:t.exports=function(){throw new Error("Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11")}},6983:(t,e,r)=>{"use strict";var n=r(5606);function i(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}var o=r(2861),s=r(3209),a=o.Buffer,d=o.kMaxLength,u=r.g.crypto||r.g.msCrypto,h=Math.pow(2,32)-1;function l(t,e){if("number"!=typeof t||t!=t)throw new TypeError("offset must be a number");if(t>h||t<0)throw new TypeError("offset must be a uint32");if(t>d||t>e)throw new RangeError("offset out of range")}function f(t,e,r){if("number"!=typeof t||t!=t)throw new TypeError("size must be a number");if(t>h||t<0)throw new TypeError("size must be a uint32");if(t+e>r||t>d)throw new RangeError("buffer too small")}function c(t,e,r,i){if(n.browser){var o=t.buffer,a=new Uint8Array(o,e,r);return u.getRandomValues(a),i?void n.nextTick((function(){i(null,t)})):t}if(!i)return s(r).copy(t,e),t;s(r,(function(r,n){if(r)return i(r);n.copy(t,e),i(null,t)}))}u&&u.getRandomValues||!n.browser?(e.randomFill=function(t,e,n,i){if(!(a.isBuffer(t)||t instanceof r.g.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof e)i=e,e=0,n=t.length;else if("function"==typeof n)i=n,n=t.length-e;else if("function"!=typeof i)throw new TypeError('"cb" argument must be a function');return l(e,t.length),f(n,e,t.length),c(t,e,n,i)},e.randomFillSync=function(t,e,n){if(void 0===e&&(e=0),!(a.isBuffer(t)||t instanceof r.g.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');return l(e,t.length),void 0===n&&(n=t.length-e),f(n,e,t.length),c(t,e,n)}):(e.randomFill=i,e.randomFillSync=i)},6048:t=>{"use strict";var e={};function r(t,r,n){n||(n=Error);var i=function(t){var e,n;function i(e,n,i){return t.call(this,function(t,e,n){return"string"==typeof r?r:r(t,e,n)}(e,n,i))||this}return n=t,(e=i).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n,i}(n);i.prototype.name=n.name,i.prototype.code=t,e[t]=i}function n(t,e){if(Array.isArray(t)){var r=t.length;return t=t.map((function(t){return String(t)})),r>2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}r("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invali
15672d for option "'+t+'"'}),TypeError),r("ERR_INVALID_ARG_TYPE",(function(t,e,r){var i,o,s,a,d;if("string"==typeof e&&(o="not ",e.substr(0,4)===o)?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-9,r)===e}(t," argument"))s="The ".concat(t," ").concat(i," ").concat(n(e,"type"));else{var u=("number"!=typeof d&&(d=0),d+1>(a=t).length||-1===a.indexOf(".",d)?"argument":"property");s='The "'.concat(t,'" ').concat(u," ").concat(i," ").concat(n(e,"type"))}return s+". Received type ".concat(typeof r)}),TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.F=e},5382:(t,e,r)=>{"use strict";var n=r(5606),i=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=h;var o=r(5412),s=r(6708);r(6698)(h,o);for(var a=i(s.prototype),d=0;d<a.length;d++){var u=a[d];h.prototype[u]||(h.prototype[u]=s.prototype[u])}function h(t){if(!(this instanceof h))return new h(t);o.call(this,t),s.call(this,t),this.allowHalfOpen=!0,t&&(!1===t.readable&&(this.readable=!1),!1===t.writable&&(this.writable=!1),!1===t.allowHalfOpen&&(this.allowHalfOpen=!1,this.once("end",l)))}function l(){this._writableState.ended||n.nextTick(f,this)}function f(t){t.end()}Object.defineProperty(h.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(h.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(h.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(h.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&this._readableState.destroyed&&this._writableState.destroyed},set:function(t){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=t,this._writableState.destroyed=t)}})},3600:(t,e,r)=>{"use strict";t.exports=i;var n=r(4610);function i(t){if(!(this instanceof i))return new i(t);n.call(this,t)}r(6698)(i,n),i.prototype._transform=function(t,e,r){r(null,t)}},5412:(t,e,r)=>{"use strict";var n,i=r(5606);t.exports=N,N.ReadableState=S,r(7007).EventEmitter;var o,s=function(t,e){return t.listeners(e).length},a=r(345),d=r(8287).Buffer,u=r.g.Uint8Array||function(){},h=r(9838);o=h&&h.debuglog?h.debuglog("stream"):function(){};var l,f,c,g=r(2726),p=r(5896),m=r(5291).getHighWaterMark,b=r(6048).F,y=b.ERR_INVALID_ARG_TYPE,v=b.ERR_STREAM_PUSH_AFTER_EOF,_=b.ERR_METHOD_NOT_IMPLEMENTED,M=b.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;r(6698)(N,a);var w=p.errorOrDestroy,$=["error","close","destroy","pause","resume"];function S(t,e,i){n=n||r(5382),t=t||{},"boolean"!=typeof i&&(i=e instanceof n),this.objectMode=!!t.objectMode,i&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=m(this,t,"readableHighWaterMark",i),this.buffer=new g,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(l||(l=r(3141).I),this.decoder=new l(t.encoding),this.encoding=t.encoding)}function N(t){if(n=n||r(5382),!(this instanceof N))return new N(t);var e=this instanceof n;this._readableState=new S(t,this,e),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),a.call(this)}function E(t,e,r,n,i){o("readableAddChunk",e);var s,a=t._readableState;if(null===e)a.reading=!1,function(t,e){if(o("onEofChunk"),!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?P(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,O(t)))}}(t,a);else if(i||(s=function(t,e){var r,n;return n=e,d.isBuffer(n)||n instanceof u||"string"==typeof e||void 0===e||t.objectMode||(r=new y("chunk",["string","Buffer","Uint8Array"],e)),r}(a,e)),s)w(t,s);else if(a.objectMode||e&&e.length>0)if("string"==typeof e||a.objectMode||Object.getPrototypeOf(e)===d.prototype||(e=function(t){return d.from(t)}(e)),n)a.endEmitted?w(t,new M):T(t,a,e,!0);else if(a.ended)w(t,new v);else{if(a.destroyed)return!1;a.reading=!1,a.decoder&&!r?(e=a.decoder.write(e),a.objectMode||0!==e.length?T(t,a,e,!1):C(t,a)):T(t,a,e,!1)}else n||(a.reading=!1,C(t,a));return!a.ended&&(a.length<a.highWaterMark||0===a.length)}function T(t,e,r,n){e.flowing&&0===e.length&&!e.sync?(e.awaitDrain=0,t.emit("data",r)):(e.length+=e.objectMode?1:r.length,n?e.buffer.unshift(r):e.buffer.push(r),e.needReadable&&P(t)),C(t,e)}Object.defineProperty(N.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}}),N.prototype.destroy=p.destroy,N.prototype._undestroy=p.undestroy,N.prototype._destroy=function(t,e){e(t)},N.prototype.push=function(t,e){var r,n=this._readableState;return n.objectMode?r=!0:"string"==typeof t&&((e=e||n.defaultEncoding)!==n.encoding&&(t=d.from(t,e),e=""),r=!0),E(this,t,e,!1,r)},N.prototype.unshift=function(t){return E(this,t,null,!0,!1)},N.prototype.isPaused=function(){return!1===this._readableState.flowing},N.prototype.setEncoding=function(t){l||(l=r(3141).I);var e=new l(t);this._readableState.decoder=e,this._readableState.encoding=this._readableState.decoder.encoding;
vendor: 5,668 bytes, line 15672
15672for(var n=this._readableState.buffer.head,i="";null!==n;)i+=e.write(n.data),n=n.next;return this._readableState.buffer.clear(),""!==i&&this._readableState.buffer.push(i),this._readableState.length=i.length,this};var A=1073741824;function R(t,e){return t<=0||0===e.length&&e.ended?0:e.objectMode?1:t!=t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=function(t){return t>=A?t=A:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function P(t){var e=t._readableState;o("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(o("emitReadable",e.flowing),e.emittedReadable=!0,i.nextTick(O,t))}function O(t){var e=t._readableState;o("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,k(t)}function C(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(I,t,e))}function I(t,e){for(;!e.reading&&!e.ended&&(e.length<e.highWaterMark||e.flowing&&0===e.length);){var r=e.length;if(o("maybeReadMore read 0"),t.read(0),r===e.length)break}e.readingMore=!1}function L(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function D(t){o("readable nexttick read 0"),t.read(0)}function U(t,e){o("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),k(t),e.flowing&&!e.reading&&t.read(0)}function k(t){var e=t._readableState;for(o("flow",e.flowing);e.flowing&&null!==t.read(););}function x(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function F(t){var e=t._readableState;o("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,i.nextTick(B,e,t))}function B(t,e){if(o("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function V(t,e){for(var r=0,n=t.length;r<n;r++)if(t[r]===e)return r;return-1}N.prototype.read=function(t){o("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(0!==t&&(e.emittedReadable=!1),0===t&&e.needReadable&&((0!==e.highWaterMark?e.length>=e.highWaterMark:e.length>0)||e.ended))return o("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?F(this):P(this),null;if(0===(t=R(t,e))&&e.ended)return 0===e.length&&F(this),null;var n,i=e.needReadable;return o("need readable",i),(0===e.length||e.length-t<e.highWaterMark)&&o("length less than watermark",i=!0),e.ended||e.reading?o("reading or ended",i=!1):i&&(o("do read"),e.reading=!0,e.sync=!0,0===e.length&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1,e.reading||(t=R(r,e))),null===(n=t>0?x(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&F(this)),null!==n&&this.emit("data",n),n},N.prototype._read=function(t){w(this,new _("_read()"))},N.prototype.pipe=function(t,e){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=t;break;case 1:n.pipes=[n.pipes,t];break;default:n.pipes.push(t)}n.pipesCount+=1,o("pipe count=%d opts=%j",n.pipesCount,e);var a=e&&!1===e.end||t===i.stdout||t===i.stderr?p:d;function d(){o("onend"),t.end()}n.endEmitted?i.nextTick(a):r.once("end",a),t.on("unpipe",(function e(i,s){o("onunpipe"),i===r&&s&&!1===s.hasUnpiped&&(s.hasUnpiped=!0,o("cleanup"),t.removeListener("close",c),t.removeListener("finish",g),t.removeListener("drain",u),t.removeListener("error",f),t.removeListener("unpipe",e),r.removeListener("end",d),r.removeListener("end",p),r.removeListener("data",l),h=!0,!n.awaitDrain||t._writableState&&!t._writableState.needDrain||u())}));var u=function(t){return function(){var e=t._readableState;o("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&s(t,"data")&&(e.flowing=!0,k(t))}}(r);t.on("drain",u);var h=!1;function l(e){o("ondata");var i=t.write(e);o("dest.write",i),!1===i&&((1===n.pipesCount&&n.pipes===t||n.pipesCount>1&&-1!==V(n.pipes,t))&&!h&&(o("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function f(e){o("onerror",e),p(),t.removeListener("error",f),0===s(t,"error")&&w(t,e)}function c(){t.removeListener("finish",g),p()}function g(){o("onfinish"),t.removeListener("close",c),p()}function p(){o("unpipe"),r.unpipe(t)}return r.on("data",l),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,"error",f),t.once("close",c),t.once("finish",g),t.emit("pipe",r),n.flowing||(o("pipe resume"),r.resume()),t},N.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o<i;o++)n[o].emit("unpipe",this,{hasUnpiped:!1});return this}var s=V(e.pipes,t);return-1===s||(e.pipes.splice(s,1),e.pipesCount-=1,1===e.pipesCount&&(e.pipes=e.pipes[0]),t.emit("unpipe",this,r)),this},N.prototype.on=function(t,e){var r=a.prototype.on.call(this,t,e),n=this._readableState;return"data"===t?(n.readableListening=this.listenerCount("readable")>
vendor: 4,852 bytes, line 15672
156720,!1!==n.flowing&&this.resume()):"readable"===t&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,o("on readable",n.length,n.reading),n.length?P(this):n.reading||i.nextTick(D,this))),r},N.prototype.addListener=N.prototype.on,N.prototype.removeListener=function(t,e){var r=a.prototype.removeListener.call(this,t,e);return"readable"===t&&i.nextTick(L,this),r},N.prototype.removeAllListeners=function(t){var e=a.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||i.nextTick(L,this),e},N.prototype.resume=function(){var t=this._readableState;return t.flowing||(o("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,i.nextTick(U,t,e))}(this,t)),t.paused=!1,this},N.prototype.pause=function(){return o("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(o("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},N.prototype.wrap=function(t){var e=this,r=this._readableState,n=!1;for(var i in t.on("end",(function(){if(o("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(i){o("wrapped data"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i||(r.objectMode||i&&i.length)&&(e.push(i)||(n=!0,t.pause()))})),t)void 0===this[i]&&"function"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var s=0;s<$.length;s++)t.on($[s],this.emit.bind(this,$[s]));return this._read=function(e){o("wrapped _read",e),n&&(n=!1,t.resume())},this},"function"==typeof Symbol&&(N.prototype[Symbol.asyncIterator]=function(){return void 0===f&&(f=r(2955)),f(this)}),Object.defineProperty(N.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(N.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(N.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(t){this._readableState&&(this._readableState.flowing=t)}}),N._fromList=x,Object.defineProperty(N.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}),"function"==typeof Symbol&&(N.from=function(t,e){return void 0===c&&(c=r(5157)),c(N,t,e)})},4610:(t,e,r)=>{"use strict";t.exports=h;var n=r(6048).F,i=n.ERR_METHOD_NOT_IMPLEMENTED,o=n.ERR_MULTIPLE_CALLBACK,s=n.ERR_TRANSFORM_ALREADY_TRANSFORMING,a=n.ERR_TRANSFORM_WITH_LENGTH_0,d=r(5382);function u(t,e){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(null===n)return this.emit("error",new o);r.writechunk=null,r.writecb=null,null!=e&&this.push(e),n(t);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function h(t){if(!(this instanceof h))return new h(t);d.call(this,t),this._transformState={afterTransform:u.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,t&&("function"==typeof t.transform&&(this._transform=t.transform),"function"==typeof t.flush&&(this._flush=t.flush)),this.on("prefinish",l)}function l(){var t=this;"function"!=typeof this._flush||this._readableState.destroyed?f(this,null,null):this._flush((function(e,r){f(t,e,r)}))}function f(t,e,r){if(e)return t.emit("error",e);if(null!=r&&t.push(r),t._writableState.length)throw new a;if(t._transformState.transforming)throw new s;return t.push(null)}r(6698)(h,d),h.prototype.push=function(t,e){return this._transformState.needTransform=!1,d.prototype.push.call(this,t,e)},h.prototype._transform=function(t,e,r){r(new i("_transform()"))},h.prototype._write=function(t,e,r){var n=this._transformState;if(n.writecb=r,n.writechunk=t,n.writeencoding=e,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},h.prototype._read=function(t){var e=this._transformState;null===e.writechunk||e.transforming?e.needTransform=!0:(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform))},h.prototype._destroy=function(t,e){d.prototype._destroy.call(this,t,(function(t){e(t)}))}},6708:(t,e,r)=>{"use strict";var n,i=r(5606);function o(t){var e=this;this.next=null,this.entry=null,this.finish=function(){!function(t,e){var r=t.entry;for(t.entry=null;r;){var n=r.callback;e.pendingcb--,n(undefined),r=r.next}e.corkedRequestsFree.next=t}(e,t)}}t.exports=N,N.WritableState=S;var s,a={deprecate:r(4643)},d=r(345),u=r(8287).Buffer,h=r.g.Uint8Array||function(){},l=r(5896),f=r(5291).getHighWaterMark,c=r(6048).F,g=c.ERR_INVALID_ARG_TYPE,p=c.ERR_METHOD_NOT_IMPLEMENT
vendor: 4,848 bytes, line 15672
15672ED,m=c.ERR_MULTIPLE_CALLBACK,b=c.ERR_STREAM_CANNOT_PIPE,y=c.ERR_STREAM_DESTROYED,v=c.ERR_STREAM_NULL_VALUES,_=c.ERR_STREAM_WRITE_AFTER_END,M=c.ERR_UNKNOWN_ENCODING,w=l.errorOrDestroy;function $(){}function S(t,e,s){n=n||r(5382),t=t||{},"boolean"!=typeof s&&(s=e instanceof n),this.objectMode=!!t.objectMode,s&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=f(this,t,"writableHighWaterMark",s),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var a=!1===t.decodeStrings;this.decodeStrings=!a,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var r=t._writableState,n=r.sync,o=r.writecb;if("function"!=typeof o)throw new m;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(r),e)!function(t,e,r,n,o){--e.pendingcb,r?(i.nextTick(o,n),i.nextTick(O,t,e),t._writableState.errorEmitted=!0,w(t,n)):(o(n),t._writableState.errorEmitted=!0,w(t,n),O(t,e))}(t,r,n,e,o);else{var s=R(r)||t.destroyed;s||r.corked||r.bufferProcessing||!r.bufferedRequest||A(t,r),n?i.nextTick(T,t,r,s,o):T(t,r,s,o)}}(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new o(this)}function N(t){var e=this instanceof(n=n||r(5382));if(!e&&!s.call(N,this))return new N(t);this._writableState=new S(t,this,e),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),d.call(this)}function E(t,e,r,n,i,o,s){e.writelen=n,e.writecb=s,e.writing=!0,e.sync=!0,e.destroyed?e.onwrite(new y("write")):r?t._writev(i,e.onwrite):t._write(i,o,e.onwrite),e.sync=!1}function T(t,e,r,n){r||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}(t,e),e.pendingcb--,n(),O(t,e)}function A(t,e){e.bufferProcessing=!0;var r=e.bufferedRequest;if(t._writev&&r&&r.next){var n=e.bufferedRequestCount,i=new Array(n),s=e.corkedRequestsFree;s.entry=r;for(var a=0,d=!0;r;)i[a]=r,r.isBuf||(d=!1),r=r.next,a+=1;i.allBuffers=d,E(t,e,!0,e.length,i,"",s.finish),e.pendingcb++,e.lastBufferedRequest=null,s.next?(e.corkedRequestsFree=s.next,s.next=null):e.corkedRequestsFree=new o(e),e.bufferedRequestCount=0}else{for(;r;){var u=r.chunk,h=r.encoding,l=r.callback;if(E(t,e,!1,e.objectMode?1:u.length,u,h,l),r=r.next,e.bufferedRequestCount--,e.writing)break}null===r&&(e.lastBufferedRequest=null)}e.bufferedRequest=r,e.bufferProcessing=!1}function R(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function P(t,e){t._final((function(r){e.pendingcb--,r&&w(t,r),e.prefinished=!0,t.emit("prefinish"),O(t,e)}))}function O(t,e){var r=R(e);if(r&&(function(t,e){e.prefinished||e.finalCalled||("function"!=typeof t._final||e.destroyed?(e.prefinished=!0,t.emit("prefinish")):(e.pendingcb++,e.finalCalled=!0,i.nextTick(P,t,e)))}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"),e.autoDestroy))){var n=t._readableState;(!n||n.autoDestroy&&n.endEmitted)&&t.destroy()}return r}r(6698)(N,d),S.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(S.prototype,"buffer",{get:a.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(s=Function.prototype[Symbol.hasInstance],Object.defineProperty(N,Symbol.hasInstance,{value:function(t){return!!s.call(this,t)||this===N&&t&&t._writableState instanceof S}})):s=function(t){return t instanceof this},N.prototype.pipe=function(){w(this,new b)},N.prototype.write=function(t,e,r){var n,o=this._writableState,s=!1,a=!o.objectMode&&(n=t,u.isBuffer(n)||n instanceof h);return a&&!u.isBuffer(t)&&(t=function(t){return u.from(t)}(t)),"function"==typeof e&&(r=e,e=null),a?e="buffer":e||(e=o.defaultEncoding),"function"!=typeof r&&(r=$),o.ending?function(t,e){var r=new _;w(t,r),i.nextTick(e,r)}(this,r):(a||function(t,e,r,n){var o;return null===r?o=new v:"string"==typeof r||e.objectMode||(o=new g("chunk",["string","Buffer"],r)),!o||(w(t,o),i.nextTick(n,o),!1)}(this,o,t,r))&&(o.pendingcb++,s=function(t,e,r,n,i,o){if(!r){var s=function(t,e,r){return t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=u.from(e,r)),e}(e,n,i);n!==s&&(r=!0,i="buffer",n=s)}var a=e.objectMode?1:n.length;e.length+=a;var d=e.length<e.highWaterMark;
vendor: 31,547 bytes, line 15672
15672if(d||(e.needDrain=!0),e.writing||e.corked){var h=e.lastBufferedRequest;e.lastBufferedRequest={chunk:n,encoding:i,isBuf:r,callback:o,next:null},h?h.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else E(t,e,!1,a,n,i,o);return d}(this,o,a,t,e,r)),s},N.prototype.cork=function(){this._writableState.corked++},N.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,t.writing||t.corked||t.bufferProcessing||!t.bufferedRequest||A(this,t))},N.prototype.setDefaultEncoding=function(t){if("string"==typeof t&&(t=t.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((t+"").toLowerCase())>-1))throw new M(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(N.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(N.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),N.prototype._write=function(t,e,r){r(new p("_write()"))},N.prototype._writev=null,N.prototype.end=function(t,e,r){var n=this._writableState;return"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),n.corked&&(n.corked=1,this.uncork()),n.ending||function(t,e,r){e.ending=!0,O(t,e),r&&(e.finished?i.nextTick(r):t.once("finish",r)),e.ended=!0,t.writable=!1}(this,n,r),this},Object.defineProperty(N.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(N.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),N.prototype.destroy=l.destroy,N.prototype._undestroy=l.undestroy,N.prototype._destroy=function(t,e){e(t)}},2955:(t,e,r)=>{"use strict";var n,i=r(5606);function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var s=r(6238),a=Symbol("lastResolve"),d=Symbol("lastReject"),u=Symbol("error"),h=Symbol("ended"),l=Symbol("lastPromise"),f=Symbol("handlePromise"),c=Symbol("stream");function g(t,e){return{value:t,done:e}}function p(t){var e=t[a];if(null!==e){var r=t[c].read();null!==r&&(t[l]=null,t[a]=null,t[d]=null,e(g(r,!1)))}}function m(t){i.nextTick(p,t)}var b=Object.getPrototypeOf((function(){})),y=Object.setPrototypeOf((o(n={get stream(){return this[c]},next:function(){var t=this,e=this[u];if(null!==e)return Promise.reject(e);if(this[h])return Promise.resolve(g(void 0,!0));if(this[c].destroyed)return new Promise((function(e,r){i.nextTick((function(){t[u]?r(t[u]):e(g(void 0,!0))}))}));var r,n=this[l];if(n)r=new Promise(function(t,e){return function(r,n){t.then((function(){e[h]?r(g(void 0,!0)):e[f](r,n)}),n)}}(n,this));else{var o=this[c].read();if(null!==o)return Promise.resolve(g(o,!1));r=new Promise(this[f])}return this[l]=r,r}},Symbol.asyncIterator,(function(){return this})),o(n,"return",(function(){var t=this;return new Promise((function(e,r){t[c].destroy(null,(function(t){t?r(t):e(g(void 0,!0))}))}))})),n),b);t.exports=function(t){var e,r=Object.create(y,(o(e={},c,{value:t,writable:!0}),o(e,a,{value:null,writable:!0}),o(e,d,{value:null,writable:!0}),o(e,u,{value:null,writable:!0}),o(e,h,{value:t._readableState.endEmitted,writable:!0}),o(e,f,{value:function(t,e){var n=r[c].read();n?(r[l]=null,r[a]=null,r[d]=null,t(g(n,!1))):(r[a]=t,r[d]=e)},writable:!0}),e));return r[l]=null,s(t,(function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=r[d];return null!==e&&(r[l]=null,r[a]=null,r[d]=null,e(t)),void(r[u]=t)}var n=r[a];null!==n&&(r[l]=null,r[a]=null,r[d]=null,n(g(void 0,!0))),r[h]=!0})),t.on("readable",m.bind(null,r)),r}},2726:(t,e,r)=>{"use strict";function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function o(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var s=r(8287).Buffer,a=r(5340).inspect,d=a&&a.custom||"inspect";t.exports=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.head=null,this.tail=null,this.length=0}var e,r;return e=t,r=[{key:"push",value:function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r}},{key:"concat",value:function(t){if(0===this.length)return s.alloc(0);for(var e,r,n,i=s.allocUnsafe(t>>>0),o=this.head,a=0;o;)e=o.data,r=i,n=a,s.prototype.copy.call(e,r,n),a+=o.data.length,o=o.next;return i}},{key:"consume",value:function(t,e){var r;return t<this.head.data.length?(r=this.head.data.slice(0,t),this.head.data=this.head.data.slice(t)):r=t===this.head.data.length?this.shift():e?this._getString(t):this._getBuffer(t),r}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(t){var e=this.head,r=1,n=e.data;for(t-=n.length;e=e.next;){var i=e.data,o=t>i.length?i.length:t;if(o===i.length?n+=i:n+=i.slice(0,t),0==(t-=o)){o===i.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(o));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(t){var e=s.allocUnsafe(t),r=this.head,n=1;for(r.data.copy(e),t-=r.data.length;r=r.next;){var i=r.data,o=t>i.length?i.length:t;if(i.copy(e,e.length-t,0,o),0==(t-=o)){o===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(o));break}++n}return this.length-=n,e}},{key:d,value:function(t,e){return a(this,function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?n(Object(r),!0).forEach((function(e){i(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}({},e,{depth:0,customInspect:!1}))}}],r&&o(e.prototype,r),t}()},5896:(t,e,r)=>{"use strict";var n=r(5606);function i(t,e){s(t,e),o(t)}function o(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function s(t,e){t.emit("error",e)}t.exports={destroy:function(t,e){var r=this,a=this._readableState&&this._readableState.destroyed,d=this._writableState&&this._writableState.destroyed;return a||d?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,n.nextTick(s,this,t)):n.nextTick(s,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,(function(t){!e&&t?r._writableState?r._writableState.errorEmitted?n.nextTick(o,r):(r._writableState.errorEmitted=!0,n.nextTick(i,r,t)):n.nextTick(i,r,t):e?(n.nextTick(o,r),e(t)):n.nextTick(o,r)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(t,e){var r=t._readableState,n=t._writableState;r&&r.autoDestroy||n&&n.autoDestroy?t.destroy(e):t.emit("error",e)}}},6238:(t,e,r)=>{"use strict";var n=r(6048).F.ERR_STREAM_PREMATURE_CLOSE;function i(){}t.exports=function t(e,r,o){if("function"==typeof r)return t(e,null,r);r||(r={}),o=function(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];t.apply(this,n)}}}(o||i);var s=r.readable||!1!==r.readable&&e.readable,a=r.writable||!1!==r.writable&&e.writable,d=function(){e.writable||h()},u=e._writableState&&e._writableState.finished,h=function(){a=!1,u=!0,s||o.call(e)},l=e._readableState&&e._readableState.endEmitted,f=function(){s=!1,l=!0,a||o.call(e)},c=function(t){o.call(e,t)},g=function(){var t;return s&&!l?(e._readableState&&e._readableState.ended||(t=new n),o.call(e,t)):a&&!u?(e._writableState&&e._writableState.ended||(t=new n),o.call(e,t)):void 0},p=function(){e.req.on("finish",h)};return function(t){return t.setHeader&&"function"==typeof t.abort}(e)?(e.on("complete",h),e.on("abort",g),e.req?p():e.on("request",p)):a&&!e._writableState&&(e.on("end",d),e.on("close",d)),e.on("end",f),e.on("finish",h),!1!==r.error&&e.on("error",c),e.on("close",g),function(){e.removeListener("complete",h),e.removeListener("abort",g),e.removeListener("request",p),e.req&&e.req.removeListener("finish",h),e.removeListener("end",d),e.removeListener("close",d),e.removeListener("finish",h),e.removeListener("end",f),e.removeListener("error",c),e.removeListener("close",g)}}},5157:t=>{t.exports=function(){throw new Error("Readable.from is not available in the browser")}},7758:(t,e,r)=>{"use strict";var n,i=r(6048).F,o=i.ERR_MISSING_ARGS,s=i.ERR_STREAM_DESTROYED;function a(t){if(t)throw t}function d(t){t()}function u(t,e){return t.pipe(e)}t.exports=function(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];var h,l=function(t){return t.length?"function"!=typeof t[t.length-1]?a:t.pop():a}(e);if(Array.isArray(e[0])&&(e=e[0]),e.length<2)throw new o("streams");var f=e.map((function(t,i){var o=i<e.length-1;return function(t,e,i,o){o=function(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}(o);var a=!1;t.on("close",(function(){a=!0})),void 0===n&&(n=r(6238)),n(t,{readable:e,writable:i},(function(t){if(t)return o(t);a=!0,o()}));var d=!1;return function(e){if(!a&&!d)return d=!0,function(t){return t.setHeader&&"function"==typeof t.abort}(t)?t.abort():"function"==typeof t.destroy?t.destroy():void o(e||new s("pipe"))}}(t,o,i>0,(function(t){h||(h=t),t&&f.forEach(d),o||(f.forEach(d),l(h))}))}));return e.reduce(u)}},5291:(t,e,r)=>{"use strict";var n=r(6048).F.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(t,e,r,i){var o=function(t,e,r){return null!=t.highWaterMark?t.highWaterMark:e?t[r]:null}(e,i,r);if(null!=o){if(!isFinite(o)||Math.floor(o)!==o||o<0)throw new n(i?r:"highWaterMark",o);return Math.floor(o)}return t.objectMode?16:16384}}},345:(t,e,r)=>{t.exports=r(7007).EventEmitter},6011:(t,e,r)=>{"use strict";var n=r(8287).Buffer,i=r(6698),o=r(4729),s=new Array(16),a=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],d=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],u=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],h=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],l=[0,1518500249,1859775393,2400959708,2840853838],f=[1352829926,1548603684,1836072691,2053994217,0];function c(){o.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function g(t,e){return t<<e|t>>>32-e}function p(t,e,r,n,i,o,s,a){return g(t+(e^r^n)+o+s|0,a)+i|0}function m(t,e,r,n,i,o,s,a){return g(t+(e&r|~e&n)+o+s|0,a)+i|0}function b(t,e,r,n,i,o,s,a){return g(t+((e|~r)^n)+o+s|0,a)+i|0}function y(t,e,r,n,i,o,s,a){return g(t+(e&n|r&~n)+o+s|0,a)+i|0}function v(t,e,r,n,i,o,s,a){return g(t+(e^(r|~n))+o+s|0,a)+i|0}i(c,o),c.prototype._update=function(){for(var t=s,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);for(var r=0|this._a,n=0|this._b,i=0|this._c,o=0|this._d,c=0|this._e,_=0|this._a,M=0|this._b,w=0|this._c,$=0|this._d,S=0|this._e,N=0;N<80;N+=1){var E,T;N<16?(E=p(r,n,i,o,c,t[a[N]],l[0],u[N]),T=v(_,M,w,$,S,t[d[N]],f[0],h[N])):N<32?(E=m(r,n,i,o,c,t[a[N]],l[1],u[N]),T=y(_,M,w,$,S,t[d[N]],f[1],h[N])):N<48?(E=b(r,n,i,o,c,t[a[N]],l[2],u[N]),T=b(_,M,w,$,S,t[d[N]],f[2],h[N])):N<64?(E=y(r,n,i,o,c,t[a[N]],l[3],u[N]),T=m(_,M,w,$,S,t[d[N]],f[3],h[N])):(E=v(r,n,i,o,c,t[a[N]],l[4],u[N]),T=p(_,M,w,$,S,t[d[N]],f[4],h[N])),r=c,c=o,o=g(i,10),i=n,n=E,_=S,S=$,$=g(w,10),w=M,M=T}var A=this._b+i+$|0;this._b=this._c+o+S|0,this._c=this._d+c+_|0,this._d=this._e+r+M|0,this._e=this._a+n+w|0,this._a=A},c.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=n.alloc?n.alloc(20):new n(20);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t.writeInt32LE(this._e,16),t},t.exports=c},2861:(t,e,r)=>{var n=r(8287),i=n.Buffer;function o(t,e){for(var r in t)e[r]=t[r]}function s(t,e,r){return i(t,e,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=n:(o(n,e),e.Buffer=s),s.prototype=Object.create(i.prototype),o(i,s),s.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,r)},s.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=i(t);return void 0!==e?"string"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n},s.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},s.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n.SlowBuffer(t)}},392:(t,e,r)=>{var n=r(2861).Buffer;function i(t,e){this._block=n.alloc(t),this._finalSize=e,this._blockSize=t,this._len=0}i.prototype.update=function(t,e){"string"==typeof t&&(e=e||"utf8",t=n.from(t,e));for(var r=this._block,i=this._blockSize,o=t.length,s=this._len,a=0;a<o;){for(var d=s%i,u=Math.min(o-a,i-d),h=0;h<u;h++)r[d+h]=t[a+h];a+=u,(s+=u)%i==0&&this._update(r)}return this._len+=o,this},i.prototype.digest=function(t){var e=this._len%this._blockSize;this._block[e]=128,this._block.fill(0,e+1),e>=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=8*this._len;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var n=(4294967295&r)>>>0,i=(r-n)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var o=this._hash();return t?o.toString(t):o},i.prototype._update=function(){throw new Error("_update must be implemented by subclass")},t.exports=i},2802:(t,e,r)=>{var n=t.exports=function(t){t=t.toLowerCase();var e=n[t];if(!e)throw new Error(t+" is not supported (we accept pull requests)");return new e};n.sha=r(7816),n.sha1=r(3737),n.sha224=r(6710),n.sha256=r(4107),n.sha384=r(2827),n.sha512=r(2890)},7816:(t,e,r)=>{var n=r(6698),i=r(392),o=r(2861).Buffer,s=[1518500249,1859775393,-1894007588,-899497514],a=new Array(80);function d(){this.init(),this._w=a,i.call(this,64,56)}function u(t){return t<<30|t>>>2}function h(t,e,r,n){return 0===t?e&r|~e&n:2===t?e&r|e&n|r&n:e^r^n}n(d,i),d.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},d.prototype._update=function(t){for(var e,r=this._w,n=0|this._a,i=0|this._b,o=0|this._c,a=0|this._d,d=0|this._e,l=0;l<16;++l)r[l]=t.readInt32BE(4*l);for(;l<80;++l)r[l]=r[l-3]^r[l-8]^r[l-14]^r[l-16];for(var f=0;f<80;++f){var c=~~(f/20),g=0|((e=n)<<5|e>>>27)+h(c,i,o,a)+d+r[f]+s[c];d=a,a=o,o=u(i),i=n,n=g}this._a=n+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=a+this._d|0,this._e=d+this._e|0},d.prototype._hash=function(){var t=o.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},t.exports=d},3737:(t,e,r)=>{var n=r(6698),i=r(392),o=r(2861).Buffer,s=[1518500249,1859775393,-1894007588,-899497514],a=new Array(80);function d(){this.init(),this._w=a,i.call(this,64,56)}function u(t){return t<<5|t>>>27}function h(t){return t<<30|t>>>2}function l(t,e,r,n){return 0===t?e&r|~e&n:2===t?e&r|e&n|r&n:e^r^n}n(d,i),d.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},d.prototype._update=function(t){for(var e,r=this._w,n=0|this._a,i=0|this._b,o=0|this._c,a=0|this._d,d=0|this._e,f=0;f<16;++f)r[f]=t.readInt32BE(4*f);for(;f<80;++f)r[f]=(e=r[f-3]^r[f-8]^r[f-14]^r[f-16])<<1|e>>>31;for(var c=0;c<80;++c){var g=~~(c/20),p=u(n)+l(g,i,o,a)+d+r[c]+s[g]|0;d=a,a=o,o=h(i),i=n,n=p}this._a=n+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=a+this._d|0,this._e=d+this._e|0},d.prototype._hash=function(){var t=o.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},t.exports=d},6710:(t,e,r)=>{var n=r(6698),i=r(4107),o=r(392),s=r(2861).Buffer,a=new Array(64);function d(){this.init(),this._w=a,o.call(this,64,56)}n(d,i),d.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},d.prototype._hash=function(){var t=s.allocUnsafe(28);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t},t.exports=d},4107:(t,e,r)=>{var n=r(6698),i=r(392),o=r(2861).Buffer,s=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],a=new Array(64);function d(){this.init(),this._w=a,i.call(this,64,56)}function u(t,e,r){return r^t&(e^r)}function h(t,e,r){return t&e|r&(t|e)}function l(t){return(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10)}function f(t){return(t>>>6|t<<26)^(t>>>11|t<<21)^(t>>>25|t<<7)}function c(t){return(t>>>7|t<<25)^(t>>>18|t<<14)^t>>>3}n(d,i),d.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},d.prototype._update=function(t){for(var e,r=this._w,n=0|this._a,i=0|this._b,o=0|this._c,a=0|this._d,d=0|this._e,g=0|this._f,p=0|this._g,m=0|this._h,b=0;b<16;++b)r[b]=t.readInt32BE(4*b);for(;b<64;++b)r[b]=0|(((e=r[b-2])>>>17|e<<15)^(e>>>19|e<<13)^e>>>10)+r[b-7]+c(r[b-15])+r[b-16];for(var y=0;y<64;++y){var v=m+f(d)+u(d,g,p)+s[y]+r[y]|0,_=l(n)+h(n,i,o)|0;m=p,p=g,g=d,d=a+v|0,a=o,o=i,i=n,n=v+_|0}this._a=n+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=a+this._d|0,this._e=d+this._e|0,this._f=g+this._f|0,this._g=p+this._g|0,this._h=m+this._h|0},d.prototype._hash=function(){var t=o.allocUnsafe(32);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t.writeInt32BE(this._h,28),t},t.exports=d},2827:(t,e,r)=>{var n=r(6698),i=r(2890),o=r(392),s=r(2861).Buffer,a=new Array(160);function d(){this.init(),this._w=a,o.call(this,128,112)}n(d,i),d.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},d.prototype._hash=function(){var t=s.allocUnsafe(48);function e(e,r,n){t.writeInt32BE(e,n),t.writeInt32BE(r,n+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),t},t.exports=d},2890:(t,e,r)=>{var n=r(6698),i=r(392),o=r(2861).Buffer,s=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],a=new Array(160);function d(){this.init(),this._w=a,i.call(this,128,112)}function u(t,e,r){return r^t&(e^r)}function h(t,e,r){return t&e|r&(t|e)}function l(t,e){return(t>>>28|e<<4)^(e>>>2|t<<30)^(e>>>7|t<<25)}function f(t,e){return(t>>>14|e<<18)^(t>>>18|e<<14)^(e>>>9|t<<23)}function c(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^t>>>7}function g(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^(t>>>7|e<<25)}function p(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^t>>>6}function m(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^(t>>>6|e<<26)}function b(t,e){return t>>>0<e>>>0?1:0}n(d,i),d.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},d.prototype._update=function(t){for(var e=this._w,r=0|this._ah,n=0|this._bh,i=0|this._ch,o=0|this._dh,a=0|this._eh,d=0|this._fh,y=0|this._gh,v=0|this._hh,_=0|this._al,M=0|this._bl,w=0|this._cl,$=0|this._dl,S=0|this._el,N=0|this._fl,E=0|this._gl,T=0|this._hl,A=0;A<32;A+=2)e[A]=t.readInt32BE(4*A),e[A+1]=t.readInt32BE(4*A+4);for(;A<160;A+=2){var R=e[A-30],P=e[A-30+1],O=c(R,P),C=g(P,R),I=p(R=e[A-4],P=e[A-4+1]),L=m(P,R),D=e[A-14],U=e[A-14+1],k=e[A-32],x=e[A-32+1],F=C+U|0,B=O+D+b(F,C)|0;B=(B=B+I+b(F=F+L|0,L)|0)+k+b(F=F+x|0,x)|0,e[A]=B,e[A+1]=F}for(var V=0;V<160;V+=2){B=e[V],F=e[V+1];var j=h(r,n,i),H=h(_,M,w),G=l(r,_),W=l(_,r),Y=f(a,S),z=f(S,a),q=s[V],K=s[V+1],Z=u(a,d,y),X=u(S,N,E),J=T+z|0,Q=v+Y+b(J,T)|0;Q=(Q=(Q=Q+Z+b(J=J+X|0,X)|0)+q+b(J=J+K|0,K)|0)+B+b(J=J+F|0,F)|0;var tt=W+H|0,et=G+j+b(tt,W)|0;v=y,T=E,y=d,E=N,d=a,N=S,a=o+Q+b(S=$+J|0,$)|0,o=i,$=w,i=n,w=M,n=r,M=_,r=Q+et+b(_=J+tt|0,J)|0}this._al=this._al+_|0,this._bl=this._bl+M|0,this._cl=this._cl+w|0,this._dl=this._dl+$|0,this._el=this._el+S|0,this._fl=this._fl+N|0,this._gl=this._gl+E|0,this._hl=this._hl+T|0,this._ah=this._ah+r+b(this._al,_)|0,this._bh=this._bh+n+b(this._bl,M)|0,this._ch=this._ch+i+b(this._cl,w)|0,this._dh=this._dh+o+b(this._dl,$)|0,this._eh=this._eh+a+b(this._el,S)|0,this._fh=this._fh+d+b(this._fl,N)|0,this._gh=this._gh+y+b(this._gl,E)|0,this._hh=this._hh+v+b(this._hl,T)|0},d.prototype._hash=function(){var t=o.allocUnsafe(64);function e(e,r,n){t.writeInt32BE(e,n),t.writeInt32BE(r,n+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),e(this._gh,this._gl,48),e(this._hh,this._hl,56),t},t.exports=d},8310:(t,e,r)=>{t.exports=i;var n=r(7007).EventEmitter;function i(){n.call(this)}r(6698)(i,n),i.Readable=r(5412),i.Writable=r(6708),i.Duplex=r(5382),i.Transform=r(4610),i.PassThrough=r(3600),i.finished=r(6238),i.pipeline=r(7758),i.Stream=i,i.prototype.pipe=function(t,e){var r=this;function i(e){t.writable&&!1===t.write(e)&&r.pause&&r.pause()}function o(){r.readable&&r.resume&&r.resume()}r.on("data",i),t.on("drain",o),t._isStdio||e&&!1===e.end||(r.on("end",a),r.on("close",d));var s=!1;function a(){s||(s=!0,t.end())}function d(){s||(s=!0,"function"==typeof t.destroy&&t.destroy())}function u(t){if(h(),0===n.listenerCount(this,"error"))throw t}function h(){r.removeListener("data",i),t.removeListener("drain",o),r.removeListener("end",a),r.removeListener("close",d),r.removeListener("error",u),t.removeListener("error",u),r.removeListener("end",h),r.removeListener("close",h),t.removeListener("close",h)}return r.on("error",u),t.on("error",u),r.on("end",h),r.on("close",h),t.on("close",h),t.emit("pipe",r),t}},3141:(t,e,r)=>{"use strict";var n=r(2861).Buffer,i=n.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(n.isEncoding===i||!i(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=d,this.end=u,e=4;break;case"utf8":this.fillLast=a,e=4;break;case"base64":this.text=h,this.end=l,e=3;break;default:return this.write=f,void(this.end=c)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(e)}function s(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function a(t){var e=this.lastTotal-this.lastNeed,r=function(t,e){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function d(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function u(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function h(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function l(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function f(t){return t.toString(this.encoding)}function c(t){return t&&t.length?this.write(t):""}e.I=o,o.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<t.length?e?e+this.text(t,r):this.text(t,r):e||""},o.prototype.end=function(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"�":e},o.prototype.text=function(t,e){var r=function(t,e,r){var n=e.length-1;if(n<r)return 0;var i=s(e[n]);return i>=0?(i>0&&(t.lastNeed=i-1),i):--n<r||-2===i?0:(i=s(e[n]))>=0?(i>0&&(t.lastNeed=i-2),i):--n<r||-2===i?0:(i=s(e[n]))>=0?(i>0&&(2===i?i=0:t.lastNeed=i-3),i):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)},o.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},4643:(t,e,r)=>{function n(t){try{if(!r.g.localStorage)return!1}catch(t){return!1}var e=r.g.localStorage[t];return null!=e&&"true"===String(e).toLowerCase()}t.exports=function(t,e){if(n("noDeprecation"))return t;var r=!1;return function(){if(!r){if(n("throwDeprecation"))throw new Error(e);n("traceDeprecation")?console.trace(e):console.warn(e),r=!0}return t.apply(this,arguments)}}},8982:()=>{},7790:()=>{},3776:()=>{},1638:()=>{},2668:()=>{},7965:()=>{},6089:()=>{},9368:()=>{},4688:()=>{},1069:()=>{},5340:()=>{},9838:()=>{},3219:t=>{"use strict";t.exports=JSON.parse('{"aes-128-ecb":{"cipher":"AES","key":128,"iv":0,"mode":"ECB","type":"block"},"aes-192-ecb":{"cipher":"AES","key":192,"iv":0,"mode":"ECB","type":"block"},"aes-256-ecb":{"cipher":"AES","key":256,"iv":0,"mode":"ECB","type":"block"},"aes-128-cbc":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes-192-cbc":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes-256-cbc":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes128":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"}
15672,"aes192":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes256":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes-128-cfb":{"cipher":"AES","key":128,"iv":16,"mode":"CFB","type":"stream"},"aes-192-cfb":{"cipher":"AES","key":192,"iv":16,"mode":"CFB","type":"stream"},"aes-256-cfb":{"cipher":"AES","key":256,"iv":16,"mode":"CFB","type":"stream"},"aes-128-cfb8":{"cipher":"AES","key":128,"iv":16,"mode":"CFB8","type":"stream"},"aes-192-cfb8":{"cipher":"AES","key":192,"iv":16,"mode":"CFB8","type":"stream"},"aes-256-cfb8":{"cipher":"AES","key":256,"iv":16,"mode":"CFB8","type":"stream"},"aes-128-cfb1":{"cipher":"AES","key":128,"iv":16,"mode":"CFB1","type":"stream"},"aes-192-cfb1":{"cipher":"AES","key":192,"iv":16,"mode":"CFB1","type":"stream"},"aes-256-cfb1":{"cipher":"AES","key":256,"iv":16,"mode":"CFB1","type":"stream"},"aes-128-ofb":{"cipher":"AES","key":128,"iv":16,"mode":"OFB","type":"stream"},"aes-192-ofb":{"cipher":"AES","key":192,"iv":16,"mode":"OFB","type":"stream"},"aes-256-ofb":{"cipher":"AES","key":256,"iv":16,"mode":"OFB","type":"stream"},"aes-128-ctr":{"cipher":"AES","key":128,"iv":16,"mode":"CTR","type":"stream"},"aes-192-ctr":{"cipher":"AES","key":192,"iv":16,"mode":"CTR","type":"stream"},"aes-256-ctr":{"cipher":"AES","key":256,"iv":16,"mode":"CTR","type":"stream"},"aes-128-gcm":{"cipher":"AES","key":128,"iv":12,"mode":"GCM","type":"auth"},"aes-192-gcm":{"cipher":"AES","key":192,"iv":12,"mode":"GCM","type":"auth"},"aes-256-gcm":{"cipher":"AES","key":256,"iv":12,"mode":"GCM","type":"auth"}}')},2951:t=>{"use strict";t.exports=JSON.parse('{"sha224WithRSAEncryption":{"sign":"rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"RSA-SHA224":{"sign":"ecdsa/rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"sha256WithRSAEncryption":{"sign":"rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"RSA-SHA256":{"sign":"ecdsa/rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"sha384WithRSAEncryption":{"sign":"rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"RSA-SHA384":{"sign":"ecdsa/rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"sha512WithRSAEncryption":{"sign":"rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA512":{"sign":"ecdsa/rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA1":{"sign":"rsa","hash":"sha1","id":"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{"sign":"ecdsa","hash":"sha1","id":""},"sha256":{"sign":"ecdsa","hash":"sha256","id":""},"sha224":{"sign":"ecdsa","hash":"sha224","id":""},"sha384":{"sign":"ecdsa","hash":"sha384","id":""},"sha512":{"sign":"ecdsa","hash":"sha512","id":""},"DSA-SHA":{"sign":"dsa","hash":"sha1","id":""},"DSA-SHA1":{"sign":"dsa","hash":"sha1","id":""},"DSA":{"sign":"dsa","hash":"sha1","id":""},"DSA-WITH-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-WITH-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-WITH-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-WITH-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-RIPEMD160":{"sign":"dsa","hash":"rmd160","id":""},"ripemd160WithRSA":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"RSA-RIPEMD160":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"md5WithRSAEncryption":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"},"RSA-MD5":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"}}')},4589:t=>{"use strict";t.exports=JSON.parse('{"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"}')},3241:t=>{"use strict";t.exports=JSON.parse('{"modp1":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},"modp2":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},"modp5":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},"modp14":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},"modp15":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},"modp16":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},"modp17":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd4
1567207b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},"modp18":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}')},1636:t=>{"use strict";t.exports={rE:"6.6.1"}},5579:t=>{"use strict";t.exports=JSON.parse('{"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"}')}},__webpack_module_cache__={};function __webpack_require__(t){var e=__webpack_module_cache__[t];if(void 0!==e)return e.exports;var r=__webpack_module_cache__[t]={id:t,loaded:!1,exports:{}};return __webpack_modules__[t].call(r.exports,r,r.exports,__webpack_require__),r.loaded=!0,r.exports}__webpack_require__.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return __webpack_require__.d(e,{a:e}),e},__webpack_require__.d=(t,e)=>{for(var r in e)__webpack_require__.o(e,r)&&!__webpack_require__.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),__webpack_require__.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),__webpack_require__.nmd=t=>(t.paths=[],t.children||(t.children=[]),t);var __webpack_exports__={};(()=>{"use strict";__webpack_require__.d(__webpack_exports__,{default:()=>Sn});var t=__webpack_require__(3065),e=__webpack_require__.n(t);function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}function n(t,e,n){return(e=function(t){var e=function(t){if("object"!=r(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==r(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var i=__webpack_require__(2505),o=__webpack_require__.n(i);const s=JSON.parse('{"UU":"@netsapiens/netsapiens-js","$W":{"Sw":"*/ns-api/","OQ":"*/portal/","bG":{"allowAssistedTransfer":{"name":"PORTAL_ALLOW_ASSISTED_TRANSFER","default":"yes"},"allowVideo":{"name":"PORTAL_VIDEO","default":"yes"},"allowWebphone":{"name":"PORTAL_ALLOW_WEB_PHONE","default":true},"callRecording":{"name":"PORTAL_CALL_RECORDING","default":"no"},"callQueueGranularLogin":{"name":"PORTAL_CALL_QUEUE_GRANULAR_LOGIN","default":"yes"},"callQueueAgentStats":{"name":"PORTAL_CALL_QUEUE_AGENT_MY_STATS","default":"yes"},"callQueueAgentStatGraphs":{"name":"PORTAL_CALL_QUEUE_AGENT_MY_STATS_GRAPHS","default":"yes"},"codecsAudio":{"name":"PORTAL_WEBRTC_CODEC_LIST_AUDIO","default":null},"codecsVideo":{"name":"PORTAL_WEBRTC_CODEC_LIST_VIDEO","default":null},"countryCode":{"name":"PORTAL_COUNTRY_CODE","default":null},"iceCheckingTimeout":{"name":"PORTAL_VIDEO_ICECHECKING_TIMEOUT","default":"1000"},"maxActiveCalls":{"name":"PORTAL_MAX_ACTIVE_CALLS","default":2},"nsSocketHostName":{"name":"PORTAL_SOCKET_HOSTNAME","default":null},"portalAllowExtInPass":{"name":"PORTAL_USER_PASSWORD_ALLOW_EXT_IN_PASSWORD","default":"no"},"portalChatSMS":{"name":"PORTAL_CHAT_SMS","default":"yes"},"portalCallPopupShowNotes":{"name":"PORTAL_CALL_POPUP_SHOW_NOTES","default":"yes"},"portalCallPopupAllowComplete":{"name":"PORTAL_CALL_POPUP_ALLOW_COMPLETE","default":"no"},"portalCallPopupShowDispNotes":{"name":"PORTAL_CALL_POPUP_SHOW_DISP_NOTES","default":"yes"},"portalShowAddressBook":{"name":"PORTAL_SHOW_ADDRESS_BOOK","default":"no"},"portalForceNum":{"name":"PORTAL_USERS_FORCE_NUMERIC","default":"no"},"portalLocalizationDateFormat":{"name":"PORTAL_LOCALIZATION_DATE_FORMAT","default":"MDY"},"portalLocalizationTimeFormat":{"name":"PORTAL_LOCALIZATION_TIME_12_HOUR_FORMAT","default":"yes"},"portalLegacyBehavior":{"name":"PORTAL_LEGACY_WINDOW_BEHAVIOR","default":null},"portalLocalizationMaster":{"name":"PORTAL_LOCALIZATION_LANGUAGE_MASTER","default":"yes"},"portalLoginGoogleSsoEnabled":{"name":"PORTAL_LOGIN_GOOGLE_SSO_ENABLED","default":"no"},"portalLoginGoogleSsoClientId":{"name":"PORTAL_LOGIN_GOOGLE_SSO_CLIENT_ID","default":null},"portalLoginOfficeSsoEnabled":{"name":"PORTAL_LOGIN_OFFICE_SSO_ENABLED","default":"no"},"portalLoginOfficeSsoClientId":{"name":"PORTAL_LOGIN_OFFICE_SSO_CLIENT_ID","default":null},"portalMinPassLength":{"name":"PORTAL_USERS_MIN_PASSWORD_LENGTH","default":4},"portalMenuShowCallCenterAgent":{"name":"PORTAL_MENU_SHOW_CALL_CENTER_AGENT","default":"no"},"portalMenuShowCallCenterAgentSupervisor":{"name":"PORTAL_MENU_SHOW_CALL_CENTER_AGENT_SUPERVISOR","default":"no"},"portalPassStrong":{"name":"PORTAL_USERS_PASSWORD_STRONG","default":"no"},"portalTranscriptionShow":{"name":"PORTAL_USERS_VMAIL_TRANSCRIPTION_SHOW","default":"yes"},"portalTransferPrefixPark":{"name":"PORTAL_TRANSFER_PREFIX_PARK","default":"park_"},"portalWebPhoneAutoAnswerMicMuted":{"name":"PORTAL_WEB_PHONE_AUTO_ANSWER_MIC_MUTE","default":"no"},"portalWebPhoneRingAnswerMicMuted":{"name":"PORTAL_WEB_PHONE_RING_ANSWER_MIC_MUTE","default":"no"},"portalWebPhoneRingAnswerDelay":{"name":"PORTAL_WEB_PHONE_RING_ANSWER_DELAY","default":"1"}
15672,"poweredBy":{"name":"PORTAL_LOGGED_IN_POWERED_BY","default":""},"screenShareLink":{"name":"PORTAL_VIDEO_SCREENSHARE_LINK","default":"https://chrome.google.com/webstore/detail/gdidcoecoldmadgciedbopokefoeamhe"},"securePassAllowExtPass":{"name":"PORTAL_USER_SECURE_PASSWORD_ALLOW_EXT_IN_PASSWORD","default":"no"},"securePassExtForbidList":{"name":"PORTAL_USER_SECURE_PASSWORD_EXTENSION_FORBID_LIST","default":null},"securePassForceNum":{"name":"PORTAL_USERS_SECURE_PASSWORD_FORCE_NUMERIC","default":"no"},"securePassMinCapCnt":{"name":"PORTAL_USERS_SECURE_PASSWORD_MIN_CAPITAL_LETTER_COUNT","default":1},"securePassMinLength":{"name":"PORTAL_USERS_SECURE_PASSWORD_MIN_LENGTH","default":8},"securePassMinNumCnt":{"name":"PORTAL_USERS_SECURE_PASSWORD_MIN_NUMBER_COUNT","default":1},"securePassMinSpecialCharCnt":{"name":"PORTAL_USERS_SECURE_PASSWORD_MIN_SPECIAL_CHAR_COUNT","default":0},"securePassStrong":{"name":"PORTAL_USERS_SECURE_PASSWORD_STRONG","default":"no"},"simringNotice":{"name":"PORTAL_WEB_PHONE_SIMRING_NOTICE","default":"This phone may not be configured to receive all incoming calls. Please contact your phone administrator for more information."},"stunServers":{"name":"PORTAL_WEB_PHONE_STUN_SERVERS","default":null},"themeAccent":{"name":"PORTAL_THEME_ACCENT","default":"#ff5722"},"themePrimary":{"name":"PORTAL_THEME_PRIMARY","default":"#0072bc"},"ucLicenseNotice":{"name":"PORTAL_UC_LICENSE_EXPIRATION_NOTICE","default":"Your UC license has expired or is invalid. Please contact your administrator for more information."},"videoAllowSpeechDetection":{"name":"PORTAL_VIDEO_ALLOW_SPEECH_DETECTION","default":"yes"},"videoAllowChat":{"name":"PORTAL_VIDEO_ALLOW_CHAT","default":"yes"},"videoAllowPresentation":{"name":"PORTAL_VIDEO_ALLOW_PRESENTATION","default":"yes"},"videoAllowRecording":{"name":"PORTAL_VIDEO_ALLOW_RECORDING","default":"no"},"videoAllowStatsOverlay":{"name":"PORTAL_VIDEO_ALLOW_STAT_OVERLAY","default":"no"},"videoAllowQAndA":{"name":"PORTAL_VIDEO_ALLOW_Q_AND_A","default":"no"},"videoMaxMeetings":{"name":"PORTAL_VIDEO_MAX_MEETINGS","default":null},"videoConferenceMaxAttendees":{"name":"PORTAL_VIDEO_CONFERENCE_MAX_ATTENDEES","default":"25"},"videoPresentationMaxAttendees":{"name":"PORTAL_VIDEO_PRESENTATION_MAX_ATTENDEES","default":"200"},"videoAllowSpeechSocketActions":{"name":"PORTAL_VIDEO_ALLOW_SPEECH_SOCKET_ACTIONS","default":"no"},"videoSpeechDetectInterval":{"name":"PORTAL_VIDEO_SPEECH_DETECT_INTERVAL","default":2},"videoAudioBridge":{"name":"PORTAL_VIDEO_AUDIO_BRIDGE","default":"yes"},"videoAudioSetting":{"name":"PORTAL_VIDEO_AUDIO_SETTING","default":null},"videoChromeSupport":{"name":"PORTAL_VIDEO_ALLOW_CHROME_VERSION","default":null},"videoEdgeSupport":{"name":"PORTAL_VIDEO_ALLOW_EDGE_VERSION","default":null},"videoFirefoxSupport":{"name":"PORTAL_VIDEO_ALLOW_FIREFOX_VERSION","default":null},"videoGuestUser":{"name":"PORTAL_VIDEO_GUEST_USER","default":"guest"},"videoIESupport":{"name":"PORTAL_VIDEO_ALLOW_IE_VERSION","default":null},"videoName":{"name":"PORTAL_VIDEO_NAME","default":"Video Meeting"},"videoPhoneNumber":{"name":"PORTAL_VIDEO_PHONENUMBER","default":null},"videoSafariSupport":{"name":"PORTAL_VIDEO_ALLOW_SAFARI_VERSION","default":null},"videoShowBandwidth":{"name":"PORTAL_VIDEO_SHOW_BANDWIDTH","default":"no"},"videoShowScreenShare":{"name":"PORTAL_VIDEO_SHOW_SCREENSHARE","default":"no"},"videoShowSettings":{"name":"PORTAL_VIDEO_SHOW_SETTINGS","default":"yes"},"videoWSHost":{"name":"PORTAL_VIDEO_WS_HOST","default":null},"videoWSPort":{"name":"PORTAL_VIDEO_WS_PORT","default":"9002"},"videoWSSecure":{"name":"PORTAL_VIDEO_WS_SECURE","default":"wss"},"wpName":{"name":"PORTAL_WEBPHONE_NAME","default":"SNAPmobile Web"},"wpPassRecoverFail":{"name":"PORTAL_LOGIN_ERROR_MESSAGE_RECOVER","default":"There was a problem retrieving your account. Please contact your administrator."},"wpPassResetFailed":{"name":"PORTAL_LOGIN_ERROR_MESSAGE_RESET_FAILED","default":"Your credentials could not be saved. Please retry to reset your password."},"wpPassResetMsg":{"name":"PORTAL_LOGIN_ERROR_MESSAGE_RESET_TRIGGERED","default":"Your password security is being upgraded. Please follow the password update directions that have been sent to your email address."},"wsSockets":{"name":"WS_SERVERS","default":null}}}}');function a(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function d(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};
15672e%2?a(Object(r),!0).forEach((function(e){n(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}const u="sdk/config",h=e().getLogger(u),l=__webpack_require__.g.location?__webpack_require__.g.location.hostname:"https://localhost",f={appName:s.UU,apiURL:s.$W.Sw.replace("*",l),portalURL:s.$W.OQ.replace("*",l)};let c=d({},f);h.info(`${u} - config`,c);const g={NO_SDK_CONFIG:"NO_SDK_CONFIG",configure:t=>{h.info(`${u} - configure called`,t);const e=d(d({},f),t);return e.appName&&e.apiURL&&e.portalURL||e.test?(c=e,!0):((t=>{h.info(`${u} - logConfigError called`,t),t.appName||console.error("configure - appName required"),t.apiURL||console.error("configure - apiURL required"),t.portalURL||console.error("configure - portalURL required")})(e),!1)},getConfiguration:()=>(h.debug(`${u} - getConfiguration called`),c),hasValidConfig:()=>(h.debug(`${u} - hasValidConfig called`),!!(c&&c.appName&&c.apiURL&&c.portalURL))};function p(t){this.message=t}p.prototype=new Error,p.prototype.name="InvalidCharacterError";var m="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new p("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,i=0,o=0,s="";n=e.charAt(o++);~n&&(r=i%4?64*r+n:n,i++%4)?s+=String.fromCharCode(255&r>>(-2*i&6)):0)n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(n);return s};function b(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(m(t).replace(/(.)/g,(function(t,e){var r=e.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r})))}(e)}catch(t){return m(e)}}function y(t){this.message=t}y.prototype=new Error,y.prototype.name="InvalidTokenError";var v=__webpack_require__(5093),M=__webpack_require__.n(v);const w="ns_t",S="ns_t_refresh",N="ns_t_hash",E="sdk/token/utils/token",T=e().getLogger(E),A=t=>{if(T.info(`${E} - decode called`,t),t){const e=function(t,e){if("string"!=typeof t)throw new y("Invalid token specified");var r=!0===(e=e||{}).header?0:1;try{return JSON.parse(b(t.split(".")[r]))}catch(t){throw new y("Invalid token specified: "+t.message)}}(t);return T.debug(`${E} - decode res`,e),e}return T.debug(`${E} - decode res`,null),null},R=t=>{if(!t)return!0;const e=A(t);if(e&&!1===e.exp)return!1;if(!e||!e.exp)return!0;const r=M()().unix();return e.exp<r},P=()=>{T.info(`${E} - get called`);const t=localStorage.getItem(w);return T.debug(`${E} - get res`,t),t},O=()=>{T.info(`${E} - getRefresh called`);const t=localStorage.getItem(S);return T.debug(`${E} - getRefresh res`,t),t},C=t=>{T.info(`${E} - isValid called`,t);const e=t||P();if(T.debug(`${E} - isValid normalized token`,e),!e)return T.debug(`${E} - isValid res`,!1),!1;const r=(t=>{if(T.debug(`${E} - validate called`,t),!t)return T.debug(`${E} - validate res`,!1),!1;const e=A(t);return T.debug(`${E} - validate decoded`,e),!(!e||(M()().unix()>=e.exp?(T.debug(`${E} - validate expired`),1):e.aud?e.domain?e.iat?e.iss?e.sub?e.user?(T.debug(`${E} - validate res`,!0),0):(T.debug(`${E} - validate missing user`),1):(T.debug(`${E} - validate missing sub`),1):(T.debug(`${E} - validate missing iss`),1):(T.debug(`${E} - validate missing iat`),1):(T.debug(`${E} - validate missing domain`),1):(T.debug(`${E} - validate missing aud`),1)))})(e);return T.debug(`${E} - isValid res`,r),r},I=()=>(T.info(`${E} - remove called`),localStorage.removeItem(w),localStorage.removeItem(S),!0),L=t=>(T.info(`${E} - set called`,{token:t}),C(t)?(localStorage.setItem(w,t),T.debug(`${E} - set res`,!0),!0):(console.error(`${E} - set invalid token`),!1)),D=t=>(T.info(`${E} - setRefresh called`,{token:t}),localStorage.setItem(S,t),T.debug(`${E} - set setRefresh`,!0),!0),U=t=>(T.info(`${E} - setHash called`,{token:t}),localStorage.setItem(N,t),T.debug(`${E} - set setHash`,!0),!0);function k(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function x(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};
15672e%2?k(Object(r),!0).forEach((function(e){n(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):k(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}const F="sdk/api/services/api",B=e().getLogger(F),V="MISSING_PARAMS",j=t=>(B.debug(`${F} - hasParams called`,t),!!(t&&t.object&&t.action)),H=t=>{B.info(`${F} - baseUrl`,t);const e=t?.replace("https://","").replace("https:","").replace("https","");return B.info(`${F} - baseUrl result`,`https://${e}`),`https://${e}`},G=(t,e)=>{if(B.info(`${F} - refreshToken called`,t),!g.hasValidConfig())return console.error("nsSDK not configured"),Promise.reject(!1);const{apiURL:r}=g.getConfiguration(),n=t||O();return o()({method:"post",url:`${H(r)}oauth2/netsapiensJs/`,data:{grant_type:"refresh_token",refresh_token:n},withCredentials:!0,headers:{Authorization:`Basic ${e}`}}).then((t=>(L(t.data.token),D(t.data.refresh),{token:t.data.token,refreshToken:t.data.refresh})))},W=async()=>{const t=(()=>{T.info(`${E} - getHash called`);const t=localStorage.getItem(N);return T.debug(`${E} - getHash res`,t),t})(),e=P(),r=O();if(!R(e))return e;if(!R(r)){const{token:e}=await G(r,t);return e}return null},Y={get:async t=>{if(B.info(`${F} - get called`,t),!g.hasValidConfig())return console.error("nsSDK not configured"),Promise.reject(!1);if(!j(t))return console.error(`${F} - get missing params`),Promise.reject(V);const{apiURL:e}=g.getConfiguration(),r=await W(),n={method:"get",url:H(e),params:t};return r&&(n.headers={Authorization:`Bearer ${r}`},n.withCredentials=!0),o()(n).then((t=>(B.debug(`${F} - get res`,t),t.data)))},getToken:W,getLogo:t=>{if(B.info(`${F} - getLogo called`,t),!g.hasValidConfig())return console.error("nsSDK not configured"),Promise.reject(!1);const{apiURL:e}=g.getConfiguration();return new Promise(((r,n)=>{o()({method:"get",url:H(e),params:t,responseType:"blob"}).then((t=>{const e=new FileReader;e.onloadend=function(){r(this.result)},e.readAsDataURL(t.data)})).catch((()=>{n()}))}))},post:async(t,e)=>{if(B.info(`${F} - post called`,{params:t,payload:e}),!g.hasValidConfig())return console.error("nsSDK not configured"),Promise.reject(!1);if(!j(t)&&!e)return console.error(`${F} - post missing params`),Promise.reject(V);const{apiURL:r}=g.getConfiguration(),n=await W(),i={method:"post",url:H(r),params:t,data:e};return B.info(`${F} - post url`,i),n&&(i.headers={Authorization:`Bearer ${n}`},i.withCredentials=!0),o()(i).then((t=>(B.debug(`${F} - post res`,t),t.data)))},v2:async(t,e)=>{if(B.info(`${F} - v2 called`,{params:t,payload:e}),!g.hasValidConfig())return console.error("nsSDK not configured"),Promise.reject(!1);if(!j(t)&&!e)return console.error(`${F} - v2 missing params`),Promise.reject(V);const{apiURL:r}=g.getConfiguration(),n=await W(),i={method:t.action,url:`${H(r)}v2/${e}`,headers:{Accept:"application/json"}};return B.info(`${F} - v2 url`,i),n&&(i.headers=x(x({},i.headers),{},{Authorization:`Bearer ${n}`}),i.withCredentials=!0),t.data&&"object"==typeof t.data&&(i.data=t.data),o()(i).then((t=>(B.debug(`${F} - v2 res`,t),t.data)))},refreshToken:G},z="sdk/api/services/authentication",q=e().getLogger(z),K="API_TOKEN_REFRESH_FAIL",Z="API_HASH_REQUIRED",X="CONF_ID_REQUIRED",J="INVALID_TOKEN",Q="INVALID_REFRESH_TOKEN",tt="MFA_REQUIRED",et="LOGIN_FAIL",rt="NO_CONF",nt="NO_STORED_TOKEN",it="NO_STORED_REFRESH_TOKEN",ot=t=>{if(q.debug(`${z} - processToken res`,t),!t)return q.debug(`${z} - processToken tokenStr null`,et),et;if(!C(t))return q.debug(`${z} - processToken token.isValid reject`,J),J;const e=A(t);return q.debug(`${z} - processToken decodedToken`,e),L(t),"mfa_required"!==e.user_scope||(q.debug(`${z} - processToken mfa_required reject`,tt),{reason:tt,mfa_type:e.mfa_type,mfa_vendor:e.mfa_vendor})},st={API_TOKEN_REFRESH_FAIL:K,CONF_ID_REQUIRED:X,INVALID_TOKEN:J,MFA_REQUIRED:tt,NO_CONF:rt,[g.NO_SDK_CONFIG]:g.NO_SDK_CONFIG,NO_STORED_TOKEN:nt,authenticate:t=>{let{username:e,password:r,apiHash:n,authCode:i,scope:s="netsapiens"}=t;return q.info(`${z} - authenticate called`,{username:e,password:r,apiHash:n,authCode:i,scope:s}),new Promise(((t,a)=>
15672{g.hasValidConfig()||(console.error("netsapiens sdk not configured"),a(g.NO_SDK_CONFIG)),n||(q.error(`${z} - authentication apiHash prop missing`),console.error("authentication apiHash prop missing"),a(Z));let d="password";i&&(d="authorization_code");const{apiURL:u}=g.getConfiguration();o()({method:"post",withCredentials:!0,url:`${u}oauth2/netsapiensJs`,headers:{Authorization:`Basic ${n}`},data:{grant_type:d,[i?"code":null]:i,username:e,password:r,scope:s}}).then((e=>{R(e.data.token)&&a(J),R(e.data.refresh)&&a(Q);const r=ot(e.data.token);!0===r?(U(n),D(e.data.refresh),t(!0)):a(r)})).catch((t=>{q.debug(`${z} - authenticate err`,t),a(t)}))}))},ssoLogin:t=>{let{idtoken:e,vendor:r,username:n,apiHash:i,scope:s="netsapiens"}=t;return q.info(`${z} - ssoLogin called`,{idtoken:e,vendor:r,username:n,apiHash:i,scope:s}),new Promise(((t,a)=>{g.hasValidConfig()||(console.error("netsapiens sdk not configured"),a(g.NO_SDK_CONFIG)),i||(q.error(`${z} - ssoLogin apiHash prop missing`),console.error("ssoLogin apiHash prop missing"),a(Z));const{apiURL:d}=g.getConfiguration();o()({method:"post",withCredentials:!0,url:`${d}oauth2/netsapiensJs`,headers:{Authorization:`Basic ${i}`},data:{grant_type:r,idtoken:e,username:n,vendor:r,scope:s}}).then((e=>{if("no_subscriber"===e.data.scope)a("NO_SUBSCRIBER");else if("select_subscriber"===e.data.scope)a({reason:"SELECT_SUBSCRIBER",subscriber_list:e.data.subscribers});else{const r=ot(e.data.token);!0===r?(U(i),D(e.data.refresh),t(!0)):a(r)}})).catch((t=>{q.debug(`${z} - ssoLogin err`,t),a(t)}))}))},ssoEnroll:t=>{let{username:e,password:r,idtoken:n,vendor:i,apiHash:s,scope:a="netsapiens"}=t;return q.info(`${z} - ssoEnroll called`,{username:e,password:r,idtoken:n,vendor:i,apiHash:s,scope:a}),new Promise(((t,d)=>{g.hasValidConfig()||(console.error("netsapiens sdk not configured"),d(g.NO_SDK_CONFIG)),s||(q.error(`${z} - ssoEnroll apiHash prop missing`),console.error("ssoEnroll apiHash prop missing"),d(Z));const{apiURL:u}=g.getConfiguration();o()({method:"post",url:`${u}oauth2/ssoEnroll`,headers:{Authorization:`Basic ${s}`},data:{username:e,password:r,idtoken:n,vendor:i,scope:a}}).then((e=>{e.status&&e.status<400?t(!0):d(e)})).catch((t=>{q.debug(`${z} - ssoEnroll err`,t),d(t)}))}))},mfaAuth:t=>{let{username:e,passcode:r,mfa_type:n,mfa_vendor:i,apiHash:s,scope:a="netsapiens"}=t;return q.info(`${z} - mfaAuth called`,{username:e,passcode:r,mfa_type:n,mfa_vendor:i,apiHash:s,scope:a}),new Promise(((t,a)=>{g.hasValidConfig()||(console.error("netsapiens sdk not configured"),a(g.NO_SDK_CONFIG));const d=P(),{apiURL:u}=g.getConfiguration();o()({method:"post",withCredentials:!0,url:`${u}oauth2/netsapiensJs`,headers:{Authorization:`Basic ${s}`},data:{grant_type:"mfa",username:e,passcode:r,ns_id_type:"subscriber",mfa_type:n,mfa_vendor:i,access_token:d}}).then((e=>{const r=ot(e.data.token);!0===r?(U(s),D(e.data.refresh),t(!0)):a(r)})).catch((t=>{q.debug(`${z} - mfaAuth err`,t),a(t)}))}))},proxyAuthentication:t=>(q.info(`${z} - proxyAuthentication called`),new Promise(((e,r)=>{q.debug(`${z} - proxyAuthentication invoke tokenLogin`),t||(console.error("proxyAuthentication apiHash param missing"),r(Z)),(t=>(q.info(`${z} - tokenLogin called`),new Promise(((e,r)=>{const n=P(),i=O();return n?C(n)?i?R(i)?(q.debug(`${z} - tokenLogin reject`,Q),r(Q),!1):void Y.refreshToken(i,t).then((t=>{let{token:r,refreshToken:n}=t;q.debug(`${z} - tokenLogin api.refreshToken token`,r,n),e(!0)})).catch((t=>(q.debug(`${z} - tokenLogin api.refreshToken err`,K,t),r(K),!1))):(q.debug(`${z} - tokenLogin reject`,it),r(it),!1):(q.debug(`${z} - tokenLogin reject`,J),r(J),!1):(q.debug(`${z} - tokenLogin reject`,nt),r(nt),!1)}))))(t).then((t=>{q.debug(`${z} - proxyAuthentication tokenLogin res`,t),e(t)})).catch((t=>{q.debug(`${z} - proxyAuthentication tokenLogin err`,t),r(t)}))}))),videoGuestLogin:t=>{let{apiHash:e,confId:r,guest:n,guestEmail:i,scope:s="netsapiens"}=t;return q.info(`${z} - guestLogin called`,{guest:n,guestEmail:i,scope:s,apiHash:e}),new Promise(((t,a)=>{g.hasValidConfig()||(console.error("netsapiens sdk not configured"),a(g.NO_SDK_CONFIG)),e||(console.error("videoGuestLogin apiHash param missing"),a(Z)),r||(console.error("videoGuestLogin confId param missing"),a(X));const{apiURL:d}=g.getConfiguration();o()({method:"post",withCredentials:!0,url:`${d}oauth2/netsapiensJs`,headers:{Authorization:`Basic ${e}`},data:{grant_type:"guest",conf_id:r,guest:n,scope:s,guestEmail:i}}).then((r=>{if(204===r.status)return void a(rt);const n=r.data.token;if(q.debug(`${z} - videoGuestLogin res`,n),!n)return q.debug(`${z} - videoGuestLogin tokenStr null`,et),a(et),!1;if(!C(n))return q.debug(`${z}
15672 - videoGuestLogin token.isValid reject`,J),a(J),!1;const i=A(n);q.debug(`${z} - videoGuestLogin decodedToken`,i),L(n),U(e),D(r.data.refresh),t(!0)})).catch((t=>{q.error(`${z} - videoGuestLogin err`,t),a(et)}))}))},logout:t=>(q.info(`${z} - logout called`,{apiHash:t}),new Promise(((e,r)=>{g.hasValidConfig()||(console.error("netsapiens sdk not configured"),r(g.NO_SDK_CONFIG)),t||(q.error(`${z} - logout apiHash prop missing`),console.error("logout apiHash prop missing"),r(Z));const n=P(),i=O(),{apiURL:s}=g.getConfiguration();I(),i?o()({method:"delete",withCredentials:!0,url:`${s}v2/jwt/${A(i).jti}`,headers:{Authorization:`Basic ${t}`}}).then((i=>{n?o()({method:"delete",withCredentials:!0,url:`${s}v2/jwt/${A(n).jti}`,headers:{Authorization:`Basic ${t}`}}).then((t=>{q.debug(`${z} - logout success`,t),e(t)})).catch((t=>{q.debug(`${z} - logout err`,t),r(t)})):(q.debug(`${z} - logout success`,i),e(i))})).catch((t=>{q.debug(`${z} - logout err`,t),r(t)})):o()({method:"delete",withCredentials:!0,url:`${s}v2/jwt/${A(n).jti}`,headers:{Authorization:`Basic ${t}`}}).then((t=>{q.debug(`${z} - logout success`,t),e(t)})).catch((t=>{q.debug(`${z} - logout err`,t),r(t)}))})))},at={API_TOKEN_REFRESH_FAIL:st.API_TOKEN_REFRESH_FAIL,CONF_ID_REQUIRED:st.CONF_ID_REQUIRED,INVALID_TOKEN:st.INVALID_TOKEN,NO_CONF:st.NO_CONF,NO_SDK_CONFIG:st.NO_SDK_CONFIG,NO_STORED_TOKEN:st.NO_STORED_TOKEN,authenticate:st.authenticate,ssoLogin:st.ssoLogin,ssoEnroll:st.ssoEnroll,mfaAuth:st.mfaAuth,logout:st.logout,get:Y.get,getToken:Y.getToken,getLogo:Y.getLogo,post:Y.post,v2:Y.v2,proxyAuthentication:st.proxyAuthentication,refreshToken:Y.refreshToken,videoGuestLogin:st.videoGuestLogin},dt=t=>{let e=t,r=!1;return $(".hiddenconflist").each((function(){$(this).attr("id")===e&&(r=!0,e=$(this).val())})),r?e:("string"!=typeof e&&(e=`${e}`),window.PORTAL_PHONENUMBER_REMOVE_POUND_PREFIXES&&(e=e.replace("%23","#"),e=e.substring(e.indexOf("#")+1)),"Call-To-Talk"===e?_("Click to Call"):(e=(t=>{let e=t;if(void 0===e||null==e)return"";"string"!=typeof e&&(e=e.toString()),e=e.replace("sip",""),e=e.replace(":",""),window.PORTAL_PHONENUMBER_REMOVE_PLUS_ON_CALL&&(e=e.replace("+","")),e=e.replace("(",""),e=e.replace(")",""),e=e.replace("-",""),e=e.replace(/\./g,""),e=e.replace(/:/g,""),e=e.replace(/ /g,""),window.PORTAL_PHONENUMBER_REMOVE_PLUS_ON_CALL&&(e=e.replace(/\+/g,"")),e=e.replace(/\(/g,""),e=e.replace(/\)/g,""),e=e.replace(/-/g,""),e=e.replace(/^\s+|\s+$/g,""),e=e.replace("wp",""),e=e.replace('"',""),e=e.replace("]",""),e=e.replace("[","");let r=e.split("@");return[e]=r,e=e.replace("%40","@"),r=e.split("@"),[e]=r,e})(e),e.includes("video.bridge")&&(e=_("Video Bridge")),/^\d+$/.test(e)?11===e.length&&"1"===e[0]?window.PORTAL_PHONENUMBER_HIDE_DOMESTIC_ONE?`(${e.substring(1,4)}) ${e.substring(4,7)}-${e.substring(7,11)}`:`1 (${e.substring(1,4)}) ${e.substring(4,7)}-${e.substring(7,11)}`:10===e.length&&"0"!==e[0]&&"1"!==e[0]?`(${e.substring(0,3)}) ${e.substring(3,6)}-${e.substring(6,10)}`:7===e.length?`${e.substring(0,3)}-${e.substring(3,7)}`:e:e))};let ut,ht={},lt={};const ft=t=>Object.keys(ht).includes(t),ct=t=>{const e=`#${t}`;$(e).hasClass("ui-autocomplete-input")&&$(e).autocomplete("destroy")},gt=t=>{const e=t.map((t=>{let{user:e,first_name:r,last_name:n}=t;return`${e} (${r} ${n})`}));$(".app-details-loading").remove(),$(`#${ut}`).autocomplete({minLength:0,source:e}),ut=""},pt=t=>{const e=t.map((t=>{let{domain:e,description:r}=t;return`${e} (${r})`}));$(".app-details-loading").remove(),$(`#${ut}`).autocomplete({minLength:0,source:e}),ut=""},mt=t=>{const e=t.map((t=>{let{user:e,first_name:r,last_name:n}=t;return`${e} (${r} ${n})`}));$(".app-details-loading").remove(),$(`#${ut}`).autocomplete({minLength:0,source:e}),ut=""},bt=t=>{$("#available_bridges").find("option").remove().end();const e=t.map((t=>{let{name:e,aor:r}=t,n=`${e}`,i="";try{[i]=r.split("@")[0].replace("sip:","").split(".")}catch(t){console.log(t)}""!==i&&(n=`${e} (${i})`);const o=`${r}`;return $("#available_bridges").append(`<option value="${n}">${o}</option>`),n}));$(".app-details-loading").remove(),$(`#${ut}`).autocomplete({minLength:0,source:e}),ut=""},yt=t=>{const e=t.map((t=>{let{queue_name:e,description:r}=t;return`${e} (${r})`}));$(".app-details-loading").remove(),$(`#${ut}`).autocomplete({minLength:0,source:e})},vt=t=>{$("#available_attendants").find("option").remove().end();const e=[],r=t.map((t=>{let{mainname:r,user:n,starting:i}=t;const o=`${r} (${n})`,s=`${n}@${i}`;return e.includes(o)?"":(e.push(o),$("#available_attendants").append(`<option value="${o}">${s}</option>`),o)})).filter((t=>""!==t));$(".app-details-loading").remove(),$(`#${ut}`).autocomplete({minLength:0,source:r}),ut=""},_t={checkDomain:ft,checkReseller:t=>Object.keys(lt).includes(t),resellerList:lt,setResellerList:t=>{lt=t},devices:(t,e)=>{const r=document.getElementById(t),n=document.getElementById(e);let i="";const o=t=>{[i]=r.value.split(" ");const e=t.map((t=>{let{aor:e,sub_fullname:r}=t;return`${dt(e)} (${r})`}));$(".app-details-loading").remove(),$(`#${n.id}`).autocomplete({minLength:0,source:e})},s=()=>{const t=r.value.split(" ")[0];if(t===i)return;const e=ft(t);if(""!==t&&!0===e){const e={object:"device",action:"read",owner_domain:t};$("").insertAfter(`#${n.id}`),at.post(e).then(o)}else ct(n.id)};if(!r||!n)throw new ReferenceError("invalid domain or device field","netsapiens.js",170);
15672r.addEventListener("input",s),$(r).on("autocompleteclose",s)},domainList:ht,loadingHtml:"",setDomainList:t=>{ht=t},extensions:(t,e,r)=>{const n=!!r,i=document.getElementById(t);if(!i||!e)throw new ReferenceError("invalid domain or extension field","netsapiens.js",170);const o=t=>{const r=Object.keys(t).map((e=>{let r=t[e].user;return t[e].first_name&&t[e].last_name&&(r+=` (${t[e].first_name} ${t[e].last_name})`),r}));$(".app-details-loading").remove(),$(`#${e}`).autocomplete({minLength:0,source:r})},s=()=>{const t=i.value.split(" ")[0],r=ft(t);if(""!==t&&!0===r){const r={object:"subscriber",action:"read",domain:t,fields:"user"};!0===n&&(r.fields="user,first_name,last_name"),$("").insertAfter(`#${e}`),at.post(r).then(o)}else ct(e)};i.addEventListener("input",s),$(i).on("autocompleteclose",s)},remove:ct,updateTreatment:(t,e)=>{const r=document.getElementById(e),n=document.getElementById(e);let i=t.target.value;const o=r.value.split(" ")[0],s={object:"subscriber",action:"read",domain:o,fields:"user,first_name,last_name",filter_users:"departments,system,domain",format:"json"},a={object:"domain",action:"read",territory:n.value.split(" ")[0],fields:"domain",format:"json"},d={object:"conference",action:"read",owner_domain:o,fields:"name,aor",filter_bridges:"video",format:"json"},u={object:"callqueue",action:"read",domain:o,fields:"queue_name,description",format:"json"},h={object:"attendant",action:"read",domain:o,fields:"*",format:"json"};let l,f;switch(i){case"available":case"trunk":return;case"user":case"fax":l=s,f=gt;break;case"domain":l=a,f=pt;break;case"conference":l=d,f=bt;break;case"callqueue":l=u,f=yt;break;case"voicemail":l=s,i="vmail",f=mt;break;case"attendant":l=h,f=vt}ut=`${i}-choices`,0===$(".app-details-loading").length&&$("").insertAfter(`#${ut}`),at.post(l).then(f)}};var Mt=__webpack_require__(7515),wt=__webpack_require__.n(Mt);const $t="sdk/browser/utils/query",St=e().getLogger($t),Nt=t=>{St.info(`${$t} - getQuery called`,{name:t,location:window.location});const e=t.replace(/[[]/,"\\[").replace(/[\]]/,"\\]"),r=new RegExp(`[\\?&]${e}=([^&#]*)`).exec(window.location.search),n=null===r?"":decodeURIComponent(r[1].replace(/\+/g," "));return St.debug(`${$t} - getQuery param`,n),n},Et="sdk/browser/utils/support",Tt=e().getLogger(Et),At={fullVersion:wt().browser.fullVersion,getQuery:Nt,isSupported:t=>{if(Tt.info(`${Et} - isSupported called`,wt().browser,t),!t||!Array.isArray(t))return console.error(`${Et} - isSupported missing supportedBrowsers`),!1;for(let e=0;e<t.length;e+=1)if(t[e].name===wt().browser.name){if(wt().browser.version<t[e].lowestVersion)continue;for(let r=0;r<t[e].excludedVersions.length;r+=1)wt().browser.version,t[e].excludedVersions[r];if(wt().isWebRTCSupported&&wt().isGetUserMediaSupported)return Tt.debug(`${Et} - isSupported res`,!0),!0}return Tt.debug(`${Et} - isSupported res`,!1),!1},name:wt().browser.name,isFirefox:wt().browser.isFirefox||wt().browser.name.toLowerCase().includes("firefox"),setQuery:t=>{St.info(`${$t} - setQuery called`,{params:t,location:window.location});let e="";window.location.search?e+="&":e+="?",e+=`${t.name}=${t.value}`,window.history.pushState({path:window.location+e},"",window.location+e)},removeQuery:t=>{St.info(`${$t} - removeQuery called`,{name:t,location:window.location});const e=Nt(t);if(e){let{search:r}=window.location;r=r.replace(`&${t}=${e}`,""),r=r.replace(`${t}=${e}&`,""),r&&(r=r.replace(`?${t}=${e}`,"")),window.history.pushState({path:window.location.origin+window.location.pathname+r},"",window.location.origin+window.location.pathname+r)}},version:wt().browser.version},Rt="sdk/device/services/device",Pt=e().getLogger(Rt),Ot=t=>{let{device:e,domain:r,userId:n,callProcess:i=""}=t;if(Pt.info(`${Rt} - create called`,{device:e,domain:r,userId:n}),!e||!r||!n)return console.error(`${Rt} - create device missing required params`),Promise.reject();if(!g.hasValidConfig())return console.error("nsSDK not configured"),Promise.reject(!1);const o={object:"device",action:"create",device:e,domain:r,user:n||g.getConfiguration().userId,call_processing_rule:i};return Y.post(o,{}).then((()=>!0)).catch((()=>!1))},Ct=t=>{let{device:e,domain:r,userId:n,callProcess:i=""}=t;return Pt.info(`${Rt} - update called`,{device:e,domain:r,userId:n,callProcess:i}),new Promise(((t,o)=>{e&&r&&n||(console.error(`${Rt} - update device missing required params`),o(!1)),g.hasValidConfig()||(console.error("nsSDK not configured"),o(!1));const s={object:"device",action:"update",user:n||g.getConfiguration().userId,domain:r};e&&(s.device=e),i&&(s.call_processing_rule=i),Y.post(s,{}).then((()=>!0)).catch((()=>!1))}))},It={create:Ot,get:t=>{let{device:e,domain:r,userId:n,callProcess:i="",createDevice:o=!1}=t;return Pt.info(`${Rt} - get called`,{device:e,domain:r,userId:n,callProcess:i,createDevice:o}),new Promise(((t,s)=>{e&&r&&n||(console.error(`${Rt} - get device missing required params`),s(!1)),g.hasValidConfig()||(console.error("nsSDK not configured"),s(!1)),Y.get({object:"device",action:"read",device:e,user:n||g.getConfiguration().userId,domain:r,format:"json",noNDP:!0}).then((a=>{a&&a.length?a[0].call_processing_rule===i||(a[0].call_processing_rule||"").includes("Record")||(a[0].call_processing_rule||"").includes("Push")?(a[0].call_processing_rule||"").includes("Record")||(a[0].call_processing_rule||"").includes("Push")?(a[0].call_processing_rule=i,t(a[0])):t(a[0]):Ct({device:e,domain:r,userId:n,callProcess:i}).then((e=>{e[0].call_processing_rule=i,t(e[0])})):o?Ot({device:e,domain:r,userId:n,callProcess:i}).then((i=>{if(i){const i=setInterval((()=>{Y.get({object:"device",action:"read",device:e,user:n||g.getConfiguration().userId,domain:r,format:"json",noNDP:!0}).then((e=>{e&&(clearInterval(i),t(e[0]))}))}),500)}else s(!1)})).catch((()=>{s(!1)})):s(!1)})).catch((t=>{s(t)}))}))},update:Ct},Lt={create:It.create,get:It.get,update:It.update};
15672var Dt=__webpack_require__(1565);const Ut={getGravitar:{getGravitar:function t(e,r){return new Promise((n=>{const i=Dt.createHash("md5").update(e[0]).digest("hex");o()({method:"get",url:`https://www.gravatar.com/avatar/${i}?s=${r}&d=blank`,responseType:"blob"}).then((i=>{let{data:o}=i;if(o.size<250)e.length>1?(e.shift(),n(t(e,r))):n(null);else{const t=new FileReader;t.onloadend=function(){n(this.result)},t.readAsDataURL(o)}})).catch((()=>{e.length>1?(e.shift(),n(t(e,r))):n(null)}))}))}}.getGravitar},kt="sdk/media/services/userMedia",xt=e().getLogger(kt),Ft="NO_MEDIA_PERMISSIONS",Bt={NO_MEDIA_PERMISSIONS:Ft,getUserMedia:t=>(xt.info(`${kt} - getUserMedia called`,t),new Promise(((e,r)=>{navigator.mediaDevices.getUserMedia(t).then((t=>{xt.debug(`${kt} - getUserMedia stream`,t),e(t)})).catch((t=>{xt.debug(`${kt} - getUserMedia error`,t),r(Ft)}))})))},Vt={NO_MEDIA_PERMISSIONS:Bt.NO_MEDIA_PERMISSIONS,getUserMedia:Bt.getUserMedia},jt=Symbol("capabilities"),Ht=Symbol("displayName"),Gt=Symbol("id"),Wt=Symbol("meta"),Yt=Symbol("type"),zt=Symbol("order"),qt=Symbol("type"),Kt=Symbol("audioTrack"),Zt=Symbol("contact"),Xt=Symbol("direction"),Jt=Symbol("id"),Qt=Symbol("isMuted"),te=Symbol("isOnHold"),ee=Symbol("onAccept"),re=Symbol("onBye"),ne=Symbol("onClose"),ie=Symbol("onConnect"),oe=Symbol("onFailed"),se=Symbol("onPause"),ae=Symbol("onProgress"),de=Symbol("onReinvite"),ue=Symbol("onRejected"),he=Symbol("onResume"),le=Symbol("onTerminated"),fe=Symbol("session"),ce=Symbol("status"),ge=Symbol("stream"),pe=Symbol("streamURL"),me=Symbol("type"),be=Symbol("userId"),ye=Symbol("videoTrack"),ve=Symbol("capabilities"),_e=Symbol("content"),Me=Symbol("displayName"),we=Symbol("gravatar"),$e=Symbol("initials"),Se=Symbol("formattedTime"),Ne=Symbol("id"),Ee=Symbol("isSelf"),Te=Symbol("ts"),Ae=Symbol("type");class Re{constructor(t){let{capabilities:e={},content:r=null,displayName:n=null,gravatar:i=null,initials:o="",formattedTime:s=null,id:a=null,isSelf:d=!1,ts:u=0,type:h="message"}=t;this.capabilities=e,this.content=r,this.displayName=n,this.gravatar=i,this.initials=o,this.formattedTime=s,this.isSelf=d,this.id=a,this.ts=u,this.type=h}get capabilities(){return this[ve]}set capabilities(t){return this[ve]=t}get content(){return this[_e]}set content(t){return this[_e]=t}get displayName(){return this[Me]}set displayName(t){return this[Me]=t}get gravatar(){return this[we]}set gravatar(t){return this[we]=t}get initials(){return this[$e]}set initials(t){return this[$e]=t}get id(){return this[Ne]}set id(t){return this[Ne]=t}get isSelf(){return this[Ee]}set isSelf(t){return this[Ee]=t}get formattedTime(){return this[Se]}set formattedTime(t){return this[Se]=t}get ts(){return this[Te]}set ts(t){let e=new Date(t);return e=e.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"}),this.formattedTime=e,this[Te]=t}get type(){return this[Ae]}set type(t){return this[Ae]=t}getCapability(t){return this[ve][t]||null}setCapability(t){return this[ve][t.type]=t}toJSON(){return{capabilities:this[ve],content:this[_e],displayName:this[Me],gravatar:this[we],initials:this[$e],formattedTime:this[Se],id:this[Ne],ts:this[Te],type:this[Ae]}}}const Pe=Symbol("type"),Oe=Symbol("attendeeId"),Ce=Symbol("capabilities"),Ie=Symbol("dataDevice"),Le=Symbol("dialPlan"),De=Symbol("displayName"),Ue=Symbol("domain"),ke=Symbol("email"),xe=Symbol("firstName"),Fe=Symbol("gravatar"),Be=Symbol("initials"),Ve=Symbol("isActive"),je=Symbol("isSelf"),He=Symbol("isFirstLogin"),Ge=Symbol("joinTS"),We=Symbol("language"),Ye=Symbol("lastName"),ze=Symbol("scope"),qe=Symbol("screenShareDevice"),Ke=Symbol("sms"),Ze=Symbol("subscriberLogin"),Xe=Symbol("subscriberPin"),Je=Symbol("uid"),Qe=Symbol("userId"),tr=Symbol("timeZone"),er=Symbol("videoDevice"),rr=Symbol("vmailEnabled"),nr=Symbol("vmailGreeting"),ir=Symbol("type"),or=Symbol("capabilities"),sr=Symbol("id"),ar=Symbol("isAudioMuted"),dr=Symbol("isFullscreen"),ur=Symbol("isVideoMuted"),hr=Symbol("session"),lr=Symbol("type"),fr=Symbol("user");class cr{constructor(t){let{capabilities:e={},id:r=null,isAudioMuted:n=!1,isFullscreen:i=!1,isVideoMuted:o=!1,session:s=null,type:a="",user:d=null}=t;this[or]=e,this[sr]=r,this[ar]=n,this[dr]=i,this[ur]=o,this[hr]=s,this[lr]=a,this[fr]=d}get capabilities(){return this[or]}set capabilities(t){return this[or]=t}get id(){return this[sr]}set id(t){return this[sr]=t}get isAudioMuted(){return this[ar]}set isAudioMuted(t){this[ar]=t}get isFullscreen(){return this[dr]}set isFullscreen(t){this[dr]=t}get isVideoMuted(){return this[ur]}set isVideoMuted(t){this[ur]=t}get session(){return this[hr]}set session(t){this[hr]=t}get type(){return this[lr]}set type(t){return this[lr]=t}get user(){return this[fr]}set user(t){this[fr]=t}getCapability(t){return this[or][t]||null}setCapability(t){return this[or][t.type]=t}toJSON(){return{capabilities:this[or],id:this[sr],isAudioMuted:this[ar],isFullscreen:this[dr],isVideoMuted:this[ur],session:this[hr],type:this[lr],user:this[fr]}}}const gr={card:{capabilityTypes:{DISMISSIBLE:"DISMISSIBLE",SORTABLE:"SORTABLE"},Capability:class{constructor(t){this[qt]=t.type||null}get type(){return this[qt]}set type(t){this[qt]=t}toJSON(){return{type:this[qt]}}},Card:class{constructor(t){let{capabilities:e={},displayName:r=null,id:n=null,meta:i=null,type:o="",order:s=null}=t;this[jt]=e,this[Ht]=r,this[Gt]=n,this[Wt]=i,this[Yt]=o,this[zt]=s}get capabilities(){return this[jt]}set capabilities(t){this[jt]=t}get displayName(){return this[Ht]}set displayName(t){this[Ht]=t}get id(){return this[Gt]}set id(t){this[Gt]=t}get meta(){return this[Wt]}set meta(t){this[Wt]=t}get type(){return this[Yt]}set type(t){this[Yt]=t}get order(){return this[zt]}set order(t){this[zt]=t}toJSON(){return{capabilities:this[jt],displayName:this[Ht],id:this[Gt],meta:this[Wt],type:this[Yt],order:this[zt]}}}},sip:{Session:class{constructor(t){let{audioTrack:e=null,contact:r=null,direction:n="local",id:i=null,isMuted:o=!1,isOnHold:s=!1,session:a=null,status:d="trying",stream:u=null,type:h="session",userId:l=null,videoTrack:f=null}=t;this.audioTrack=e,this.contact=r,this[Xt]=n,this[Jt]=i,this.isMuted=o,this.isOnHold=s,this.status=d,this.session=a,this[me]=h,this[be]=l,this.videoTrack=f,u&&(this.stream=u),o&&this.mute()}get audioTrack(){return this[Kt]}set audioTrack(t){this[Kt]=t}get contact(){return this[Zt]}set contact(t){this[Zt]=t}get direction(){return this[Xt]}get id(){return this[Jt]}get isMuted(){return this[Qt]}set isMuted(t){this[Qt]=t}get isOnHold(){return this[te]}set isOnHold(t){this[te]=t}set onAccept(t){this[ee]=t,this[fe]&&this[fe].on("accepted",t)}set onBye(t){this[re]=t,this[fe]&&this[fe].on("bye",t)}set onClose(t){this[ne]=t,this[fe]&&this[fe].on("close",t)}set onConnect(t){this[ie]=t,this[fe]&&this[fe].on("connected",t)}set onFailed(t){this[oe]=t,this[fe]&&this[fe].on("failed",t)}set onPause(t){this[se]=t,this[fe]&&this[fe].on("pause",t)}set onProgress(t){this[ae]=t,this[fe]&&this[fe].on("progress",t)}set onReinvite(t){this[de]=t,this[fe]&&this[fe].on("reinvite",t)}set onRejected(t){this[ue]=t,this[fe]&&this[fe].on("rejected",t)}set onResume(t){this[he]=t,this[fe]&&this[fe].on("resume",t)}set onTerminated(t){this[le]=t,this[fe]&&this[fe].on("terminated",t)}get session(){return this[fe]}set session(t){this[fe]=t}get status(){return this[ce]}set status(t){this[ce]=t}get stream(){return this[ge]}set stream(t){this[ge]=t,this.streamURL=window.URL.createObjectURL(t)}get streamURL(){return this[pe]}set streamURL(t){this[pe]=t}get type(){return this[me]}get userId(){return this[be]}get videoTrack(){return this[ye]}set videoTrack(t){this[ye]=t}hold(){this[te]=!0,this[fe].hold()}unhold(){this[te]=!1,this[fe].unhold()}mute(){this.isMuted=!0,this[fe]&&this[fe].mute()}unmute(){this.isMuted=!1,this[fe]&&this[fe].unmute()}toJSON(){return{contact:this.contact,direction:this.direction,id:this.id,isMuted:this.isMuted,isOnHold:this.isOnHold,status:this.status,session:this.session,type:this.t
15672ype,userId:this.userId}}}},ucInbox:{Item:Re,MessageItem:class extends Re{constructor(t){t.type="message",super(t)}}},user:{capabilityTypes:{AUDIO:"AUDIO",CHAT:"CHAT",DATA:"DATA",SCREEN:"SCREEN",VIDEO:"VIDEO"},Capability:class{constructor(t){this[Pe]=t.type||null}get type(){return this[Pe]}set type(t){return this[Pe]=t}toJSON(){return{type:this[Pe]}}},User:class{constructor(t){let{attendeeId:e=null,capabilities:r={},dataDevice:n=null,dialPlan:i=null,displayName:o="",domain:s=null,email:a=null,firstName:d=null,gravatar:u=null,initials:h="",isActive:l=!0,isSelf:f=!1,isFirstLogin:c=null,joinTS:g=null,language:p=null,lastName:m=null,scope:b=null,screenDevice:y=null,sms:v=null,subscriberLogin:_=null,subscriberPin:M=null,uid:w=null,userId:$=null,timeZone:S=null,videoDevice:N=null,vmailEnabled:E=null,vmailGreeting:T=null}=t;this[Oe]=e,this[Ce]=r,this[Ie]=n,this[Le]=i,this[De]=o,this[Ue]=s,this[ke]=a,this[xe]=d,this[Fe]=u,this[Be]=h,this[Ve]=l,this[je]=f,this[He]=c,this[Ge]=g,this[We]=p,this[Ye]=m,this[ze]=b,this[qe]=y,this[Ke]=v,this[Ze]=_,this[Xe]=M,this[Je]=w,this[Qe]=$,this[tr]=S,this[er]=N,this[rr]=E,this[nr]=T}get attendeeId(){return this[Oe]}set attendeeId(t){this[Oe]=t}get capabilities(){return this[Ce]}set capabilities(t){this[Ce]=t}get dataDevice(){return this[Ie]}set dataDevice(t){this[Ie]=t}get dialPlan(){return this[Le]}set dialPlan(t){this[Le]=t}get displayName(){return this[De]}set displayName(t){this[De]=t}get domain(){return this[Ue]}set domain(t){this[Ue]=t}get email(){return this[ke]}set email(t){this[ke]=t}get firstName(){return this[xe]}set firstName(t){this[xe]=t}get gravatar(){return this[Fe]}set gravatar(t){this[Fe]=t}get initials(){return this[Be]}set initials(t){this[Be]=t}get isActive(){return this[Ve]}set isActive(t){this[Ve]=t}get isSelf(){return this[je]}set isSelf(t){this[je]=t}get isFirstLogin(){return this[He]}set isFirstLogin(t){this[He]=t}get joinTS(){return this[Ge]}set joinTS(t){this[Ge]=t}get language(){return this[We]}set language(t){this[We]=t}get lastName(){return this[Ye]}set lastName(t){this[Ye]=t}get scope(){return this[ze]}set scope(t){this[ze]=t}get screenDevice(){return this[qe]}set screenDevice(t){this[qe]=t}get sms(){return this[Ke]}set sms(t){this[Ke]=t}get subscriberLogin(){return this[Ze]}set subscriberLogin(t){this[Ze]=t}get uid(){return this[Je]}set uid(t){this[Je]=t}get userId(){return this[Qe]}set userId(t){this[Qe]=t}get timeZone(){return this[tr]}set timeZone(t){this[tr]=t}get videoDevice(){return this[er]}set videoDevice(t){this[er]=t}getCapability(t){return this[Ce][t]||null}hasCapability(t){return!!this[Ce][t]}setCapability(t){this[Ce][t.type]=t}get vmailEnabled(){return this[rr]}get vmailGreeting(){return this[nr]}set vmailEnabled(t){this[rr]=t}set vmailGreeting(t){this[nr]=t}get subscriberPin(){return this[Xe]}set subscriberPin(t){this[Xe]=t}toJSON(){return{attendeeId:this[Oe],capabilities:this[Ce],dataDevice:this[Ie],displayName:this[De],domain:this[Ue],email:this[ke],firstName:this[xe],gravatar:this[Fe],initials:this[Be],joinTS:this[Ge],isFirstLogin:this[He],language:this[We],lastName:this[Ye],scope:this[ze],screenDevice:this[qe],sms:this[Ke],subscriberLogin:this[Ze],subscriberPin:this[Xe],uid:this[Je],userId:this[Qe],timeZone:this[tr],videoDevice:this[er],vmailEnabled:this[rr],vmailGreeting:this[nr]}}}},video:{capabilityTypes:{},Capability:class{constructor(t){this[ir]=t.type||null}get type(){return this[ir]}set type(t){return this[ir]=t}toJSON(){return{type:this[ir]}}},Item:cr,ScreenShareItem:class extends cr{constructor(t){t.type="screenShare",super(t)}},VideoItem:class extends cr{constructor(t){t.type="video",super(t)}}}},pr="sdk/portal/services/portal",mr=e().getLogger(pr),br={getTranslation:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"netsapiens";mr.info(`${pr} - getTranslation called`,{lang:t,scope:e});const{portalURL:r}=g.getConfiguration();return mr.debug(`${pr} - getTranslation config`,{portalURL:r}),o().post(`${r}webroot/locale/wp/${t}.json`).then((t=>(mr.debug(`${pr} - getTranslation res`,!0),t.data))).catch((t=>(console.error(t),!1)))},removeToken:()=>{mr.info(`${pr} - removeToken called`);const{portalURL:t}=g.getConfiguration();return mr.debug(`${pr} - getToken config`,{portalURL:t}),o().post(`${t}login/removejwt`).then((()=>(mr.debug(`${pr} - removeToken _setJwt res`,!0),!0))).catch((t=>(console.error(t),!1)))},ucCheck:()=>
15672{if(mr.info(`${pr} - ucCheck called`),!g.hasValidConfig())return console.error("nsSDK not configured"),Promise.reject(!1);const{portalURL:t}=g.getConfiguration();return mr.debug(`${pr} - ucCheck config`,{portalURL:t}),new Promise(((e,r)=>{o().get(`${t}login/uccheck`).then((t=>{mr.debug(`${pr} - ucCheck res`,t),e(t.data)})).catch((t=>{mr.debug(`${pr} - ucCheck err`,t),t&&t.response&&t.response.data?r(t.response.data):r(!1)}))}))},updateSessionToken:t=>(mr.info(`${pr} - updateSessionToken called`,{token:t}),g.hasValidConfig()?new Promise(((e,r)=>{(t=>{mr.info(`${pr} - setJwt called`,{token:t});const{portalURL:e}=g.getConfiguration();return mr.debug(`${pr} - getToken config`,{portalURL:e}),o().post(`${e}login/setjwt`,{token:t}).then((()=>(mr.debug(`${pr} - setJwt res`,!0),!0))).catch((t=>(console.error(t),!1)))})(t).then((t=>{mr.debug(`${pr} - updateSessionToken setJwt res`,t),t?e(t):r("SET_JWT_PORTAL_FAIL")})).catch((t=>{console.error(t),r(t)}))})):(console.error("nsSDK not configured"),Promise.reject(!1)))},yr={getToken:br.getToken,getTranslation:br.getTranslation,removeJwt:br.removeToken,ucCheck:br.ucCheck};let vr=[];function _r(t,e,r,n,i){if(n===i){const t=e.join("");return void vr.push(t)}const o=i+1;for(let i=0;i<t.length;i+=1)r[i]||(r[i]=!0,e.push(t[i]),_r(t,e,r,n,o),r[i]=!1,e.pop())}const Mr={getPermutations:(t,e)=>{vr=[];const r=t.split("");return _r(r,[],new Array(r.length),e,0),vr}},wr={decode:A,getDecoded:()=>{T.info(`${E} - getDecoded called`);const t=P();if(T.debug(`${E} - getDecoded token`,t),t){const e=A(t);return T.debug(`${E} - getDecoded res`,e),A(t)}return T.debug(`${E} - getDecoded res`,null),null},get:P,hasToken:()=>{T.info(`${E} - hasToken called`);const t=P();return T.debug(`${E} - hasToken res`,!!t),!!t},isValid:C,remove:I,set:L},$r=function(t,e){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const n={entities:{},ids:[]};return r&&Array.isArray(r)&&r.forEach((t=>{n[t.name]={}})),n.toArray=function(){const t=[];for(let e=0;e<this.ids.length;e+=1)t.push(this.entities[this.ids[e]]);return t},t&&e&&e.length?(e.forEach((e=>{n.ids.push(e[t]),n.entities[e[t]]=e,r&&Array.isArray(r)&&r.forEach((r=>{const i=r.path.split(".");switch(i.length){case 1:e[i[0]]&&(n[r.name][r.toLower?e[i[0]].toLowerCase():e[i[0]]]=e[t]);break;case 2:e[i[0]][i[1]]&&(n[r.name][r.toLower?e[i[0]][i[1]].toLowerCase():e[i[0]][i[1]]]=e[t]);break;case 3:[i[0]][i[1]][i[2]]&&(n[r.name][r.toLower?e[i[0]][i[1]][i[2]].toLowerCase():e[i[0]][i[1]][i[2]]]=e[t]);break;case 4:[i[0]][i[1]][i[2]][i[3]]&&(n[r.name][r.toLower?e[i[0]][i[1]][i[2]][i[3]].toLowerCase():e[i[0]][i[1]][i[2]][i[3]]]=e[t]);break;case 5:e[i[0]][i[1]][i[2]][i[3]][i[4]]&&(n[r.name][r.toLower?e[i[0]][i[1]][i[2]][i[3]][i[4]].toLowerCase():e[i[0]][i[1]][i[2]][i[3]][i[4]]]=e[t])}}))})),n):n},Sr="sdk/ui-config/services/uiConfig",Nr=e().getLogger(Sr),Er={configMapping:s.$W.bG,get:t=>{Nr.info(`${Sr} - get called`,t);const e={object:"uiconfig",action:"read",config_name:"*",format:"json"};return t.configName&&(e.config_name=t.configName),t.domain&&(e.domain=t.domain),t.user&&(e.user=t.user),t.hostname&&(e.hostname=t.hostname),t.role&&(e.role=t.role),t.reseller&&(e.reseller=t.reseller),Nr.debug(`${Sr} - get params`,e),Y.get(e).then((e=>{if(!e.length)return t.normalize?$r("config_name",[]):null;let r=e;if(t.returnFirst)return e[0];if(t.filter&&Array.isArray(t.filter)){const n=[];let i=!1;t.filter.forEach((t=>{const r=s.$W.bG[t]?s.$W.bG[t].name:null;if(r){let o=s.$W.bG[t].default,a="",d="";const u=e.find((t=>t.config_name===r));void 0!==u&&void 0!==u.config_value&&u.config_value&&u.config_value.trim()&&(i=!0,o=u.config_value,a=u.domain,d=u.description),n.push({config_name:t,config_value:o,domain:i?a:null,description:i?d:null})}else console.error("config mapping not found",t)})),r=n}if(t.normalize)return $r("config_name",r);r.forEach((t=>{const e=t.config_name.split("_"),n=e.pop(),i=new RegExp(/^(?=^.{4,253}$)(^((?!-)[a-zA-Z0-9-]{0,62}[a-zA-Z0-9]\.)+[a-zA-Z]{2,63}$)$/).test(n);if(i&&n!==window.location.hostname)return;const o=i?e.join("_"):t.config_name;let a;for(const[t,e]of Object.entries(s.$W.bG))o===e.name&&(a=e,a.id=t);if(a&&a.id){let e=a.default;t.config_value&&t.config_value.trim()&&(e=t.config_value),r.push({config_name:a.id,config_value:e,domain:t.domain||null,description:t.description||null})}else r.push({config_name:o,config_value:t.config_value,domain:t.domain,description:t.description})}));for(const[t,e]of Object.entries(s.$W.bG))r.find((r=>{const n=r.config_name===e.name,i=r.config_name===t;return n||i}))||r.push({config_name:t,config_value:e.default,domain:e.domain||null,description:e.description||null});return r}))}}
15672,Tr="sdk/uc-license/services/ucLicense",Ar=e().getLogger(Tr),Rr="UC_LICENSE_EXPIRED",Pr={UC_LICENSE_EXPIRED:Rr,hasAccess:()=>(Ar.info(`${Tr} - hasAccess called`),new Promise(((t,e)=>{br.ucCheck().then((()=>{t(!0)})).catch((t=>{e(!1!==t?t:Rr)}))}))),ucLicenseNotice:()=>{Ar.info(`${Tr} - ucLicenseNotice called`);const t=s.$W.bG.ucLicenseNotice.default;return Er.get({configName:s.$W.bG.ucLicenseNotice.name,returnFirst:!0}).then((e=>e?e.config_value:t))}},Or={UC_LICENSE_EXPIRED:Pr.UC_LICENSE_EXPIRED,hasAccess:Pr.hasAccess,ucLicenseNotice:Pr.ucLicenseNotice},Cr={configMapping:Er.configMapping,get:Er.get},Ir="function"==typeof atob,Lr="function"==typeof btoa,Dr="function"==typeof Buffer,Ur="function"==typeof TextDecoder?new TextDecoder:void 0,kr="function"==typeof TextEncoder?new TextEncoder:void 0,xr=Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="),Fr=(t=>{let e={};return t.forEach(((t,r)=>e[t]=r)),e})(xr),Br=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,Vr=String.fromCharCode.bind(String),jr="function"==typeof Uint8Array.from?Uint8Array.from.bind(Uint8Array):(t,e=t=>t)=>new Uint8Array(Array.prototype.slice.call(t,0).map(e)),Hr=t=>t.replace(/[^A-Za-z0-9\+\/]/g,""),Gr=Lr?t=>btoa(t):Dr?t=>Buffer.from(t,"binary").toString("base64"):t=>{let e,r,n,i,o="";const s=t.length%3;for(let s=0;s<t.length;){if((r=t.charCodeAt(s++))>255||(n=t.charCodeAt(s++))>255||(i=t.charCodeAt(s++))>255)throw new TypeError("invalid character found");e=r<<16|n<<8|i,o+=xr[e>>18&63]+xr[e>>12&63]+xr[e>>6&63]+xr[63&e]}return s?o.slice(0,s-3)+"===".substring(s):o},Wr=Dr?t=>Buffer.from(t).toString("base64"):t=>{let e=[];for(let r=0,n=t.length;r<n;r+=4096)e.push(Vr.apply(null,t.subarray(r,r+4096)));return Gr(e.join(""))},Yr=t=>{if(t.length<2)return(e=t.charCodeAt(0))<128?t:e<2048?Vr(192|e>>>6)+Vr(128|63&e):Vr(224|e>>>12&15)+Vr(128|e>>>6&63)+Vr(128|63&e);var e=65536+1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320);return Vr(240|e>>>18&7)+Vr(128|e>>>12&63)+Vr(128|e>>>6&63)+Vr(128|63&e)},zr=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,qr=Dr?t=>Buffer.from(t,"utf8").toString("base64"):kr?t=>Wr(kr.encode(t)):t=>Gr(t.replace(zr,Yr)),Kr=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,Zr=t=>{switch(t.length){case 4:var e=((7&t.charCodeAt(0))<<18|(63&t.charCodeAt(1))<<12|(63&t.charCodeAt(2))<<6|63&t.charCodeAt(3))-65536;return Vr(55296+(e>>>10))+Vr(56320+(1023&e));case 3:return Vr((15&t.charCodeAt(0))<<12|(63&t.charCodeAt(1))<<6|63&t.charCodeAt(2));default:return Vr((31&t.charCodeAt(0))<<6|63&t.charCodeAt(1))}},Xr=Ir?t=>atob(Hr(t)):Dr?t=>Buffer.from(t,"base64").toString("binary"):t=>{if(t=t.replace(/\s+/g,""),!Br.test(t))throw new TypeError("malformed base64.");t+="==".slice(2-(3&t.length));let e,r,n,i="";for(let o=0;o<t.length;)e=Fr[t.charAt(o++)]<<18|Fr[t.charAt(o++)]<<12|(r=Fr[t.charAt(o++)])<<6|(n=Fr[t.charAt(o++)]),i+=64===r?Vr(e>>16&255):64===n?Vr(e>>16&255,e>>8&255):Vr(e>>16&255,e>>8&255,255&e);return i},Jr=Dr?t=>jr(Buffer.from(t,"base64")):t=>jr(Xr(t),(t=>t.charCodeAt(0))),Qr=Dr?t=>Buffer.from(t,"base64").toString("utf8"):Ur?t=>Ur.decode(Jr(t)):t=>Xr(t).replace(Kr,Zr),tn=(t,e=!1)=>e?(t=>t.replace(/=/g,"").replace(/[+\/]/g,(t=>"+"==t?"-":"_")))(qr(t)):qr(t),en=t=>Qr(Hr(t.replace(/[-_]/g,(t=>"-"==t?"+":"/"))));var rn=__webpack_require__(7e3),nn=__webpack_require__.n(rn);const{NATIONAL:on,INTERNATIONAL:sn}=nn().PhoneNumberFormat,an=nn().PhoneNumberUtil.getInstance(),dn="sdk/utils/formatPhoneNumber",un=e().getLogger(dn);function hn(t){let e=t;return"string"!=typeof e&&(e=e.toString()),e=e.replace("+",""),10===e.length&&(e=`1${e}`),e}const ln=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,fn=nn().PhoneNumberUtil.getInstance(),cn="sdk/utils/isPhoneNumber",gn=e().getLogger(cn),pn=Math.ceil(1),mn=Math.floor(1e11),bn={cleanPhoneNumber:t=>t||null,encoding:{base64Decode:t=>en(t),base64Encode:t=>tn(t)},formatPhoneNumber:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const r=["US","CA"];let n;window&&window.navigator&&window.navigator.language&&(n=window.navigator.language.split("-")[1]);const i=e||n||"US";if(un.info(`${dn} - formatPhoneNumber called`,t,i),!t)return"";if(7===t.trim().replace(/\D/g,"").length)return`${t.slice(0,3)}-${t.slice(3)}`;try{const n=an.parseAndKeepRawInput(t,i);return an.isPossibleNumber(n)&&an.isValidNumber(n)&&an.isValidNumberForRegion(n,i)?an.format(n,on):an.isPossibleNumber(n)&&an.isValidNumber(n)?r.includes(e)&&r.includes(an.getRegionCodeForNumber(n))?an.format(n,on):an.format(n,sn):t}catch(e){return un.debug(`${dn} - formatPhoneNumber err`,e),t}},generateChatId:t=>{let{dialed:e=null,domain:r=null,fromNum:n=null,fromUID:i=null,termNum:o=null,termUID:s=null}=t;const a=[];r&&a.push(r),n&&a.push(hn(n)),i&&a.push(i),s&&a.push(s),o&&a.push(hn(o)),e&&a.push(hn(e)),a.sort();const d=a.join("");return Dt.createHash("md5").update(d).digest("hex")},generateContactId:t=>{let{firstName:e=null,lastName:r=null,user:n=null}=t;const i=[];e&&(e=e.toLowerCase(),i.push(e)),r&&(r=r.toLowerCase(),i.push(r)),n&&i.push(n);const o=i.join("");return Dt.createHash("md5").update(o).digest("hex")},isEmailValid:t=>ln.test(t),isPhoneNumber:function(t){const e=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"US")||"US";gn.info(`${cn} - isPhoneNumber called`,t,e);try{const r=fn.parse(t,e);return fn.isPossibleNumber(r)&&fn.isValidNumber(r)}catch(t){return gn.debug(`${cn} - isPhoneNumber err`,t),!1}},normalizeList:$r,randomId:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:pn,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:mn;return Math.floor(Math.random()*(e-t))+t}},yn=wt().audioInputDevices,vn={},_n=wt().audioOutputDevices,Mn={},wn={};for(let t=0;t<yn.length;t+=1)wn[yn[t].label]||(wn[yn[t].label]=[]),vn[yn[t].deviceId]=t;for(let t=0;t<_n.length;t+=1)wn[_n[t].label]||(wn[_n[t].label]=[]),Mn[_n[t].deviceId]=t;const $n={hasWebcam:wt().hasWebcam,hasMicrophone:wt().hasMicrophone,hasSpeakers:wt().hasSpeakers,isSetSinkIdSupported:wt().isSetSinkIdSupported,isScreenCapturingSupported:wt().isScreenCapturingSupported,isSctpDataChannelsSupported:wt().isSctpDataChannelsSupported,isAudioContextSupported:wt().isAudioContextSupported,isWebRTCSupported:wt().isWebRTCSupported,isDesktopCapturingSupported:wt().isDesktopCapturingSupported,isMobileDevice:wt().isMobileDevice,isWebSocketsSupported:wt().isWebSocketsSupported,isWebSocketsBlocked:wt().isWebSocketsBlocked,isWebsiteHasWebcamPermissions:wt().isWebsiteHasWebcamPermissions,isWebsiteHasMicrophonePermissions:wt().isWebsiteHasMicrophonePermissions,audioInputDevices:wt().audioInputDevices,audioInputSourcesMap:vn,audioLabelMap:wn,audioOutputDevices:wt().audioOutputDevices,audioOutputSourcesMap:Mn,videoInputDevices:wt().videoInputDevices,osName:wt().osName,osVersion:wt().osVersion,isCanvasSupportsStreamCapturing:wt().isCanvasSupportsStreamCapturing,isVideoSupportsStreamCapturing:wt().isVideoSupportsStreamCapturing};__webpack_require__.g.window&&!__webpack_require__.g.window.logger&&(__webpack_require__.g.window.logger=e());const Sn={NO_SDK_CONFIG:g.NO_SDK_CONFIG,api:at,autocomplete:_t,browser:At,configure:g.configure,device:Lt,getConfiguration:g.getConfiguration,gravatar:Ut,hasValidConfig:g.hasValidConfig,media:Vt,models:gr,portal:yr,permutate:Mr,token:wr,ucLicense:Or,uiConfig:Cr,updateUserId:g.updateUserId,utils:bn,webRTC:$n}})(),netsapiens=__webpack_exports__.default})(); 15673//# sourceMappingURL=netsapiens.js.map 15674�/*! For license information please see netsapiens-voice.js.LICENSE.txt */ 15675var NetsapiensVoice;(()=>{var e={79:(e,t,r)=>
vendor: 9,038 bytes, line 15675
15675{var n=r(3702),o=r(80),s=r(4739),i=r(8655),a=r(1175);function c(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}c.prototype.clear=n,c.prototype.delete=o,c.prototype.get=s,c.prototype.has=i,c.prototype.set=a,e.exports=c},80:(e,t,r)=>{var n=r(6025),o=Array.prototype.splice;e.exports=function(e){var t=this.__data__,r=n(t,e);return!(r<0||(r==t.length-1?t.pop():o.call(t,r,1),--this.size,0))}},104:(e,t,r)=>{var n=r(3661);function o(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var r=function(){var n=arguments,o=t?t.apply(this,n):n[0],s=r.cache;if(s.has(o))return s.get(o);var i=e.apply(this,n);return r.cache=s.set(o,i)||s,i};return r.cache=new(o.Cache||n),r}o.Cache=n,e.exports=o},289:(e,t,r)=>{var n=r(2651);e.exports=function(e){return n(this,e).get(e)}},346:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},392:e=>{e.exports=function(e,t){return null==e?void 0:e[t]}},659:(e,t,r)=>{var n=r(1873),o=Object.prototype,s=o.hasOwnProperty,i=o.toString,a=n?n.toStringTag:void 0;e.exports=function(e){var t=s.call(e,a),r=e[a];try{e[a]=void 0;var n=!0}catch(e){}var o=i.call(e);return n&&(t?e[a]=r:delete e[a]),o}},1042:(e,t,r)=>{var n=r(6110)(Object,"create");e.exports=n},1175:(e,t,r)=>{var n=r(6025);e.exports=function(e,t){var r=this.__data__,o=n(r,e);return o<0?(++this.size,r.push([e,t])):r[o][1]=t,this}},1270:function(e,t,r){var n;e=r.nmd(e),function(){t&&t.nodeType,e&&e.nodeType;var o="object"==typeof r.g&&r.g;o.global!==o&&o.window!==o&&o.self;var s,i=2147483647,a=36,c=/^xn--/,u=/[^\x20-\x7E]/,l=/[\x2E\u3002\uFF0E\uFF61]/g,h={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},f=Math.floor,p=String.fromCharCode;function d(e){throw RangeError(h[e])}function m(e,t){for(var r=e.length,n=[];r--;)n[r]=t(e[r]);return n}function g(e,t){var r=e.split("@"),n="";return r.length>1&&(n=r[0]+"@",e=r[1]),n+m((e=e.replace(l,".")).split("."),t).join(".")}function y(e){for(var t,r,n=[],o=0,s=e.length;o<s;)(t=e.charCodeAt(o++))>=55296&&t<=56319&&o<s?56320==(64512&(r=e.charCodeAt(o++)))?n.push(((1023&t)<<10)+(1023&r)+65536):(n.push(t),o--):n.push(t);return n}function b(e){return m(e,(function(e){var t="";return e>65535&&(t+=p((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+p(e)})).join("")}function w(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function v(e,t,r){var n=0;for(e=r?f(e/700):e>>1,e+=f(e/t);e>455;n+=a)e=f(e/35);return f(n+36*e/(e+38))}function E(e){var t,r,n,o,s,c,u,l,h,p,m,g=[],y=e.length,w=0,E=128,O=72;for((r=e.lastIndexOf("-"))<0&&(r=0),n=0;n<r;++n)e.charCodeAt(n)>=128&&d("not-basic"),g.push(e.charCodeAt(n));for(o=r>0?r+1:0;o<y;){for(s=w,c=1,u=a;o>=y&&d("invalid-input"),((l=(m=e.charCodeAt(o++))-48<10?m-22:m-65<26?m-65:m-97<26?m-97:a)>=a||l>f((i-w)/c))&&d("overflow"),w+=l*c,!(l<(h=u<=O?1:u>=O+26?26:u-O));u+=a)c>f(i/(p=a-h))&&d("overflow"),c*=p;O=v(w-s,t=g.length+1,0==s),f(w/t)>i-E&&d("overflow"),E+=f(w/t),w%=t,g.splice(w++,0,E)}return b(g)}function O(e){var t,r,n,o,s,c,u,l,h,m,g,b,E,O,x,S=[];for(b=(e=y(e)).length,t=128,r=0,s=72,c=0;c<b;++c)(g=e[c])<128&&S.push(p(g));for(n=o=S.length,o&&S.push("-");n<b;){for(u=i,c=0;c<b;++c)(g=e[c])>=t&&g<u&&(u=g);for(u-t>f((i-r)/(E=n+1))&&d("overflow"),r+=(u-t)*E,t=u,c=0;c<b;++c)if((g=e[c])<t&&++r>i&&d("overflow"),g==t){for(l=r,h=a;!(l<(m=h<=s?1:h>=s+26?26:h-s));h+=a)x=l-m,O=a-m,S.push(p(w(m+x%O,0))),l=f(x/O);S.push(p(w(l,0))),s=v(r,E,n==o),r=0,++n}++r,++t}return S.join("")}s={version:"1.3.2",ucs2:{decode:y,encode:b},decode:E,encode:O,toASCII:function(e){return g(e,(function(e){return u.test(e)?"xn--"+O(e):e}))},toUnicode:function(e){return g(e,(function(e){return c.test(e)?E(e.slice(4).toLowerCase()):e}))}},void 0===(n=function(){return s}.call(t,r,t,e))||(e.exports=n)}()},1549:(e,t,r)=>{var n=r(2032),o=r(3862),s=r(6721),i=r(2749),a=r(5749);function c(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}c.prototype.clear=n,c.prototype.delete=o,c.prototype.get=s,c.prototype.has=i,c.prototype.set=a,e.exports=c},1630:e=>{"use strict";function t(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,r,n,o){r=r||"&",n=n||"=";var s={};if("string"!=typeof e||0===e.length)return s;var i=/\+/g;e=e.split(r);var a=1e3;o&&"number"==typeof o.maxKeys&&(a=o.maxKeys);var c=e.length;a>0&&c>a&&(c=a);for(var u=0;u<c;++u){var l,h,f,p,d=e[u].replace(i,"%20"),m=d.indexOf(n);m>=0?(l=d.substr(0,m),h=d.substr(m+1)):(l=d,h=""),f=decodeURIComponent(l),p=decodeURIComponent(h),t(s,f)?Array.isArray(s[f])?s[f].push(p):s[f]=[s[f],p]:s[f]=p}return s}},1769:(e,t,r)=>{var n=r(6449),o=r(8586),s=r(1802),i=r(3222);e.exports=function(e,t){return n(e)?e:o(e,t)?[e]:s(i(e))}},1802:(e,t,r)=>{var n=r(2224),o=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,s=/\\(\\)?/g,i=n((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(o,(function(e,r,n,o){t.push(n?o.replace(s,"$1"):r||e)})),t}));e.exports=i},1873:(e,t,r)=>{var n=r(9325).Symbol;e.exports=n},1882:(e,t,r)=>{var n=r(2552),o=r(3805);e.exports=function(e){if(!o(e))return!1;var t=n(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},2032:(e,t,r)=>{var n=r(1042);e.exports=function(){this.__data__=n?n(null):{},this.size=0}},2224:(e,t,r)=>{var n=r(104);e.exports=function(e){var t=n(e,(function(e){return 500===r.size&&r.clear(),e})),r=t.cache;return t}},2268:e=>{"use strict";e.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},2552:(e,t,r)=>{var n=r(1873),o=r(659),s=r(9350),i=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":i&&i in Object(e)?o(e):s(e)}},2651:(e,t,r)=>{var n=r(4218);e.exports=function(e,t){var r=e.__data__;return n(t)?r["string"==typeof t?"string":"hash"]:r.map}},2749:(e,t,r)=>{var n=r(1042),o=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return n?void 0!==t[e]:o.call(t,e)}},2949:(e,t,r)=>{var n=r(2651);e.exports=function(e,t){var r=n(this,e),o=r.size;return r.set(e,t),this.size+=r.size==o?0:1,this}},3040:(e,t,r)=>{var n=r(1549),o=r(79),s=r(8223);e.exports=function(){this.size=0,this.__data__={hash:new n,map:new(s||o),string:new n}}},3222:(e,t,r)=>{var n=r(7556);e.exports=function(e){return null==e?"":n(e)}},3661:(e,t,r)=>{var n=r(3040),o=r(7670),s=r(289),i=r(4509),a=r(2949);function c(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}c.prototype.clear=n,c.prototype.delete=o,c.prototype.get=s,c.prototype.has=i,c.prototype.set=a,e.exports=c},3702:e=>{e.exports=function(){this.__data__=[],this.size=0}},3805:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},3862:e=>{e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},4218:e=>{e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},4394:(e,t,r)=>{var n=r(2552),o=r(346);e.exports=function(e){return"symbol"==typeof e||o(e)&&"[object Symbol]"==n(e)}},4509:(e,t,r)=>{var n=r(2651);e.exports=function(e){return n(this,e).has(e)}},4739:(e,t,r)=>{var n=r(6025);e.exports=function(e){var t=this.__data__,r=n(t,e);return r<0?void 0:t[r][1]}},4840:(e,t,r)=>{var n="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g;e.exports=n},4932:e=>{e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length,o=Array(n);++r<n;)o[r]=t(e[r],r,e);return o}},5083:(e,t,r)=>{var n=r(1882),o=r(7296),s=r(3805),i=r(7473),a=/^\[object .+?Constructor\]$/,c=Function.prototype,u=Object.prototype,l=c.toString,h=u.hasOwnProperty,f=RegExp("^"+l.call(h).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!s(e)||o(e))&&(n(e)?f:a).test(i(e))}},5288:e=>{e.exports=function(e,t){return e===t||e!=e&&t!=t}},5481:(e,t,r)=>{var n=r(9325)["__core-js_shared__"];e.exports=n},5749:(e,t,r)=>{var n=r(1042);e.exports=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=n&&void 0===t?"__lodash_hash_undefined__":t,this}},6025:(e,t,r)=>{var n=r(5288);e.exports=function(e,t){for(var r=e.length;r--;)if(n(e[r][0],t))return r;return-1}},6110:(e,t,r)=>{var n=r(5083),o=r(392);e.exports=function(e,t){var r=o(e,t);return n(r)?r:void 0}},6449:e=>{var t=Array.isArray;e.exports=t},6721:(e,t,r)=>{var n=r(1042),o=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(n){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return o.call(t,e)?t[e]:void 0}},7186:(e,t,r)=>{"use strict";t.decode=t.parse=r(1630),t.encode=t.stringify=r(9106)},7296:(e,t,r)=>{var n,o=r(5481),s=(n=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(sr
15675c)_1."+n:"";e.exports=function(e){return!!s&&s in e}},7422:(e,t,r)=>{var n=r(1769),o=r(7797);e.exports=function(e,t){for(var r=0,s=(t=n(t,e)).length;null!=e&&r<s;)e=e[o(t[r++])];return r&&r==s?e:void 0}},7473:e=>{var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},7556:(e,t,r)=>{var n=r(1873),o=r(4932),s=r(6449),i=r(4394),a=n?n.prototype:void 0,c=a?a.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(s(t))return o(t,e)+"";if(i(t))return c?c.call(t):"";var r=t+"";return"0"==r&&1/t==-1/0?"-0":r}},7670:(e,t,r)=>{var n=r(2651);e.exports=function(e){var t=n(this,e).delete(e);return this.size-=t?1:0,t}},7797:(e,t,r)=>{var n=r(4394);e.exports=function(e){if("string"==typeof e||n(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}},8156:(e,t,r)=>{var n=r(7422);e.exports=function(e,t,r){var o=null==e?void 0:n(e,t);return void 0===o?r:o}},8223:(e,t,r)=>{var n=r(6110)(r(9325),"Map");e.exports=n},8586:(e,t,r)=>{var n=r(6449),o=r(4394),s=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,i=/^\w*$/;e.exports=function(e,t){if(n(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!o(e))||i.test(e)||!s.test(e)||null!=t&&e in Object(t)}},8655:(e,t,r)=>{var n=r(6025);e.exports=function(e){return n(this.__data__,e)>-1}},8835:(e,t,r)=>{"use strict";var n=r(1270),o=r(2268);function s(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}t.parse=w,t.resolve=function(e,t){return w(e,!1,!0).resolve(t)},t.resolveObject=function(e,t){return e?w(e,!1,!0).resolveObject(t):t},t.format=function(e){return o.isString(e)&&(e=w(e)),e instanceof s?e.format():s.prototype.format.call(e)},t.Url=s;var i=/^([a-z0-9.+-]+:)/i,a=/:[0-9]*$/,c=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,u=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),l=["'"].concat(u),h=["%","/","?",";","#"].concat(l),f=["/","?","#"],p=/^[+a-z0-9A-Z_-]{0,63}$/,d=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,m={javascript:!0,"javascript:":!0},g={javascript:!0,"javascript:":!0},y={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},b=r(7186);function w(e,t,r){if(e&&o.isObject(e)&&e instanceof s)return e;var n=new s;return n.parse(e,t,r),n}s.prototype.parse=function(e,t,r){if(!o.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var s=e.indexOf("?"),a=-1!==s&&s<e.indexOf("#")?"?":"#",u=e.split(a);u[0]=u[0].replace(/\\/g,"/");var w=e=u.join(a);if(w=w.trim(),!r&&1===e.split("#").length){var v=c.exec(w);if(v)return this.path=w,this.href=w,this.pathname=v[1],v[2]?(this.search=v[2],this.query=t?b.parse(this.search.substr(1)):this.search.substr(1)):t&&(this.search="",this.query={}),this}var E=i.exec(w);if(E){var O=(E=E[0]).toLowerCase();this.protocol=O,w=w.substr(E.length)}if(r||E||w.match(/^\/\/[^@\/]+@[^@\/]+/)){var x="//"===w.substr(0,2);!x||E&&g[E]||(w=w.substr(2),this.slashes=!0)}if(!g[E]&&(x||E&&!y[E])){for(var S,j,R=-1,_=0;_<f.length;_++)-1!==(A=w.indexOf(f[_]))&&(-1===R||A<R)&&(R=A);for(-1!==(j=-1===R?w.lastIndexOf("@"):w.lastIndexOf("@",R))&&(S=w.slice(0,j),w=w.slice(j+1),this.auth=decodeURIComponent(S)),R=-1,_=0;_<h.length;_++){var A;-1!==(A=w.indexOf(h[_]))&&(-1===R||A<R)&&(R=A)}-1===R&&(R=w.length),this.host=w.slice(0,R),w=w.slice(R),this.parseHost(),this.hostname=this.hostname||"";var T="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!T)for(var C=this.hostname.split(/\./),P=(_=0,C.length);_<P;_++){var q=C[_];if(q&&!q.match(p)){for(var F="",U=0,k=q.length;U<k;U++)q.charCodeAt(U)>127?F+="x":F+=q[U];if(!F.match(p)){var N=C.slice(0,_),D=C.slice(_+1),B=q.match(d);B&&(N.push(B[1]),D.unshift(B[2])),D.length&&(w="/"+D.join(".")+w),this.hostname=N.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),T||(this.hostname=n.toASCII(this.hostname));var I=this.port?":"+this.port:"",L=this.hostname||"";this.host=L+I,this.href+=this.host,T&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==w[0]&&(w="/"+w))}if(!m[O])for(_=0,P=l.length;_<P;_++){var $=l[_];if(-1!==w.indexOf($)){var M=encodeURIComponent($);M===$&&(M=escape($)),w=w.split($).join(M)}}var z=w.indexOf("#");-1!==z&&(this.hash=w.substr(z),w=w.slice(0,z));var H=w.indexOf("?");if(-1!==H?(this.search=w.substr(H),this.query=w.substr(H+1),t&&(this.query=b.parse(this.query)),w=w.slice(0,H)):t&&(this.search="",this.query={}),w&&(this.pathname=w),y[O]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){I=this.pathname||"";var J=this.search||"";this.path=I+J}return this.href=this.format(),this},s.prototype.format=function(){var e=this.auth||"";e&&(e=(e=encodeURIComponent(e)).replace(/%3A/i,":"),e+="@");var t=this.protocol||"",r=this.pathname||"",n=this.hash||"",s=!1,i="";this.host?s=e+this.host:this.hostname&&(s=e+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(s+=":"+this.port)),this.query&&o.isObject(this.query)&&Object.keys(this.query).length&&(i=b.stringify(this.query));var a=this.search||i&&"?"+i||"";return t&&":"!==t.substr(-1)&&(t+=":"),this.slashes||(!t||y[t])&&!1!==s?(s="//"+(s||""),r&&"/"!==r.charAt(0)&&(r="/"+r)):s||(s=""),n&&"#"!==n.charAt(0)&&(n="#"+n),a&&"?"!==a.charAt(0)&&(a="?"+a),t+s+(r=r.replace(/[?#]/g,(function(e){return encodeURIComponent(e)})))+(a=a.replace("#","%23"))+n},s.prototype.resolve=function(e){return this.resolveObject(w(e,!1,!0)).format()},s.prototype.resolveObject=function(e){if(o.isString(e)){var t=new s;t.parse(e,!1,!0),e=t}for(var r=new s,n=Object.keys(this),i=0;i<n.length;i++){var a=n[i];r[a]=this[a]}if(r.hash=e.hash,""===e.href)return r.href=r.format(),r;if(e.slashes&&!e.protocol){for(var c=Object.keys(e),u=0;u<c.length;u++){var l=c[u];"protocol"!==l&&(r[l]=e[l])}return y[r.protocol]&&r.hostname&&!r.pathname&&(r.path=r.pathname="/"),r.href=r.format(),r}if(e.protocol&&e.protocol!==r.protocol){if(!y[e.protocol]){for(var h=Object.keys(e),f=0;f<h.length;f++){var p=h[f];r[p]=e[p]}return r.href=r.format(),r}if(r.protocol=e.protocol,e.host||g[e.protocol])r.pathname=e.pathname;else{for(var d=(e.pathname||"").split("/");d.length&&!(e.host=d.shift()););e.host||(e.host=""),e.hostname||(e.hostname=""),""!==d[0]&&d.unshift(""),d.length<2&&d.unshift(""),r.pathname=d.join("/")}if(r.search=e.search,r.query=e.query,r.host=e.host||"",r.auth=e.auth,r.hostname=e.hostname||e.host,r.port=e.port,r.pathname||r.search){var m=r.pathname||"",b=r.search||"";r.path=m+b}return r.slashes=r.slashes||e.slashes,r.href=r.format(),r}var w=r.pathname&&"/"===r.pathname.charAt(0),v=e.host||e.pathname&&"/"===e.pathname.charAt(0),E=v||w||r.host&&e.pathname,O=E,x=r.pathname&&r.pathname.split("/")||[],S=(d=e.pathname&&e.pathname.split("/")||[],r.protocol&&!y[r.protocol]);if(S&&(r.hostname="",r.port=null,r.host&&(""===x[0]?x[0]=r.host:x.unshift(r.host)),r.host="",e.protocol&&(e.hostname=null,e.port=null,e.host&&(""===d[0]?d[0]=e.host:d.unshift(e.host)),e.host=null),E=E&&(""===d[0]||""===x[0])),v)r.host=e.host||""===e.host?e.host:r.host,r.hostname=e.hostname||""===e.hostname?e.hostname:r.hostname,r.search=e.search,r.query=e.query,x=d;else if(d.length)x||(x=[]),x.pop(),x=x.concat(d),r.search=e.search,r.query=e.query;else if(!o.isNullOrUndefined(e.search))return S&&(r.hostname=r.host=x.shift(),(T=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@"))&&(r.auth=T.shift(),r.host=r.hostname=T.shift())),r.search=e.search,r.query=e.query,o.isNull(r.pathname)&&o.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.href=r.format(),r;if(!x.length)return r.pathname=null,r.search?r.path="/"+r.search:r.path=null,r.href=r.format(),r;for(var j=x.slice(-1)[0],R=(r.host||e.host||x.length>1)&&("."===j||".."===j)||""===j,_=0,A=x.length;A>=0;A--)"."===(j=x[A])?x.splice(A,1):".."===j?(x.splice(A,1),_++):_&&(x.splice(A,1),_--);if(!E&&!O)for(;_--;_)x.unshift("..");!E||""===x[0]||x[0]&&"/"===x[0].charAt(0)||x.unshift(""),R&&"/"!==x.join("/").substr(-1)&&x.push("");var T,C=""===x[0]||x[0]&&"/"===x[0].charAt(0);return S&&(r.hostname=r.host=C?"":x.length?x.shift():"",(T=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@"))&&(r.auth=T.shift(),r.host=r.hostname=T.shift())),(E=E||r.host&&x.length)&&!C&&x.unshift(""),x.length?r.pathname=x.join("/"):(r.pathname=null,r.path=null),o.isNull(r.pathname)&&o.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.auth=e.auth||r.auth,r.slashes=r.slashes||e.slashes,r.href=r.format(),r},s.prototype.parseHost=function(){var e=this.host,t=a.exec(e);t&&(":"!==(t=t[0])&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},9106:e=>{"use strict";var t=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,r,n,o){return r=r||"&",n=n||"=",null===e&&(e=void 0),"object"==typeof e?Object.keys(e).map((function(o){var s=encodeURIComponent(t(o))+n;return Array.isArray(e[o])?e[o].map((function(e){return s+encodeURIComponent(t(e))})).join(r):s+encodeURIComponent(t(e[o]))})).join(r):o?encodeURIComponent(t(o))+n+encodeURIComponent(t(e)):""}},9325:(e,t,r)=>{var n=r(4840),o="object"==typeof self&&self&&self.Object===Object&&self,s=n||o||Function("return this")();e.exports=s},9350:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var s=t[n]={id:n,loaded:!1,exports:{}};return e[n].call(s.exports,s,s.exports,r),s.loaded=!0,s.exports}r.n=e=>
vendor: 4,910 bytes, line 15675
15675{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var n={};(()=>{"use strict";r.d(n,{default:()=>Ut});var e={};function t(e,t){return function(){return e.apply(t,arguments)}}r.r(e),r.d(e,{hasBrowserEnv:()=>le,hasStandardBrowserEnv:()=>fe,hasStandardBrowserWebWorkerEnv:()=>pe,navigator:()=>he,origin:()=>de});const{toString:o}=Object.prototype,{getPrototypeOf:s}=Object,{iterator:i,toStringTag:a}=Symbol,c=(e=>t=>{const r=o.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),u=e=>(e=e.toLowerCase(),t=>c(t)===e),l=e=>t=>typeof t===e,{isArray:h}=Array,f=l("undefined"),p=u("ArrayBuffer"),d=l("string"),m=l("function"),g=l("number"),y=e=>null!==e&&"object"==typeof e,b=e=>{if("object"!==c(e))return!1;const t=s(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||a in e||i in e)},w=u("Date"),v=u("File"),E=u("Blob"),O=u("FileList"),x=u("URLSearchParams"),[S,j,R,_]=["ReadableStream","Request","Response","Headers"].map(u);function A(e,t,{allOwnKeys:r=!1}={}){if(null==e)return;let n,o;if("object"!=typeof e&&(e=[e]),h(e))for(n=0,o=e.length;n<o;n++)t.call(null,e[n],n,e);else{const o=r?Object.getOwnPropertyNames(e):Object.keys(e),s=o.length;let i;for(n=0;n<s;n++)i=o[n],t.call(null,e[i],i,e)}}function T(e,t){t=t.toLowerCase();const r=Object.keys(e);let n,o=r.length;for(;o-- >0;)if(n=r[o],t===n.toLowerCase())return n;return null}const C="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,P=e=>!f(e)&&e!==C,q=(F="undefined"!=typeof Uint8Array&&s(Uint8Array),e=>F&&e instanceof F);var F;const U=u("HTMLFormElement"),k=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),N=u("RegExp"),D=(e,t)=>{const r=Object.getOwnPropertyDescriptors(e),n={};A(r,((r,o)=>{let s;!1!==(s=t(r,o,e))&&(n[o]=s||r)})),Object.defineProperties(e,n)},B=u("AsyncFunction"),I=(L="function"==typeof setImmediate,$=m(C.postMessage),L?setImmediate:$?(M=`axios@${Math.random()}`,z=[],C.addEventListener("message",(({source:e,data:t})=>{e===C&&t===M&&z.length&&z.shift()()}),!1),e=>{z.push(e),C.postMessage(M,"*")}):e=>setTimeout(e));var L,$,M,z;const H="undefined"!=typeof queueMicrotask?queueMicrotask.bind(C):"undefined"!=typeof process&&process.nextTick||I,J={isArray:h,isArrayBuffer:p,isBuffer:function(e){return null!==e&&!f(e)&&null!==e.constructor&&!f(e.constructor)&&m(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let t;return e&&("function"==typeof FormData&&e instanceof FormData||m(e.append)&&("formdata"===(t=c(e))||"object"===t&&m(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&p(e.buffer),t},isString:d,isNumber:g,isBoolean:e=>!0===e||!1===e,isObject:y,isPlainObject:b,isReadableStream:S,isRequest:j,isResponse:R,isHeaders:_,isUndefined:f,isDate:w,isFile:v,isBlob:E,isRegExp:N,isFunction:m,isStream:e=>y(e)&&m(e.pipe),isURLSearchParams:x,isTypedArray:q,isFileList:O,forEach:A,merge:function e(){const{caseless:t}=P(this)&&this||{},r={},n=(n,o)=>{const s=t&&T(r,o)||o;b(r[s])&&b(n)?r[s]=e(r[s],n):b(n)?r[s]=e({},n):h(n)?r[s]=n.slice():r[s]=n};for(let e=0,t=arguments.length;e<t;e++)arguments[e]&&A(arguments[e],n);return r},extend:(e,r,n,{allOwnKeys:o}={})=>(A(r,((r,o)=>{n&&m(r)?e[o]=t(r,n):e[o]=r}),{allOwnKeys:o}),e),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,r,n)=>{e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},toFlatObject:(e,t,r,n)=>{let o,i,a;const c={};if(t=t||{},null==e)return t;do{for(o=Object.getOwnPropertyNames(e),i=o.length;i-- >0;)a=o[i],n&&!n(a,e,t)||c[a]||(t[a]=e[a],c[a]=!0);e=!1!==r&&s(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},kindOf:c,kindOfTest:u,endsWith:(e,t,r)=>{e=String(e),(void 0===r||r>e.length)&&(r=e.length),r-=t.length;const n=e.indexOf(t,r);return-1!==n&&n===r},toArray:e=>{if(!e)return null;if(h(e))return e;let t=e.length;if(!g(t))return null;const r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},forEachEntry:(e,t)=>{const r=(e&&e[i]).call(e);let n;for(;(n=r.next())&&!n.done;){const r=n.value;t.call(e,r[0],r[1])}},matchAll:(e,t)=>
vendor: 16,444 bytes, line 15675
15675{let r;const n=[];for(;null!==(r=e.exec(t));)n.push(r);return n},isHTMLForm:U,hasOwnProperty:k,hasOwnProp:k,reduceDescriptors:D,freezeMethods:e=>{D(e,((t,r)=>{if(m(e)&&-1!==["arguments","caller","callee"].indexOf(r))return!1;const n=e[r];m(n)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")}))}))},toObjectSet:(e,t)=>{const r={},n=e=>{e.forEach((e=>{r[e]=!0}))};return h(e)?n(e):n(String(e).split(t)),r},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,r){return t.toUpperCase()+r})),noop:()=>{},toFiniteNumber:(e,t)=>null!=e&&Number.isFinite(e=+e)?e:t,findKey:T,global:C,isContextDefined:P,isSpecCompliantForm:function(e){return!!(e&&m(e.append)&&"FormData"===e[a]&&e[i])},toJSONObject:e=>{const t=new Array(10),r=(e,n)=>{if(y(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[n]=e;const o=h(e)?[]:{};return A(e,((e,t)=>{const s=r(e,n+1);!f(s)&&(o[t]=s)})),t[n]=void 0,o}}return e};return r(e,0)},isAsyncFn:B,isThenable:e=>e&&(y(e)||m(e))&&m(e.then)&&m(e.catch),setImmediate:I,asap:H,isIterable:e=>null!=e&&m(e[i])};function V(e,t,r,n,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),n&&(this.request=n),o&&(this.response=o,this.status=o.status?o.status:null)}J.inherits(V,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:J.toJSONObject(this.config),code:this.code,status:this.status}}});const K=V.prototype,W={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{W[e]={value:e}})),Object.defineProperties(V,W),Object.defineProperty(K,"isAxiosError",{value:!0}),V.from=(e,t,r,n,o,s)=>{const i=Object.create(K);return J.toFlatObject(e,i,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),V.call(i,e.message,t,r,n,o),i.cause=e,i.name=e.name,s&&Object.assign(i,s),i};const X=V;function G(e){return J.isPlainObject(e)||J.isArray(e)}function Z(e){return J.endsWith(e,"[]")?e.slice(0,-2):e}function Q(e,t,r){return e?e.concat(t).map((function(e,t){return e=Z(e),!r&&t?"["+e+"]":e})).join(r?".":""):t}const Y=J.toFlatObject(J,{},null,(function(e){return/^is[A-Z]/.test(e)})),ee=function(e,t,r){if(!J.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const n=(r=J.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!J.isUndefined(t[e])}))).metaTokens,o=r.visitor||u,s=r.dots,i=r.indexes,a=(r.Blob||"undefined"!=typeof Blob&&Blob)&&J.isSpecCompliantForm(t);if(!J.isFunction(o))throw new TypeError("visitor must be a function");function c(e){if(null===e)return"";if(J.isDate(e))return e.toISOString();if(!a&&J.isBlob(e))throw new X("Blob is not supported. Use a Buffer instead.");return J.isArrayBuffer(e)||J.isTypedArray(e)?a&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function u(e,r,o){let a=e;if(e&&!o&&"object"==typeof e)if(J.endsWith(r,"{}"))r=n?r:r.slice(0,-2),e=JSON.stringify(e);else if(J.isArray(e)&&function(e){return J.isArray(e)&&!e.some(G)}(e)||(J.isFileList(e)||J.endsWith(r,"[]"))&&(a=J.toArray(e)))return r=Z(r),a.forEach((function(e,n){!J.isUndefined(e)&&null!==e&&t.append(!0===i?Q([r],n,s):null===i?r:r+"[]",c(e))})),!1;return!!G(e)||(t.append(Q(o,r,s),c(e)),!1)}const l=[],h=Object.assign(Y,{defaultVisitor:u,convertValue:c,isVisitable:G});if(!J.isObject(e))throw new TypeError("data must be an object");return function e(r,n){if(!J.isUndefined(r)){if(-1!==l.indexOf(r))throw Error("Circular reference detected in "+n.join("."));l.push(r),J.forEach(r,(function(r,s){!0===(!(J.isUndefined(r)||null===r)&&o.call(t,r,J.isString(s)?s.trim():s,n,h))&&e(r,n?n.concat(s):[s])})),l.pop()}}(e),t};function te(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function re(e,t){this._pairs=[],e&&ee(e,this,t)}const ne=re.prototype;ne.append=function(e,t){this._pairs.push([e,t])},ne.toString=function(e){const t=e?function(t){return e.call(this,t,te)}:te;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};const oe=re;function se(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function ie(e,t,r){if(!t)return e;const n=r&&r.encode||se;J.isFunction(r)&&(r={serialize:r});const o=r&&r.serialize;let s;if(s=o?o(t,r):J.isURLSearchParams(t)?t.toString():new oe(t,r).toString(n),s){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+s}return e}const ae=class{constructor(){this.handlers=[]}use(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){J.forEach(this.handlers,(function(t){null!==t&&e(t)}))}},ce={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},ue={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:oe,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},le="undefined"!=typeof window&&"undefined"!=typeof document,he="object"==typeof navigator&&navigator||void 0,fe=le&&(!he||["ReactNative","NativeScript","NS"].indexOf(he.product)<0),pe="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,de=le&&window.location.href||"http://localhost",me={...e,...ue},ge=function(e){function t(e,r,n,o){let s=e[o++];if("__proto__"===s)return!0;const i=Number.isFinite(+s),a=o>=e.length;return s=!s&&J.isArray(n)?n.length:s,a?(J.hasOwnProp(n,s)?n[s]=[n[s],r]:n[s]=r,!i):(n[s]&&J.isObject(n[s])||(n[s]=[]),t(e,r,n[s],o)&&J.isArray(n[s])&&(n[s]=function(e){const t={},r=Object.keys(e);let n;const o=r.length;let s;for(n=0;n<o;n++)s=r[n],t[s]=e[s];return t}(n[s])),!i)}if(J.isFormData(e)&&J.isFunction(e.entries)){const r={};return J.forEachEntry(e,((e,n)=>{t(function(e){return J.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}(e),n,r,0)})),r}return null},ye={transitional:ce,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){const r=t.getContentType()||"",n=r.indexOf("application/json")>-1,o=J.isObject(e);if(o&&J.isHTMLForm(e)&&(e=new FormData(e)),J.isFormData(e))return n?JSON.stringify(ge(e)):e;if(J.isArrayBuffer(e)||J.isBuffer(e)||J.isStream(e)||J.isFile(e)||J.isBlob(e)||J.isReadableStream(e))return e;if(J.isArrayBufferView(e))return e.buffer;if(J.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let s;if(o){if(r.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return ee(e,new me.classes.URLSearchParams,Object.assign({visitor:function(e,t,r,n){return me.isNode&&J.isBuffer(e)?(this.append(t,e.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((s=J.isFileList(e))||r.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return ee(s?{"files[]":e}:e,t&&new t,this.formSerializer)}}return o||n?(t.setContentType("application/json",!1),function(e){if(J.isString(e))try{return(0,JSON.parse)(e),J.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(0,JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||ye.transitional,r=t&&t.forcedJSONParsing,n="json"===this.responseType;if(J.isResponse(e)||J.isReadableStream(e))return e;if(e&&J.isString(e)&&(r&&!this.responseType||n)){const r=!(t&&t.silentJSONParsing)&&n;try{return JSON.parse(e)}catch(e){if(r){if("SyntaxError"===e.name)throw X.from(e,X.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:me.classes.FormData,Blob:me.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};J.forEach(["delete","get","head","post","put","patch"],(e=>{ye.headers[e]={}}));const be=ye,we=J.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),ve=Symbol("internals");function Ee(e){return e&&String(e).trim().toLowerCase()}function Oe(e){return!1===e||null==e?e:J.isArray(e)?e.map(Oe):String(e)}function xe(e,t,r,n,o){return J.isFunction(n)?n.call(this,t,r):(o&&(t=r),J.isString(t)?J.isString(n)?-1!==t.indexOf(n):J.isRegExp(n)?n.test(t):void 0:void 0)}class Se{constructor(e){e&&this.set(e)}set(e,t,r){const n=this;function o(e,t,r){const o=Ee(t);if(!o)throw new Error("header name must be a non-empty string");const s=J.findKey(n,o);(!s||void 0===n[s]||!0===r||void 0===r&&!1!==n[s])&&(n[s||t]=Oe(e))}const s=(e,t)=>J.forEach(e,((e,r)=>o(e,r,t)));if(J.isPlainObject(e)||e instanceof this.constructor)s(e,t);else if(J.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim()))s((e=>{const t={};let r,n,o;return e&&e.split("\n").forEach((function(e){o=e.indexOf(":"),r=e.substring(0,o).trim().toLowerCase(),n=e.substring(o+1).trim(),!r||t[r]&&we[r]||("set-cookie"===r?t[r]?t[r].push(n):t[r]=[n]:t[r]=t[r]?t[r]+", "+n:n)})),t})(e),t);else if(J.isObject(e)&&J.isIterable(e)){let r,n,o={};for(const t of e){if(!J.isArray(t))throw TypeError("Object iterator must return a key-value pair");o[n=t[0]]=(r=o[n])?J.isArray(r)?[...r,t[1]]:[r,t[1]]:t[1]}s(o,t)}else null!=e&&o(t,e,r);return this}get(e,t){if(e=Ee(e)){const r=J.findKey(this,e);if(r){const e=this[r];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=r.exec(e);)t[n[1]]=n[2];return t}(e);if(J.isFunction(t))return t.call(this,e,r);if(J.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=Ee(e)){const r=J.findKey(this,e);return!(!r||void 0===this[r]||t&&!xe(0,this[r],r,t))}return!1}delete(e,t){const r=this;let n=!1;function o(e){if(e=Ee(e)){const o=J.findKey(r,e);!o||t&&!xe(0,r[o],o,t)||(delete r[o],n=!0)}}return J.isArray(e)?e.forEach(o):o(e),n}clear(e){const t=Object.keys(this);let r=t.length,n=!1;for(;r--;){const o=t[r];e&&!xe(0,this[o],o,e,!0)||(delete this[o],n=!0)}return n}normalize(e){const t=this,r={};return J.forEach(this,((n,o)=>{const s=J.findKey(r,o);if(s)return t[s]=Oe(n),void delete t[o];const i=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,r)=>t.toUpperCase()+r))}(o):String(o).trim();i!==o&&delete t[o],t[i]=Oe(n),r[i]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return J.forEach(this,((r,n)=>{null!=r&&!1!==r&&(t[n]=e&&J.isArray(r)?r.join(", "):r)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const r=new this(e);return t.forEach((e=>r.set(e))),r}static accessor(e){const t=(this[ve]=this[ve]={accessors:{}}).accessors,r=this.prototype;function n(e){const n=Ee(e);t[n]||(function(e,t){const r=J.toCamelCase(" "+t);["get","set","has"].forEach((n=>{Object.defineProperty(e,n+r,{value:function(e,r,o){return this[n].call(this,t,e,r,o)},configurable:!0})}))}(r,e),t[n]=!0)}return J.isArray(e)?e.forEach(n):n(e),this}}Se.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),J.reduceDescriptors(Se.prototype,(({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[r]=e}}})),J.freezeMethods(Se);const je=Se;function Re(e,t){const r=this||be,n=t||r,o=je.from(n.headers);let s=n.data;return J.forEach(e,(function(e){s=e.call(r,s,o.normalize(),t?t.status:void 0)})),o.normalize(),s}function _e(e){return!(!e||!e.__CANCEL__)}function Ae(e,t,r){X.call(this,null==e?"canceled":e,X.ERR_CANCELED,t,r),this.name="CanceledError"}J.inherits(Ae,X,{__CANCEL__:!0});const Te=Ae;function Ce(e,t,r){const n=r.config.validateStatus;r.status&&n&&!n(r.status)?t(new X("Request failed with status code "+r.status,[X.ERR_BAD_REQUEST,X.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r)):e(r)}const Pe=(e,t,r=3)=>{let n=0;const o=function(e,t){e=e||10;const r=new Array(e),n=new Array(e);let o,s=0,i=0;return t=void 0!==t?t:1e3,function(a){const c=Date.now(),u=n[i];o||(o=c),r[s]=a,n[s]=c;let l=i,h=0;for(;l!==s;)h+=r[l++],l%=e;if(s=(s+1)%e,s===i&&(i=(i+1)%e),c-o<t)return;const f=u&&c-u;return f?Math.round(1e3*h/f):void 0}}(50,250);return function(e,t){let r,n,o=0,s=1e3/t;const i=(t,s=Date.now())=>{o=s,r=null,n&&(clearTimeout(n),n=null),e.apply(null,t)};return[(...e)=>{const t=Date.now(),a=t-o;a>=s?i(e,t):(r=e,n||(n=setTimeout((()=>{n=null,i(r)}),s-a)))},()=>r&&i(r)]}((r=>{const s=r.loaded,i=r.lengthComputable?r.total:void 0,a=s-n,c=o(a);n=s,e({loaded:s,total:i,progress:i?s/i:void 0,bytes:a,rate:c||void 0,estimated:c&&i&&s<=i?(i-s)/c:void 0,event:r,lengthComputable:null!=i,[t?"download":"upload"]:!0})}),r)},qe=(e,t)=>{const r=null!=e;return[n=>t[0]({lengthComputable:r,total:e,loaded:n}),t[1]]},Fe=e=>(...t)=>J.asap((()=>e(...t))),Ue=me.hasStandardBrowserEnv?((e,t)=>r=>(r=new URL(r,me.origin),e.protocol===r.protocol&&e.host===r.host&&(t||e.port===r.port)))(new URL(me.origin),me.navigator&&/(msie|trident)/i.test(me.navigator.userAgent)):()=>!0,ke=me.hasStandardBrowserEnv?{write(e,t,r,n,o,s){const i=[e+"="+encodeURIComponent(t)];J.isNumber(r)&&i.push("expires="+new Date(r).toGMTString()),J.isString(n)&&i.push("path="+n),J.isString(o)&&i.push("domain="+o),!0===s&&i.push("secure"),document.cookie=i.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function Ne(e,t,r){let n=!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t);return e&&(n||0==r)?function(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}const De=e=>e instanceof je?{...e}:e;function Be(e,t){t=t||{};const r={};function n(e,t,r,n){return J.isPlainObject(e)&&J.isPlainObject(t)?J.merge.call({caseless:n},e,t):J.isPlainObject(t)?J.merge({},t):J.isArray(t)?t.slice():t}function o(e,t,r,o){return J.isUndefined(t)?J.isUndefined(e)?void 0:n(void 0,e,0,o):n(e,t,0,o)}function s(e,t){if(!J.isUndefined(t))return n(void 0,t)}function i(e,t){return J.isUndefined(t)?J.isUndefined(e)?void 0:n(void 0,e):n(void 0,t)}function a(r,o,s){return s in t?n(r,o):s in e?n(void 0,r):void 0}const c={url:s,method:s,data:s,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:a,headers:(e,t,r)=>o(De(e),De(t),0,!0)};return J.forEach(Object.keys(Object.assign({},e,t)),(function(n){const s=c[n]||o,i=s(e[n],t[n],n);J.isUndefined(i)&&s!==a||(r[n]=i)})),r}const Ie=e=>{const t=Be({},e);let r,{data:n,withXSRFToken:o,xsrfHeaderName:s,xsrfCookieName:i,headers:a,auth:c}=t;if(t.headers=a=je.from(a),t.url=ie(Ne(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),c&&a.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),J.isFormData(n))if(me.hasStandardBrowserEnv||me.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if(!1!==(r=a.getContentType())){const[e,...t]=r?r.split(";").map((e=>
vendor: 2,780 bytes, line 15675
15675e.trim())).filter(Boolean):[];a.setContentType([e||"multipart/form-data",...t].join("; "))}if(me.hasStandardBrowserEnv&&(o&&J.isFunction(o)&&(o=o(t)),o||!1!==o&&Ue(t.url))){const e=s&&i&&ke.read(i);e&&a.set(s,e)}return t},Le="undefined"!=typeof XMLHttpRequest&&function(e){return new Promise((function(t,r){const n=Ie(e);let o=n.data;const s=je.from(n.headers).normalize();let i,a,c,u,l,{responseType:h,onUploadProgress:f,onDownloadProgress:p}=n;function d(){u&&u(),l&&l(),n.cancelToken&&n.cancelToken.unsubscribe(i),n.signal&&n.signal.removeEventListener("abort",i)}let m=new XMLHttpRequest;function g(){if(!m)return;const n=je.from("getAllResponseHeaders"in m&&m.getAllResponseHeaders());Ce((function(e){t(e),d()}),(function(e){r(e),d()}),{data:h&&"text"!==h&&"json"!==h?m.response:m.responseText,status:m.status,statusText:m.statusText,headers:n,config:e,request:m}),m=null}m.open(n.method.toUpperCase(),n.url,!0),m.timeout=n.timeout,"onloadend"in m?m.onloadend=g:m.onreadystatechange=function(){m&&4===m.readyState&&(0!==m.status||m.responseURL&&0===m.responseURL.indexOf("file:"))&&setTimeout(g)},m.onabort=function(){m&&(r(new X("Request aborted",X.ECONNABORTED,e,m)),m=null)},m.onerror=function(){r(new X("Network Error",X.ERR_NETWORK,e,m)),m=null},m.ontimeout=function(){let t=n.timeout?"timeout of "+n.timeout+"ms exceeded":"timeout exceeded";const o=n.transitional||ce;n.timeoutErrorMessage&&(t=n.timeoutErrorMessage),r(new X(t,o.clarifyTimeoutError?X.ETIMEDOUT:X.ECONNABORTED,e,m)),m=null},void 0===o&&s.setContentType(null),"setRequestHeader"in m&&J.forEach(s.toJSON(),(function(e,t){m.setRequestHeader(t,e)})),J.isUndefined(n.withCredentials)||(m.withCredentials=!!n.withCredentials),h&&"json"!==h&&(m.responseType=n.responseType),p&&([c,l]=Pe(p,!0),m.addEventListener("progress",c)),f&&m.upload&&([a,u]=Pe(f),m.upload.addEventListener("progress",a),m.upload.addEventListener("loadend",u)),(n.cancelToken||n.signal)&&(i=t=>{m&&(r(!t||t.type?new Te(null,e,m):t),m.abort(),m=null)},n.cancelToken&&n.cancelToken.subscribe(i),n.signal&&(n.signal.aborted?i():n.signal.addEventListener("abort",i)));const y=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(n.url);y&&-1===me.protocols.indexOf(y)?r(new X("Unsupported protocol "+y+":",X.ERR_BAD_REQUEST,e)):m.send(o||null)}))},$e=(e,t)=>{const{length:r}=e=e?e.filter(Boolean):[];if(t||r){let r,n=new AbortController;const o=function(e){if(!r){r=!0,i();const t=e instanceof Error?e:this.reason;n.abort(t instanceof X?t:new Te(t instanceof Error?t.message:t))}};let s=t&&setTimeout((()=>{s=null,o(new X(`timeout ${t} of ms exceeded`,X.ETIMEDOUT))}),t);const i=()=>{e&&(s&&clearTimeout(s),s=null,e.forEach((e=>{e.unsubscribe?e.unsubscribe(o):e.removeEventListener("abort",o)})),e=null)};e.forEach((e=>
vendor: 8,951 bytes, line 15675
15675e.addEventListener("abort",o)));const{signal:a}=n;return a.unsubscribe=()=>J.asap(i),a}},Me=function*(e,t){let r=e.byteLength;if(!t||r<t)return void(yield e);let n,o=0;for(;o<r;)n=o+t,yield e.slice(o,n),o=n},ze=(e,t,r,n)=>{const o=async function*(e,t){for await(const r of async function*(e){if(e[Symbol.asyncIterator])return void(yield*e);const t=e.getReader();try{for(;;){const{done:e,value:r}=await t.read();if(e)break;yield r}}finally{await t.cancel()}}(e))yield*Me(r,t)}(e,t);let s,i=0,a=e=>{s||(s=!0,n&&n(e))};return new ReadableStream({async pull(e){try{const{done:t,value:n}=await o.next();if(t)return a(),void e.close();let s=n.byteLength;if(r){let e=i+=s;r(e)}e.enqueue(new Uint8Array(n))}catch(e){throw a(e),e}},cancel:e=>(a(e),o.return())},{highWaterMark:2})},He="function"==typeof fetch&&"function"==typeof Request&&"function"==typeof Response,Je=He&&"function"==typeof ReadableStream,Ve=He&&("function"==typeof TextEncoder?(Ke=new TextEncoder,e=>Ke.encode(e)):async e=>new Uint8Array(await new Response(e).arrayBuffer()));var Ke;const We=(e,...t)=>{try{return!!e(...t)}catch(e){return!1}},Xe=Je&&We((()=>{let e=!1;const t=new Request(me.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t})),Ge=Je&&We((()=>J.isReadableStream(new Response("").body))),Ze={stream:Ge&&(e=>e.body)};var Qe;He&&(Qe=new Response,["text","arrayBuffer","blob","formData","stream"].forEach((e=>{!Ze[e]&&(Ze[e]=J.isFunction(Qe[e])?t=>t[e]():(t,r)=>{throw new X(`Response type '${e}' is not supported`,X.ERR_NOT_SUPPORT,r)})})));const Ye={http:null,xhr:Le,fetch:He&&(async e=>{let{url:t,method:r,data:n,signal:o,cancelToken:s,timeout:i,onDownloadProgress:a,onUploadProgress:c,responseType:u,headers:l,withCredentials:h="same-origin",fetchOptions:f}=Ie(e);u=u?(u+"").toLowerCase():"text";let p,d=$e([o,s&&s.toAbortSignal()],i);const m=d&&d.unsubscribe&&(()=>{d.unsubscribe()});let g;try{if(c&&Xe&&"get"!==r&&"head"!==r&&0!==(g=await(async(e,t)=>{const r=J.toFiniteNumber(e.getContentLength());return null==r?(async e=>{if(null==e)return 0;if(J.isBlob(e))return e.size;if(J.isSpecCompliantForm(e)){const t=new Request(me.origin,{method:"POST",body:e});return(await t.arrayBuffer()).byteLength}return J.isArrayBufferView(e)||J.isArrayBuffer(e)?e.byteLength:(J.isURLSearchParams(e)&&(e+=""),J.isString(e)?(await Ve(e)).byteLength:void 0)})(t):r})(l,n))){let e,r=new Request(t,{method:"POST",body:n,duplex:"half"});if(J.isFormData(n)&&(e=r.headers.get("content-type"))&&l.setContentType(e),r.body){const[e,t]=qe(g,Pe(Fe(c)));n=ze(r.body,65536,e,t)}}J.isString(h)||(h=h?"include":"omit");const o="credentials"in Request.prototype;p=new Request(t,{...f,signal:d,method:r.toUpperCase(),headers:l.normalize().toJSON(),body:n,duplex:"half",credentials:o?h:void 0});let s=await fetch(p);const i=Ge&&("stream"===u||"response"===u);if(Ge&&(a||i&&m)){const e={};["status","statusText","headers"].forEach((t=>{e[t]=s[t]}));const t=J.toFiniteNumber(s.headers.get("content-length")),[r,n]=a&&qe(t,Pe(Fe(a),!0))||[];s=new Response(ze(s.body,65536,r,(()=>{n&&n(),m&&m()})),e)}u=u||"text";let y=await Ze[J.findKey(Ze,u)||"text"](s,e);return!i&&m&&m(),await new Promise(((t,r)=>{Ce(t,r,{data:y,headers:je.from(s.headers),status:s.status,statusText:s.statusText,config:e,request:p})}))}catch(t){if(m&&m(),t&&"TypeError"===t.name&&/Load failed|fetch/i.test(t.message))throw Object.assign(new X("Network Error",X.ERR_NETWORK,e,p),{cause:t.cause||t});throw X.from(t,t&&t.code,e,p)}})};J.forEach(Ye,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}}));const et=e=>`- ${e}`,tt=e=>J.isFunction(e)||null===e||!1===e,rt=e=>{e=J.isArray(e)?e:[e];const{length:t}=e;let r,n;const o={};for(let s=0;s<t;s++){let t;if(r=e[s],n=r,!tt(r)&&(n=Ye[(t=String(r)).toLowerCase()],void 0===n))throw new X(`Unknown adapter '${t}'`);if(n)break;o[t||"#"+s]=n}if(!n){const e=Object.entries(o).map((([e,t])=>`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build")));let r=t?e.length>1?"since :\n"+e.map(et).join("\n"):" "+et(e[0]):"as no adapter specified";throw new X("There is no suitable adapter to dispatch the request "+r,"ERR_NOT_SUPPORT")}return n};function nt(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Te(null,e)}function ot(e){return nt(e),e.headers=je.from(e.headers),e.data=Re.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),rt(e.adapter||be.adapter)(e).then((function(t){return nt(e),t.data=Re.call(e,e.transformResponse,t),t.headers=je.from(t.headers),t}),(function(t){return _e(t)||(nt(e),t&&t.response&&(t.response.data=Re.call(e,e.transformResponse,t.response),t.response.headers=je.from(t.response.headers))),Promise.reject(t)}))}const st={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{st[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}}));const it={};st.transitional=function(e,t,r){function n(e,t){return"[Axios v1.9.0] Transitional option '"+e+"'"+t+(r?". "+r:"")}return(r,o,s)=>{if(!1===e)throw new X(n(o," has been removed"+(t?" in "+t:"")),X.ERR_DEPRECATED);return t&&!it[o]&&(it[o]=!0,console.warn(n(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(r,o,s)}},st.spelling=function(e){return(t,r)=>(console.warn(`${r} is likely a misspelling of ${e}`),!0)};const at={assertOptions:function(e,t,r){if("object"!=typeof e)throw new X("options must be an object",X.ERR_BAD_OPTION_VALUE);const n=Object.keys(e);let o=n.length;for(;o-- >0;){const s=n[o],i=t[s];if(i){const t=e[s],r=void 0===t||i(t,s,e);if(!0!==r)throw new X("option "+s+" must be "+r,X.ERR_BAD_OPTION_VALUE)}else if(!0!==r)throw new X("Unknown option "+s,X.ERR_BAD_OPTION)}},validators:st},ct=at.validators;class ut{constructor(e){this.defaults=e||{},this.interceptors={request:new ae,response:new ae}}async request(e,t){try{return await this._request(e,t)}catch(e){if(e instanceof Error){let t={};Error.captureStackTrace?Error.captureStackTrace(t):t=new Error;const r=t.stack?t.stack.replace(/^.+\n/,""):"";try{e.stack?r&&!String(e.stack).endsWith(r.replace(/^.+\n.+\n/,""))&&(e.stack+="\n"+r):e.stack=r}catch(e){}}throw e}}_request(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},t=Be(this.defaults,t);const{transitional:r,paramsSerializer:n,headers:o}=t;void 0!==r&&at.assertOptions(r,{silentJSONParsing:ct.transitional(ct.boolean),forcedJSONParsing:ct.transitional(ct.boolean),clarifyTimeoutError:ct.transitional(ct.boolean)},!1),null!=n&&(J.isFunction(n)?t.paramsSerializer={serialize:n}:at.assertOptions(n,{encode:ct.function,serialize:ct.function},!0)),void 0!==t.allowAbsoluteUrls||(void 0!==this.defaults.allowAbsoluteUrls?t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:t.allowAbsoluteUrls=!0),at.assertOptions(t,{baseUrl:ct.spelling("baseURL"),withXsrfToken:ct.spelling("withXSRFToken")},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();let s=o&&J.merge(o.common,o[t.method]);o&&J.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete o[e]})),t.headers=je.concat(s,o);const i=[];let a=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(a=a&&e.synchronous,i.unshift(e.fulfilled,e.rejected))}));const c=[];let u;this.interceptors.response.forEach((function(e){c.push(e.fulfilled,e.rejected)}));let l,h=0;if(!a){const e=[ot.bind(this),void 0];for(e.unshift.apply(e,i),e.push.apply(e,c),l=e.length,u=Promise.resolve(t);h<l;)u=u.then(e[h++],e[h++]);return u}l=i.length;let f=t;for(h=0;h<l;){const e=i[h++],t=i[h++];try{f=e(f)}catch(e){t.call(this,e);break}}try{u=ot.call(this,f)}catch(e){return Promise.reject(e)}for(h=0,l=c.length;h<l;)u=u.then(c[h++],c[h++]);return u}getUri(e){return ie(Ne((e=Be(this.defaults,e)).baseURL,e.url,e.allowAbsoluteUrls),e.params,e.paramsSerializer)}}J.forEach(["delete","get","head","options"],(function(e){ut.prototype[e]=function(t,r){return this.request(Be(r||{},{method:e,url:t,data:(r||{}).data}))}})),J.forEach(["post","put","patch"],(function(e){function t(t){return function(r,n,o){return this.request(Be(o||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:r,data:n}))}}ut.prototype[e]=t(),ut.prototype[e+"Form"]=t(!0)}));const lt=ut;class ht{constructor(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");let t;this.promise=new Promise((function(e){t=e}));const r=this;this.promise.then((e=>{if(!r._listeners)return;let t=r._listeners.length;for(;t-- >0;)r._listeners[t](e);r._listeners=null})),this.promise.then=e=>{let t;const n=new Promise((e=>{r.subscribe(e),t=e})).then(e);return n.cancel=function(){r.unsubscribe(t)},n},e((function(e,n,o){r.reason||(r.reason=new Te(e,n,o),t(r.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}
15675subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}toAbortSignal(){const e=new AbortController,t=t=>{e.abort(t)};return this.subscribe(t),e.signal.unsubscribe=()=>this.unsubscribe(t),e.signal}static source(){let e;return{token:new ht((function(t){e=t})),cancel:e}}}const ft=ht,pt={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(pt).forEach((([e,t])=>{pt[t]=e}));const dt=pt,mt=function e(r){const n=new lt(r),o=t(lt.prototype.request,n);return J.extend(o,lt.prototype,n,{allOwnKeys:!0}),J.extend(o,n,null,{allOwnKeys:!0}),o.create=function(t){return e(Be(r,t))},o}(be);mt.Axios=lt,mt.CanceledError=Te,mt.CancelToken=ft,mt.isCancel=_e,mt.VERSION="1.9.0",mt.toFormData=ee,mt.AxiosError=X,mt.Cancel=mt.CanceledError,mt.all=function(e){return Promise.all(e)},mt.spread=function(e){return function(t){return e.apply(null,t)}},mt.isAxiosError=function(e){return J.isObject(e)&&!0===e.isAxiosError},mt.mergeConfig=Be,mt.AxiosHeaders=je,mt.formToJSON=e=>ge(J.isHTMLForm(e)?new FormData(e):e),mt.getAdapter=rt,mt.HttpStatusCode=dt,mt.default=mt;const gt=mt;var yt=r(8835);let bt;const wt=()=>bt;function vt(e){this.message=e}vt.prototype=new Error,vt.prototype.name="InvalidCharacterError";var Et="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new vt("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,o=0,s=0,i="";n=t.charAt(s++);~n&&(r=o%4?64*r+n:n,o++%4)?i+=String.fromCharCode(255&r>>(-2*o&6)):0)n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(n);return i};function Ot(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw"Illegal base64url string!"}try{return function(e){return decodeURIComponent(Et(e).replace(/(.)/g,(function(e,t){var r=t.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r})))}(t)}catch(e){return Et(t)}}function xt(e){this.message=e}xt.prototype=new Error,xt.prototype.name="InvalidTokenError";const St=()=>r.g.localStorage.getItem("ns_v_t"),jt=()=>{const e=St();return e?function(e,t){if("string"!=typeof e)throw new xt("Invalid token specified");var r=!0===(t=t||{}).header?0:1;try{return JSON.parse(Ot(e.split(".")[r]))}catch(e){throw new xt("Invalid token specified: "+e.message)}}(e):null};var Rt=r(8156),_t=r.n(Rt);const At=e=>{let t;if(-1!==e.indexOf("_"))t=e.split("_");else{if(-1===e.indexOf("-"))return e;t=e.split("-")}return`${t[0].toLowerCase()}-${t[1].toUpperCase()}`};function Tt(e){return Tt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Tt(e)}function Ct(e,t,r){return(t=function(e){var t=function(e){if("object"!=Tt(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=Tt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Tt(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Pt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function qt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};
15675t%2?Pt(Object(r),!0).forEach((function(t){Ct(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Pt(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}let Ft={};const Ut={authenticate:async(e,t)=>{const n=r.g.localStorage.getItem("ns_t");if(!n)throw Error("authenticate function requires a netsapiens local storage user token");if(!e)throw Error('Missing function param "user"');if(!t)throw Error('Missing function param "domain"');const{protocol:o,hostname:s}=yt.parse(r.g.location.href),{data:i}=await gt.request({method:"post",withCredentials:!0,url:`${o}//${s}/ns-api/voice/token`,headers:{Authorization:`Bearer ${n}`,AsDomain:t},params:{domain:t,user:e}});if(!i||!i.token)throw Error("error getting voice token");var a,c;return a=i.serviceBaseUriProxied||i.serviceBaseUri,bt=a,c=i.token,r.g.localStorage.setItem("ns_v_t",c),i.token},deleteAudio:async({index:e,owner:t,ownerDomain:n,type:o})=>{const s=r.g.localStorage.getItem("ns_t");if(!s)throw Error("authenticate function requires a netsapiens local storage user token");const{protocol:i,hostname:a}=yt.parse(r.g.location.href);await gt.request({method:"delete",withCredentials:!0,url:`${i}//${a}/ns-api/`,headers:{Authorization:`Bearer ${s}`},params:{object:"audio",action:"delete",index:e,intArray:!0,owner:t,owner_domain:n,type:o}})},getDialPlan:async(e,t)=>{const n=r.g.localStorage.getItem("ns_t");if(!n)throw Error("getDialPlan function requires a netsapiens access_token from browser local storage");if(!e)throw Error('Missing function param 1 "user"');if(!t)throw Error('Missing function param 2 "domain"');const{protocol:o,hostname:s}=yt.parse(r.g.location.href),{data:i}=await gt.request({method:"get",withCredentials:!0,url:`${o}//${s}/ns-api/`,headers:{Authorization:`Bearer ${n}`},params:{object:"subscriber",action:"read",user:e,domain:t,fields:"dial_plan",includeDomain:"yes"}});return _t()(i,["0","dial_plan"])},getDialRule:async({domain:e,dialPlan:t,responder:n,toUser:o,user:s})=>{const i=r.g.localStorage.getItem("ns_t");if(!i)throw Error("getDialRule function requires a netsapiens access_token from browser local storage");if(!e)throw Error('Function param "domain" required');if(!t)throw Error('Function param "dialPlan" required');if(!n)throw Error('Function param "responder" required');if(!o)throw Error('Function param "toUser" required');if(!s)throw Error('Function param "user" required');const{protocol:a,hostname:c}=yt.parse(r.g.location.href),{data:u}=await gt.request({method:"get",withCredentials:!0,url:`${a}//${c}/ns-api/`,headers:{Authorization:`Bearer ${i}`},params:{object:"dialrule",action:"read",user:s,domain:e,dialplan:t,responder:n,to_user:o,format:"json"}});return _t()(u,["0"])},getLanguages:async(e="en-US")=>{const t=jt();if(!t)throw Error("Must call authenticate first to get voice token");if(Math.floor(Date.now()/1e3)>=t.exp)throw Error("Voice token expired");const{data:r}=await gt.request({method:"get",url:`${wt()}/languages`,headers:{Authorization:`Bearer ${St()}`},params:{languages:e}});return r.languages},getVoices:async(e="en-US")=>{const t=jt();if(!t)throw Error("Must call authenticate first to get voice token");if(Math.floor(Date.now()/1e3)>=t.exp)throw Error("Voice token expired");const{data:r}=await gt.request({method:"get",url:`${wt()}/voices`,headers:{Authorization:`Bearer ${St()}`},params:{language:e}});return r.voices},normalizeLanguageCode:At,normalizeLanguageCodes:e=>{const t=e.split(","),r=[];for(let e=0;e<t.length;e+=1)r.push(At(t[e]));return r.join(",")},postAnswerRule:async({dialPlan:e,dndEnable:t,domain:n,extension:o,forEnable:s,forNumbers:i,id:a,priority:c,timeFrame:u})=>{const l=r.g.localStorage.getItem("ns_t");if(!l)throw Error("getDialRule function requires a netsapiens access_token from browser local storage");if(!e)throw Error('Function param "dialPlan" required');if(!t)throw Error('Function param "dndEnable" required');if(!n)throw Error('Function param "domain" required');if(!o)throw Error('Function param "extension" required');if(!s)throw Error('Function param "forEnable" required');if(!i)throw Error('Function param "forNumbers" required');if(!a)throw Error('Function param "id" required');if(!c)throw Error('Function param "priority" required');if(!u)throw Error('Function param "timeFrame" required');const{protocol:h,hostname:f}=yt.parse(r.g.location.href);return await gt.request({method:"post",withCredentials:!0,url:`${h}//${f}/ns-api/`,headers:{Authorization:`Bearer ${l}`},params:{object:"answerrule",action:"create",dnd_enable:t,domain:n,extension:o,for_enable:s,for_numbers:i,id:a,priority:c,time_frame:u,format:"json"}}),{success:!0}},postDialRule:async({dialPlan:e,domain:t,id:n,matchRule:o,parameter:s,planDescription:i,responder:a,toHost:c,toUser:u})=>{const l=r.g.localStorage.getItem("ns_t");if(!l)throw Error("getDialRule function requires a netsapiens access_token from browser local storage");if(!e)throw Error('Function param "dialPlan" required');if(!t)throw Error('Function param "domain" required');if(!n)throw Error('Function param "id" required');if(!o)throw Error('Function param "matchRule" required');if(!i)throw Error('Function param "planDescription" required');if(!a)throw Error('Function param "responder" required');if(!c)throw Error('Function param "toHost" required');if(!u)throw Error('Function param "toUser" required');const{protocol:h,hostname:f}=yt.parse(r.g.location.href);return await gt.request({method:"post",withCredentials:!0,url:`${h}//${f}/ns-api/`,headers:{Authorization:`Bearer ${l}`},params:qt(qt({object:"dialrule",action:"create",dialplan:e,domain:t,id:n,matchrule:o},s?{parameter:s}
15675:{}),{},{plan_description:i,responder:a,to_host:c,to_user:u,format:"json"})}),{success:!0}},getTranscriptionIntelligence:async({jobId:e,recordingDate:t,user:n,domain:o})=>{const s=r.g.localStorage.getItem("ns_t");if(!s)throw Error("authenticate function requires a netsapiens local storage user token");if(!e)throw Error('Missing function param "jobId"');if(!t)throw Error('Missing function param "recordingDate"');if(!n)throw Error('Missing function param "user"');if(!o)throw Error('Missing function param "domain"');const{protocol:i,hostname:a}=yt.parse(r.g.location.href),{data:c}=await gt.request({method:"get",withCredentials:!0,url:`${i}//${a}/ns-api/`,headers:{Authorization:`Bearer ${s}`},params:{object:"voice",action:"getTranscriptionIntelligence",jobId:e,recordingDate:t,domain:o,user:n,format:"json"}});return c},getTranscriptionJob:async({jobId:e,callId:t,recordingDate:n,user:o,domain:s})=>{const i=r.g.localStorage.getItem("ns_t");if(!i)throw Error("authenticate function requires a netsapiens local storage user token");if(!e&&!t)throw Error('Missing function param "jobId" or "callId"');if(!n)throw Error('Missing function param "recordingDate"');if(!o)throw Error('Missing function param "user"');if(!s)throw Error('Missing function param "domain"');const{protocol:a,hostname:c}=yt.parse(r.g.location.href),{data:u}=await gt.request({method:"get",withCredentials:!0,url:`${a}//${c}/ns-api/`,headers:{Authorization:`Bearer ${i}`},params:{object:"voice",action:"getTranscriptionJob",jobid:e,callid:t,recordingDate:n,domain:s,user:o,format:"json"}});return u},getTranscriptions:async({jobId:e,recordingDate:t,user:n,domain:o})=>{const s=r.g.localStorage.getItem("ns_t");if(!s)throw Error("authenticate function requires a netsapiens local storage user token");if(!e)throw Error('Missing function param "jobId"');if(!t)throw Error('Missing function param "recordingDate"');if(!n)throw Error('Missing function param "user"');if(!o)throw Error('Missing function param "domain"');const{protocol:i,hostname:a}=yt.parse(r.g.location.href),{data:c}=await gt.request({method:"get",withCredentials:!0,url:`${i}//${a}/ns-api/`,headers:{Authorization:`Bearer ${s}`},params:{object:"voice",action:"getTranscriptions",jobId:e,recordingDate:t,domain:o,user:n,format:"json"}});return c},saveAudio:async({audioBlob:e,domain:t,format:n,greetingName:o,id:s,index:i,name:a,owner:c,ownerDomain:u,sourceType:l,script:h,type:f,user:p,voiceId:d,voiceLanguage:m})=>{const g=r.g.localStorage.getItem("ns_t");if(!g)throw Error("authenticate function requires a netsapiens local storage user token");const{protocol:y,hostname:b}=yt.parse(r.g.location.href);let w=`${y}//${b}/ns-api/`;w+="?object=audio",w+="&action=upload",w+="&convert=yes",w+=`&format=${n}`,w+=`&index=${i}`,w+=`&script=${h}`,w+=`&moh_script=${h}`,w+=`&type=${f}`,t&&(w+=`&domain=${t}`),o&&(w+=`&greeting_name=${o}`),s&&(w+=`&id=${s}`),c&&(w+=`&owner=${c}`),u&&(w+=`&owner_domain=${u}`),a&&(w+=`&name=${a}`),p&&(w+=`&user=${p}`),l&&(w+=`&source_type=${l}`),d&&(w+=`&voice_id=${d}`),m&&(w+=`&voice_language=${m}`),await new Promise(((t,r)=>{const o=new XMLHttpRequest;o.open("POST",w),o.setRequestHeader("Authorization",`Bearer ${g}`),o.onreadystatechange=()=>{4!==o.readyState||200!==o.status&&202!==o.status?4===o.readyState&&r(new Error(o.statusText)):t()};const s=new FormData;s.append("file",e),s.append("format",n),o.send(s)}))},synthesize:async(e,t)=>{if(!e)throw Error("Voice param required");if(!t||!t.trim())throw Error("Text param required");const r=((e,t)=>{const r=Ft[e];return r&&r[t]||null})(e.id,t.trim());if(r)return{error:null,data:r};const n=jt();if(!n)throw Error("Must call authenticate first to get voice token");if(Math.floor(Date.now()/1e3)>=n.exp)throw Error("Voice token expired");const o=await gt.request({method:"post",url:`${wt()}/tts`,headers:{Authorization:`Bearer ${St()}`},data:{voice:e,text:t.trim()},validateStatus:e=>e<501});return 400===o.status?{errorMessage:o.data.message||o.statusText,line:o.data.line,col:o.data.col,data:null}:500===o.status?{errorMessage:o.statusText,line:0,col:0,data:null}:(((e,t,r)=>{Ft[e]||(Ft[e]={}),Ft[e][t]=r})(e.id,t.trim(),o.data),{error:null,data:o.data})}}})(),NetsapiensVoice=n.default})(); 15676//# sourceMappingURL=netsapiens-voice.js.map 15677�/** NSChatNotifications module 15678 * 15679 * Triggers browser notifcation, updates browser title, and highlights chat window 15680 * 15681 * @requires jquery library 15682 * @requires push.js notifications library 15683 * @requires howler.js sound playback library 15684 **/ 15685var NSChatNotifications = (function(){ 15686 //chatNotifcation settings 15687 var s = { 15688 titleInterval: false, 15689 titlesArray: [{ id: "default", title: document.title}], 15690 titleIndex: 0, 15691 notificationSound: new Howl({src: ['/portal/audio/chat_notification.mp3','/portal/audio/chat_notification.wav']}), 15692 soundCooldown: false 15693 }; 15694 15695 /** Start a new notification. Notification can flash the chat container, flash the title and play a sound 15696 * 15697 * @param {object} options contains all of the options for the notification 15698 **/ 15699 var newNotification = function(options) { 15700 15701 15702 var messageBox = document.getElementById("uc-message-box-" + options.session_id); 15703 15704 //TODO: pretty format options.title (phone number) 15705 15706 //if tab not focused, fire browser notification and play sound 15707 if (!document.hasFocus()) { 15708 _addBrowserNotification(options); 15709 15710 //only play sound if no cooldown exists 15711 if(!s.soundCooldown) 15712 _playSound(); 15713 15714 //make text bold in recents 15715 var recentRow = document.getElementById("recent-" + options.session_id); 15716 if (recentRow != null) { 15717 recentRow.style.fontWeight="bold"; 15718 getRecentCount(); 15719 } 15720 } 15721 //check if chat is in focus, if not update flash browser title and add highlight 15722 if(!$(messageBox).find('.message-to-send').is(':focus')) { 15723 var newTitle = options.title + ' ' + _('says...'); 15724 15725 // add title for notification to array 15726 s.titlesArray.push({id : options.session_id, title: newTitle}); 15727 15728 if(s.titleInterval == false){ 15729 //loop through titlesArray and flash the title at the set interval, including the original title 15730 s.titleInterval = window.setInterval(_changeTitle, 2000); 15731 } 15732 15733 //new-message class controls dock-head color 15734 $(messageBox).addClass("new-message"); 15735 } 15736 }, 15737 15738 /** remove all notification indicators for a session or message 15739 * 15740 * @param {string} sessionId is the ID for a session 15741 * @param {string} messageId is the ID for a message within a session 15742 **/ 15743 removeNotification = function(sessionId, messageId){ 15744 15745 var messageBox = document.getElementById("uc-message-box-" + sessionId); 15746 15747 //new-message class controls dock-head color 15748 $(messageBox).removeClass("new-message"); 15749 15750 //remove bold from recent row 15751 var recentRow = document.getElementById("recent-" + sessionId); 15752 if (recentRow != null) recentRow.style.fontWeight=""; 15753 15754 _removeTitle(sessionId); 15755 15756 if(messageId) 15757 Push.close(messageId); 15758 }, 15759 15760 /** Show a browser notification 15761 * 15762 * @param {object} options contains all of the options for the notification 15763 **/ 15764 _addBrowserNotification = function(options){ 15765 15766 var title = options.title + ' ' + _('says...'); 15767 15768 if (Push.Permission.has()) { 15769 Push.create(title, { 15770 body: options.body, 15771 tag: options.message_id, 15772 icon: faviconUrl, //this is a global variable found in the layout file (e.g. portal.ctp) 15773 timeout: 6000, 15774 onClick: function(){ 15775 _focusChat(options); 15776 removeNotification(options.session_id, options.message_id); 15777 } 15778 }); 15779 } else { 15780 console.warn('Caught (in chat-notifications.js) PushError: permission request declined'); 15781 } 15782 }, 15783 15784 /** change the title to whatever is next in the titlesArray object 15785 * 15786 **/ 15787 _changeTitle = function(){ 15788 15789 // increment up to the length of the array, then start back at beginning 15790 s.titleIndex = (s.titleIndex + 1) % s.titlesArray.length; 15791 15792 var newTitle = s.titlesArray[s.titleIndex].title; 15793 15794 document.title = newTitle; 15795 }, 15796 15797 /** remove a session's title from the titlesArray 15798 * clear the interval if there are no more notification titles 15799 * 15800 * @param {string} sessionId is the ID for a session 15801 **/ 15802 _removeTitle = function(sessionId){ 15803 15804 15805 //loops through titlesArray and removes the title for the corresponding notification 15806 for(var i=0; i<s.titlesArray.length; i++){ 15807 if(s.titlesArray[i].id == sessionId){ 15808 s.titlesArray.splice(i, 1); //removes 1 element at position i 15809 break; 15810 } 15811 } 15812 15813 //when there are no more new notification titles in the array 15814 //remove the interval and reset the title to default page title 15815 if (s.titlesArray.length == 1) { 15816 clearInterval(s.titleInterval); 15817 s.titleInterval = false;
15818 document.title = s.titlesArray[0].title; 15819 } 15820 15821 }, 15822 15823 /** focus the chat box 15824 * 15825 * @param {object} options contains all of the options for the notification 15826 **/ 15827 _focusChat = function(options){ 15828 15829 15830 var id = "uc-message-box-" + options.session_id; 15831 var box = '#' + id; 15832 var $chatMessages = $(box+ ' .chat-messages'); 15833 15834 window.focus(); 15835 $('.dock-popup-overlay').prepend($(box)); //resets all elements to default scroll position 15836 $chatMessages.scrollTop($chatMessages[0].scrollHeight); 15837 document.getElementById(id).querySelector(".message-to-send").focus(); 15838 }, 15839 15840 15841 /** play a notification sound and set a 5 second sound cooldown 15842 * 15843 * 15844 **/ 15845 _playSound = function(){ 15846 s.notificationSound.play(); 15847 s.soundCooldown = true; 15848 15849 setTimeout(function(){ 15850 s.soundCooldown = false; 15851 },5000); 15852 }; 15853 15854 15855 return { 15856 notify: newNotification, 15857 remove: removeNotification, 15858 } 15859 15860})(); 15861 15862�/*************************************************************************** 15863 *************************************************************************** 15864 * 15865 * NETSAPIENS OMP MODULES 15866 * 15867 *************************************************************************** 15868 *************************************************************************** 15869 * 15870 * Name each module by capitalizing the first letter (e.g. NewModule). 15871 * 15872 * Settings are assigned to {s} to provide access to commonly used settings 15873 * throughout the module. 15874 * 15875 * All require jquery.js, bootstrap.js, and scripts.js 15876 * 15877 ***************************************************************************/ 15878 15879var NSModal = (function() { 15880 15881 /* checks if modal is currently visible */ 15882 var isModalVisible = function() { 15883 if ($('.modal').hasClass('in')) 15884 return true; 15885 else 15886 return false; 15887 }; 15888 15889 /** 15890 * LOAD MODAL 15891 * This module loads a modal via ajax. It loads the content and shows the modal. 15892 * Currently does not work well. 15893 * 15894 * @requires bootstrap.js 15895 * @returns {object} public entries to init and update methods. 15896 **/ 15897 15898 var LoadModal = (function() { 15899 15900 /** 15901 * local settings variables accessible across module methods 15902 */ 15903 var s = { 15904 }; 15905 15906 var init = function(modalId, path) { 15907 log(path); 15908 15909 $('.helpsy').tooltip('hide'); 15910 15911 var $modal = $(modalId); 15912 var initCallback = function() { 15913 $modal.modal(); 15914 }; 15915 15916 // create the backdrop and wait for next modal to be triggered 15917 $('body').modalmanager('loading'); 15918 15919 setTimeout(function(){ 15920 loadPath($modal, path, initCallback); 15921 }, 1000); 15922 15923 }, 15924 15925 update = function(modalId, path) { 15926 var $modal = $(modalId); 15927 var updateCallback = function() { 15928 $modal 15929 .modal('loading') 15930 .find('.modal-body') 15931 .prepend('<div class="alert alert-info fade in">' + 15932 'Updated!<button type="button" class="close" data-dismiss="alert">×</button>' + 15933 '</div>'); 15934 }; 15935 15936 $modal.modal('loading'); 15937 15938 setTimeout(function(){ 15939 loadPath($modal, path, updateCallback); 15940 }, 1000); 15941 }, 15942 15943 loadPath = function($modal, path, callback) { 15944 15945 $.ajax({ 15946 url: path, 15947 cache: false 15948 }).done(function(html) { 15949 addModalHtml($modal, html); 15950 15951 if(callback) callback(); 15952 15953 }).fail(function(textStatus){ 15954 $modal.modal('loading'); 15955 $modal.addClass('load-failed'); 15956 var html = '<div class="modal-header">' 15957 + '<button type="button" class="close cancel" data-dismiss="modal" onclick="hideModal(\''+ $modal[0] +'\');">×</button>' 15958 + '<h4>'+textStatus.statusText+'</h4>' 15959 + '</div>' 15960 + '<div class="modal-body">' 15961 + '<div class="load-failed">' 15962 + '<h4>The modal contents failed to load.</h4><h4>Please try again.</h4>' 15963 + '</div>' 15964 + '</div>' 15965 + '<div class="modal-footer">' 15966 + '<button type="btn" class="cancel btn" data-dismiss="modal" onclick="hideModal(\''+ $modal[0] +'\');">Close</button>' 15967 + '</div>' 15968 $modal.html(html); 15969 }); 15970 }, 15971 15972 addModalHtml = function($modal, html) { 15973 $modal.contents(':not(.loading-mask)').remove(); 15974 $modal.prepend(html); 15975 }; 15976 15977 /** 15978 * public methods 15979 */ 15980 return { 15981 init: init, 15982 update: update 15983 }; 15984 })(); 15985 15986 return { 15987 isModalVisible: isModalVisible, 15988 LoadModal: LoadModal 15989 } 15990 15991})(); 15992 15993 15994 15995 15996/** 15997 * FORWARD VOICEMAIL 15998 * This module forwards voicemail to another on-net user. Used in either 15999 * the user homepage or messages index. 16000 * 16001 * @returns {object} public entry to init method. 16002 **/ 16003 16004var FwdVmail = (function() { 16005 16006 /** 16007 * local settings variables accessible across module methods 16008 */ 16009 var s = { 16010 allFwdBtn: null, //assigned on init 16011 fwdMsgBtn: null, //assigned after popover creation 16012 fwdMsgFld: null, //assigned after popover creation 16013 fwdBtn: null, //assigned in bindUIActions 16014 filename: null, //assigned in bindUIActions 16015 folder: null, //assigned in bindUIActions 16016 fwdPopover: '<div class="input-append"><input id="forward-msg-field" type="text" placeholder="' + _('Enter a user or extension') + '"><button id="forward-msg-btn" class="btn forward-vmail-send" type="button" title="' + _('Forward') + '"><i class="icon-arrow-right"></i></button></div>', 16017 fwdTemplate: '<div class="popover forward-popover"><div class="arrow"></div><div class="popover-inner"><div class="popover-content"><p></p></div></div></div>' 16018 }; 16019 16020 var init = function() { 16021 //log(s); 16022 s.allFwdBtn = $('.forward'); 16023 16024 buildPopover(); 16025 bindUIActions(); 16026 }, 16027 16028 /** 16029 * builds the forward popover 16030 * TODO: make generic buildPopover widget 16031 */ 16032 buildPopover = function() { 16033 s.allFwdBtn.popover({ 16034 html: true, 16035 placement: 'left', 16036 template: s.fwdTemplate, 16037 content: s.fwdPopover 16038 }); 16039 }, 16040 16041 /** 16042 * binds initial ui interactions 16043 */ 16044 bindUIActions = function() { 16045 s.allFwdBtn.on('click', function(){ 16046 16047 s.fwdMsgBtn = $('#forward-msg-btn'); 16048 s.fwdMsgFld = $('#forward-msg-field'); 16049 s.fwdBtn = $(this); 16050 s.filename = $(this).parent().parent().attr('filename'); 16051 s.folder = $(this).parent().parent().attr('folder'); 16052 16053 s.fwdBtn.css('visibility', 'visible'); 16054 16055 s.fwdMsgFld.focus(); 16056 16057 //vmailForward defined by autocomplete helper 16058 if (typeof vmailForward != 'undefined') 16059 vmailForward(); 16060 16061 bindFwdActions(); 16062 }); 16063 16064 $('body').on('click.closeVmFwd', function(e) { 16065 //did not click a popover toggle, or icon in popover toggle, or popover 16066 if ($(e.target).data('toggle') !== 'popover' && $(e.target).parents('.popover.in').length === 0) { 16067 s.allFwdBtn.popover('hide'); 16068 s.allFwdBtn.attr('style', ''); 16069 } 16070 }); 16071 }, 16072 16073 /** 16074 * bind forward actions - binds the post forward action to the popover forward button 16075 * 16076 **/ 16077 bindFwdActions = function() {
16078 //log('fwd actions bound'); 16079 //log(s.fwdMsgBtn); 16080 16081 s.fwdMsgBtn.off('click'); 16082 s.fwdMsgBtn.on('click', function(){ 16083 16084 var forward = s.fwdMsgFld.val(); 16085 16086 if(forward === '') { 16087 jsFlash(_('Voicemail was not forwarded!'), "danger"); 16088 } 16089 else { 16090 s.fwdMsgBtn.prop('disabled',true); 16091 16092 $.post("/portal/voicemails/forward/"+sub_user+"@"+sub_domain+"/"+encodeURI(s.folder)+'/'+s.filename+"/"+forward) 16093 .done(function(data) { 16094 //log("sent"); 16095 jsFlash(_("Voicemail has been forwarded to ") + forward, "success"); 16096 s.allFwdBtn.popover('hide'); 16097 s.fwdBtn.attr('style', ''); 16098 }) 16099 .fail(function(jqXHR, textStatus, errorThrown) { 16100 if (jqXHR.status === 507) { 16101 jsFlash(_('Voicemail was not forwarded! Recipient user has insufficient storage.'), "danger"); 16102 } else if (jqXHR.status === 409) { 16103 jsFlash(_('Voicemail was not forwarded! Recipient user does not have voicemail enabled.'), "danger"); 16104 } else { 16105 jsFlash(_('Voicemail was not forwarded!'), "danger"); 16106 } 16107 s.fwdMsgBtn.prop('disabled',false); 16108 }); 16109 } 16110 }); 16111 16112 s.fwdMsgFld.on("keyup", function(e) { 16113 log(e.which); 16114 if(e.which == 13) 16115 s.fwdMsgBtn.trigger("click"); 16116 }); 16117 }; 16118 16119 /** 16120 * public methods 16121 */ 16122 return { 16123 init: init 16124 }; 16125 16126 16127})(); 16128 16129 16130 16131/** 16132 * Create duplicate endpoint in a another domain 16133 * 16134 * @returns {object} public entry to init method. 16135 **/ 16136 16137var CopyEndpoint = (function() { 16138 16139 /** 16140 * local settings variables accessible across module methods 16141 */ 16142 var s = { 16143 allFwdBtn: null, //assigned on init 16144 fwdMsgBtn: null, //assigned after popover creation 16145 fwdMsgFld: null, //assigned after popover creation 16146 fwdBtn: null, //assigned in bindUIActions 16147 filename: null, //assigned in bindUIActions 16148 folder: null, //assigned in bindUIActions 16149 fwdPopover: '<div class="input-append"><input id="copy-endpoint-field" type="text" placeholder="' + _('Enter a Domain') + '"><button id="copy-endpoint-btn" class="btn copy-endpoint-send" type="button" title="' + _('Copy To') + '"><i class="icon-arrow-right"></i></button></div>', 16150 fwdTemplate: '<div class="popover forward-popover"><div class="arrow"></div><div class="popover-inner"><div class="popover-content"><p></p></div></div></div>' 16151 }; 16152 16153 var init = function() { 16154 //log(s); 16155 s.allFwdBtn = $('.endpoint-copy'); 16156 16157 buildPopover(); 16158 bindUIActions(); 16159 }, 16160 16161 /** 16162 * builds the forward popover 16163 * TODO: make generic buildPopover widget 16164 */ 16165 buildPopover = function() { 16166 s.allFwdBtn.popover({ 16167 html: true, 16168 placement: 'left', 16169 template: s.fwdTemplate, 16170 content: s.fwdPopover 16171 }); 16172 }, 16173 16174 /** 16175 * binds initial ui interactions 16176 */ 16177 bindUIActions = function() { 16178 s.allFwdBtn.on('click', function(){ 16179 16180 s.fwdMsgBtn = $('#copy-endpoint-btn'); 16181 s.fwdMsgFld = $('#copy-endpoint-field'); 16182 s.fwdBtn = $(this); 16183 s.address_id = $(this).parent().parent()[0].getElementsByTagName("td")[0].getAttribute('address_id'); 16184 s.original_domain = $(this).parent().parent()[0].getElementsByTagName("td")[1].getAttribute('domain'); 16185 16186 s.fwdBtn.css('visibility', 'visible'); 16187 16188 s.fwdMsgFld.focus(); 16189 16190 //vmailForward defined by autocomplete helper 16191 if (typeof endpointCopy != 'undefined') 16192 endpointCopy(); 16193 16194 bindFwdActions(); 16195 }); 16196 16197 $('body').on('click.closeVmFwd', function(e) { 16198 //did not click a popover toggle, or icon in popover toggle, or popover 16199 if ($(e.target).data('toggle') !== 'popover' && $(e.target).parents('.popover.in').length === 0) { 16200 s.allFwdBtn.popover('hide'); 16201 s.allFwdBtn.attr('style', ''); 16202 } 16203 }); 16204 }, 16205 16206 /** 16207 * bind forward actions - binds the post forward action to the popover forward button 16208 * 16209 **/ 16210 bindFwdActions = function() {
16211 //log('fwd actions bound'); 16212 //log(s.fwdMsgBtn); 16213 16214 s.fwdMsgBtn.off('click'); 16215 s.fwdMsgBtn.on('click', function(){ 16216 16217 var forward = s.fwdMsgFld.val(); 16218 16219 if(forward === '') { 16220 jsFlash("Endpoint was not copied!", "danger"); 16221 } 16222 else { 16223 s.fwdMsgBtn.prop('disabled',true); 16224 16225 $.post("/portal/inventory/copyEndpoint/"+s.address_id+"/"+s.original_domain+'/'+forward,function(data) {}) 16226 .done(function(data) { 16227 //log("sent"); 16228 jsFlash("Endpoint was copied to "+forward, "success"); 16229 s.allFwdBtn.popover('hide'); 16230 s.fwdBtn.attr('style', ''); 16231 location.reload(true); //reload the page to show the new endpoint 16232 }) 16233 .fail(function(data) { 16234 if (data.status == 503) { 16235 jsFlash("Endpoint was copied to "+forward, "success"); 16236 s.allFwdBtn.popover('hide'); 16237 s.fwdBtn.attr('style', ''); 16238 location.reload(true); //reload the page to show the new endpoint 16239 } else { 16240 jsFlash("Endpoint was not copied!", "danger"); 16241 s.fwdMsgBtn.prop('disabled',false); 16242 } 16243 }); 16244 } 16245 }); 16246 16247 s.fwdMsgFld.on("keyup", function(e) { 16248 log(e.which); 16249 if(e.which == 13) 16250 s.fwdMsgBtn.trigger("click"); 16251 }); 16252 }; 16253 16254 /** 16255 * public methods 16256 */ 16257 return { 16258 init: init 16259 }; 16260 16261 16262})(); 16263 16264 16265 16266/** 16267 * STATS GRID SETTINGS 16268 * This module loads, saves and builds the call center stat grid settings in the call center 16269 * homepage 16270 * 16271 * @requires bootstrap.js 16272 * @requires bootstrap-switch.js 16273 * @requires jquery.storageapi.js 16274 * @returns {object} public entry to init method. 16275 **/ 16276 16277var StatsGridSettings = (function() { 16278 16279 /** 16280 * local settings variables accessible across module methods 16281 */ 16282 var s = { 16283 settings: null, 16284 storage: null 16285 }; 16286 16287 /** 16288 * initializes the stats grid settings. assigns local storage and starts building html 16289 */ 16290 var init = function() { 16291 s.storage = $.localStorage; 16292 16293 buildHtml(); 16294 }, 16295 16296 /** 16297 * appends stats grid settings html to the form 16298 * 16299 * @param {string} html is the stats grid settings html 16300 */ 16301 appendHtml = function (html) { 16302 $('#stats-grid-form').append(html); 16303 16304 bindUIActions(); 16305 }, 16306 16307 /** 16308 * binds events to stats grid setting buttons. initializes popovers and switches 16309 */ 16310 bindUIActions = function() { 16311 //edit json on changes to fields, switches 16312 $('#stats-grid-form .label-popover').popover({ 16313 trigger: 'hover', 16314 template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><div class="popover-content"><p></p></div></div></div>', 16315 container: 'body', 16316 html: true, 16317 delay: { show: 200, hide: 0 } 16318 }); 16319 16320 $("#stats-grid-form .checkbox-switch").bootstrapSwitch({ 16321 onColor: 'success', 16322 onSwitchChange: function(e, state){ 16323 log('switch changed to: '+state); 16324 16325 var target = $(e.target).data('target'); 16326 16327 $(target).collapse('toggle'); 16328 } 16329 }); 16330 16331 $('#reset-grid-settings').on('click', function(){ 16332 resetSettings(); 16333 }); 16334 }, 16335 16336 /** 16337 * reset settings to default and rebuild stats grid settings html 16338 */ 16339 resetSettings = function() { 16340 log('Stats Grid Settings: Resetting stats grid settings.'); 16341 16342 s.storage.remove('statsGridSettings'); 16343 16344 rebuildHtml(); 16345 StatsGrid.rebuild(); 16346 }, 16347 16348 /** 16349 * remove settings html and build new html. 16350 */ 16351 rebuildHtml = function(){ 16352 $('#stats-grid-form').empty(); 16353 16354 buildHtml(); 16355 }, 16356 16357 /** 16358 * build form fields html with settings 16359 */ 16360 buildHtml = function() { 16361 s.settings = loadLocalSettings(); 16362 16363 var html = '<div class="accordion" id="stats-grid-accordion">'; 16364 var propUndefined = false;
16365 16366 $.each(s.settings, function(i, setting) { 16367 //log(setting); 16368 16369 // test object properties to see if they exist in settings 16370 $.each(['id', 'title', 'settingTitle', 'description', 'abbr', 'show', 'values'], function (i, prop) { 16371 // log(prop); 16372 // log(setting[prop]); 16373 16374 if (typeof setting[prop] == 'undefined') { 16375 log('Stats Grid Settings: Found an undefined property in stats grid settings!'); 16376 16377 propUndefined = true; 16378 return false; 16379 } 16380 }); 16381 16382 16383 if (!propUndefined) { 16384 var checked = ''; 16385 var collapse = ''; 16386 16387 if (setting.show) { 16388 checked = 'checked'; 16389 collapse = 'in'; 16390 } 16391 16392 if (setting.id == "serviceLevel") 16393 { 16394 html += '<div class="accordion-group stats-grid-setting" data-grid-stat-id="'+setting.id+'" data-grid-stat-title="'+setting.title+'" data-grid-stat-setting-title="'+setting.settingTitle+'" data-grid-stat-abbr="'+setting.abbr+'">' + 16395 '<div class="accordion-heading">'+ 16396 '<span class="accordion-no-toggle stats-grid-toggle">'+ 16397 '<span class="label-popover" data-content="'+setting.description+'">'+setting.settingTitle+' <i class="icon-info-sign"></i></span>'+ 16398 '<input type="checkbox" name="'+setting.id+'-checkbox" data-toggle="collapse" data-target="#'+setting.id+'" class="checkbox-switch" '+checked+'> '+ 16399 '</span>'+ 16400 '</div>' + 16401 '<div id="'+setting.id+'" class="collapse accordion-body '+collapse+'">'+ 16402 16403 '<div class="row">'+ 16404 '<div class="span3">'+ 16405 '<div class="control-group">'+ 16406 16407 '</div>' + 16408 '</div>' + 16409 '<div class="span3">'+ 16410 '<div class="control-group">'+ 16411 '<label class="control-label label-popover" data-content="' + _('When the stat turns completely red. Higher number on this stat is better, so this is a lower limit.') + '">' + _('Threshold') + ' <i class="icon-info-sign"></i></label>'+ 16412 '<div class="controls">'+ 16413 '<input type="text" name="'+setting.id +'-upper" class="micro" placeholder="" value="'+setting.values.upper+'"> '+ 16414 '<span class="help-inline muted"></span>'+ 16415 '</div>' + 16416 '</div>' + 16417 '</div>' + 16418 '</div>' + 16419 16420 '</div>' + 16421 '</div>'; 16422 } 16423 else 16424 html += '<div class="accordion-group stats-grid-setting" data-grid-stat-id="'+setting.id+'" data-grid-stat-title="'+setting.title+'" data-grid-stat-setting-title="'+setting.settingTitle+'" data-grid-stat-abbr="'+setting.abbr+'">' + 16425 '<div class="accordion-heading">'+ 16426 '<span class="accordion-no-toggle stats-grid-toggle">'+ 16427 '<span class="label-popover" data-content="'+setting.description+'">'+setting.settingTitle+' <i class="icon-info-sign"></i></span>'+ 16428 '<input type="checkbox" name="'+setting.id+'-checkbox" data-toggle="collapse" data-target="#'+setting.id+'" class="checkbox-switch" '+checked+'> '+ 16429 '</span>'+ 16430 '</div>' + 16431 '<div id="'+setting.id+'" class="collapse accordion-body '+collapse+'">'+ 16432 16433 '<div class="row">'+ 16434 '<div class="span3">'+ 16435 '<div class="control-group">'+ 16436 '<label class="control-label label-popover" data-content="' + _('When the stat turns completely yellow. Should be less than the Upper Threshold. If left blank, color will turn yellow at 70% of Upper Threshold.') + '">' + _('Lower Threshold') + ' <i class="icon-info-sign"></i></label>'+ 16437 '<div class="controls">'+ 16438 '<input type="text" name="'+setting.id +'-lower" class="micro" placeholder="" value="'+setting.values.lower+'"> '+ 16439 '<span class="help-inline muted"></span>'+ 16440 '</div>' + 16441 '</div>' + 16442 '</div>' + 16443 '<div class="span3">'+ 16444 '<div class="control-group">'+ 16445 '<label class="control-label label-popover" data-content="' + _('When the stat turns completely red. Should be more than the Lower Threshold.') + '">' + _('Upper Threshold') + ' <i class="icon-info-sign"></i></label>'+ 16446 '<div class="controls">'+ 16447 '<input type="text" name="'+setting.id +'-upper" class="micro" placeholder="" value="'+setting.values.upper+'"> '+ 16448 '<span class="help-inline muted"></span>'+ 16449 '</div>' + 16450 '</div>' + 16451 '</div>' + 16452 '</div>' + 16453 16454 '</div>' + 16455 '</div>'; 16456 16457 } else 16458 return false;
16459 16460 }); 16461 16462 16463 if(!propUndefined) { 16464 html += '</div>'; 16465 16466 appendHtml(html); 16467 } else { 16468 resetSettings(); 16469 } 16470 16471 }, 16472 16473 /** 16474 * collect and save settings to local 16475 * 16476 */ 16477 saveNewSettings = function() { 16478 var newSettings = collectSettings(); 16479 16480 saveLocalSettings(newSettings); 16481 }, 16482 16483 /** 16484 * update settings with settings form field values 16485 * 16486 * @returns {object} settings is an object with all the stats grid settings 16487 */ 16488 collectSettings = function() { 16489 log('Stats Grid Settings: collecting settings from fields.'); 16490 16491 var settings = loadLocalSettings(); 16492 16493 $('.stats-grid-setting').each(function(){ 16494 var id = $(this).data('grid-stat-id'); 16495 var show = $("[name='"+id+"-checkbox']").prop("checked"); 16496 var upper = $("[name='"+id+"-upper']").val(); 16497 var lower = $("[name='"+id+"-lower']").val(); 16498 if (lower == null) 16499 lower = upper; 16500 //remove everything but digits and decimals 16501 if (upper !== '') 16502 upper = parseFloat(upper.replace(/[^0-9.]/g, '')); 16503 if (lower !== '') 16504 lower = parseFloat(lower.replace(/[^0-9.]/g, '')); 16505 if(lower === null) 16506 lower = ''; 16507 if(upper === null) 16508 upper = ''; 16509 if (lower > upper) 16510 upper = lower; 16511 16512 $.each(settings, function(i){ 16513 16514 if(settings[i].id == id ) { 16515 settings[i].show = show; 16516 settings[i].values.upper = upper; 16517 settings[i].values.lower = lower; 16518 16519 return false; 16520 } 16521 }); 16522 16523 }); 16524 16525 //log(settings); 16526 16527 return settings; 16528 }, 16529 16530 /** 16531 * save settings to local storage 16532 * 16533 * @param {object} settings is an object with all the stats grid settings 16534 */ 16535 saveLocalSettings = function(settings) { 16536 log('Stats Grid Settings: saving settings to local storage.'); 16537 16538 s.settings = settings; 16539 16540 var json = JSON.stringify(settings); 16541 16542 s.storage.set('statsGridSettings', json); 16543 }, 16544 16545 /** 16546 * get settings from local storage, returns json 16547 * 16548 * @returns {object} localSettings is settings from local storage or the default settings object 16549 */ 16550 loadLocalSettings = function() { 16551 var localSettings; 16552 16553 if(s && s.storage && s.storage.isSet('statsGridSettings')) 16554 localSettings = s.storage.get('statsGridSettings'); //.get() converts json to js object 16555 else 16556 localSettings = defaultSettings(); 16557 16558 return localSettings; 16559 }, 16560 16561 /** 16562 * default settings if nothing exists 16563 * 16564 * @returns {object} settings is an object with all the default stats grid settings 16565 */ 16566 defaultSettings = function() { 16567 var settings = [ 16568 { 16569 "id": "callersWaiting", 16570 "title": _("Callers Waiting"), 16571 "settingTitle": _("Callers Waiting"), 16572 "description": _("The amount of callers waiting in the queue."), 16573 "abbr": "CW", 16574 "show": true, 16575 "values": { 16576 "upper": 5, 16577 "lower": '' 16578 } 16579 }, 16580 { 16581 "id": "averageWait", 16582 "title": _("Average Wait Time"), 16583 "settingTitle": _("Average Wait Time (sec)"), 16584 "description": _("The average time a caller waits in the queue before the call is either answered or they hang up."), 16585 "abbr": "AWT", 16586 "show": true, 16587 "values": { 16588 "upper": 60, 16589 "lower": '' 16590 } 16591 }, 16592 { 16593 "id": "averageHandling", 16594 "title": _("Average Handling Time"), 16595 "settingTitle": _("Average Handling Time")+" ("+_("sec") +")", 16596 "description": _("The average of talk time, hold time and disposition time combined."), 16597 "abbr": "AHT", 16598 "show": true, 16599 "values": { 16600 "upper": 240, 16601 "lower": '' 16602 } 16603 }, 16604 { 16605 "id": "serviceLevel", 16606 "title": _("Service Level"), 16607 "settingTitle": _("Service Level")+"(%)", 16608 "description": _("The ratio of calls meeting the configurable service level agreement."), 16609 "abbr": "SL", 16610 "invert": "yes", 16611 "show": false, 16612 "values": { 16613 "upper": 75, 16614 "lower": '' 16615 } 16616 }, 16617 { 16618 "id": "abandonRate", 16619 "title": _("Abandon Rate"), 16620 "settingTitle": _("Abandon Rate")+"(%)", 16621 "description": _("The ratio of abandoned calls to calls offered."), 16622 "abbr": "ABN", 16623 "show": true, 16624 "values": { 16625 "upper": 15.0, 16626 "lower": '' 16627 } 16628 }, 16629 { 16630 "id": "callsAnswered", 16631 "title": _("Calls Answered"), 16632 "settingTitle": _("Calls Answered"), 16633 "description": _("Total calls answered."), 16634 "abbr": "CA", 16635 "show": true, 16636 "values": { 16637 "upper": '', 16638 "lower": '' 16639 } 16640 }, 16641 { 16642 "id": "callVolume", 16643 "title": _("Call Volume"), 16644 "settingTitle": _("Call Volume"), 16645 "description": _("Overall calls, including calls that never made it all the way through a auto attendant."), 16646 "abbr": "CV", 16647 "show": true, 16648 "values": { 16649 "upper": '', 16650 "lower": '' 16651 } 16652 }, 16653 { 16654 "id": "abandonedCalls", 16655 "title": _("Abandoned Calls"), 16656 "settingTitle": _("Abandoned Calls"), 16657 "description": _("Calls that abandoned the queue before being dispatched to an agent."), 16658 "abbr": "AC", 16659 "show": false, 16660 "values": { 16661 "upper": 10, 16662 "lower": '' 16663 } 16664 } 16665 ]; 16666 16667 return settings; 16668 }; 16669 16670 /** 16671 * public methods 16672 */ 16673 return { 16674 init: init, 16675 rebuild: rebuildHtml, 16676 load: loadLocalSettings, 16677 save: saveNewSettings 16678 }; 16679 16680 16681})(); 16682 16683/** 16684 * STATS GRID 16685 * This module builds a call center stats grid using settings from StatsGridSettings. 16686 * By default, stats are refreshed in an interval of 60 seconds, except for the callers waiting 16687 * 16688 * @requres StatsGridSettings 16689 * @returns public entry to init method. 16690 **/ 16691 16692var StatsGrid = (function() { 16693 16694 /** 16695 * local settings variables accessible across module methods 16696 */ 16697 var s = { 16698 settings: null, 16699 queue: null 16700 }; 16701 16702 /** 16703 * initializes the stats grid. to load stats and build the grid 16704 * 16705 * @param {integer} interval - a number in ms for the refresh interval. 16706 **/ 16707 var init = function(interval) { 16708 StatsGridSettings.init(); 16709 16710 s.queue = $.localStorage.get('statsGridQueue'); 16711 16712 if (typeof s.queue == 'undefined' || s.queue == 'null') 16713 s.queue = null; 16714 16715 if (typeof interval == 'undefined' || isNaN(interval)) 16716 interval = 60000; 16717 16718 // s.settings = StatsGridSettings.load(); 16719 16720 loadStats(); 16721 16722 setInterval(loadStats, interval); 16723 }, 16724 16725 /** 16726 * grabs current stats grid settings, shows the loading animation and rebuilds the stats grid. 16727 **/ 16728 reBuildGrid = function() { 16729 16730 $('#dash-stats-body').html('<div class="loading-container relative" style="top:0px;padding: 50px 0;">' + 16731 '<div class="loading-spinner la-ball-spin-clockwise">' + 16732 '<div></div>' + 16733 '<div></div>' + 16734 '<div></div>' + 16735 '<div></div>' + 16736 '<div></div>' + 16737 '<div></div>' + 16738 '<div></div>' + 16739 '<div></div>' + 16740 '</div>' + 16741 '</div>'); 16742 16743 loadStats(); 16744 }, 16745 16746 /** 16747 * loads the current stats and then updates or builds the stats grid to
16747show them 16748 **/ 16749 loadStats = function() { 16750 //make sure settings are the latest 16751 s.settings = StatsGridSettings.load(); 16752 16753 /*if ($.localStorage.get('statsGridDomain') == sub_domain) 16754 s.queue = $.localStorage.get('statsGridQueue'); 16755 else 16756 s.queue = null;*/ 16757 s.queue = null; 16758 16759 var multiple = false; 16760 var queueSelectCount =0; 16761 $("#manager_queues .graph-checkbox").each(function() { 16762 if($(this).is(':checked')) { 16763 queueSelectCount++; 16764 if (s.queue == null) 16765 s.queue = $(this).data('graphname'); 16766 else 16767 { 16768 multiple = true; 16769 s.queue = s.queue+","+$(this).data('graphname'); 16770 } 16771 16772 16773 } 16774 16775 }); 16776 16777 16778 var url = '/portal/callqueues/statsummary?'; 16779 var sla = $.localStorage.get('reports_sla_time'); 16780 16781 $.localStorage.set('statsGridQueueChecked',null); 16782 16783 16784 if (multiple) 16785 { 16786 url += "queue_list="+s.queue+"&"; 16787 } 16788 else if (typeof s.queue !== 'undefined' && s.queue != null && s.queue != '') 16789 { 16790 url += "queue="+s.queue+"&"; 16791 $.localStorage.set('statsGridQueueChecked',"|"+s.queue); 16792 } 16793 16794 $.localStorage.set('statsGridQueueCheckedCount',queueSelectCount); 16795 16796 16797 if (typeof sla == 'undefined' || sla == null || sla == '') 16798 sla =60; 16799 16800 url += "sla="+sla; 16801 16802 $.getJSON(url, function(data) { 16803 log('Stats Grid: loading stats data from ' + url); 16804 log(data); 16805 if($('.dash-stats-grid-table').length) 16806 updateGrid(data); 16807 else 16808 buildGrid(data); 16809 }) 16810 .fail(function() { 16811 log( "Stats Grid: statsummary fail" ); 16812 }) 16813 .always(function() { 16814 log( "Stats Grid: statsummary complete" ); 16815 }); 16816 }, 16817 16818 /** 16819 * builds the stats grid table structure and then updates the grid with stat data. 16820 * 16821 * @param {object} data is the stats data object retrieved from loadStats 16822 **/ 16823 buildGrid = function(data) { 16824 log('StatsGrid: buildGrid'); 16825 //grab stats 16826 var statsBody = $('#dash-stats-body'); 16827 var statShown = false; 16828 16829 statsBody.empty(); 16830 16831 $.each(s.settings, function(i, stat) { 16832 if(stat.show) { 16833 var html = statHtml(stat); 16834 16835 statsBody.append(html); 16836 16837 statShown = true; 16838 } 16839 }); 16840 16841 if(!statShown) 16842 $('#dash-stats-body').html('<p class="muted text-center">Please select a stat to show in "settings".</p>'); 16843 else 16844 { 16845 updateGrid(data); 16846 if(typeof $(document).popover == 'function') 16847 { 16848 var opts = { 16849 trigger: 'hover', 16850 placement: 'top', 16851 template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>', 16852 container: 'body', 16853 html: true, 16854 delay: { show: 200, hide: 0 } 16855 }; 16856 $('#dash-stats-body .label-popover.popover-stats').popover(opts); 16857 } 16858 } 16859 16860 }, 16861 16862 /** 16863 * updates the stats grid with stat data. colors each stat accordingly 16864 * 16865 * @param {object} data is the stats data object retrieved from loadStats 16866 **/ 16867 updateGrid = function(data) { 16868 log('StatsGrid: updateGrid'); 16869 16870 $('.dash-stats-data-row td').each(function(){ 16871 var gridStat = $(this).data('grid-stat'); 16872 var statId = $(this).attr('id'); 16873 var error = false; 16874 var val; 16875 16876 try { 16877 if (gridStat == "CW") { 16878 cwSum(); 16879 return true; 16880 } else { 16881 if($.localStorage.isSet('statsGridQueueChecked') && $.localStorage.get('statsGridQueueChecked')!=null) 16882 val = parseFloat(data[$.trim($.localStorage.get('statsGridQueueChecked')).replace(/^\|+|\|+$/g, '')][gridStat]); 16883 else 16884 val = parseFloat(data['*'][gridStat]); 16885 } 16886 } catch (e) { 16887 log('Stats Grid: ERROR parsing data'); 16888 log(e); 16889 error = true; 16890 } 16891 16892 if(!error) { 16893 16894 changeStatColor(statId, val); 16895 16896 if (gridStat == "ABN" ||gridStat == "SL" ) 16897 { 16898 val = val + "%"; 16899 } 16900 else if (gridStat == "AHT" || gridStat == "AWT") { 16901 var m = Math.floor(val/60); 16902 var s; 16903 16904 if (val < 60) 16905 s = val; 16906 else 16907 s = val%60; 16908 16909 val = m+":"+(s < 10 ? '0'+s : s); 16910 } 16911 } else { 16912 val = "<span title='No data'>–</span>"; 16913 } 16914 16915 //set the value in the corresponding grid cell 16916 $(this).html(val); 16917 16918 }); 16919 //alert($.trim($.localStorage.get('statsGridQueueChecked')).replace(/^\|+|\|+$/g, '')); 16920 if($.localStorage.isSet('statsGridQueueCheckedCount') && $.localStorage.get('statsGridQueueCheckedCount')==0) 16921 $('#stats-grid-queue-label').text(_('All Queues')); 16922 else if($.localStorage.isSet('statsGridQueueChecked') && $.localStorage.get('statsGridQueueChecked')!=null) 16923 $('#stats-grid-queue-label').text($.trim($.localStorage.get('statsGridQueueChecked')).replace(/^\|+|\|+$/g, '')); 16924 else if($.localStorage.isSet('statsGridQueueCheckedCount') && $.localStorage.get('statsGridQueueCheckedCount')>0) 16925 { 16926 $('#stats-grid-queue-label').text($.localStorage.get('statsGridQueueCheckedCount')+' '+_('Queues')); 16927 } 16928 }, 16929 16930 /** 16931 * shows an alert at the top of the stats grid 16932 * 16933 * @param {string} msg is the message text to show in the alert 16934 **/ 16935 gridAlert = function(msg) { 16936 var statsBody = $('#dash-stats-body'); 16937 var html = '<div class="alert">'+ 16938 '<button type="button" class="close" data-dismiss="alert">×</button>'+ 16939 msg + 16940 '</div>'; 16941 16942 statsBody.prepend(html); 16943 }, 16944 16945 /** 16946 * totals the number of callers waiting and updates the stat in the stats grid 16947 **/ 16948 cwSum = function() { 16949 log('Stats Grid: calculating callers waiting'); 16950 16951 var statId = "dash-stats-grid-cw"; 16952 var value; 16953 var sum = 0; 16954 // iterate through each td based on class and add the values 16955 16956 if($.localStorage.get('statsGridQueueCheckedCount')>1 || ($.localStorage.isSet('statsGridQueueChecked') && $.localStorage.get('statsGridQueueChecked')!=null) ) 16957 { 16958 $("#manager_queues .graph-checkbox").each(function() { 16959 if ($(this).is(':checked')) 16960 { 16961 value = $(this).parent().parent().find(".queuelength").text(); 16962 // add only if the value is number 16963 if (!isNaN(value) && value.length !== 0) { 16964 sum += parseFloat(value); 16965 16966 } 16967 } 16968 }); 16969 } 16970 else 16971 { 16972 $(".queuelength").each(function() { 16973 16974 value = $(this).text(); 16975 // add only if the value is number 16976 if (!isNaN(value) && value.length !== 0) { 16977 sum += parseFloat(value); 16978 }}); 16979 } 16980 16981 log("CW : "+ sum); 16982 changeStatColor(statId, sum); 16983 16984 $('#' + statId).text(sum); 16985 }, 16986 16987 /** 16988 * totals the number of callers waiting and updates the stat in the stats grid 16989 * 16990 * @param {string} stat is the object for an individual stat 16991 * @returns {string} html is the table html for an individual stat in the stats grid 16992 **/ 16993 statHtml = function(stat) { 16994 log(stat); 16995 var desc = ''; 16996 var subDesc = ''; 16997 16998 if (typeof stat.invert == 'undefined') 16999 stat.invert="no"; 17000 var help=''; 17001 if (typeof(titles_supervisor[stat.abbr]) != 'undefined' && typeof(descriptions_supervisor[stat.abbr][0]) != 'undefined') 17002 { 17003 desc = descriptions_supervisor[stat.abbr][0]; 17004 17005 if (typeof(descriptions_supervisor[stat.abbr][1]) != 'undefined') 17006 subDesc = descriptions_supervisor[stat.abbr][1]; 17007 17008 help = '<span class="label-popover popover-stats" data-title="'+titles_supervisor[stat.abbr]+'" data-content="'+desc+'<p>'+subDesc+'</p>"><i class="icon-info-sign"></i></span>'; 17009 } 17010 var html = '<table class="dash-stats-grid-table">' + 17011 '<tbody>'+ 17012 '<tr class="dash-stats-label-row">'+ 17013 '<td title="'+stat.title+'">'+stat.abbr+help+ '</td>'+ 17014 '</tr>'+ 17015 '<tr class="dash-stats-data-row">'+ 17016 '<td id="dash-stats-grid-'+stat.abbr.toLowerCase()+'" data-grid-invert="'+stat.invert+'" data-grid-stat="'+stat.abbr+'" data-grid-stat-upper-limit="'+stat.values.upper+'" data-grid-stat-lower-limit="'+stat.values.lower+'"></td>'+ 17017 '</tr>'+ 17018 '</tbody>'+ 17019 '</table>'; 17020 17021 return html; 17022 }, 17023 17024 /** 17025 * changes the stat color background based on the current value and its ratio to the thresholds 17026 * 17027 * @param {string} statId is the object for an individual stat 17028 * @param {number} val is the object for an individual stat 17029 **/ 17030 changeStatColor = function(statId, val) { 17031 var pct = 0; 17032 var upperLimit = $('#' + statId).data('grid-stat-upper-limit'); 17033 var lowerLimit = $('#' + statId).data('grid-stat-lower-limit'); 17034 var lowerLimitPct; 17035 var invert = false;
17036 17037 if ("yes"==$('#' + statId).data('grid-invert')) 17038 invert=true; 17039 17040 if(!upperLimit && !lowerLimit) { 17041 $('#' + statId).css({ 17042 'border': '1px solid #eee', 17043 'box-sizing':'border-box', 17044 '-moz-box-sizing':'border-box', 17045 '-webkit-box-sizing':'border-box' 17046 }); 17047 } else { 17048 17049 17050 val = parseFloat(val); 17051 lowerLimitPct = lowerLimit/upperLimit; 17052 17053 if (invert) 17054 { 17055 17056 if (upperLimit && 100-val !== 0) 17057 pct = (100-val)/(100 -upperLimit); 17058 else 17059 pct = 0; 17060 } 17061 else 17062 { 17063 //if there is no upper limit, use lowerlimit for percent 17064 if (upperLimit && val !== 0) 17065 pct = val/upperLimit; 17066 else if (lowerLimit) 17067 pct = val/lowerLimit; 17068 else 17069 pct = 0; 17070 } 17071 17072 17073 17074 17075 17076 if (invert) 17077 log(statId+ pct); 17078 // log(Stats Grid: " + statId + " pct: " +pct); 17079 // log(Stats Grid: " + statId + " lowerLimitPct: " +lowerLimitPct); 17080 17081 var pctColors = setColorObj(lowerLimitPct); 17082 17083 var color = getPctColor(pct, pctColors); 17084 // log("color: "+color); 17085 $('#' + statId).animate({ 17086 backgroundColor: color 17087 }, 200); 17088 } 17089 }, 17090 17091 /** 17092 * calulates the stat color based on percent of threshold 17093 * 17094 * @param {number} pct is the percent of the stat value versus the threshold 17095 * @param {object} pctColors is an object of colors with associated percents 17096 **/ 17097 getPctColor = function(pct, pctColors) { 17098 var arrayLength = pctColors.length; 17099 var lastColors; 17100 17101 if (pct > pctColors[arrayLength-1].pct) { 17102 lastColors = pctColors[arrayLength-1]; 17103 17104 return 'rgb(' + [lastColors.color.r, lastColors.color.g, lastColors.color.b].join(',') + ', 0.6)'; 17105 } 17106 else if (pct === 0) { 17107 lastColors = pctColors[0]; 17108 17109 return 'rgb(' + [lastColors.color.r, lastColors.color.g, lastColors.color.b].join(',') + ', 0.6)'; 17110 } 17111 else 17112 for (var i = 0; i < arrayLength; i++) { 17113 if (pct <= pctColors[i].pct) { 17114 var lower = pctColors[i - 1]; 17115 var upper = pctColors[i]; 17116 var range = upper.pct - lower.pct; 17117 var rangePct = (pct - lower.pct) / range; 17118 var pctLower = 1 - rangePct; 17119 var pctUpper = rangePct; 17120 var color = { 17121 r: Math.floor(lower.color.r * pctLower + upper.color.r * pctUpper), 17122 g: Math.floor(lower.color.g * pctLower + upper.color.g * pctUpper), 17123 b: Math.floor(lower.color.b * pctLower + upper.color.b * pctUpper) 17124 }; 17125 return 'rgb(' + [color.r, color.g, color.b].join(',') + ', 0.6)'; 17126 // or output as hex if preferred 17127 } 17128 } 17129 }, 17130 17131 /** 17132 * creates the colors object that matches color to a percent value. 17133 * 17134 * @param {number} lowerLimitPct is the percent calculated from the lower threshold and upper threshold 17135 * @returns {object} pctColors is an object of colors with associated percents 17136 **/ 17137 setColorObj = function(lowerLimitPct) { 17138 var pctColors; 17139 17140 if (typeof lowerLimitPct == 'undefined' || !lowerLimitPct || lowerLimitPct >= 1.0) 17141 lowerLimitPct = 0.7; 17142 17143 pctColors = [ 17144 { pct: 0.0, color: { r: 0x00, g: 0xff, b: 0 } }, 17145 { pct: lowerLimitPct, color: { r: 0xff, g: 0xff, b: 0 } }, 17146 { pct: 1.0, color: { r: 0xff, g: 0x00, b: 0 } } 17147 ]; 17148 17149 return pctColors; 17150 }; 17151 17152 /** 17153 * public methods 17154 */ 17155 return { 17156 init: init, 17157 load: loadStats, 17158 rebuild: reBuildGrid, 17159 cw: cwSum, 17160 alert: gridAlert 17161 }; 17162 17163 17164})(); 17165 17166/** 17167 * AUDIO PLAYER 17168 * This module builds HTML5 audio player 17169 * 17170 * @returns public entry to buildPlayer,playButton, downloadButton, and bindUIActions 17171 **/ 17172 17173var AudioPlayer = (function() { 17174 17175 /** 17176 * binds events to audio player and play button. 17177 * 17178 * @param {number} i helps identify the audio player 17179 */ 17180 var bindUIActions = function(i) { 17181 var $audio = $('#audio-player-' + i ); 17182 var $playtoggle = $('#playtoggle-' + i ); 17183 var title = 'Play'; 17184 17185 $audio.on('play',function() { 17186 $playtoggle.tooltip('hide'); 17187 $playtoggle.addClass('waiting'); 17188 $playtoggle.attr('title', ''); 17189 $playtoggle.attr('data-original-title', _('Loading')); 17190 }).on('playing', function() { 17191 $playtoggle.tooltip('hide'); 17192 $playtoggle.removeClass('waiting'); 17193 $playtoggle.addClass('playing'); 17194 $playtoggle.attr('title', ''); 17195 $playtoggle.attr('data-original-title', _('Stop')); 17196 }).on('pause ended', function() { 17197 $playtoggle.tooltip('hide'); 17198 $playtoggle.removeClass('playing'); 17199 $playtoggle.removeClass('waiting'); 17200 $playtoggle.attr('data-original-title', title); 17201 $audio[0].load(); 17202 }); 17203 17204 $playtoggle.click(function() { 17205 if ($audio[0].paused) { 17206 $audio[0].play(); 17207 } 17208 else { 17209 $audio[0].pause(); 17210 } 17211 }); 17212 }, 17213 17214 /** 17215 * builds the HTML5 audio element with source paths. combines with the playbutton. 17216 * 17217 * @param {string} path is the URL used for the source of the audio file 17218 * @param {integer} i is the integer to help identify the audio player 17219 * @param {string} extraClass is an HTML class that is passed on to the play button HTML 17220 * @returns {string} playerHtml is the combined audio elements and play button 17221 */ 17222 buildPlayer = function(path, i, extraClass){ 17223 path = cleanPath(path); 17224 17225 var ogg = path + "&convert=ogg", 17226 aac = path + "&convert=aac", 17227 wav = path + "&convert=signed"; 17228 17229 var playerHtml = '<audio id="audio-player-' + i + '"" preload="none">' + 17230 17231 '<source id="audio-player-' + i +'-wav-1" src="' + wav + '" type="audio/x-wav" >' + 17232 '<source id="audio-player-' + i +'-wav-2" src="' + ogg + '" type="audio/ogg; codecs=vorbis">' + 17233 '<source id="audio-player-' + i +'-wav-3" src="' + aac + '" type="audio/mp4" >' +
17234 '<source id="audio-player-' + i +'-aac-1" src="' + aac + '" type="audio/aac" >' + 17235 17236 '</audio>'; 17237 17238 var playHtml = playButton(path, i, extraClass); 17239 17240 playerHtml += playHtml; 17241 17242 return playerHtml; 17243 }, 17244 17245 /** 17246 * builds the HTML5 audio element with source paths. combines with the playbutton. 17247 * 17248 * @param {string} path is the URL used for the source of the audio file 17249 * @param {integer} i is the integer to help identify the audio player 17250 * @param {string} extraClass is an HTML class that is passed on to the play button HTML 17251 * @returns {string} playHtml is the combined the play button 17252 */ 17253 playButton = function(path, i, extraclass){ 17254 var playHtml = '<span id="playtoggle-' + i +'" class="play helpsy '+extraclass+'" title="Play"></span>'; 17255 17256 return playHtml; 17257 }, 17258 17259 /** 17260 * build the download button 17261 * 17262 * @param {string} path is the URL used for the source of the audio file 17263 * @returns {string} buttonHtml is the download button html 17264 */ 17265 downloadButton = function(path){ 17266 path = cleanPath(path); 17267 17268 path += "&convert=signed"; 17269 17270 var buttonHtml = "<a class='download-audio helpsy' title='Download' target='_blank' href='"+path+"'></a>"; 17271 17272 return buttonHtml; 17273 }, 17274 17275 /** 17276 * removes html characters from path and changes replaces localhost with server name 17277 * 17278 * @returns {string} path is the URL used for the source of the audio file 17279 */ 17280 cleanPath = function(path){ 17281 var server = checkServer(); 17282 17283 path = path.replace(/\b&\b/g, '&'); 17284 path = path.replace('localhost', server); 17285 17286 return path; 17287 }, 17288 17289 /** 17290 * determines server name and replaces localhost with corp (for development purposes) 17291 */ 17292 checkServer = function() { 17293 var server = window.location.hostname; 17294 17295 if (server =="localhost") 17296 server = "corp.netsapiens.com"; 17297 17298 return server; 17299 }; 17300 17301 /** 17302 * public methods 17303 */ 17304 return { 17305 build: buildPlayer, 17306 playButton: playButton, 17307 downloadButton: downloadButton, 17308 bind: bindUIActions 17309 }; 17310 17311 17312})(); 17313 17314/**
17315 * NETSAPIENS search and sort contacts module based on NSAgentSearch OMP-56 17316 * Used in Contacts dock.ctp and popout.ctp 17317 * 17318 * @requires jquery-1.8.3.mins.js 17319 * @requires NSPresenceSearchSort module 17320 * @returns {object} public methods 17321 */ 17322var NSContactSearch = (function () { 17323 var sortTimerSet =false; 17324 /** 17325 * initialize NSAgentSearch 17326 */ 17327 var init = function(actionsId, tableId) { 17328 // Get localStorage sort_type value 17329 var local = $.localStorage.get('contacts_sort_type_'+actionsId); 17330 17331 // Set sortType value if local falsy or undefined "Last Name", else local value 17332 var sortType = (!local || typeof local === "undefined") ? "Last Name" : local; 17333 17334 // Translate and display sortType 17335 var sortTypeText = $('#' + actionsId + ' .contacts-sortby-toggle').find('[data-contacts-sort-type="' + sortType + '"]').text(); 17336 $('#' + actionsId + ' .contacts-current-sortby').text(sortTypeText); 17337 17338 _resetContacts(tableId); 17339 _sortContactsTable(actionsId, tableId); 17340 _bindUIActions(actionsId, tableId); 17341 }, 17342 17343 /** 17344 * bind listeners for sortings, search string entry, and show/hide toggle of search field 17345 */ 17346 _bindUIActions = function(actionsId, tableId) { 17347 log('NSContactSearch._bindUIActions'); 17348 17349 var $inputBox = $('#' + actionsId + ' .contacts-searchbox-input'); 17350 var $searchBox = $('#' + actionsId + ' .contacts-searchbox'); 17351 var $searchDropToggle = $('#' + actionsId + ' .contacts-sort-dropdown .dropdown-toggle'); 17352 var $searchBoxIcon = $('#' + actionsId + ' .contacts-searchbox-icon span'); 17353 17354 var isOpen = false; 17355 17356 /* select sort option */ 17357 $('#' + actionsId + ' .contacts-sortby-toggle a').on('click', function(){ 17358 var sortTypeText = $(this).text(); 17359 var sortType = $(this).data('contacts-sort-type'); 17360 var sortOrder = $(this).data('contacts-sort-order'); 17361 var previousSortType = $.localStorage.get('contacts_sort_type_'+actionsId); 17362 var previousSortOrder = $.localStorage.get('contacts_sort_order_'+actionsId); 17363 17364 if( previousSortType == sortType ) sortOrder = previousSortOrder == 'desc' ? 'asc' : 'desc'; /// reverse order when sorting by same type 17365 17366 $.localStorage.set('contacts_sort_type_'+actionsId,sortType); 17367 $.localStorage.set('contacts_sort_order_'+actionsId,sortOrder); 17368 $('#' + actionsId + ' .contacts-current-sortby').text(sortTypeText); 17369 17370 _sortContactsTable(actionsId, tableId); 17371 17372 return true; 17373 }); 17374 17375 /* read search string after each key press */ 17376 $inputBox.on('keyup', function() { 17377 _resetContacts(); 17378 }); 17379 17380 /* toggle the search field */ 17381 $('#' + actionsId + ' .contacts-searchbox-icon').click(function(){ 17382 17383 if(isOpen == false) 17384 { 17385 $searchBox.addClass('searchbox-open'); 17386 $inputBox.focus(); 17387 $searchDropToggle.fadeTo('fast', 0); 17388 $searchBoxIcon.removeClass('iconfont-search').addClass('iconfont-remove'); 17389 17390 /* set height of scroll container so it doesn't shift when searching */ 17391 $('.dock-contacts .scroll-container').css('height', function(){ 17392 return $(this).height(); 17393 }) 17394 17395 isOpen = true; 17396 } 17397 else 17398 { 17399 $searchBox.removeClass('searchbox-open'); 17400 $inputBox.attr('placeholder', '') 17401 .val('') 17402 .focusout(); 17403 $searchDropToggle.fadeTo('fast', 1); 17404 $searchBoxIcon.removeClass('iconfont-remove').addClass('iconfont-search'); 17405 _resetContacts(undefined, true); 17406 17407 /* remove height of scroll container */ 17408 $('.dock-contacts .scroll-container').css('height', ''); 17409 17410 isOpen = false; 17411 } 17412 }); 17413 }, 17414 17415 /** 17416 * after receiving a socket update for contacts, check if user is currently searching their contacts so we don't resort/reset the table. 17417 * if they're not searching, sort the table 17418 */ 17419 receivedSocketUpdate = function() { 17420 var actionsId = 'contacts-sort-search'; // updates only go to dock 17421 var searchOpen = $('.contacts-searchbox').hasClass('.searchbox-open'); 17422 var sortType = $.localStorage.get('contacts_sort_type_'+actionsId); 17423 var sortOrder = $.localStorage.get('contacts_sort_order_'+actionsId); 17424 17425 //only sort from socket update if searchbox isn't open and sort type is Online, and a sort isn't already in progres 17426 if(!searchOpen && !sortTimerSet && sortType == 'Online') 17427 { 17428 sortTimerSet=true; 17429 sortTimer =setTimeout(function() { 17430 sortTimerSet=false; 17431 _sortContactsTable(); 17432 }, 200); 17433 } 17434 }, 17435 17436 changedGroup = function(actionsId) { 17437 _resetContacts(); 17438 var filter = $('#' + actionsId + ' .contact-groups option:selected').val(); 17439 17440 $.cookie('Dock_filter',filter,{expires : 365,path : '/'}); //brought cookie saving over from existing function in node.php 17441 }, 17442 17443 /** 17444 * filter contacts using the search string. 17445 */ 17446 _resetContacts = function(tableId, reset = false) { 17447 if( typeof tableId == 'undefined' ) tableId = 'contacts-table'; // default is dock contacts 17448 17449 $('#' + tableId + ' .contact-row').hide(); 17450 var table = document.getElementById(tableId); 17451 var textfilter = $("#contacts-searchbox-input").val(); 17452 if (reset) { 17453 //if it is resetting contacts from exit, need to keep current group selected 17454 var filter = $("#current-group").text(); 17455 if ($("#current-group").attr("data-selected")) 17456 filter = $("#current-group").attr("data-selected"); 17457 } else { 17458 //else should filter from all 17459 var filter = $("#contact-groups option:selected").val(); 17460 if ($("#current-group").attr("data-selected")) 17461 filter = $("#current-group").attr("data-selected"); 17462 } 17463 17464 var viewable = false;
17465 17466 for (var i = 0, row; row = table.rows[i]; i++) { 17467 var thisRow = $(row); 17468 17469 if (NSPresenceSearchSort.isItemViewable(filter, textfilter, thisRow)) { 17470 thisRow.show(); 17471 viewable = true; 17472 $('.nonecreated-contacts').hide(); 17473 } 17474 } 17475 17476 if (!viewable) { 17477 var message = $('.nonecreated-contacts h5'); 17478 17479 if (textfilter) { 17480 message.text(_('No contacts matched your search for') + ' "' + textfilter + '".'); 17481 } 17482 else { 17483 message.text(_('No contacts found.')); 17484 } 17485 17486 $('.nonecreated-contacts').show(); 17487 } 17488 }, 17489 17490 /** 17491 * sort contacts table based on selected sort option 17492 */ 17493 _sortContactsTable = function(actionsId, tableId) { 17494 if( typeof actionsId == 'undefined' ) actionsId = 'contacts-sort-search'; // default is dock contacts 17495 if( typeof tableId == 'undefined' ) tableId = 'contacts-table'; // default is dock contacts 17496 17497 log('NSContactSearch._sortContactsTable'); 17498 17499 var rows = $('#' + tableId + ' .contact-row').get(); 17500 var sortType = $.localStorage.get('contacts_sort_type_'+actionsId); 17501 var sortOrder = $.localStorage.get('contacts_sort_order_'+actionsId); 17502 17503 if (sortType == null) sortType = "Extension"; 17504 if (sortOrder == null) sortOrder = "asc"; 17505 17506 rows = NSPresenceSearchSort.sortRows(rows, sortType, sortOrder); 17507 17508 $.each(rows, function(index, row) { 17509 $('#'+tableId).children('tbody').append(row); 17510 }); 17511 }; 17512 17513 return { 17514 init: init, 17515 receivedSocketUpdate: receivedSocketUpdate, 17516 changedGroup: changedGroup 17517 }; 17518 17519})(); 17520 17521/** 17522 * NETSAPIENS search or sort any contacts/agents table 17523 * 17524 * @requires jquery-1.8.3.mins.js 17525 * @returns {object} public methods 17526 */ 17527var NSPresenceSearchSort = (function() { 17528 17529 /** 17530 * Determines if item (table row) should show up in search results 17531 * 17532 * @param {string} filter is the Contacts Group that was selected for filter with 17533 * @param {string} textfilter is the string of text that the user input to search 17534 * @param {object} thisRow is the row element being checked against the textfilter 17535 * @returns {boolean} true if the row is visible, false if it isn't 17536 */ 17537 var isItemViewable = function(filter, textfilter, thisRow ) { 17538 var isViewable = false; 17539 17540 // this gets flipped from Offline to inactive somewhere, but they're analogous 17541 if (filter == 'inactive') 17542 filter = 'Offline'; 17543 17544 if(typeof String.prototype.trim !== 'function') { 17545 String.prototype.trim = function() { 17546 return this.replace(/^\s+|\s+$/g, ''); //add IE support for trim() 17547 } 17548 } 17549 17550 filter = filter.trim(); 17551 17552 if (filter=="All") 17553 isViewable = true; 17554 else if (filter=="My Contacts" ) 17555 { 17556 if ((typeof(thisRow.attr("uid")) == "undefined" || thisRow.attr("uid")=="") && (thisRow.attr("shared")!="true" && thisRow.attr("shared")!="1")) 17557 isViewable = true; 17558 } 17559 else if (filter=="Favorites" ) 17560 { 17561 if (typeof(thisRow.attr("fav")) != "undefined") 17562 if (thisRow.attr("fav")=="1") 17563 isViewable = true; 17564 } 17565 else if (filter=="Coworkers" && thisRow.attr("uid")!="") 17566 { 17567 isViewable = true; 17568 } 17569 else if (filter=="Available") 17570 { 17571 if (thisRow.attr("presence") =="open") 17572 isViewable = true; 17573 } 17574 else if (filter=="Offline") 17575 { 17576 if (thisRow.attr("presence") =="inactive") 17577 isViewable = true; 17578 } 17579 else if (filter=="Busy" ) 17580 { 17581 if (thisRow.attr("presence") =="inuse") 17582 isViewable = true; 17583 if (thisRow.attr("presence") =="closed") 17584 isViewable = true; 17585 if (thisRow.attr("presence") =="progressing") 17586 isViewable = true;
17587 if (thisRow.attr("presence") =="alerting") 17588 isViewable = true; 17589 } 17590 else if (filter == "Shared" ) 17591 { 17592 if (thisRow.attr("shared")=="true" || thisRow.attr("shared")=="1") 17593 isViewable = true; 17594 } 17595 else 17596 { 17597 if (thisRow.attr("department") == filter) { 17598 isViewable = true; 17599 } 17600 if (thisRow.attr("site") == filter) { 17601 isViewable = true; 17602 } 17603 } 17604 17605 if (typeof(textfilter) != "undefined" 17606 && textfilter != "Enter a name or extension" 17607 && textfilter != "Enter a name or extension " 17608 && textfilter != "" 17609 && textfilter != " " 17610 ) { 17611 // only apply text filter if item is currently visible 17612 if (isViewable) { 17613 isViewable = _checkTextfilter(textfilter, thisRow); 17614 } 17615 } 17616 17617 return isViewable; 17618 }, 17619 17620 /** 17621 * Compares and sorts entry based on presence, extension or name 17622 * 17623 * @param {object} rows contains all of the row elements to be sorted in the table 17624 * @param {string} sortType is the sort type parameter 17625 * @returns {object} rows is the sorted object of rows 17626 **/ 17627 sortRows = function(rows, sortType, sortOrder) { 17628 log("NSPresenceSearchSort.sortRows"); 17629 17630 if ("Online" == sortType) { 17631 rows = _sortByOnline(rows, sortOrder); 17632 } else if ("Extension" == sortType) { 17633 rows = _sortByExtension(rows, sortOrder); 17634 } else if ("First Name" == sortType) { 17635 rows = _sortByName(rows, sortOrder, "firstname"); 17636 } else if ("Last Name" == sortType) { 17637 rows = _sortByName(rows, sortOrder, "lastname"); 17638 } 17639 17640 return rows; 17641 }, 17642 17643 /** 17644 * Compares row data to search string 17645 * 17646 * @param {string} textfilter is the string of text that the user input to search 17647 * @param {object} thisRow is the row element being checked against the textfilter 17648 * @returns {boolean} true if it matches, false if it doesn't 17649 */ 17650 _checkTextfilter = function(textfilter,thisRow) { 17651 if (typeof(thisRow) == "undefined") 17652 return false; 17653 var name = thisRow.attr("name"); 17654 var ext = thisRow.attr("uid"); 17655 17656 if (typeof(name) != "undefined") 17657 { 17658 if (name.toLowerCase().indexOf(textfilter.toLowerCase()) !=-1) 17659 return true; 17660 } 17661 if(typeof(ext) != "undefined") 17662 { 17663 if (ext.indexOf(textfilter) !=-1) 17664 return true; 17665 } 17666 return false; 17667 17668 }, 17669 17670 /** 17671 * Compares and sorts entry based on either first name or last name, depending on type parameter 17672 * 17673 * @param {object} rows contains all of the row elements to be sorted in the table 17674 * @returns {object} rows is the sorted object of rows 17675 **/ 17676 _sortByOnline = function(rows, sortOrder) { 17677 17678 rows.sort(function(a, b) { 17679 var A = ""; 17680 var B = ""; 17681 17682 A = $(a).data("availindex"); 17683 B = $(b).data("availindex"); 17684 17685 17686 if(A === B) 17687 { 17688 if (A =="a" ) 17689 { 17690 if ($(a).find('.onphone').length >0 || $(b).find('.onphone').length >0) 17691 { 17692 if ($(a).find('.onphone').length >0 && $(b).find('.onphone').length ==0) 17693 return 1; 17694 else if ($(a).find('.onphone').length ==0 && $(b).find('.onphone').length >0) 17695 return -1; 17696 } 17697 17698 } 17699 17700 var x = $(a).attr("firstname"), 17701 y = $(b).attr("firstname"); 17702 17703 return x < y ? -1 : x > y ? 1 : 0; 17704 } 17705 17706 if (A < B) 17707 return -1; 17708 17709 if (A > B) 17710 return 1; 17711 17712 return 0; 17713 }); 17714 17715 return sortOrder == 'desc' ? rows.reverse() : rows; 17716 }, 17717 17718 /** 17719 * Compares and sorts entry based on extension 17720 * 17721 * @param {object} rows contains all of the row elements to be sorted in the table 17722 * @returns {object} rows is the sorted object of rows 17723 **/ 17724 _sortByExtension = function(rows, sortOrder) { 17725 rows.sort(function(a, b) { 17726 var A = $(a).attr('uid'); 17727 var B = $(b).attr('uid'); 17728 17729 A = A === undefined ? "" : A; 17730 B = B === undefined ? "" : B; 17731 17732 A = A.toString(); 17733 B = B.toString(); 17734 17735 if(A === B) 17736 { 17737 var x = $(a).attr('lastname'); 17738 y = $(b).attr('lastname'); 17739 17740 x = x === undefined ? "" : x; 17741 y = y === undefined ? "" : y; 17742 17743 if(x && y) { 17744 x = x.toString(); 17745 y = y.toString(); 17746 } 17747 17748 return _naturalSort(x, y); 17749 } 17750 17751 // for when it doesn't have a user/extension 17752 if (A == "") 17753 return 1; 17754 if (B == "") 17755 return -1; 17756 17757 return _naturalSort(A, B); 17758 }); 17759 17760 return sortOrder == 'desc' ? rows.reverse() : rows; 17761 }, 17762 17763 /**
17764 * Compares and sorts entry based on either first name or last name, depending on type parameter 17765 * 17766 * @param {object} rows contains all of the row elements to be sorted in the table 17767 * @param {string} type is either firstname or lastname 17768 * @returns {object} rows is the sorted object of rows 17769 **/ 17770 _sortByName = function(rows, sortOrder, type) { 17771 log("_sortByName"); 17772 var secondSort = (type == "firstname" ? "lastname" : "firstname"); 17773 17774 rows.sort(function(a, b) { 17775 var A = $(a).attr(type); 17776 var B = $(b).attr(type); 17777 17778 A = A === undefined ? "" : A; 17779 B = B === undefined ? "" : B; 17780 17781 // if first sort is equal, do secondary sort 17782 if (A == B) 17783 { 17784 var X = $(a).attr(secondSort), 17785 Y = $(b).attr(secondSort); 17786 17787 return X < Y ? -1 : X > Y ? 1 : 0; 17788 } 17789 else 17790 return A < B ? -1 : A > B ? 1 : 0; 17791 }); 17792 17793 return sortOrder == 'desc' ? rows.reverse() : rows; 17794 }, 17795 17796 /** 17797 * Ordering of strings in alphabetical order, except that multi-digit numbers are ordered as a single character 17798 * http://stackoverflow.com/a/15479354 17799 * 17800 * @param {string} a - string to compare 17801 * @param {string} b - string to compare 17802 * @returns {int} 17803 **/ 17804 _naturalSort = function(a, b) { 17805 var ax = [], bx = []; 17806 17807 a.replace(/(\d+)|(\D+)/g, function(_, $1, $2) { ax.push([$1 || Infinity, $2 || ""]) }); 17808 b.replace(/(\d+)|(\D+)/g, function(_, $1, $2) { bx.push([$1 || Infinity, $2 || ""]) }); 17809 17810 while(ax.length && bx.length) { 17811 var an = ax.shift(); 17812 var bn = bx.shift(); 17813 var nn = (an[0] - bn[0]) || an[1].localeCompare(bn[1]); 17814 if(nn) return nn; 17815 } 17816 17817 return ax.length - bx.length; 17818 };; 17819 17820 return { 17821 isItemViewable: isItemViewable, 17822 sortRows: sortRows 17823 }; 17824 17825})(); 17826 17827var NSRecurringTimeframeSettings = (function() { 17828 // Assuming _bindUIActions is meant to be used and not commented out 17829 var _bindUIActions = function() { 17830 // Rest of your code for _bindUIActions... 17831 $('.modal-nav-tabs a').off().click(function (e) { 17832 e.preventDefault(); 17833 // $(this).tab('show'); // do not show on click all the time. needs to validate first 17834 return; 17835 }); 17836 }; 17837 17838 var init = function() { 17839 _bindUIActions(); 17840 }; 17841 17842 return { 17843 init: init 17844 }; 17845})(); 17846 17847/** 17848 * NSDomainSettings 17849 * Everything to do with the Edit Domain Settings (domains/write.ctp) including the Edit Settings button 17850 * in the domain message header. 17851 * 17852 * @return public entry to methods. 17853 **/ 17854 17855var NSDomainSettings = (function() { 17856 17857 /** 17858 * local settings variables accessible across module methods 17859 */ 17860 var s = { 17861 modalId: '#write-domain' 17862 }; 17863 17864 var f = { 17865 modalId: '#cdr-scheduling' 17866 } 17867 17868 /** 17869 * initializes 17870 */ 17871 var init = function() { 17872 //set modal to a pleasing height so it doesn't shift modal size when switching between tabs 17873 var maxHeight = parseFloat($(s.modalId + " .modal-body").css('maxHeight')), 17874 fixedHeight = 380; //approximate height of tallest tab in the modal 17875 17876 if (maxHeight > fixedHeight) 17877 maxHeight = fixedHeight; 17878 17879 $(s.modalId + " .modal-body").css('height', maxHeight + 'px'); 17880 console.log("maxheight for domain is: " + maxHeight); 17881 _bindUIActions(); 17882 }, 17883 17884 /** 17885 * binds events 17886 */ 17887 _bindUIActions = function() { 17888 //initialize navigation tabs 17889 ModalTabs.init(); 17890 }, 17891 17892 /** 17893 * toggle custom recording limits fields 17894 * 17895 **/ 17896 customRecLimits = function() { 17897 if ($('#custom_limits').prop('checked')) 17898 { 17899 $("#defaultRecordingSection").hide(); 17900 $("#domainRecordingSection").show(); 17901 } 17902 else 17903 { 17904 $("#domainRecordingSection").hide(); 17905 $("#defaultRecordingSection").show(); 17906 } 17907 }, 17908 17909 /** 17910 * 17911 * @param {object} btn is the DOM element object of the settings button 17912 **/
17913 clickedSettingsButton = function(btn) { 17914 log('clickedSettingsButton'); 17915 var modalPath = $(btn).data('modal-path'); 17916 var justHide = $(s.modalId).hasClass('in'); //check if settings modal is visible 17917 17918 //check if any modal is visible and hide it 17919 if(NSModal.isModalVisible()) 17920 $('.modal').modal('hide'); 17921 17922 //show and load domain settings modal if it wasn't visible already 17923 if(!justHide) { 17924 $(s.modalId).modal('show'); 17925 loadModal(s.modalId, modalPath); 17926 } 17927 17928 }, 17929 17930 // update domain description in the header after submitting 17931 updateHeaderDesc = function() { 17932 var newDesc = $('#DomainDescription').val(); 17933 17934 $('.domain-description').text(newDesc); 17935 }; 17936 17937 /** 17938 * public methods 17939 */ 17940 return { 17941 init: init, 17942 customRecLimits: customRecLimits, 17943 clickedSettingsButton: clickedSettingsButton, 17944 updateHeaderDesc: updateHeaderDesc 17945 }; 17946 17947 17948})(); 17949 17950/** /** 17951 * NSDomainSettings 17952 * Everything to do with the Edit Domain Settings (domains/write.ctp) including the Edit Settings button 17953 * in the domain message header. 17954 * 17955 * @requires dateformat 17956 * @return public entry to methods. 17957 **/ 17958var NSCdrScheduleSettings = (function() { 17959 /** 17960 * local settings variables accessible across module methods 17961 */ 17962 var s = { 17963 modalId: '#write-domain' 17964 }; 17965 var f = { 17966 modalId: '#cdr-scheduling' 17967 } 17968 /** 17969 * initializes 17970 */ 17971 var init = function() { 17972 //newDatePicker(0); 17973 // console.log("in the init function for NSCdrScheduleSettings"); 17974 //set modal to a pleasing height so it doesn't shift modal size when switching between tabs 17975 var maxHeight = parseFloat($(f.modalId + " .modal-body").css('maxHeight')); 17976 fixedHeight = 450; //approximate height of tallest tab in the modal 17977 if (maxHeight > fixedHeight) 17978 maxHeight = fixedHeight; 17979 $(f.modalId + " .modal-body").css('height', maxHeight + 'px'); 17980 _bindUIActions(); 17981 }, 17982 /** 17983 * binds events 17984 */ 17985 _bindUIActions = function() { 17986 //initialize navigation tabs 17987 //console.log("before modaltabs init"); 17988 17989 ModalTabs.init(); 17990 }, 17991 17992 //upon change of the calendar, disable or enable the "Also run this export immediately" 17993 startTimeChange = function(value){ 17994 var date_time = document.getElementById('next_run_time').getAttribute("date_time"); 17995 17996 var valueDate = new Date(value); 17997 //null out the run immediately if the date is in the future 17998 if(valueDate <= new Date()){ 17999 document.getElementById("CdrscheduleRunImmediately").disabled = true; 18000 $('#CdrscheduleRunImmediately').prop('checked', false); 18001 } 18002 else{ 18003 document.getElementById("CdrscheduleRunImmediately").disabled = false; 18004 } 18005 }, 18006 18007 capturePeriodChange = function(value){ 18008 if (value == "1 month" || value == "3 months" || value == "6 months"){ 18009 //if month is chosen, need to block out the 28-31st 18010 var array = [29,30,31]; 18011 if ($(".cdrScheduleCalendar").attr('data-time-format') == 'HH:mm') { 18012 var userTimeFormat = 'HH:mm'; 18013 } else { 18014 var userTimeFormat = 'hh:mm tt'; 18015 } 18016 $(".cdrScheduleCalendar").datetimepicker("destroy"); 18017 $('.cdrScheduleCalendar').datetimepicker({ 18018 showMinute: true, 18019 showHour: true, 18020 //dateFormat: 'mm/dd/yy', //here 18021 dateFormat: 'dd/mm/yyyy', //here 18022 timeFormat: userTimeFormat, 18023 //timeFormat: this.getAttribute('data-time-format'), 18024 onSelect: function(){ 18025 var time = document.getElementById(this.id); 18026 $("[id=" + this.id + "]").val( NSCdrScheduleSettings.formatDate(this.value)); 18027 }, 18028 beforeShowDay: function(date){ 18029 //var string = jQuery.datepicker.formatDate('yy-mm-dd', date); 18030 var number = date.getDate(); 18031 // console.log(number); 18032 return [ array.indexOf(number) == -1 ]; 18033 } 18034 }).datetimepicker('setDate', (document.getElementsByClassName("cdrScheduleCalendar")[0].value)); 18035 } else { //reset the datetimepicker back to regular
18036 if ($(".cdrScheduleCalendar").attr('data-time-format') == 'HH:mm') { 18037 var userTimeFormat = 'HH:mm'; 18038 } else { 18039 var userTimeFormat = 'hh:mm tt'; 18040 } 18041 $(".cdrScheduleCalendar").datetimepicker("destroy"); 18042 $('.cdrScheduleCalendar').datetimepicker({ 18043 showMinute: true, 18044 showHour: true, 18045 //dateFormat: 'mm/dd/yy', 18046 dateFormat: 'dd/mm/yyyy', //here 18047 timeFormat: userTimeFormat, 18048 //timeFormat: this.getAttribute('data-time-format'), 18049 onSelect: function(){ 18050 var time = document.getElementById(this.id); 18051 $("[id=" + this.id + "]").val( NSCdrScheduleSettings.formatDate(this.value)); 18052 } 18053 }).datetimepicker('setDate', (document.getElementsByClassName("cdrScheduleCalendar2")[0].value)); 18054 } 18055 }, 18056 18057 cdrFormatChange = function(value){ 18058 if (value == "Advanced") { 18059 $(".format_note").text(_("This format exports with the more common fields of a call's history")+"."); 18060 } else if (value == "Standard") { 18061 $(".format_note").text(_("This format exports with all the fields of a call's history")+"."); 18062 } else { 18063 $(".format_note").text(_("This format exports with the fields used in the previous call history export")+"."); 18064 } 18065 18066 }, 18067 18068 checkBoxChange = function(value){ 18069 if(value == true){ 18070 document.getElementById('CdrscheduleEmail').className += " validate[required]"; 18071 18072 } 18073 else{ 18074 document.getElementById('CdrscheduleEmail').className -= " validate[required]"; 18075 } 18076 }, 18077 18078 formatDate = function(date) { 18079 date = new Date(date); 18080 var monthNames = [ 18081 "01", "02", "03", 18082 "04", "05", "06", "07", 18083 "08", "09", "10", 18084 "11", "12" 18085 ]; 18086 18087 var day = date.getDate(); 18088 var monthIndex = date.getMonth(); 18089 var year = date.getFullYear(); 18090 var day = (day<10?'0':'') + day; 18091 var hour = (date.getHours()<10?'0':'') + date.getHours(); 18092 var minutes = (date.getMinutes()<10?'0':'') + date.getMinutes(); 18093 18094 //return year + '-' + monthNames[monthIndex] + '-' + day + ' ' + hour + ':' + minutes; 18095 return monthNames[monthIndex] + '/' + day + '/' + year + ' ' + hour + ':' + minutes; 18096 //return monthNames[monthIndex] + '/' + day + '/' + year; 18097 }, 18098 18099 swapDate = function(date) { 18100 //console.log("this is input in swapDate: " + date); 18101 dateCopy = date; 18102 date = new Date(date);// 18103
18104 //if it was invalid date then it means that the date was already flipped, just return. 18105 if (date == 'Invalid Date') { 18106 //console.log("was invalid date"); 18107 return dateCopy; 18108 } 18109 //console.log("this is date in swapDate: " + date); 18110 var monthNames = [ 18111 "01", "02", "03", 18112 "04", "05", "06", "07", 18113 "08", "09", "10", 18114 "11", "12" 18115 ]; 18116 18117 var day = date.getDate(); 18118 var monthIndex = date.getMonth(); 18119 var year = date.getFullYear(); 18120 var day = (day<10?'0':'') + day; 18121 var hour = (date.getHours()<10?'0':'') + date.getHours(); 18122 var minutes = (date.getMinutes()<10?'0':'') + date.getMinutes(); 18123 18124 //return year + '-' + monthNames[monthIndex] + '-' + day + ' ' + hour + ':' + minutes; 18125 return day + '/' + monthNames[monthIndex] + '/' + year + ' ' + hour + ':' + minutes; 18126 //return monthNames[monthIndex] + '/' + day + '/' + year; 18127 }, 18128 18129 extraExportArguments = function(value){ 18130 //logic for SFTP and FTP changes in modal 18131 if(value == "sftp" || value == "ftp upload"){ 18132 $(".exportCredentials").show(600); 18133 document.getElementById('CdrscheduleEmail').className -= " validate[required]"; 18134 } 18135 else{ 18136 $(".exportCredentials").hide(600); 18137 } 18138 //logic for email sepcific changes in modal 18139 if(value == "email"){ 18140 document.getElementById('send_email_original').checked = true; //TODO it is here 18141 document.getElementById('CdrscheduleEmail').className += " validate[required]"; 18142 $( "#send_email_original" ).hide(); //enable the checkbox again 18143 $( "#send_email_disabled" ).show(); //enable the checkbox again 18144 } 18145 else{ 18146 document.getElementById('CdrscheduleEmail').classList.remove("validate[required]"); 18147 $( "#CdrscheduleSendEmail" ).prop( "disabled", false ); //enable the checkbox again 18148 $( "#send_email_original" ).show(); //enable the checkbox again 18149 $( "#send_email_disabled" ).hide(); //enable the checkbox again 18150 } 18151 }, 18152 18153 checkEmailNotification = function(value){ 18154 //if value contains some letters (not blank or all spaces), then check, else 18155 //will uncheck 18156 if(value.match(/[a-z]/i)){ 18157 document.getElementById('send_email_original').checked = true; 18158 } else { 18159 document.getElementById('send_email_original').checked = false; 18160 } 18161 }, 18162 18163 /** 18164 * toggle custom recording limits fields 18165 * 18166 **/ 18167 customRecLimits = function() { 18168 console.log('in customRecLimits after change'); 18169 18170 $("#extraExportFields").show(); 18171 /* 18172 if ($('#export_method').attr != "") 18173 { 18174 for(var propertyName in $('#export_method')){ 18175 console.log(propertyName); 18176 } 18177 console.log('export method value was set to: ' + $('#export_method')); 18178 $("#defaultRecordingSection").hide(); 18179 $("#extraExportFields").show(); 18180 } 18181 else 18182 { 18183 $("#extraExportFields").hide(); 18184 $("#defaultRecordingSection").show(); 18185 } 18186 */ 18187 }, 18188 /** 18189 * 18190 * @param {object} btn is the DOM element object of the settings button 18191 **/ 18192 clickedSettingsButton = function(btn) { 18193 log('clickedSettingsButton'); 18194 var modalPath = $(btn).data('modal-path'); 18195 var justHide = $(s.modalId).hasClass('in'); //check if settings modal is visible 18196 //check if any modal is visible and hide it 18197 if(NSModal.isModalVisible()) 18198 $('.modal').modal('hide'); 18199 //show and load domain settings modal if it wasn't visible already 18200 if(!justHide) { 18201 $(s.modalId).modal('show'); 18202 loadModal(s.modalId, modalPath); 18203 } 18204 }, 18205 // update domain description in the header after submitting 18206 updateHeaderDesc = function() { 18207 var newDesc = $('#DomainDescription').val(); 18208 $('.domain-description').text(newDesc); 18209 }; 18210 /** 18211 * public methods 18212 */ 18213 return { 18214 init: init, 18215 customRecLimits: customRecLimits, 18216 clickedSettingsButton: clickedSettingsButton, 18217 extraExportArguments: extraExportArguments, 18218 checkEmailNotification: checkEmailNotification, 18219 updateHeaderDesc: updateHeaderDesc, 18220 startTimeChange: startTimeChange, 18221 capturePeriodChange: capturePeriodChange, 18222 formatDate: formatDate, 18223 swapDate: swapDate, 18224 checkBoxChange: checkBoxChange, 18225 cdrFormatChange: cdrFormatChange 18226 }; 18227})(); 18228 18229 18230 18231/** 18232 * ModalTabs 18233 * This module initializes tabs in a modal by customizing behavior 18234 * Requires tab markup to exist before initializing. See domains/write.ctp for example 18235 * 18236 * @return public entry to init method. 18237 **/ 18238 18239var ModalTabs = (function() { 18240 18241 /** 18242 * local settings variables accessible across module methods 18243 */ 18244 var s = { 18245 $form: null, 18246 isAdd: false 18247 }; 18248 18249 var f = { 18250 $form: null, 18251 isAdd: false 18252 }; 18253 18254 18255 /** 18256 * initializes 18257 * @param {string} id is the id of the form that must be validated before switching tabs 18258 * @param {boolean} 18259 */ 18260 var init = function() { 18261 s.$form = $('.modal.in').find('form'); 18262 18263 //determine if next and back buttons should be shown 18264 if($('.modal-tabs-btn-next').length) { 18265 s.isAdd = true; 18266 } 18267 18268 f.$form = $('.modal.in').find('form'); 18269 //determine if next and back buttons should be shown 18270 if($('.modal-tabs-btn-next-cdr').length) 18271 f.isAdd = true; 18272 18273 _bindUIActions(); 18274 }, 18275 18276 /** 18277 * binds events 18278 */ 18279 _bindUIActions = function() {
18280 //prevent default tab behavior by removing 18281 $('.modal').off('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]'); 18282 18283 //manually handle tab click events for validation 18284 $('.modal-nav-tabs a').off().click(function (e) { 18285 e.preventDefault(); 18286 18287 // console.log('clicked modal nav tab'); 18288 18289 if (s.$form.length == 0) 18290 { 18291 console.log("Form invalid, re running init"); 18292 init(); 18293 } 18294 //validate form before showing another tab 18295 if(s.$form.validationEngine('validate')) 18296 $(this).tab('show'); 18297 }); 18298 18299 // if adding, show "next" and "back" buttons. bind behavior accordingly 18300 if(s.isAdd) { 18301 $('.modal-tabs-btn-next').on('click', function(){ 18302 //validate form before showing next tab 18303 if (s.$form.length == 0) 18304 { 18305 console.log("Form invalid, re running init"); 18306 init(); 18307 } 18308 18309 18310 // if it is domain add, validate the address in the form 18311 if ($('.address_line_1_domain_add').is(":visible")) { 18312 // set IP address of where the user is at here 18313 let public_ip; 18314 $.get("/portal/publicip.php", function(response) { 18315 public_ip = response.ip; 18316 $.post( '/portal/inventory/validateAddress2', $( "#write-domain-form" ).serialize() ) 18317 .done(function( data ) { 18318 var json = JSON.parse(data); 18319 18320 if (json['address']['valid'] == true) { 18321 // address was valid 18322 // set save to be enabled 18323 // $('.saveBtn').prop('disabled', false); 18324 18325 // stringify the json of json['address']['standardized'] and set it to a value above 18326 var standardizedString = JSON.stringify(json['address']['standardized']); 18327 18328 // set standardized in the form, hidden field but still used in database 18329 document.getElementById("stardardized").value = standardizedString; 18330 18331 // set carrier in the form, hidden field but still used in database 18332 var carrier = json['address']['carrier']; 18333 document.getElementById("carrier").value = carrier; 18334 18335 document.getElementById("public_ip").value = public_ip; 18336 18337 $("#validate-address-message").addClass("text-success").text("<?php __('The address has been confirmed and any suggested changes have been applied.'); ?>"); 18338 18339 jsFlash(_("Address was valid!"), "success"); 18340 if(s.$form.validationEngine('validate')) 18341 $('.modal-nav-tabs .active').next('li:visible').children('a').tab('show'); 18342 18343 } else { 18344 // address was not valid\ 18345 // $('.saveBtn').prop('disabled', true); 18346 18347 // $("#validate-address-message").text("<?php __('The entered address could not be found. Please check the configuration and try again.'); ?>") 18348 // $("#validate-address-message").addClass("text-error"); 18349 18350 // show the address is not valid alert 18351 jsFlash(_("Address was not valid!"), "error"); 18352 18353 } 18354 18355 // $('.valBtn').button('reset'); 18356 // $("#validate-address-message").removeClass('text-success text-error'); 18357 }); 18358 18359 }, "json").fail(function(data) { 18360 setTimeout(function() { 18361 $('.valBtn').button('reset'); 18362 $('.valBtn').prop('disabled', false); 18363 $("#validate-address-message").text(_("Unable to validate address, please check browser plug-ins and setting.")); 18364 $("#validate-address-message").addClass("text-error"); 18365 },1000); 18366 }); // end of getting ip address 18367 18368 18369 } else { 18370 if(s.$form.validationEngine('validate')) 18371 $('.modal-nav-tabs .active').next('li:visible').children('a').tab('show'); 18372 } 18373 18374 }); 18375 18376 $('.modal-tabs-btn-back').on('click', function(){ 18377 //validate form before showing previous tab 18378 if(s.$form.validationEngine('validate')) 18379 $('.modal-nav-tabs .active').prev('li').children('a').tab('show'); 18380 }); 18381 18382 $('.modal-nav-tabs a').on('shown', function (e) { 18383 18384 var $currentTab = $(this).parent(), 18385 $nextBtn = $('.modal-tabs-btn-next'), 18386 $backBtn = $('.modal-tabs-btn-back'), 18387 $saveBtn = $('.modal-tabs-btn-save'); 18388 18389 // show and hide 'add' and 'back' buttons if adding 18390 // hide 'next' button if on the final tab. show save button instead. 18391 if($currentTab.is(':last-child')) 18392 { 18393 $nextBtn.hide(); 18394 $saveBtn.show(); 18395 } 18396 else 18397 { 18398 $nextBtn.show(); 18399 $saveBtn.hide(); 18400 } 18401 18402 // hide 'back' button if on the first tab. 18403 if($currentTab.is(':first-child')) 18404 $backBtn.hide(); 18405 else 18406 $backBtn.show(); 18407 18408 }); 18409 } 18410 18411 if(f.isAdd){ 18412 $('.modal-tabs-btn-next-cdr').on('click', function(){ 18413 //$('#cdr-scheduling-edit-tabs a[href="#profile"]').tab('show'); 18414 18415 //return; 18416 //validate form before showing next tab 18417 if (f.$form.length == 0) 18418 { 18419 console.log("f.$form.length == 0"); 18420 init(); 18421 } 18422 if(f.$form.validationEngine('validate')) //ajax 200 error 18423 $('.modal-nav-tabs .active').next('li:visible').children('a').tab('show'); 18424 }); 18425 //when clicking on back button 18426 $('.modal-tabs-btn-back-cdr').on('click', function(){ 18427 // console.log("f is add and i clicked on back"); 18428 //validate form before showing previous tab 18429 //if(f.$form.validationEngine('validate')) 18430 $('.modal-nav-tabs .active').prev('li').children('a').tab('show'); 18431 }); 18432 18433 $('.modal-nav-tabs a').on('shown', function (e) { 18434 var $currentTab = $(this).parent(), 18435 $nextBtn = $('.modal-tabs-btn-next-cdr'), 18436 $backBtn = $('.modal-tabs-btn-back-cdr'), 18437 $saveBtn = $('.modal-tabs-btn-save');
18438 $title = $('#modal-title'); 18439 18440 // show and hide 'add' and 'back' buttons if adding 18441 // hide 'next' button if on the final tab. show save button instead. 18442 if($currentTab.is(':last-child')) 18443 { 18444 $nextBtn.hide(); 18445 $saveBtn.show(); 18446 } 18447 else 18448 { 18449 $nextBtn.show(); 18450 if(!$title.text().includes("Edit")){ 18451 $saveBtn.hide(); //should not affect anything but cdrschedule, but if it does find a different way CDR-149 18452 } 18453 } 18454 18455 // hide 'back' button if on the first tab. 18456 if($currentTab.is(':first-child')) 18457 $backBtn.hide(); 18458 else 18459 $backBtn.show(); 18460 18461 }); 18462 18463 } 18464 }; 18465 18466 /** 18467 * public methods 18468 */ 18469 return { 18470 init: init 18471 }; 18472 18473 18474})(); 18475 18476/** 18477 * ModuleTemplate 18478 * This module is a template 18479 * 18480 * 18481 * @return public entry to init method. 18482 **/ 18483 18484var ModuleTemplate = (function() { 18485 18486 /** 18487 * local settings variables accessible across module methods 18488 */ 18489 var s = { 18490 18491 }; 18492 18493 /** 18494 * initializes 18495 */ 18496 var init = function() { 18497 bindUIActions(); 18498 }, 18499 18500 /** 18501 * binds events 18502 */ 18503 bindUIActions = function() { 18504 18505 }; 18506 18507 /** 18508 * public methods 18509 */ 18510 return { 18511 init: init 18512 }; 18513 18514 18515})(); 18516 18517�/******************************************************************************* 18518 * global variables and options 18519 ******************************************************************************* 18520 */ 18521 18522//Defines String.format to behave similar to php's sprintf() 18523//Used for localization string substitution purposes 18524//Ex. String.format('{0} is dead, but {1} is alive! {0} {2}', 'ASP', 'ASP.NET'); => ASP is dead, but ASP.NET is alive! ASP {2} 18525//This function may not be necessary. the translate function _ appears to already do this 18526if (!String.format) { 18527 String.format = function (format) { 18528 var args = Array.prototype.slice.call(arguments, 1); 18529 return format.replace(/{(\d+)}/g, function (match, number) { 18530 return typeof args[number] != 'undefined' 18531 ? args[number] 18532 : match 18533 ; 18534 }); 18535 }; 18536} 18537 18538if (!String.prototype.includes) { 18539 String.prototype.includes = function (search, start) { 18540 if (typeof start !== 'number') { 18541 start = 0; 18542 } 18543 18544 if (start + search.length > this.length) { 18545 return false; 18546 } else { 18547 return this.indexOf(search, start) !== -1; 18548 } 18549 }; 18550} 18551 18552if (!String.prototype.startsWith) { 18553 String.prototype.startsWith = function (searchString, position) { 18554 return this.substr(position || 0, searchString.length) === searchString; 18555 }; 18556} 18557 18558//Converts from moment.js format to datepicker format 18559//keys need to be arranged in order of greatest number of characters to least ex. 'ddd' before 'dd' 18560var datepickerConvertionFormats = { 18561 Day: {Do: 'd', DD: 'dd', D: 'd', dddd: 'DD', ddd: 'D'}, 18562 Month: {MMMM: 'MM', MMM: 'M', MM: 'mm', M: 'm'}, 18563 Year: {YYYY: 'yy', YY: 'y'}, 18564 Abbrev: {A: 'tt', a: 'tt'} 18565}; 18566 18567// global var for referencing contacts popout window 18568var contactsPopoutWindow; 18569 18570// global var for tracking current state of the modal 18571var modalState = 'closed'; 18572var modalTimer; 18573 18574// ping webphone 18575if (typeof sub_user !== 'undefined') localStorage.setItem('webphone_present_' + sub_user, null); 18576localStorage.setItem('webphone_present', null); // webphone backwards compatibility 18577if (typeof sub_user !== 'undefined') localStorage.removeItem('webphone_present_' + sub_user); 18578localStorage.removeItem('webphone_present'); // webphone backwards compatibility 18579 18580// global scrollTop cursor, used for smoothed modal behavior 18581var scrollTop; 18582 18583if (typeof jsdebug === 'undefined') { 18584 jsdebug = getJsDebug(); 18585} 18586 18587if (typeof openModalId === 'undefined') { 18588 openModalId = null; 18589} 18590 18591if (typeof console === "undefined" || typeof console.log === "undefined") { 18592 console = {}; 18593 console.log = function () { 18594 }; 18595} 18596 18597if (!String.prototype.trim) { 18598 String.prototype.trim = function () { 18599 return this.replace(/^\s+|\s+$/g, ''); 18600 }; 18601} 18602 18603if (!String.prototype.isNumber) { 18604 String.prototype.isNumber = function () { 18605 return !isNaN(parseFloat(this)) && isFinite(this); 18606 }; 18607} 18608 18609//xhr requests object to keep track of existing requests 18610xhrRequests = {}; 18611 18612$.xhrPool = []; 18613 18614$.xhrPool.abortAll = function () { 18615 var countAbort = 0; 18616 $(this).each(function (idx, jqXHR) { 18617 // log(idx); 18618 countAbort++; 18619 jqXHR.abort(); 18620 18621 }); 18622 if (countAbort)
18623 log("Aborted " + countAbort + " ajax requests"); 18624 $.xhrPool = []; 18625}; 18626 18627$.ajaxSetup({ 18628 beforeSend: function (jqXHR) { 18629 $.xhrPool.push(jqXHR); 18630 }, 18631 complete: function (jqXHR) { 18632 var index = $.inArray(jqXHR, $.xhrPool); 18633 if (index > -1) { 18634 $.xhrPool.splice(index, 1); 18635 } 18636 } 18637}); 18638 18639 18640/******************************************************************************* 18641 * document load 18642 ******************************************************************************* 18643 */ 18644 18645// basic functions on document load 18646$(function () { 18647 $.ajaxSetup({cache: false}); 18648 18649 log('running basic scripts.js functions'); 18650 initFlashMessage(6000, 800); 18651 radioSlide(); 18652 greetingFade(); 18653 msgFade(); 18654 newDatePicker(0); 18655 dynamicDateField(); 18656 attachValidation(); 18657 initTooltips(); 18658 initConfirmCall(); 18659 initDownloadFile(); 18660 showScheduledExports(); 18661}); 18662 18663//condense navigation for smaller screens 18664//$(function() { 18665// $('.condense').click(function(){ 18666// $('.nav-text').toggle(); 18667// }) 18668//}); 18669 18670$(function () { 18671 log('adding xhr abort click events'); 18672 $('body').on('click', '.nav-link', function () { 18673 if (typeof $.xhrPool != 'undefined') { 18674 try { 18675 $.xhrPool.abortAll(); 18676 } catch (e) { 18677 18678 } 18679 18680 } 18681 }); 18682 $('body').on('click', '.header-link', function () { 18683 if (typeof $.xhrPool != 'undefined') { 18684 try { 18685 $.xhrPool.abortAll(); 18686 } catch (e) { 18687 18688 } 18689 18690 } 18691 }); 18692}); 18693 18694//bind print-div buttons 18695$(function () { 18696 log('adding print button listeners'); 18697 $('body').off('click.print').on('click.print', '.print-div', function () { 18698 var divId = $(this).data('target'); 18699 18700 printDiv(divId); 18701 }); 18702}); 18703 18704//bind print-report buttons 18705$(function () { 18706 log('adding print report button listeners'); 18707 $('body').off('click.print').on('click.print', '.print-report', function () { 18708 18709 printReport(); 18710 }); 18711}); 18712 18713//initialize sticky table headers 18714$(function () { 18715 log('adding sticky table header'); 18716 if ($('#domain-message').length) 18717 $('.fixed-table-header').stickyTableHeaders({fixedOffset: $('#domain-message')}); 18718 else 18719 $('.fixed-table-header').stickyTableHeaders(); 18720}); 18721 18722// modal event listeners 18723$(function () { 18724 log('adding modal event listeners'); 18725 $('.modal') 18726 .off('show.modal').on('show.modal', function (e) { 18727 //make sure it's a modal show event 18728 if ($(e.target).hasClass("modal")) { 18729 log('modal "show" event triggered'); 18730 var $modal = $(this); 18731 openModalId = $modal[0].id; 18732 18733 modalResize($modal); 18734 18735 //$('[class*="helpsy"]').tooltip('hide'); 18736 $('.helpsy').tooltip('hide'); 18737 scrollTop = $(window).scrollTop(); 18738 bodyCss = { 18739 overflowY: ($('body').height() > $(window).height() ? 'scroll' : 'auto'), 18740 position: 'fixed', 18741 width: '100%', 18742 top: -1 * scrollTop 18743 }; 18744 $('body').css(bodyCss); // hax to lock body scrolling when a modal is open 18745 } 18746 }) 18747 .off('shown.modal').on('shown.modal', function (e) { 18748 //make sure it's a modal show event 18749 if ($(e.target).hasClass("modal")) { 18750 log('modal "shown" event triggered'); 18751 var $modal = $(this); 18752 18753 modalResize($modal); 18754 } 18755 }) 18756 .off('hidden.modal').on('hidden.modal', function (e) { 18757 //make sure it's a modal show event 18758 if ($(e.target).hasClass("modal")) { 18759 log('modal "hidden" event triggered'); 18760 18761 openModalId = ''; 18762 18763 log(openModalId); 18764 18765 $('body').css({ 18766 overflowY: 'auto', 18767 position: 'static', 18768 width: 'auto' 18769 }); 18770 $(window).scrollTop(scrollTop); 18771 } 18772 }); 18773 18774 //listen for resize event on modal. 18775 //manual trigger: use $(this).parents('.modal').trigger('resize') when working within a modal 18776 $('.modal').off('resize.modal').on('resize.modal', function (e) { 18777 //log('modal "resize" event triggered'); 18778 var $modal = $(this); 18779 18780 modalResize($modal); 18781 }); 18782 18783 $(window).resize(function () { 18784 18785 if (openModalId) { 18786 log(openModalId); 18787 modalResize($('#' + openModalId)); 18788 } 18789 18790 }); 18791 18792}); 18793 18794//show and hide application autocomplete fields in DID application select 18795$(function () { 18796 log('adding DID application select events'); 18797 $('#PhonenumberApplication').change(function () { 18798 var val = $(this).val(); 18799 //log(val); 18800 //log("xxxxx"+typeof $('#PhonenumberTimeframes')); 18801 18802 var isTimeFrame = false;
18803 if ($('#PhonenumberTimeframes').prop('checked')) 18804 isTimeFrame = true; 18805 18806 if ($('div[id^="find-"]').is(':visible')) { 18807 18808 if (isTimeFrame) 18809 $('div[id^="find-"]:visible').hide(); 18810 else 18811 $('div[id^="find-"]:visible').animate({ 18812 opacity: "hide" 18813 }, function () { 18814 //log('showing' +val); 18815 18816 if (!isTimeFrame) { 18817 //log("checked false"); 18818 $('#find-' + val).animate({ 18819 opacity: "show", 18820 }, { 18821 progress: function () { 18822 modalResize($(this).parents('.modal')); 18823 } 18824 }); 18825 } 18826 }); 18827 18828 } else { 18829 //log("ELSE path"); 18830 if (!isTimeFrame) { 18831 $('#find-' + val).animate({ 18832 height: "show", 18833 opacity: "show" 18834 }, { 18835 progress: function () { 18836 modalResize($(this).parents('.modal')); 18837 } 18838 }); 18839 } 18840 18841 } 18842 18843 if (isTimeFrame) { 18844 $('.treatmentBox').hide(); 18845 $('.tzCapable').animate({ 18846 height: "show", opacity: "show" 18847 }, { 18848 progress: function () { 18849 modalResize($(this).parents('.modal')); 18850 } 18851 }); 18852 //console.log("timeframes is on"); 18853 18854 } else { 18855 $('#app-details .tzCapable').hide(); 18856 $('.tzCapable.accordion-group').animate({ 18857 height: "hide", opacity: "hide" 18858 }, { 18859 progress: function () { 18860 modalResize($(this).parents('.modal')); 18861 } 18862 }); 18863 $('.treatmentBox').fadeIn(); 18864 //console.log("timeframes is off"); 18865 } 18866 18867 if ($(this).val() == 'trunk') { 18868 //log("is trunk"); 18869 //log($('#trunk-choices-dd').data('domain')); 18870 //log($('#domain-choices').val()); 18871 //log($('#trunk-choices-dd option').length); 18872 18873 $('#trunk-choices').hide(); 18874 $('#trunk-choices-dd').hide(); 18875 18876 if (($('#trunk-choices-dd option').length > 0) && ($('#trunk-choices-dd').data('domain') == $('#domain-choices').val())) { 18877 18878 $('#trunk-choices').show(); 18879 $('#trunk-choices-dd').show(); 18880 } else { 18881 log("looking up trunk"); 18882 $('#trunk-choices').show(); 18883 $('#trunk-choices').prop("disabled", true); 18884 $('#trunk-choices').val( 'Finding SIP Trunks....'); 18885 $.getJSON('/portal/siptrunks/listTrunks/' + $('#domain-choices').val(), function (data) { 18886 $('#trunk-choices').hide(); 18887 $('#trunk-choices-dd').empty(); 18888 $('#trunk-choices-dd').show(); 18889 //log(data); 18890 18891 $('#trunk-choices-dd').append("<option value=\"\">Please select SIP Trunk</option>"); 18892 18893 $.each(data.trunks, function (key, val) { 18894 var selected = ""; 18895 $('#trunk-choices-dd').append("<option value='" + val + "' " + selected + ">" + val + "</option>"); 18896 }); 18897 18898 18899 }); 18900 } 18901 18902 18903 } else if ($(this).val() == 'route') { 18904 //log("is route"); 18905 //log($('#route-choices-dd').data('domain')); 18906 //log($('#domain-choices').val()); 18907 18908 $('#route-choices').hide(); 18909 $('#route-choices-dd').hide(); 18910 18911 if (($('#trunk-choices-dd').children('option').length > 0) && ($('#trunk-choices-dd').data('domain') == $('#domain-choices').val())) { 18912 $('#route-choices').hide(); 18913 $('#route-choices-dd').show(); 18914 } else { 18915 log("looking up routes"); 18916 $('#route-choices').show(); 18917 $('#route-choices').prop("disabled", true); 18918 $('#route-choices').val( 'Finding Route Profiles....'); 18919 $.getJSON('/portal/routeprofiles/listTrunks/' + $('#domain-choices').val() + "", function (data) { 18920 $('#route-choices').hide(); 18921 $('#route-choices-dd').empty(); 18922 $('#route-choices-dd').show(); 18923 //log(data); 18924 18925 $('#route-choices-dd').append("<option value=\"\">Please select Route Profile</option>"); 18926 18927 $.each(data.trunks, function (key, val) { 18928 var selected = ""; 18929 $('#route-choices-dd').append("<option value='" + val + "' " + selected + ">" + val + "</option>"); 18930 }); 18931 18932 18933 }); 18934 } 18935 18936 18937 } else if ($(this).val() == 'user') { 18938 18939 log($('#user-choices')); 18940 log($('#user-choices').length); 18941 18942 18943 } 18944 18945 //if ($(this).val() =='user') 18946 // $('.tzCapable').show(); 18947 //else 18948 //$('.tzCapable').hide(); 18949 18950 18951 }); 18952}); 18953 18954//custom file input display field 18955$(function () { 18956 log('adding file location field listener'); 18957 $('input:file').change(function () { 18958 var fileLocation = $(this).val(); 18959 $('.file-location').val(fileLocation).blur(); 18960 }); 18961}); 18962 18963//timepicker 18964//$(function() { 18965// var i=0; 18966// for (i=0;i<=6;i++) { 18967// var timeFrom = $('input#from-timepicker-' + i); 18968// var timeTo = $('input#to-timepicker-' + i); 18969// if (typeof timeFrom=="undefined") 18970// continue; 18971// if(typeof timeFrom.timepicker != 'function') { 18972// continue; 18973// } 18974// timeFrom.timepicker({ 18975// ampm: true, 18976// timeFormat: "h:mm tt", 18977// hourGrid: 4, 18978// minuteGrid: 10, 18979// hour: 0, 18980// minute: 0 18981// }); 18982// timeTo.timepicker({ 18983// ampm: true, 18984// timeFormat: "h:mm tt", 18985// hourGrid: 4, 18986// minuteGrid: 10, 18987// hour: 23, 18988// minute: 59 18989// }); 18990// } 18991//}); 18992 18993//confirmation plugin calls (uses bootstrap popover) 18994$(function () { 18995 log('adding confirmation popovers'); 18996 //confirmation popup with default options, best for hyperlink confirmation 18997 //add specific options via the data attribute 18998 //onConfirm cannote be set via the data attributes 18999 $('[data-toggle="confirmation"]').confirmation({ 19000 placement: 'left', 19001 btnOkClass: 'btn-danger', 19002 btnOkLabel: '<i class="icon-ok-sign icon-white"></i> ' + _('Yes', true), 19003 btnCancelLabel: '<i class="icon-remove-sign"></i> ' + _('No', true), 19004 singleton: true, 19005 popout: true, 19006 container: 'body' 19007 }); 19008 19009 $('[data-toggle="confirmation-agent-migration"]').confirmation({ 19010 placement: 'top', 19011 btnOkClass: 'btn-primary', 19012 btnOkLabel: '<i class="icon-ok-sign icon-white"></i> ' + _('Convert', true), 19013 btnCancelLabel: '<i class="icon-remove-sign"></i> ' + _('Cancel', true), 19014 singleton: true, 19015 popout: true, 19016 container: 'body', 19017 onConfirm: function (e) { 19018 $('.popover').hide(); 19019 $('[data-toggle="confirmation-agent-migration"]').html(_('Converting...',true)); 19020 $('[data-toggle="confirmation-agent-migration"]').prop("disabled",true); 19021 agent_migrate(); 19022 }, 19023 onCancel: function (e) { 19024 $('#migrate-agents-btn').click(); 19025 } 19026 19027 }); 19028 19029 //special case delete confirmation for aa greetings because of onConfirm 19030 //onConfirm grabs needed data from the originating button 19031 $('[data-toggle="aa-greeting-confirmation"]').confirmation({ 19032 placement: 'left', 19033 href: 'javascript:void(0);', 19034 btnOkClass: 'btn-danger aa-greeting-confirm', 19035 btnOkLabel: '<i class="icon-ok-sign icon-white"></i> ' + _('Yes', true), 19036 btnCancelLabel: '<i class="icon-remove-sign"></i> ' + _('No', true), 19037 singleton: true, 19038 popout: true, 19039 container: 'body', 19040 onConfirm: function (e) { 19041 var currentTarget = e.currentTarget; 19042 var element = '#' + $(currentTarget).attr('data-orig-btn'); 19043 var row_id = $(element).attr('data-row-id'); 19044 var callee_match = $(element).attr('data-callee-match'); 19045 var starting = $(element).attr('data-starting'); 19046 var greeting_index = $(element).attr('data-greeting-index'); 19047 var timeframe = $(element).attr('data-timeframe'); 19048 19049 // make sure the greeting confirmation bubble goes away 19050 $('[data-toggle="aa-greeting-confirmation"]').confirmation('destroy'); 19051 19052 jsFlash(_('Deleting...')); 19053 19054 $('#' + row_id).css('opacity', 0.5); 19055 $('#' + row_id + ' delete, #' + row_id + ' edit').hide(); 19056 var jqxhr = $.post('./introdelete/' + callee_match + '/' + starting + '/' + greeting_index + '/' + timeframe, function (data) { 19057 19058 log(data); 19059 if (data.indexOf("REDIRECT") > -1) { 19060 var arr = data.split(":");
19061 log(arr); 19062 window.location.replace("/portal/attendants/edit/" + arr[1] + "/" + arr[2] + "/"); 19063 return; 19064 } 19065 19066 }) 19067 .done(function () { 19068 loadIntroModal(); 19069 log("in done"); 19070 jsFlash(_('Greeting has been deleted.'), 'success'); 19071 }) 19072 .fail(function () { 19073 $('#' + row_id).css('opacity', 1); 19074 $('#' + row_id + ' delete, #' + row_id + ' edit').show(); 19075 log("in error"); 19076 jsFlash(_('Greeting was not deleted!'), 'danger'); 19077 }); 19078 } 19079 }); 19080 19081 //special case delete confirmation for aa greetings because of onConfirm 19082 //onConfirm grabs needed data from the originating button 19083 $('[data-toggle="user-greeting-confirmation"]').confirmation({ 19084 placement: 'left', 19085 href: 'javascript:void(0);', 19086 btnOkClass: 'btn-danger user-greeting-confirm', 19087 btnOkLabel: '<i class="icon-ok-sign icon-white"></i> ' + _('Yes', true), 19088 btnCancelLabel: '<i class="icon-remove-sign"></i> ' + _('No', true), 19089 singleton: true, 19090 popout: true, 19091 container: 'body', 19092 onConfirm: function (e) { 19093 var currentTarget = e.currentTarget; 19094 var element = '#' + $(currentTarget).data('orig-btn'); 19095 var row_id = $(element).data('row-id'); 19096 var uid = $(element).data('uid'); 19097 var greeting_index = $(element).data('greeting-index'); 19098 19099 $('#' + row_id).css('opacity', 0.5); 19100 $('#' + row_id + ' delete, #' + row_id + ' edit').hide(); 19101 var jqxhr = $.post('./greetings/delete/' + uid + '/' + greeting_index, function (data) { 19102 19103 19104 }) 19105 .done(function () { 19106 $('#' + row_id).remove(); 19107 jsFlash('Greeting has been deleted.', 'success'); 19108 }) 19109 .fail(function () { 19110 $('#' + row_id).css('opacity', 1); 19111 $('#' + row_id + ' delete, #' + row_id + ' edit').show(); 19112 jsFlash(_('Greeting was not deleted') + "!", 'danger'); 19113 }); 19114 } 19115 }); 19116 19117 let recentClick = false; 19118 $('[data-toggle="confirmation-blocked-numbers"]').confirmation({ 19119 placement: 'left', 19120 btnOkClass: 'btn-danger', 19121 btnOkLabel: '<i class="icon-ok-sign icon-white"></i> ' + _('Yes', true), 19122 btnCancelLabel: '<i class="icon-remove-sign"></i> ' + _('No', true), 19123 singleton: true, 19124 popout: true, 19125 container: 'body', 19126 onConfirm: function () { 19127 bulkRemoveNumbers(); 19128 }, 19129 onCancel: function (e) { 19130 if ($('#delete-all-btn').is(':visible')) 19131 { 19132 $('#delete-all-btn').click(); 19133 } 19134 else if ($('#delete-selected-btn').is(':visible')) 19135 { 19136 if (!recentClick) 19137 { 19138 recentClick=true; 19139 console.log("onCancel"); 19140 $('#delete-selected-btn').click(); 19141 setTimeout(function() { 19142 recentClick=false; 19143 },1000); 19144 } 19145 } 19146 else 19147 $('.popover').hide(); 19148 } 19149 19150 }); 19151}); 19152 19153//informational popovers (uses bootstrap popover) 19154$(function () { 19155 log('adding popovers'); 19156 if (typeof $('a.view-timeframe').popover == 'function') 19157 $('a.view-timeframe').popover({ 19158 trigger: 'hover', 19159 template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><div class="popover-content"><p></p></div></div></div>', 19160 delay: {show: 200, hide: 0} 19161 }); 19162 if (typeof $('a.view-qos').popover == 'function') 19163 $('a.view-qos').popover({ 19164 trigger: 'hover', 19165 template: '<div class="popover qos-popover"><div class="arrow"></div><div class="popover-inner"><div class="popover-content"><p></p></div></div></div>', 19166 delay: {show: 200, hide: 0} 19167 }); 19168 19169 if (typeof $('a.view-preview').popover == 'function') 19170 $('a.view-preview').popover({ 19171 trigger: 'hover', 19172 template: '<div class="popover faxpreview-popover"><div class="arrow"></div><div class="popover-inner"><div class="popover-content"><p></p></div></div></div>', 19173 delay: {show: 200, hide: 0} 19174 }); 19175 if (typeof $('.label-popover').popover == 'function') 19176 $('.label-popover').popover({ 19177 trigger: 'hover', 19178 template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><div class="popover-content"><p></p></div></div></div>', 19179 container: 'body', 19180 html: true, 19181 delay: {show: 200, hide: 0} 19182 }); 19183 if (typeof $('.label-popover-scopes').popover == 'function') 19184 $('.label-popover-scopes').popover({ 19185 trigger: 'hover', 19186 template: '<div class=\"popover uiconfig\"><div class=\"arrow\"></div><div class=\"popover-inner uiconfig\"><h3 class=\"popover-title uiconfig\"></h3><div class=\"popover-content uiconfig\"><p></p></div></div></div>', 19187 container: 'body', 19188 html: true, 19189 delay: {show: 200, hide: 100} 19190 }); 19191 19192 if (typeof $('.clickable-popover').popover == 'function') 19193 $('.clickable-popover').popover({ 19194 trigger: 'click', 19195 template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><div class="popover-content"><p></p></div></div></div>', 19196 container: 'body', 19197 html: true, 19198 }); 19199}); 19200 19201//table sorting on answering rules 19202$(function () { 19203 log('adding table sorting for answering rules'); 19204 //fixHelper keeps the dragged element from collapsing when dragging 19205 var fixHelper = function (e, ui) { 19206 ui.children().each(function () { 19207 $(this).width($(this).width()); 19208 }); 19209 return ui; 19210 }; 19211 19212 $('#sort-rules tbody').sortable({ 19213 items: 'tr', 19214 helper: fixHelper, 19215 tolerance: 'pointer', 19216 placeholder: 'sort-placeholder', 19217 'start': function (event, ui) { 19218 ui.placeholder.html('<td colspan="5" class="sort-placeholder-td"> </td>'); 19219 ui.placeholder.height(ui.helper.height()); 19220 }, 19221 update: function (event, ui) { 19222 var ordering = $('#sort-rules tbody').sortable('toArray').join('/'); 19223 var action = 'reorder'; 19224 if ($('#' + action).length) { 19225 var href = $('#' + action).attr('href'); 19226 var base = href.substring(0, href.indexOf('/', href.indexOf(action) + action.length + 1)); 19227 $('#' + action).attr('href', base + '/' + ordering);
19228 $('#save-priority').animate({height: "show", opacity: "show"}, 150); 19229 } else if ($('#orderfinish').length) { 19230 var elements = []; 19231 $('#sort-rules tr:visible').each(function () { 19232 elements.push($(this).data('priority')); 19233 }); 19234 $('#orderfinish').val(elements.toString().replace(/^,|,$/g, '')); 19235 } 19236 19237 }, 19238 axis: 'y', 19239 cursor: 'move', 19240 distance: 10, 19241 opacity: 0.8 19242 }); 19243 $('#sort-rules tbody').disableSelection(); 19244 19245 $('#sort-music tbody').sortable({ 19246 items: 'tr', 19247 helper: fixHelper, 19248 tolerance: 'pointer', 19249 placeholder: 'sort-placeholder', 19250 'start': function (event, ui) { 19251 ui.placeholder.html('<td colspan="6" class="sort-placeholder-td"> </td>'); 19252 ui.placeholder.height(ui.helper.height()); 19253 }, 19254 update: function (event, ui) { 19255 var ordering = $('#sort-music tbody').sortable('toArray').join(','); 19256 $('#orderMus').val(ordering); 19257 $('#save-priority').animate({ 19258 height: "show", opacity: "show" 19259 }, 150); 19260 updateRowNumbers(); 19261 19262 }, 19263 axis: 'y', 19264 cursor: 'move', 19265 distance: 10, 19266 opacity: 0.8 19267 }); 19268 $('#sort-music tbody').disableSelection(); 19269 19270 19271 $('#sort-message tbody').sortable({ 19272 items: 'tr:not(:first)', 19273 helper: fixHelper, 19274 tolerance: 'pointer', 19275 placeholder: 'sort-placeholder', 19276 'start': function (event, ui) { 19277 ui.placeholder.html('<td colspan="6" class="sort-placeholder-td"> </td>'); 19278 ui.placeholder.height(ui.helper.height()); 19279 }, 19280 update: function (event, ui) { 19281 var ordering = $('#sort-message tbody').sortable('toArray').join(','); 19282 $('#orderMsg').val(ordering); 19283 $('#save-priority').animate({ 19284 height: "show", opacity: "show" 19285 }, 150); 19286 updateRowNumbers(); 19287 }, 19288 axis: 'y', 19289 cursor: 'move', 19290 distance: 10, 19291 opacity: 0.8 19292 }); 19293 $('#sort-message tbody').disableSelection(); 19294}); 19295 19296 19297// update the index of the rows on the music/messages tables, always keep the order, just update it so the user doesnt get confused 19298function updateRowNumbers() { 19299 $('#sort-music > tbody > tr > td.order').each(function(index, td) { 19300 td.innerText = index+1; 19301 }); 19302 $('#sort-message > tbody > tr > td.order').each(function(index, td) { 19303 td.innerText = index+1; 19304 }); 19305} 19306 19307//checks placeholder compatibility with non-modern browsers 19308//this checks to see if the browser supports placeholders 19309$(function () { 19310 log('checking placeholder support'); 19311 $.support.placeholder = false; 19312 test = document.createElement('input'); 19313 if ('placeholder' in test) $.support.placeholder = true; 19314}); 19315 19316//if the browser does not support placeholders, run this javascript alternative 19317$(function () { 19318 if (!$.support.placeholder) { 19319 log('placeholders not supported, using javascript alternative'); 19320 var active = document.activeElement; 19321 $(':text').focus(function () { 19322 if ($(this).attr('placeholder') != '' && $(this).val() == $(this).attr('placeholder')) { 19323 $(this).val('').removeClass('hasPlaceholder'); 19324 } 19325 }).blur(function () { 19326 if ($(this).attr('placeholder') != '' && ($(this).val() == '' || $(this).val() == $(this).attr('placeholder'))) { 19327 $(this).val($(this).attr('placeholder')).addClass('hasPlaceholder'); 19328 } 19329 }); 19330 $(':text').blur(); 19331 $(active).focus(); 19332 $('form').submit(function () { 19333 $(this).find('.hasPlaceholder').each(function () { 19334 if ($(this).val() == $(this).attr('placeholder')) { 19335 $(this).val(''); 19336 } 19337 }); 19338 }); 19339 } 19340}); 19341 19342$(function () { 19343 setTimeout(function () { 19344 //User Modal autocompletes 19345 $('input#site').attr('autocomplete', 'disable_please'); 19346 $('input#department').attr('autocomplete', 'disable_please'); 19347 $('input#UserFirstName').attr('autocomplete', 'disable_please'); 19348 $('input#UserLastName').attr('autocomplete', 'disable_please'); 19349 $('input#UserCallidNmbr').attr('autocomplete', 'disable_please'); 19350 $('input#UserCallidEmgr').attr('autocomplete', 'disable_please'); 19351 $('input#UserAreaCode').attr('autocomplete', 'disable_please'); 19352 19353 //Domain modal autocompletes 19354 $('input#DomainDomain').attr('autocomplete', 'disable_please'); 19355 $('input#DomainEmailSender').attr('autocomplete', 'disable_please'); 19356 $('input#DomainAreaCode').attr('autocomplete', 'disable_please'); 19357 19358 $('input#CdrscheduleScheduleName').attr('autocomplete', 'disable_please'); 19359 19360 19361 19362 }, 200); 19363}); 19364 19365$(function () { 19366 log('scripts.js: end document load functions'); 19367}); 19368 19369/******************************************************************************* 19370 * Custom functions 19371 ******************************************************************************* 19372 */ 19373 19374//jquery method: takes string and inserts into cursor position 19375jQuery.fn.extend({ 19376 insertAtCaret: function (myValue) { 19377 return this.each(function (i) { 19378 if (document.selection) { 19379 //For browsers like Internet Explorer 19380 this.focus(); 19381 var sel = document.selection.createRange(); 19382 sel.text = myValue; 19383 this.focus(); 19384 } else if (this.selectionStart || this.selectionStart == '0') { 19385 //For browsers like Firefox and Webkit based 19386 var startPos = this.selectionStart; 19387 var endPos = this.selectionEnd; 19388 var scrollTop = this.scrollTop; 19389 this.value = this.value.substring(0, startPos) + myValue + this.value.substring(endPos, this.value.length); 19390 this.focus(); 19391 this.selectionStart = startPos + myValue.toString().length; 19392 this.selectionEnd = startPos + myValue.toString().length; 19393 this.scrollTop = scrollTop; 19394 } else { 19395 this.value += myValue; 19396 this.focus(); 19397 } 19398 }); 19399 } 19400}); 19401 19402function placeholderInit(input) { 19403 if (!$.support.placeholder) { 19404 $(input).focus(function () { 19405 if ($(this).attr('placeholder') != '' && $(this).val() == $(this).attr('placeholder')) { 19406 $(this).val('').removeClass('hasPlaceholder'); 19407 } 19408 }).blur(function () { 19409 if ($(this).attr('placeholder') != '' && ($(this).val() == '' || $(this).val() == $(this).attr('placeholder'))) { 19410 $(this).val($(this).attr('placeholder')).addClass('hasPlaceholder'); 19411 } 19412 }); 19413 $(input).blur(); 19414 } 19415} 19416 19417function getJsDebug() { 19418 var storage = $.localStorage; 19419 var setting = false;
19420 19421 if (storage.isSet('jsDebugSetting')) 19422 setting = storage.get('jsDebugSetting'); 19423 if (storage.isSet('jsTraceSetting')) 19424 jstrace = storage.get('jsTraceSetting'); 19425 else 19426 jstrace = false; 19427 19428 return setting; 19429} 19430 19431function buildAndSetAutoComplete(type, source, input, exclusions, value, fuzzymatch) { 19432 if (typeof fuzzymatch == 'undefined') 19433 fuzzymatch = false; 19434 var typeChoices = []; 19435 19436 typeChoices[source] = $("#" + source + " option").map(function () { 19437 if (typeof exclusions === 'undefined' || exclusions == null) 19438 return this.value; 19439 else if (!exclusions.includes(this.value)) 19440 return this.value; 19441 }); 19442 19443 let minLength = 0; 19444 if (value && value != null && value !="") 19445 { 19446 var autocompleteChoices = $("#" + source + " option").filter(function () { 19447 if (fuzzymatch && this.dataset && this.dataset.cleaned && this.dataset.cleaned.startsWith(value)) 19448 return true; 19449 if (this.dataset && value == this.dataset.cleaned) 19450 return true; 19451 return false; 19452 }); 19453 if (typeof autocompleteChoices != 'undefined' && autocompleteChoices.length== 1 && autocompleteChoices[0].value) 19454 input.val(autocompleteChoices[0].value); 19455 } 19456 19457 if (typeChoices[source].length > 3000) 19458 minLength =3; 19459 input.autocomplete({ 19460 //autoFocus: true, 19461 minLength: minLength, 19462 source: function (request, response) { 19463 var results = $.ui.autocomplete.filter(typeChoices[source], request.term); 19464 if (!results.length) { 19465 input.validationEngine("showPrompt", 19466 "* " + _("No Matches Found") + "!", "red", "bottomLeft", true); 19467 } else { 19468 input.validationEngine("hidePrompt"); 19469 } 19470 19471 response(results); 19472 }, 19473 19474 select: function (event, ui) { 19475 var selectedObj = ui.item; 19476 19477 var event = new CustomEvent('autocomplete-select', { 19478 detail: { 19479 event: event, 19480 selectedObj: selectedObj 19481 } 19482 }); 19483 window.dispatchEvent(event); 19484 } 19485 }); 19486 19487} 19488 19489addAnswerruleAutocomplete = (buttonConfig) => { 19490 let domain = window.SNAPbuilder.domain; 19491 if (buttonConfig.extra.targetUser.includes(" ")) 19492 buttonConfig.extra.targetUser = buttonConfig.extra.targetUser.substring(0, buttonConfig.extra.targetUser.indexOf(' ')); 19493 19494 if(!$("option[data-extension='" + buttonConfig.extra.targetUser +"']").length) 19495 { 19496 console.log("no user match for now."); 19497 return; 19498 } 19499 let inputId = "target_"+buttonConfig.index; 19500 const newid = 'available_answerrules_'+buttonConfig.extra.targetUser; 19501 19502 if ($('#'+newid).length) 19503 { 19504 if (buttonConfig.target) 19505 buildAndSetAutoComplete('answerrule',newid,$("#"+inputId),null, buttonConfig.target); 19506 else { 19507 buildAndSetAutoComplete('answerrule',newid,$("#"+inputId)); 19508 } 19509 return; 19510 } 19511 19512 netsapiens.api.post( 19513 { 19514 object:"answerrule", 19515 action:"read", 19516 user: buttonConfig.extra.targetUser , 19517 domain: domain 19518 } 19519 ) 19520 .catch(function (e) { 19521 console.log(e) 19522 }) 19523 .then(function (data) { 19524 clearAutoComplete(inputId); 19525 if (!$('#'+newid).length) 19526 { 19527 var sel = $('<select id="'+newid+'">').appendTo('body'); 19528 Object.values(data).forEach(val => { 19529 if (val.time_frame == "*") 19530 sel.append($("<option>").attr('value',_("Default")).text("*")); 19531 else 19532 sel.append($("<option>").attr('value',val.time_frame).text(val.time_frame)); 19533 }); 19534 } 19535 19536 if (buttonConfig.target) 19537 buildAndSetAutoComplete('answerrule',newid,$("#"+inputId),null, buttonConfig.target); 19538 else { 19539 buildAndSetAutoComplete('answerrule',newid,$("#"+inputId),null,""); 19540 } 19541 19542 19543 }); 19544 19545} 19546 19547/* 19548 * Turns log() debug on and off. 19549 * 19550 * @param {boolean} setting turns on or off the log 19551 * @param {boolean} trace turn on or off trace data in the log 19552 * 19553 */ 19554function setJsDebug(setting, trace) { 19555 var storage = $.localStorage; 19556 19557 storage.set('jsDebugSetting', setting); 19558 19559 jsdebug = setting; 19560 19561 if (typeof trace !== 'undefined') { 19562 storage.set('jsTraceSetting', trace); 19563 jstrace = trace; 19564 } 19565} 19566 19567function log(msg, force) { 19568 if (jsdebug && typeof console != 'undefined' && typeof console.log == 'function' && typeof msg != 'undefined') 19569 console.log(msg); 19570 else if (typeof force !== 'undefined' && force === true && typeof msg != 'undefined') 19571 console.log(msg); 19572 19573 if (jstrace) 19574 console.trace(); 19575} 19576 19577function getFieldWidthClass(element, maxSmall, maxMed) { 19578 var format = ''; 19579 if (element.hasAttribute('data-date-format')) 19580 format += element.getAttribute('data-date-format') + " "; 19581 19582 if (element.hasAttribute('data-time-format')) 19583 format += element.getAttribute('data-time-format'); 19584 19585 if (format) {
19586 var formatWidths = { 19587 Year: {YYYY: 30, YY: 15}, 19588 Day: {Do: 25, DD: 15, D: 7, dddd: 65, ddd: 25}, 19589 Month: {MMMM: 65, MMM: 25, MM: 15, M: 7}, 19590 Hour: {HH: 15, H: 7, hh: 15, h: 7}, 19591 Minute: {mm: 15}, 19592 Second: {ss: 15}, 19593 Abbrev: {A: 20, a: 20} 19594 }; 19595 19596 var width = 0; 19597 for (var category in formatWidths) { 19598 $.each(formatWidths[category], function (formatType, formatWidth) { 19599 if (format.indexOf(formatType) != -1) { 19600 width += formatWidth; 19601 return false; 19602 } 19603 }); 19604 } 19605 19606 if (width <= maxSmall) 19607 return 'date-small'; 19608 else if (width > maxSmall && width <= maxMed) 19609 return 'date-medium'; 19610 else if (width > maxMed) 19611 return 'date-large'; 19612 } 19613 return null; 19614} 19615 19616function reloginWebphone(nmbr) { 19617 $.get('/portal/webphone/relogin', function (data) { 19618 setTimeout(function () { 19619 launchWebPhone(nmbr); 19620 }, 400); 19621 }); 19622} 19623 19624function getContactList(type = "all") { 19625 var contactlist = [ ]; 19626 19627 $("#contacts-table tr.contact-row-info").each(function () { 19628 19629 //log($(this)); 19630 var c = {name:$(this).find(".contact-name").text()}; 19631 19632 if(enableChatUC && (type == "all" || type == "chat" || type == "chat-name-change" || type == "chat-video-invite" || type == "chat-participant-add" || type == "chat-participant-remove" || type == "chat-participant-leave")) { 19633 c.extension = $(this).find(".contact-extension").text(); 19634 if (typeof c.extension!='undefined' && c.extension !="" && c.extension!= c.name) 19635 { 19636 19637 c.label = c.name + " - Chat"; 19638 c.imgclass = "icon-comment"; 19639 c.value = $(this).find(".contact-extension").html(); 19640 c.text = c.label; 19641 c.id = c.value; 19642 c.text += '(num)'+c.value; //add the value/number to the id as well 19643 19644 contactlist.push(c); 19645 19646 } 19647 else 19648 delete c.extension ; 19649 } 19650 19651 19652 if(enableChatSMS && (type == "all" || type == "sms" || type == "mms")) { 19653 $(this).find(".dropdown-menu li").each(function () { 19654 if($(this).data("smsnumber")) { 19655 var tmpType = $.extend(true, {}, c); 19656 tmpType.value = $(this).data("smsnumber"); 19657 tmpType.number = $(this).data("smsnumber"); 19658 if ($(this).hasClass("smsmobile")) 19659 { 19660 tmpType.label = c.name + " - Mobile SMS"; 19661 tmpType.imgclass = "nsicon nsicon-mobile"; 19662 tmpType.pretty = netsapiens.utils.formatPhoneNumber(tmpType.number.toString(), PORTAL_LOCALIZATION_NUMBER_FORMAT); 19663 } 19664 else if ($(this).hasClass("smshome")) 19665 { 19666 tmpType.label = c.name + " - Home SMS"; 19667 tmpType.imgclass = "nsicon nsicon-home"; 19668 tmpType.pretty = netsapiens.utils.formatPhoneNumber(tmpType.number.toString(), PORTAL_LOCALIZATION_NUMBER_FORMAT); 19669 } 19670 else if ($(this).hasClass("smswork")) 19671 { 19672 tmpType.label = c.name + " - Work SMS"; 19673 tmpType.imgclass = "nsicon nsicon-work"; 19674 tmpType.pretty = netsapiens.utils.formatPhoneNumber(tmpType.number.toString(), PORTAL_LOCALIZATION_NUMBER_FORMAT); 19675 } 19676 tmpType.text = tmpType.label+'(num)'+tmpType.value;; 19677 19678 tmpType.id = tmpType.label; 19679 19680 contactlist.push(tmpType); 19681 } 19682 19683 }); 19684 } 19685 19686 }); 19687 19688 return contactlist; 19689} 19690 19691function filterContactList(allContacts, toFilterUid, toFilterName) { 19692 if (typeof toFilterUid == 'undefined' || typeof toFilterName == 'undefined') { 19693 return allContacts; 19694 } 19695 var filteredContacts = []; 19696 for (var index = 0; index < allContacts.length; index++) { 19697 if ((allContacts[index].extension && toFilterUid.includes(allContacts[index].extension)) 19698 || (allContacts[index].name && toFilterName.includes(allContacts[index].name))) { 19699 } else { 19700 filteredContacts.push(allContacts[index]); 19701 } 19702 } 19703 19704 return filteredContacts; 19705} 19706 19707 19708/* 19709 * Re-focus webphone tab/window 19710 * 19711 * @param {string} number passed from portal 19712 * 19713 * 19714 */ 19715var webphoneTab, webphoneWindow; 19716 19717function launchWebPhone(nmbr) { 19718 // check local storage for webphpone + user 19719 var webphoneOpen = localStorage.getItem('webphone_open_' + sub_user); 19720 19721 if (!webphoneOpen || webphoneOpen == 'false') { 19722 var query = '?user=' + sub_user; 19723 if (nmbr) { 19724 query += '&call=' + nmbr; 19725 } 19726 if (PORTAL_WEBPHONE_NEW_TAB_VIEW) { 19727 // UI Config for new tab view ( set to yes ) 19728 webphoneTab = window.open('/webphone' + query, 'webphone'); 19729 webphoneTab.focus(); 19730 } else { 19731 // Webphone Window view ( compact webphone ) 19732 webphoneWindow = window.open('/webphone' + query, 'webphone', 19733 'directories=no,titlebar=no,location=no,status=no,menubar=no,resizable=no,width=400,height=640'); 19734 } 19735 } else if (nmbr) { 19736 // Portal call passing number to Webphone 19737 localStorage.setItem('webphone_call_' + sub_user, nmbr); 19738 localStorage.removeItem('webphone_call_' + sub_user); 19739 localStorage.setItem('webphone_call', nmbr); 19740 localStorage.removeItem('webphone_call'); 19741 if (!webphoneWindow && !webphoneTab) { 19742 if (PORTAL_WEBPHONE_NEW_TAB_VIEW) { 19743 webphoneTab = window.open('', 'webphone'); 19744 if (webphoneTab) 19745 webphoneTab.focus(); 19746 } else { 19747 // Webphone Window view ( compact webphone ) 19748 webphoneWindow = window.open('', 'webphone'); 19749 if (webphoneWindow) 19750 webphoneWindow.focus(); 19751 } 19752 //localStorage.removeItem('webphone_open_' + sub_user); 19753 //launchWebPhone(); 19754 } else if (webphoneWindow && !webphoneTab) { // Webphone window is open 19755 webphoneWindow.focus(); 19756 } else if (!webphoneWindow && webphoneTab) { // Webphone tab is open 19757 webphoneTab.focus(); 19758 } 19759 } else { 19760 if (!webphoneWindow && !webphoneTab) { // NO instance of tab/window found 19761 localStorage.removeItem('webphone_open_' + sub_user); 19762 launchWebPhone(); 19763 } else if (webphoneWindow && !webphoneTab) { // Webphone window is open 19764 webphoneWindow.focus(); 19765 } else if (!webphoneWindow && webphoneTab) { // Webphone tab is open 19766 webphoneTab.focus(); 19767 } 19768 19769 } 19770 19771} 19772 19773function launchPremiumVideo(sub_domain, sub_user) { 19774 netsapiens.api.v2({ object: 'video', action: 'get' }, `domains/${sub_domain}/users/${sub_user}/video`) 19775 .then((host) => { 19776 var url = `https://${host.iotum_domain}/auth?host_id=${host.host_id}&login_token_public_key=${host.login_token_public_key}&redirect_url=conf/conferences/create?events=false`; 19777 // var options = 'directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,resizable=no,width=1200,height=900'; 19778 var openWin = window.open(url,'_video'); 19779 }).catch((e) => {
19780 console.error('launchPremiumVideo error:',e); 19781 }); 19782} 19783// open contacts popout or focus it if already open 19784// unique window name means we'll always use the same window 19785function openContactsPopoutWindow() { 19786 var url = '/portal/contacts/popout'; 19787 var params = 'directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,resizable=no,width=275,height=600'; 19788 if (typeof (contactsPopoutWindow) == 'undefined' || contactsPopoutWindow.closed) { 19789 //create new, since none is open 19790 contactsPopoutWindow = window.open(url, "contacts_popout_window", params); 19791 } else { 19792 try { 19793 contactsPopoutWindow.document; //if this throws an exception then we have no access to the child window - probably domain change so we open a new window 19794 } catch (e) { 19795 contactsPopoutWindow = window.open(url, "contacts_popout_window"); 19796 } 19797 19798 //focus the window if it already exists 19799 contactsPopoutWindow.focus(); 19800 } 19801} 19802 19803function convertByMapping(original, conversionUnits) { 19804 for (var key in conversionUnits) { 19805 $.each(conversionUnits[key], function (baseUnit, conversionUnit) { 19806 if (original != null && original.indexOf(baseUnit) != -1) //TODO SCASTRO please review. 19807 { 19808 original = original.replace(baseUnit, conversionUnit); 19809 return false; 19810 } 19811 }); 19812 } 19813 return original; 19814} 19815 19816 19817//Converts standard js date format rules into a different set of format rules 19818//(this is necessary because jquery's datepicker uses its own date formatting logic 19819//with its own formatting rules) 19820function convertDateFormat(original, conversionUnits) { 19821 return convertByMapping(original, conversionUnits); 19822} 19823 19824//Sets the proper date format for an input field's alert message in case of failed validation 19825function setDateValidation(field, rules, i, options) { 19826 var dateInput = field[0]; 19827 var dateFormat = ''; 19828 if (dateInput.hasAttribute('data-date-format')) { 19829 dateFormat = dateInput.getAttribute('data-date-format'); 19830 } 19831 19832 var timeFormat = ''; 19833 if (dateInput.hasAttribute('data-time-format')) { 19834 timeFormat = dateInput.getAttribute('data-time-format'); 19835 } 19836 19837 var dateAndTimeFormats = ''; 19838 if (dateFormat && timeFormat) { 19839 dateAndTimeFormats = dateFormat + " " + timeFormat; 19840 } else if (dateFormat && !timeFormat) { 19841 dateAndTimeFormats = dateFormat; 19842 } else if (!dateFormat && timeFormat) { 19843 dateAndTimeFormats = timeFormat; 19844 } 19845 19846 var inputDate = moment(field.val(), dateAndTimeFormats); 19847 if (!inputDate.isValid() && field.val() != '') { 19848 var customRule = rules.indexOf('custom'); 19849 return String.format(options.allrules[rules[customRule + 1]].alertText, dateAndTimeFormats); 19850 } 19851} 19852 19853function setFaxUploadValidation(field, rules, i, options) { 19854 var fileInput = field[0]; 19855 var fileTypes = fileInput.getAttribute('data-file-types').split(','); 19856 for (var index = 0; index < fileTypes.length; ++index) { 19857 fileTypes[index] = fileTypes[index].trim().replace(/\./g, ''); 19858 } 19859 var regex = new RegExp('\.(?:' + fileTypes.join('|') + ')$','i'); 19860 if (!regex.test(field.val())) { 19861 $('.saving').prop('disabled', true); 19862 return '* Invalid file type'; 19863 } 19864 $('.saving').prop('disabled', false); 19865} 19866 19867// function bindJsDebug() { 19868// if($('#js-debug-btn').length) { 19869// var iconClass = (jsdebug ? 'icon-eye-open' : 'icon-eye-close'); 19870 19871// $('#js-debug-btn i').attr('class', '').addClass(iconClass); 19872 19873// $('#js-debug-btn').off('click').on('click', function(){ 19874// if(jsdebug) { 19875// log('disabled javascript log'); 19876// setJsDebug(false); 19877// $('#js-debug-btn i').attr('class', '').addClass('icon-eye-close'); 19878// } 19879// else { 19880// setJsDebug(true); 19881// $('#js-debug-btn i').attr('class', '').addClass('icon-eye-open'); 19882// log('enabled javascript log'); 19883// } 19884// }); 19885// } 19886// } 19887 19888var checkSessionTimeout; 19889function checkSession(secondAttempt) { 19890 if (typeof secondAttempt == 'undefined') secondAttempt = false;
19891 19892 if (secondAttempt) log("checkSession secondAttempt"); 19893 else log("checkSession"); 19894 19895 if (window.location.pathname == '/portal/login/index') { 19896 if (checkSessionTimeout) { 19897 clearTimeout(checkSessionTimeout); 19898 } 19899 return; 19900 } 19901 19902 $.get('/portal/home/checkSession', function (data) { 19903 if (typeof data != 'undefined' && data.trim() != "ok") { 19904 if (secondAttempt) 19905 { 19906 if (checkSessionTimeout) { 19907 clearTimeout(checkSessionTimeout); 19908 } 19909 forceLogout(); 19910 return; 19911 } 19912 setTimeout(function () { 19913 checkSession(true); 19914 },5000); 19915 } else { 19916 if (checkSessionTimeout) { 19917 clearTimeout(checkSessionTimeout); 19918 } 19919 checkSessionTimeout = setTimeout(function () { 19920 checkSession(); 19921 }, 300000); 19922 } 19923 }) 19924 .fail(function() { 19925 if (secondAttempt) 19926 { 19927 if (checkSessionTimeout) { 19928 clearTimeout(checkSessionTimeout); 19929 } 19930 forceLogout(); 19931 return; 19932 } 19933 if (checkSessionTimeout) { 19934 clearTimeout(checkSessionTimeout); 19935 } 19936 setTimeout(function () { 19937 checkSession(true); 19938 },5000); 19939 }); 19940 19941} 19942 19943setInterval(function () { 19944 if (!checkSessionTimeout) { 19945 checkSessionTimeout = setTimeout(function () { 19946 checkSession(); 19947 }, 180000); 19948 } 19949},300000); 19950 19951function forceLogout() { 19952 window.location = "/portal/login/logout/expired"; 19953 return; 19954} 19955 19956$(document).on('click', '#logout', function () { 19957 localStorage.removeItem('openChats'); 19958}); 19959 19960function printDiv(divId) { 19961 var cssLink = '<link rel="stylesheet" type="text/css" href="/portal/css/myprintstyle.css">'; 19962 19963 window.frames["print_frame"].document.body.innerHTML = cssLink + $("#" + divId).html(); 19964 window.frames["print_frame"].window.focus(); 19965 window.frames["print_frame"].window.print(); 19966} 19967 19968/** 19969 * print a call center report 19970 **/ 19971function printReport() { 19972 log('printReport'); 19973 var css = '<link id="print-styles" rel="stylesheet" type="text/css" href="/portal/css/myprintstyle.css">'; 19974 var dateFrom = $('#modal-from-0').attr('data-raw-date'); 19975 var dateTo = $('#modal-to-0').attr('data-raw-date'); 19976 var type = $("#stat_type option[value='" + $('#stat_type').val() + "']").text(); 19977 var title = '<h2>' + type + ': ' + dateFrom + ' — ' + dateTo + '</h2>'; 19978 var graphTitle = '<h3>' + $('#graph-type-label').text() + ' Graph</h3>'; 19979 var $tableBody = $('#modal-table-div .dataTables_scrollBody tbody')[0].outerHTML; 19980 var $tableHeader = $('#modal_stats_table_wrapper .dataTables_scrollHead thead')[0].outerHTML; 19981 var $tableFoot=""; 19982 if ($('#modal-table-div .dataTables_scrollBody tfoot').length) 19983 $tableFoot = $('#modal-table-div .dataTables_scrollBody tfoot')[0].outerHTML; 19984 var $statsTable = '<table class="table table-condensed table-hover table-bordered dataTable">' + $tableHeader + $tableBody + $tableFoot+ '</table>'; 19985 var html = title + graphTitle + $('#modal-graph-div').html() + $
19985statsTable; 19986 19987 printFrame(css, html); 19988} 19989 19990/** 19991 * center a modal on screen based on dimensions. trace modals resize width as well as height. 19992 * 19993 * @param {string} css is the link html for css 19994 * @param {string} html is the content to be printed 19995 **/ 19996function printFrame(css, html) { 19997 log('printFrame'); 19998 19999 window.frames["print_frame"].document.head.innerHTML = css; 20000 window.frames["print_frame"].document.body.innerHTML = html; 20001 20002 // fetch print css file and wait for it to load before printing 20003 20004 $("[name='print_frame']").contents().find("#print-styles").on("load", function() { 20005 window.frames["print_frame"].window.focus(); 20006 window.frames["print_frame"].window.print(); 20007 }); 20008} 20009 20010/** 20011 * center a modal on screen based on dimensions. trace modals resize width as well as height. 20012 * 20013 * @param {jquery object} modal object to resize 20014 * @param {boolean} trace indicates if the modal contains a trace 20015 **/ 20016function modalResize(modal, trace) { 20017 log('modalResize'); 20018 20019 //hide validation popups because they don't scroll with resize 20020 $('form').validationEngine('hideAll'); 20021 20022 //collect element heights 20023 var modalHeaderHeight = modal.find('.modal-header').outerHeight(true); 20024 var modalFooterHeight = modal.find('.modal-footer').outerHeight(true); 20025 var windowHeight = $(window).height(); 20026 20027 //combined height of modal header and footer (~150) plus some margin (2x the mask bar) 20028 var heightOffset = modalHeaderHeight + modalFooterHeight + 160; 20029 var marginOffset = 0; 20030 20031 //check if domain editing message is shown and adjust offsets 20032 if ($('#domain-message').length) { 20033 var domainMsgHeight = $('#domain-message').outerHeight(); 20034 20035 heightOffset += domainMsgHeight; 20036 marginOffset = domainMsgHeight / 2; 20037 } 20038 20039 if ($('.modal-header-settings').length) { 20040 var modalSettingsHeight = $('.modal-header-settings').outerHeight(); 20041 20042 heightOffset += modalSettingsHeight; 20043 } 20044 20045 //add dock header height to offsets 20046 heightOffset += 33; 20047 marginOffset -= 16; 20048 20049 modal.find('.modal-body').css({'max-height': (windowHeight - heightOffset)}); 20050 modal.find('.modal-body .modal-body-flex-container').css({'max-height': (windowHeight - heightOffset)}); 20051 20052 //calculate negative vertical margin to center modal 20053 var modalHeight = modal.outerHeight(); 20054 20055 var marginTop = ((modalHeight / 2) * -1 + marginOffset); 20056 modal.css({marginTop:marginTop }); 20057 20058 20059 //calculate negative horizontal margin to center modal 20060 20061 if (trace) 20062 modal.css({marginLeft: ((modal.outerWidth() / 2) * -1)}); 20063 20064 20065 //log('modal outerHeight: ' + modalHeight); 20066 //log('vertical margin: ' + ((modalHeight / 2) * -1 + marginOffset)); 20067 //log('modal-body max height: ' + (windowHeight - heightOffset)); 20068} 20069 20070/** 20071 * adjusts contacts dock max-height based on window height. 20072 * 20073 **/ 20074function contactsResize() { 20075 var dockContacts = $('.dock-contacts'); 20076 var maxHeight = 250; 20077 20078 //grab heights of window, contacts headers, footer 20079 var windowHeight = $(window).height(); 20080 var dockHeadHeight = dockContacts.find('.dock-head').outerHeight(); 20081 var contactsHeadHeight = dockContacts.find('.dock-contacts-header').outerHeight(); 20082 var contactsGroupsHeight = dockContacts.find('.groups-container').outerHeight(); 20083 var domainHeight = 0; 20084 20085 //check if domain editing message is shown and adjust offset 20086 if ($('#domain-message').is(':visible')) { 20087 domainHeight = 50; 20088 } 20089 20090 //subtract headers/footers heights from window height, plus some margin and give max-height to contacts scroll container 20091 //double contactsGroupsHeight because of contacst/recent toggle 20092 maxHeight = windowHeight - dockHeadHeight - contactsHeadHeight - contactsGroupsHeight - contactsGroupsHeight - domainHeight - 20; 20093 20094 dockContacts.find('.scroll-container').css('max-height', maxHeight + 'px'); 20095} 20096 20097/** 20098 * decide whether to make a dropdown go up instead of down (default) 20099 * 20100 * @param {object} el should be the element that toggles the dropdown 20101 */ 20102function getDropdownDirection(el) { 20103 var $dropdown = $(el).next('.dropdown-menu') 20104 // Invisibly expand the dropdown menu so its true height can be calculated 20105 $dropdown.css({ 20106 visibility: "hidden", 20107 display: "block" 20108 }); 20109 20110 // Necessary to remove class each time so we don't unwantedly use dropup's offset top 20111 $(el).parent().removeClass("dropup"); 20112 20113 // Determine whether bottom of menu will be below window at current scroll position 20114 if ($dropdown.offset().top - $(el).scrollParent().offset().top - $(el).scrollParent().scrollTop() + $dropdown.outerHeight() > $(el).scrollParent().innerHeight() - $(el).scrollParent().scrollTop()) { 20115 $(el).parent().addClass("dropup"); 20116 } 20117 20118 // Return dropdown menu to fully hidden state 20119 $dropdown.removeAttr("style"); 20120} 20121 20122/** 20123 * minimize a dock popup and save position of dock-contacts in a cookie 20124 * 20125 * @param {object} el is either the dock-minimize button or the dock-header 20126 */ 20127function minimizeDockPopup(el) { 20128 var dockBody = $(el).parents('.dock-head').siblings('.dock-body'); 20129 var isContactsDock = $(el).parents('.dock-column').hasClass('dock-contacts'); 20130 var position = 'Dock.positon'; 20131 if (dockBody.is(':visible')) { 20132 dockBody.hide(); 20133 $(el).parents('.dock-column').find('.dock-minimize i').removeClass('icon-minimize').addClass('icon-maximize').attr('title', _('Maximize')); 20134 if (isContactsDock) { 20135 localStorage.setItem('DockPosition', 'hidden'); 20136 $.cookie(position, 0, { 20137 expires: 365, 20138 path: '/' 20139 }); 20140 $.cookie(position, 0, { 20141 expires: 365, 20142 path: '/portal/' 20143 }); 20144 } else { 20145 // add sessionid to hiddenChatBoxes 20146 let session_id = $(el).closest('.uc-message-box-column').data('session'); 20147 var old = localStorage.getItem('hiddenChatBoxes'); 20148 if(old === null) old = ""; 20149 localStorage.setItem('hiddenChatBoxes', old + session_id); 20150 } 20151 20152 } else { 20153 dockBody.show(); 20154 $(el).parents('.dock-column').find('.dock-minimize i').removeClass('icon-maximize').addClass('icon-minimize').attr('title', _('Minimize')); 20155 contactsResize(); 20156 20157 if (isContactsDock) { 20158 localStorage.setItem('DockPosition', 'show'); 20159 $.cookie(position, 1, { 20160 expires: 365, 20161 path: '/' 20162 }); 20163 $.cookie(position, 1, { 20164 expires: 365, 20165 path: '/portal/' 20166 }); 20167 } else { 20168 // remove sessionid from hiddenChatBoxes 20169 let session_id = $(el).closest('.uc-message-box-column').data('session'); 20170 var old = localStorage.getItem('hiddenChatBoxes'); 20171 if(old === null) old = ""; 20172 old = old.replaceAll(session_id, ''); 20173 localStorage.setItem('hiddenChatBoxes', old); 20174 } 20175 } 20176} 20177 20178/** 20179 * bind accordion slide to chevron icon 20180 * 20181 **/ 20182function bindAccordionSlide() { 20183 $('.accordion-body').each(function () { 20184 $(this).on('show', function () { 20185 $(this).siblings('.accordion-heading').find('.icon-chevron-up').removeClass('icon-chevron-up').addClass('icon-chevron-down'); 20186 }); 20187 $(this).on('shown', function () { 20188 $(this).parents('.modal').trigger('resize'); 20189 }); 20190 $(this).on('hide', function () { 20191 $(this).siblings('.accordion-heading').find('.icon-chevron-down').removeClass('icon-chevron-down').addClass('icon-chevron-up'); 20192 }); 20193 $(this).on('hidden', function () { 20194 $(this).parents('.modal').trigger('resize'); 20195 }); 20196 }); 20197} 20198 20199/** 20200 * initialize bootstrap tooltips on elements with 'helpsy' class 20201 * 20202 **/ 20203function initTooltips() { 20204 20205 function tooltipTop(element) { 20206 return element.tooltip({ 20207 delay: {show: 400, hide: 100}, 20208 container: 'body' 20209 }).on('hidden', function (e) { 20210 e.stopPropagation(); 20211 }); 20212 } 20213 20214 function tooltipRight(element) { 20215 return element.tooltip({ 20216 placement: 'right', 20217 delay: {show: 400, hide: 100}, 20218 container: 'body' 20219 }).on('hidden', function (e) { 20220 e.stopPropagation(); 20221 }); 20222 } 20223 20224 function tooltipButtom(element) { 20225 return element.tooltip({ 20226 placement: 'bottom', 20227 delay: {show: 400, hide: 100}, 20228 container: 'body' 20229 }).on('hidden', function (e) { 20230 e.stopPropagation(); 20231 }); 20232 } 20233 20234 function tooltipLeft(element) { 20235 return element.tooltip({ 20236 placement: 'left', 20237 delay: {show: 400, hide: 100}, 20238 container: 'body' 20239 }).on('hidden', function (e) { 20240 e.stopPropagation(); 20241 }); 20242 } 20243 20244 function initOverlay(element) { 20245 var title = element.attr('data-original-title'); 20246 return $('<div />').addClass('helpsy') 20247 .attr('title', title) 20248 .css({ 20249 position: "absolute", 20250 top: element.position().top, 20251 left: element.position().left, 20252 width: element.outerWidth(), 20253 height: element.outerHeight(), 20254 zIndex: 1000, 20255 backgroundColor: "#fff", 20256 opacity: 0 20257 }); 20258 } 20259 20260 // init tooltips 20261 tooltipTop($('.helpsy')); 20262 tooltipRight($('.helpsy-right')); 20263 tooltipButtom($('.helpsy-buttom')); 20264 tooltipLeft($('.helpsy-left')); 20265 20266 // init tooltips for disabled buttons 20267 $('.helpsy:disabled').each(function () { 20268 var _this = $(this);
20269 var overlay = initOverlay(_this); 20270 overlay = tooltipTop(overlay); 20271 _this.after(overlay); 20272 }); 20273 $('.helpsy-right:disabled').each(function () { 20274 var _this = $(this); 20275 var overlay = initOverlay(_this); 20276 overlay = tooltipRight(overlay); 20277 _this.after(overlay); 20278 }); 20279 $('.helpsy-buttom:disabled').each(function () { 20280 var _this = $(this); 20281 var overlay = initOverlay(_this); 20282 overlay = tooltipButtom(overlay); 20283 _this.after(overlay); 20284 }); 20285 $('.helpsy-left:disabled').each(function () { 20286 var _this = $(this); 20287 var overlay = initOverlay(_this); 20288 overlay = tooltipLeft(overlay); 20289 _this.after(overlay); 20290 }); 20291} 20292 20293/** 20294 * force validation for js -> submit method. initiate button loading if applicable 20295 * 20296 **/ 20297function forceValidate(form) { 20298 log('forced validation on ' + form); 20299 var validated = $(form).validationEngine('validate'); 20300 //var validated = true; 20301 20302 if (validated) { 20303 $(form + ' .saving').button('loading'); 20304 return true; 20305 } else 20306 return false; 20307} 20308 20309//attach validationEngine to forms 20310function attachValidation() { 20311 $('form').validationEngine('attach', { 20312 autoHidePrompt: true, 20313 scroll: false, 20314 onValidationComplete: function (form, status) { 20315 if (status) { 20316 log('validationEngine: passed'); 20317 $('.saving').button('loading'); 20318 return true; 20319 } else { 20320 log('validationEngine: failed'); 20321 return false; 20322 } 20323 }, 20324 onFailure: function () { 20325 log('onFailure'); 20326 } 20327 }); 20328 20329 //delay validation on keyup for password 20330 var delay = (function () { 20331 var timer = 0; 20332 return function (callback, ms) { 20333 clearTimeout(timer); 20334 timer = setTimeout(callback, ms); 20335 }; 20336 })(); 20337 $('#confirm-new-password').keyup(function () { 20338 delay(function () { 20339 $('form').validationEngine('validateField', "#confirm-new-password"); 20340 }, 1000); 20341 }); 20342 20343 //clicking cancel button hides red notifications 20344 $('.cancel').click(function () { 20345 $('form').validationEngine('hideAll'); 20346 //hideModal('.modal:visible'); 20347 }); 20348 $('ul.nav a').click(function () { 20349 $('form').validationEngine('hideAll'); 20350 }); 20351 20352 //losing autcomplete field focus hides notification 20353 $('#choices').blur(function () { 20354 $('#choices').validationEngine('hidePrompt'); 20355 }); 20356 20357 // This might not be necessary since hidden and disabled fields don't seem to validate anyway. 20358 // Left it here just in case. 20359 // 20360 //$('input:radio').click(function(){ 20361 // if ($('#TimeframeSelectOption2').prop('checked')){ 20362 // $('input:checkbox').change(function(){ 20363 // if ($('#' + this.id).prop('checked')) { 20364 // $('.' + this.id).addClass('validate[required,custom[time]]'); 20365 // $('form').validationEngine(); 20366 // } 20367 // else { 20368 // $('.' + this.id).removeClass('validate[required,custom[time]]'); 20369 // $('form').validationEngine(); 20370 // } 20371 // }); 20372 // } 20373 //}); 20374 20375 //hide any error prompts if a new radioSlide option is selected 20376 $('.radioSlide').change(function () { 20377 $('.datepicker').validationEngine('hidePrompt'); 20378 $('.input-hour-minute').validationEngine('hidePrompt'); 20379 dayOfWeekCheck(); 20380 }); 20381 20382 //unbind the blur event from datepicker fields to prevent unwanted validation until form is submitted. 20383 $('.datepicker, .datetimepicker').unbind('blur'); 20384} 20385 20386//toggle slidedown of add time frame options 20387function radioSlide() { 20388 //show selected radio option div on edit 20389 $('input.radioSlide:checked').each(function () { 20390 var selected = $(this).val(); 20391 $('#' + selected).show(); 20392 20393 }); 20394 20395 //show selected radio options when clicking each radio 20396 $('input.radioSlide').change(function () { 20397 var selected = $(this).val(); 20398 20399 if (selected == 'option1') 20400 $('.timeframe-divider').fadeOut(); 20401 else 20402 $('.timeframe-divider').fadeIn(); 20403 20404 $('.slide').animate({ 20405 height: "hide", opacity: "hide" 20406 }, { 20407 progress: function () { 20408 //if (selected == 'option1') 20409 modalResize($(this).parents('.modal')); 20410 } 20411 }); 20412 $('#' + selected).animate({
20413 height: "show", opacity: "show" 20414 }, { 20415 progress: function () { 20416 //if (selected == 'option1') 20417 modalResize($(this).parents('.modal')); 20418 } 20419 }); 20420 20421 20422 }); 20423} 20424 20425function handleAgentOnlineStatus() { 20426 let val = $('#agentstatus-value').attr('val'); 20427 if (val == undefined || val == null || val == '') { 20428 // had to specify because ! wasn't working ??? 20429 reloadModal('#write-agents'); 20430 } else { 20431 $.post("/portal/agents/agentLog/" + val+'/'+$('#agentstatus-value').attr('user')+'@'+$('#agentstatus-value').attr('queue').split('@')[1], function () { 20432 }) 20433 .fail(function () { 20434 console.log('failed to post log update'); 20435 }) 20436 .done(function () { 20437 reloadModal('#write-agents'); 20438 }); 20439 } 20440 } 20441 20442 function agentSetStatusValue(value) { 20443 let valobj = $('#agentstatus-value'); 20444 if (valobj.attr('isagent') == 'no') return; 20445 20446 if (value == 'Online' || value == 'Logged In') { 20447 valobj.attr('val', 'Auto') 20448 } else if (value == 'Offline' || value == 'Logged Out') { 20449 valobj.attr('val', 'Manual') 20450 } 20451 } 20452 20453//funtion to show add/edit menu of the agents page 20454function toggleAgentEdit(device, type, time, priority, order, tier, auto, call_limit, max_sms, confirm_required, offnet, agent_type) { 20455 if (typeof agent_type == 'undefined' || agent_type === null || agent_type === "") 20456 { 20457 if ($('#agent_type').length >0 && $('#agent_type').val() == "subscriber") { 20458 agent_type = "subscriber"; 20459 } else { 20460 agent_type = "device"; 20461 } 20462 } 20463 20464 var addedit = $('#addedit'); 20465 20466 if (typeof type == 'object') 20467 { 20468 if (type.contains("loggedin")) 20469 { 20470 type = 'Logged In'; 20471 } 20472 else { 20473 type = 'Logged Out'; 20474 } 20475 } 20476 20477 if (agent_type == 'subscriber') { 20478 if (type.includes('Logged In') || type.includes('Online')) $('#agentstatus-value').attr('val','Auto'); 20479 else $('#agentstatus-value').attr('val','Manual'); 20480 $('#agentstatus-value').attr('isagent', 'yes'); 20481 } else $('#agentstatus-value').attr('isagent', 'no'); 20482 20483 $('#CallqueueLoginType').val(type); 20484 time = time.replace("-", "0"); 20485 $('#agentstatus-value').attr('user',device.split(' ')[0]); 20486 20487 $('#CallqueueWaitTime').val(time); 20488 $('#CallqueueWaitTime-slider').slider('value', time / 5); 20489 $('#CallqueueWaitTime-slider').children(".ui-slider-handle").find("span.slider-tooltip-value").html(time); 20490 20491 $('#CallqueueCallLimit').val( call_limit); 20492 $('#CallqueueCallLimit').val(call_limit); 20493 $('#CallqueueCallLimit-slider').slider('value', call_limit); 20494 $('#CallqueueCallLimit-slider').children(".ui-slider-handle").find("span.slider-tooltip-value").html(call_limit); 20495 20496 $('#CallqueueMaxSms').val( max_sms); 20497 $('#CallqueueMaxSms-slider').slider('value', max_sms); 20498 $('#CallqueueMaxSms-slider').children(".ui-slider-handle").find("span.slider-tooltip-value").html(max_sms); 20499 $('#CallqueueMaxSms').val(max_sms); 20500 20501 priority = priority.replace("-", "1"); 20502 $('#CallqueuePriority').val( priority); 20503 $('#CallqueuePriority').val(priority); 20504 20505 order = order.replace("-", "0"); 20506 $('#CallqueueOrder').val( order); 20507 $('#CallqueueOrder').val(order); 20508 20509 20510 tier = tier.replace("-", "0"); 20511 $('#CallqueueTier').val( tier); 20512 $('#CallqueueTier').val(tier); 20513 20514 20515 $('#agent_type').val( agent_type); 20516 $('#agent_type').val(agent_type); 20517 var isEditNow = false; 20518 if (agent_type == "subscriber" || (showByUser && !showByDevice)) 20519 { 20520 isEditNow = $('#extension').prop('readonly'); 20521 $('#extension').val( device); 20522 $('#device').val( ""); 20523 if (device === null || device === "") 20524 $('#extension').prop('readonly', false); 20525 else 20526 $('#extension').prop('readonly', true); 20527 20528 $('.control-group.group-extension').show(); 20529 $('.control-group.group-device').hide(); 20530 } 20531 else { 20532 isEditNow = $('#device').prop('readonly'); 20533 $('#device').val( device); 20534 $('#extension').val( ""); 20535 if (device === null || device === "") 20536 $('#device').prop('readonly', false); 20537 else 20538 $('#device').prop('readonly', true); 20539 20540 $('.control-group.group-device').show(); 20541 $('.control-group.group-extension').hide(); 20542 } 20543 20544 //showAddEdit 20545 //alert(auto); 20546 if (auto == "yes" || auto == "Yes") 20547 $('#auto_answer').prop('checked', true); 20548 else 20549 $('#auto_answer').prop('checked', false); 20550 20551 if (confirm_required == "yes" || confirm_required == "Yes") 20552 $('#confirm_required').prop('checked', true); 20553 else 20554 $('#confirm_required').prop('checked', false); 20555 //else 20556 // $('#auto_answer').prop('checked', 'unchecked'); 20557 //alert($('#auto_answer').prop('checked')); 20558 //$('#' + selected).slideDown(); 20559 //$('#' + 'addbutton').hide(); 20560 20561 // var bodyHeight = parseInt($('#write-agents').find('.modal
20561-body').css('max-height')); 20562 //var editHeight = addedit.outerHeight(); 20563 //log('editHeight: ' +editHeight); 20564 20565 if (device === null || device === "") 20566 { 20567 $('#agents-autocomplete').show(); 20568 $('#extensions-autocomplete').show(); 20569 $('#device').hide(); 20570 $('#extension').hide(); 20571 $('.add-agents-by').show(); 20572 20573 } 20574 else { 20575 $('#agents-autocomplete').hide(); 20576 $('#extensions-autocomplete').hide(); 20577 $('#device').show(); 20578 $('#extension').show(); 20579 $('.add-agents-by').hide(); 20580 } 20581 20582 if (isEditNow && addedit.is(':visible')) { 20583 //do nothing 20584 } else if (addedit.is(':hidden')) { 20585 showAgentEdit(); 20586 } else if (device == '' && addedit.is(':visible')) { 20587 hideAgentEdit(); 20588 $('#agents-autocomplete').hide(); 20589 } 20590 20591 if (offnet || offnet == "1") { 20592 hqAgentOffnet(true, type); 20593 } else { 20594 hqAgentOffnet(false, type); 20595 } 20596} 20597 20598function showAgentEdit() { 20599 var bodyHeight = parseInt($('#write-agents').find('.modal-body').css('max-height')); 20600 20601 $('#addedit .scrollable').css({height: (bodyHeight - 52) * (1 / 2) - 30 + 'px'}); 20602 $('#add-agents-table').animate({height: (bodyHeight - 52) * (1 / 2) - 30 + 'px'}, {duration: 400, queue: false}); 20603 $('#addedit').animate( 20604 { 20605 height: 'show' 20606 }, { 20607 duration: 400, 20608 queue: false, 20609 progress: function () { 20610 modalResize($(this).parents('.modal')); 20611 } 20612 }); 20613} 20614 20615function hideAgentEdit() { 20616 var bodyHeight = parseInt($('#write-agents').find('.modal-body').css('max-height')); 20617 20618 $('#add-agents-table').animate({height: bodyHeight - 40 + 'px'}, {duration: 400, queue: false}); 20619 $('#addedit').animate({height: 'hide'}, { 20620 duration: 400, queue: false, progress: function () { 20621 modalResize($(this).parents('.modal')); 20622 } 20623 }); 20624} 20625 20626function toggleSiteManagerScope() 20627{ 20628 setTimeout(function () { 20629 if($('#site').length == 0 || $('#site').val() == "") 20630 $("#UserScope option[value*='Site Manager']").prop('disabled',true); 20631 else { 20632 $("#UserScope option[value*='Site Manager']").prop('disabled',false); 20633 } 20634 }, 100); 20635} 20636 20637/** 20638 * Function adds jQuery based on whether Agent number is "off net" - 10 digit phone number, indicating outside system 20639 * 20640 * @param {boolean} isOffnet 20641 * @param {string} type 20642 */ 20643function hqAgentOffnet(isOffnet, type) { 20644 if (isOffnet) { 20645 $("#device").attr("class", "large validate[required]"); 20646 $("#remote-agent-label").removeClass("hide"); 20647 $("#group-for-offnet-name").removeClass("hide"); // show offnet name field 20648 $("#isOffnet").val( "yes"); 20649 $("#CallqueueLoginType").html("<option value=\"Disabled\">" + _('Offline') + "</option><option value=\"offnet\">" + _('Online') + "</option>"); 20650 log(type); 20651 if (type == "offnet" || type == "Logged In") 20652 $("#CallqueueLoginType").val( "offnet"); 20653 else 20654 $("#CallqueueLoginType").val( "Disabled"); 20655 $("#groupforwrap, #group-for-maxcalls, #group-for-priority, #group-for-autoanswer, #group-for-maxsms").addClass("hide"); 20656 } else { 20657 $("#device").attr("class", "large validate[required,ajax[agentAdd] ]"); 20658 $("#remote-agent-label").addClass("hide"); 20659 $("#group-for-offnet-name").addClass("hide"); // hide offnet name field 20660 $("#isOffnet").val( "no"); 20661 $("#CallqueueLoginType").html("<option value=\"Logged Out\">" + _('Offline') + "</option><option value=\"Logged In\">" + _('Online') + "</option>"); // REMOVED 1226 <option value=\"Available One Call\">Online: One Call</option>"); 20662 if (type == "Logged In" || type == _('Online') || type =='Online' ) { 20663 $("#CallqueueLoginType").val( "Logged In"); 20664 } else if (type == "Logged Out" || type == _('Offline') || type =='Offline') { 20665 $("#CallqueueLoginType").val( "Logged Out"); 20666 } else { 20667 $("#CallqueueLoginType").val( "Available One Call"); 20668 } 20669 $("#groupforwrap, #group-for-maxcalls, #group-for-priority, #group-for-autoanswer, #group-for-maxsms").removeClass("hide"); 20670 } 20671} 20672 20673function agentsTableHeight(refresh) { 20674 log('adjusting agents table height'); 20675 var modal = $('#write-agents'); 20676 // modalResize(modal); 20677 20678 //show hidden modal elements before calculating heights
20679 //modal.find('.modal-header, .modal-body, .modal-footer').show(); 20680 20681 var bodyHeight = parseInt(modal.find('.modal-body').css('max-height')); 20682 20683 $('#add-agents-table').css({height: bodyHeight - 20}); 20684 20685 if (refresh) 20686 modal.find('.modal-header, .modal-footer').fadeIn(25, function () { 20687 modal.find('.modal-body') 20688 .css('display', 'block'); 20689 modalResize(modal); 20690 }); 20691 else 20692 modal.find('.modal-header, .modal-footer').fadeIn(25, function () { 20693 modal.find('.modal-body') 20694 .animate({ 20695 height: "show", opacity: "show" 20696 }, { 20697 duration: 100, 20698 progress: function () { 20699 modalResize(modal); 20700 } 20701 }); 20702 }); 20703 20704 //modalResize(modal); 20705 //workaround to prevent modal hide event from triggering tooltip 20706 $('.modal').unbind('hide'); 20707} 20708 20709function enableAgentDelete() { 20710 20711 alert('test'); 20712 20713 //$(form)[0].CallqueueToDelete.value = "DELETE"; 20714 $('#' + 'CallqueueToDelete').val( "DELETE"); 20715 20716 //var name=prompt("TYPE DELETE","DELE"); 20717 //confirm("sometext"); 20718 20719} 20720 20721function hideAddEdit(toDelete) { 20722 20723 20724 var selected = 'addedit'; 20725 20726 $('#' + selected).slideUp(); 20727 20728 20729 //$("form:first").submit('toDelete'); 20730 20731} 20732 20733function phoneShowOptions(isAdd) { 20734 if (isAdd != "1") 20735 isAdd = false; 20736 else 20737 isAdd = true; 20738 //alert($(this).attr('val')); 20739 var model = $('#PhoneModel').val() 20740 if (model != "" && model != "Manual or Softphone") { 20741 $('#' + "macLineDiv").animate({ 20742 height: "show", opacity: "show" 20743 }, { 20744 queue: false, 20745 progress: function () { 20746 modalResize($(this).parents('.modal')); 20747 } 20748 }); 20749 $('#' + "manualDiv").animate({ 20750 height: "hide", opacity: "hide" 20751 }, { 20752 queue: false, 20753 progress: function () { 20754 modalResize($(this).parents('.modal')) 20755 } 20756 }); 20757 } else { 20758 $('#' + "macLineDiv").animate({ 20759 height: "hide", opacity: "hide" 20760 }, { 20761 queue: false, 20762 progress: function () { 20763 modalResize($(this).parents('.modal')) 20764 } 20765 }); 20766 if (!isAdd) 20767 $('#' + "manualDiv").animate({ 20768 height: "show", opacity: "show" 20769 }, { 20770 queue: false, 20771 progress: function () { 20772 modalResize($(this).parents('.modal')) 20773 } 20774 }); 20775 } 20776 20777} 20778 20779function greetingFadeCallback(select, selectText = '') { 20780 if (select == null) { 20781 var selected = selectText; 20782 } else { 20783 var selected = $(select).val(); 20784 } 20785 20786 if ($('.toggle-placeholder').is(':hidden')) { 20787 $('.toggle-placeholder').slideDown(); 20788 } 20789 20790 if ($('.toggle-placeholder .slide').is(':visible')) { 20791 $('.toggle-placeholder .slide:visible').stop().fadeOut(200, function () { 20792 $('#' + selected).fadeIn(200); 20793 }); 20794 } else { 20795 $('#' + selected).fadeIn(200); 20796 } 20797 20798 if ($('#UserSelectUploadFile').prop('checked')) { 20799 $('.save_button_js').hide(); 20800 $('.save_tts_btn').hide(); 20801 $('.save_button_form').show(); 20802 $('.save_button_form > .btn').val('Upload'); 20803 } else if ($('#UserSelectTextToSpeech').prop('checked')) { 20804 $('.save_tts_btn').show(); 20805 $('#save_tts_btn').show(); 20806 $('.save_button_form').hide(); 20807 $('.save_button_js').hide(); 20808 } else { 20809 $('.save_button_form').hide(); 20810 $('.save_tts_btn').hide(); 20811 $('.save_button_js').show(); 20812 $('#save_button_js').show(); 20813 $('.save_button_js > .btn').val('Call'); 20814 $('.save_button_js > .btn').data('loading-text', 'Calling...'); 20815 } 20816} 20817 20818function greetingFade() { 20819 $('#moh00_enabled').click(function () { 20820 if ($('#MusicSelectRecordNumber').is(':checked')) { 20821 $('#save-js').show(); 20822 $('#save-form').addClass('hide'); 20823 } 20824 }); 20825 20826 $(':button[value="Add Greeting"],#moh00_enabled').click(function () { 20827 if ($(':input[value="record-number"]').is(':checked')) { 20828 $('input.greetingFade').each(function () { 20829 greetingFadeCallback(this); 20830 }) 20831 } 20832 }); 20833 20834 $('input.greetingFade').change(function () { 20835 greetingFadeCallback(this) 20836 }); 20837} 20838 20839 20840 20841function msgFadeCallback(select, selectText = '') { 20842 if (select == null) { 20843 var selected = selectText; 20844 } else { 20845 var selected = $(select).val(); 20846 } 20847 20848 if ($('.toggle-placeholder').is(':hidden')) { 20849 $('.toggle-placeholder').slideDown(); 20850 } 20851 20852 if ($('.toggle-placeholder .slide').is(':visible')) { 20853 $('.toggle-placeholder .slide:visible').stop().fadeOut(200, function () { 20854 $('#' + selected).fadeIn(200); 20855 }); 20856 } else { 20857 $('#' + selected).fadeIn(200); 20858 } 20859 20860 if ($('#UserSelectUploadFile').prop('checked')) { 20861 $('.save_button_js').hide(); 20862 $('.save_tts_btn').hide(); 20863 $('.save_button_form').show(); 20864 $('.save_button_form > .btn').val('Upload'); 20865 } else if ($('#UserSelectTextToSpeech').prop('checked')) { 20866 $('.save_tts_btn').show(); 20867 $('#save_tts_btn').show(); 20868 $('.save_button_form').hide(); 20869 $('.save_button_js').hide(); 20870 } else { 20871 // console.log('show save_button_js 1'); 20872 // $('.save_button_form').hide(); 20873 // $('.save_tts_btn').hide(); 20874 // $('.save_button_js').show(); 20875 // $('#save_button_js').show(); 20876 // $('.save_button_js > .btn').val('Call'); 20877 // $('.save_button_js > .btn').data('loading-text', 'Calling...'); 20878 } 20879} 20880 20881function msgFade() { 20882 $('#moh00_enabled').click(function () { 20883 if ($('#MusicSelectRecordNumber').is(':checked')) { 20884 $('#save-js').show(); 20885 $('#save-form').addClass('hide'); 20886 } 20887 }); 20888 20889 $(':button[value="Add Greeting"],#moh00_enabled').click(function () { 20890 if ($(':input[value="record-number"]').is(':checked')) { 20891 $('input.msgFade').each(function () { 20892 msgFadeCallback(this); 20893 }) 20894 } 20895 }); 20896 20897 $('input.msgFade').change(function () { 20898 msgFadeCallback(this) 20899 }); 20900} 20901 20902 20903 20904/** 20905 * calculates and shows or hides table and add/edit div heights 20906 * 20907 * @param {integer} index - is the greeting file index 20908 * @param {string} script - is used for the greeting name 20909 * @param {boolean} edit - true if editing a greeting 20910 * @param {string} voice_id - voice id 20911 * @param {string} voice_language - voice language 20912 **/ 20913function greetingAddEdit(index, script, edit) { 20914 script = decodeURIComponent(script); 20915 var addedit = $('#greetingAddEdit'); 20916 //alert($('#moh00_enabled').prop('checked')); 20917 $('#UserEditNumber').val( index); 20918 20919 var bodyHeight = parseInt($('#greetings-modal').find('.modal
20919-body').css('max-height')); 20920 //var addeditHeight = addedit.outerHeight(); 20921 var addeditHeight = 243; //gave a hard value because outerHeight calculates inconsistently 20922 20923 //log('addeditHeight: ' +addeditHeight); 20924 20925 //if editing a greeting do... 20926 if (edit) { 20927 //if addedit section is hidden show it 20928 if (addedit.is(':hidden')) { 20929 $('#UserGreetingName').val( script); 20930 $('#messageText').val(script); 20931 //outerHeight of addEdit div 20932 $('.greetings-table').animate({height: bodyHeight - addeditHeight + 'px'}, 20933 { 20934 duration: 550, 20935 queue: false 20936 }); 20937 addedit.animate({height: 'show', opacity: 'show'}, 20938 { 20939 duration: 550, 20940 queue: false 20941 }); 20942 } 20943 //otherwise fade section out and in with greeting's values 20944 else 20945 addedit.fadeOut(100, function () { 20946 $('#UserGreetingName').val( script); 20947 $('#messageText').val(script); 20948 addedit.fadeIn(100); 20949 }); 20950 } else { 20951 //if addedit section is visible and the name value is blank, hide the addedit section 20952 if (addedit.is(':visible') && $('#UserGreetingName').val() == '') { 20953 //outerHeight of addEdit div - 20px padding/margin 20954 $('.greetings-table').animate({height: bodyHeight - 20 + 'px'}, 20955 { 20956 duration: 550, 20957 queue: false 20958 }); 20959 addedit.animate({height: 'hide', opacity: 'hide'}, 20960 { 20961 duration: 550, 20962 queue: false 20963 }); 20964 } 20965 //otherwise if it's visible but has greetings values, fade out/in and overwrite them for a new greeting 20966 else if (addedit.is(':visible')) { 20967 addedit.fadeOut(100, function () { 20968 $('#UserGreetingName').val( script); 20969 $('#messageText').val(script); 20970 addedit.fadeIn(100); 20971 }); 20972 } 20973 //otherwise just show the addedit section to add a new greeting 20974 else { 20975 $('#UserGreetingName').val( script); 20976 20977 //outerHeight of addEdit div 20978 $('.greetings-table').animate({height: bodyHeight - addeditHeight + 'px'}, 20979 { 20980 duration: 550, 20981 queue: false 20982 }); 20983 addedit.animate({height: 'show', opacity: 'show'}, 20984 { 20985 duration: 550, 20986 queue: false 20987 }); 20988 } 20989 20990 20991 } 20992} 20993 20994//used after clicking 'save' on greeting 20995function greetingAddEditClose() { 20996 //alert($('#moh00_enabled').prop('checked')); 20997 $('#greetingAddEdit').animate({height: 'hide', opacity: 'hide'}, 750); 20998} 20999 21000function updateGreetingDD() { 21001 $.getJSON("/portal/users/greetings/json/" + sub_user + "@" + sub_domain + "/*", function (data) { 21002 var source = ""; 21003 log(data); 21004 21005 $.each(data, function (key, val) { 21006 var isFound = false; 21007 var totest = val.index + " - " + val.moh_script; 21008 21009 $('#greeting-select option').each(function () { 21010 21011 if (totest == $(this).text()) { 21012 isFound = true; 21013 log("found " + totest); 21014 } 21015 }); 21016 21017 if (!isFound) { 21018 $('#greeting-select').append( 21019 $('<option></option>').val(val.remotepath).html(totest) 21020 ); 21021 } 21022 }); 21023 }); 21024 21025} 21026 21027// shows/hides intro greetings sections in AA intro greetings modal 21028function introsAddEdit(index, script, edit, message) { 21029 if (typeof message == 'undefined') 21030 message = ""; 21031 message = decodeURIComponent(message); 21032 21033 var addedit = $('#greetingAddEdit'); 21034 //alert($('#moh00_enabled').prop('checked')); 21035 $('#UserEditNumber').val( index); 21036 $('#UserGreeting').val( index); 21037 $('#UserTimeFrame').val( script); 21038 $('#UserTimeFrame2').val( script); 21039 $('#intro_enabled_changed').val( "1"); 21040 21041 if (script === "") { 21042 $('#UserTimeFrame').prop("disabled", false);
21043 $('#UserTimeFrame').attr('class', "xlarge validate[required]"); 21044 } else { 21045 $('#UserTimeFrame').prop("disabled", true); 21046 $('#UserTimeFrame').attr('class', "xlarge "); 21047 21048 } 21049 21050 $('#messageText').val(message); 21051 21052 var bodyHeight = parseInt($('#introgreeting-modal').find('.modal-body').css('max-height')); 21053 //var addeditHeight = addedit.outerHeight(); 21054 var addeditHeight = 243; //gave a hard value because outerHeight calculates inconsistently 21055 21056 //log('addeditHeight: ' +addeditHeight); 21057 21058 //if editing a greeting do... 21059 if (edit) { 21060 21061 //if addedit section is hidden show it 21062 if (addedit.is(':hidden')) { 21063 $('#UserGreetingName').val( script); 21064 $('#newGreetingTimeframeSelect').val( script); 21065 $('#newGreetingTimeframeSelect').prop("disabled", true); 21066 21067 //modal body - addEdit div 21068 $('.greetings-table').animate({height: bodyHeight - addeditHeight + 'px'}, 21069 { 21070 duration: 550, 21071 queue: false 21072 }); 21073 addedit.animate({height: 'show', opacity: 'show'}, 21074 { 21075 duration: 550, 21076 queue: false 21077 }); 21078 } 21079 //otherwise fade section out and in with greeting's values 21080 else 21081 addedit.fadeOut(100, function () { 21082 $('#UserGreetingName').val( script); 21083 $('#newGreetingTimeframeSelect').val( script); 21084 $('#newGreetingTimeframeSelect').prop("disabled", true); 21085 addedit.fadeIn(100); 21086 }); 21087 } else { 21088 $('#newGreetingTimeframeSelect').prop("disabled", false); 21089 //if addedit section is visible and the name value is blank, hide the addedit section 21090 if (addedit.is(':visible') && $('#UserTimeFrame').val() == '') { 21091 //modal body - 20px padding/margin 21092 $('.greetings-table').animate({height: bodyHeight - 20 + 'px'}, 21093 { 21094 duration: 550, 21095 queue: false 21096 }); 21097 addedit.animate({height: 'hide', opacity: 'hide'}, 21098 { 21099 duration: 550, 21100 queue: false 21101 }); 21102 } 21103 //otherwise if it's visible but has greetings values, fade out/in and overwrite them for a new greeting 21104 else if (addedit.is(':visible')) { 21105 addedit.fadeOut(100, function () { 21106 $('#UserGreetingName').val( script); 21107 $('#newGreetingTimeframeSelect').val( script); 21108 addedit.fadeIn(100); 21109 }); 21110 } 21111 //otherwise just show the addedit section to add a new greeting 21112 else { 21113 $('#UserGreetingName').val( script); 21114 $('#newGreetingTimeframeSelect').val( script); 21115 //modal body - addEdit div 21116 $('.greetings-table').animate({height: bodyHeight - addeditHeight + 'px'}, 21117 { 21118 duration: 550, 21119 queue: false 21120 }); 21121 addedit.animate({height: 'show', opacity: 'show'}, 21122 { 21123 duration: 550, 21124 queue: false 21125 }); 21126 } 21127 } 21128} 21129 21130//used after clicking 'save' on greeting 21131function introsAddEditClose() { 21132 //alert($('#moh00_enabled').prop('checked')); 21133 $('#greetingAddEdit').animate({height: 'hide', opacity: 'hide'}, 750); 21134} 21135 21136//calculates table height on modal load and display 21137//form is a boolean that indicates if the greetingstable is being loaded after an ajax form submit 21138function greetingsTableHeight(form) { 21139 log('adjusting greetings table height'); 21140 21141 if ($('#introgreeting-modal').length) 21142 var modal = $('#introgreeting-modal'); 21143 else 21144 var modal = $('#greetings-modal'); 21145 21146 modalResize(modal); 21147 //show hidden modal elements before calculating heights 21148 //modal.find('.modal-header, .modal-body, .modal-footer').show(); 21149 21150 var addedit = $('#greetingAddEdit'); 21151 var bodyHeight = parseInt(modal.find('.modal-body').css('max-height')); 21152 //var addeditHeight = addedit.outerHeight() + 10; //10 added because outerHeight misses some margin from a field 21153 var addeditHeight = 233; 21154 21155 21156 if (addedit.hasClass('nohide')) 21157 $('.greetings-table').css({height: bodyHeight - addeditHeight - 20}); //outerHeight of addEdit div - 20px padding 21158 else 21159 $('.greetings-table').css({height: bodyHeight - 20}); 21160 21161 if (form)
21162 modal.find('.modal-header, .modal-body, .modal-footer').fadeIn(25); 21163 else 21164 modal.find('.modal-header, .modal-footer').fadeIn(25, function () { 21165 modal.find('.modal-body') 21166 .animate({ 21167 height: "show", opacity: "show" 21168 }, { 21169 duration: 100, 21170 progress: function () { 21171 modalResize(modal); 21172 } 21173 }); 21174 }); 21175 21176 21177 modalResize(modal); 21178 21179 //workaround to prevent modal hide event from triggering tooltip 21180 $('.modal').unbind('hide'); 21181} 21182 21183function toggleMoh0() { 21184 //alert($('#moh00_enabled').prop('checked')); 21185 21186 if ($('#moh00_enabled').prop('checked')) 21187 $("#moh0manage").animate({ 21188 height: 'show', opacity: 'show' 21189 }, { 21190 progress: function () { 21191 modalResize($(this).parents('.modal')); 21192 } 21193 }); 21194 else { 21195 $("#moh0manage").animate({ 21196 height: 'hide', opacity: 'hide' 21197 }, { 21198 progress: function () { 21199 modalResize($(this).parents('.modal')); 21200 } 21201 }); 21202 $("#upload_div, #record_div").hide(); 21203 } 21204} 21205 21206function showUpload() { 21207 $("#record_div").hide(); 21208 $("#upload_div").show(); 21209} 21210 21211function showRecord() { 21212 $("#upload_div").hide(); 21213 $("#record_div").show(); 21214} 21215 21216function saveNoAnsTimeout() { 21217 //alert("saving"); 21218 21219 //var selected = 'submittimeout'; 21220 21221 //$('#' + selected).submit(); 21222 //$("form:first").submit(); //dead code 21223 //$('.slide').slideDown(); 21224 //$('#' + selected).slideUp(); 21225 21226 //for (counter=0; counter<$(form).length; counter++) 21227 // alert($(form)[counter]); 21228 21229 21230 //alert($(form).toString()); 21231 //$(form)[0].submit(); 21232 21233 21234} 21235 21236function showMoreTZoptions() { 21237 var selectString = '#UserTimeZone'; 21238 var mySelect = $(selectString); 21239 21240 if (typeof mySelect == 'undefined' || mySelect.length == 0) { 21241 selectString = '#DomainTimeZone'; 21242 mySelect = $(selectString); 21243 } 21244 21245 if (mySelect.val() == "show more...") { 21246 var optVals = []; 21247 $(selectString + 'Storage option').each(function () { 21248 if ($(this).val() != "") 21249 optVals.push($(this).val()); 21250 }); 21251 21252 $.each(optVals, function (val, text) { 21253 mySelect.append( 21254 $('<option></option>').val(text).html(text) 21255 ); 21256 }); 21257 $(selectString).find("option").attr("selected", false); 21258 $(selectString + " option[value='show more...']").remove(); 21259 } 21260} 21261 21262 21263function addLocationToggle() { 21264 // reveal the duplicate location inputs 21265 // change the button to be x helpsy instead 21266 // if it is to show 21267 if ($('#add-location').hasClass('add-state')) { 21268 showAddLocation(); 21269 } else { 21270 // cancel Add Location 21271 hideAddLocation(); 21272 } 21273} 21274 21275 21276function showAddLocation() { 21277 $('.address-duplicate-control-group').removeClass('hide'); 21278 $('#add-location').removeClass('add-state'); 21279 // $('#add-location').addClass('del'); 21280 21281 // change help text to "Cancel" 21282 $("#add-location").text(_('Cancel')); 21283 21284 // hide the original dropdowns 21285 $('.address-control-group').addClass('hide'); 21286 $('.address-control-group-notify').addClass('hide'); 21287 21288 // hide Edit Address button 21289 $('#edit-address').addClass('hide'); 21290 $('#delete-address').addClass('hide'); 21291 21292 modalResize($('.address-control-group').parents('.modal')); 21293 modalResize($('.address-control-group-notify').parents('.modal')); 21294} 21295 21296 21297function hideAddLocation() { 21298 $('#address_name_duplicate').val(''); 21299 $('#location_duplicate').val(''); 21300 21301 $('.address-duplicate-control-group').addClass('hide'); 21302 // $('#add-location').removeClass('del'); 21303 $('#add-location').addClass('add-state'); 21304 $("#add-location").text(_('Add location description')); 21305 21306 // show the original dropdowns IF the value is add an address 21307 if ($("#address_id").val() == "add_address_id") { 21308 $('.address-control-group').removeClass('hide'); 21309 $('.address-control-group-notify').removeClass('hide'); 21310 } 21311 21312 // see if should show edit address 21313 var value = $("#address_id").val(); 21314 if (addressesJS != undefined && Array.isArray(addressesJS) && addressesJS['0'] != undefined && value != undefined) { 21315 // get the address chosen from dropdown from the list of all addresses 21316 let chosenAddress = addressesJS.find(o => o.address_id === value); 21317 21318 // set the address pretty print help text to the chosen address 21319 if (chosenAddress != undefined) { 21320 // only show address if the address belongs to the current logged in user (this is so that you cannot dox someone else by looking at their profile) 21321 if (chosenAddress['user'] == "*" || chosenAddress['user'] == userSite || chosenAddress['domain_level'] != undefined || chosenAddress['site_level'] != undefined || chosenAddress['user'] == sub_user) { 21322 $('#address_pretty_print').text(chosenAddress['pretty_print']); 21323 21324 // TODO also show edit options only show edit option if it is user level.. 21325 if (chosenAddress['domain_level'] != undefined || chosenAddress['site_level'] != undefined) { 21326 $('#delete-address').addClass('hide');
21327 $('#edit-address').addClass('hide'); 21328 } else { 21329 $('#edit-address').removeClass('hide'); 21330 $('#delete-address').removeClass('hide'); 21331 } 21332 } 21333 } 21334 } 21335 modalResize($('.address-control-group').parents('.modal')); 21336 modalResize($('.address-control-group-notify').parents('.modal')); 21337} 21338 21339 21340 21341// shows more options for address adding for various add/edit routes 21342function showAddressAddProfile(value, addressesJS = undefined, userSite = undefined) { 21343 cancelAddressEdit(); 21344 hideAddLocation(); 21345 if (value == 'add_address_id') { 21346 $('.address-control-group').removeClass('hide'); 21347 $('.address-control-group-notify').removeClass('hide'); 21348 // disable save button for now 21349 $('.saveBtn').prop('disabled', true); 21350 21351 // show the validate button 21352 $('.valBtn').removeClass('hide'); 21353 21354 // resize modal 21355 modalResize($('.address-control-group').parents('.modal')); 21356 modalResize($('.address-control-group-notify').parents('.modal')); 21357 21358 // hide/reset any duplicate prompts that might be showing if you change to add_address option 21359 $('#address_name_duplicate').val(''); 21360 $('#location_duplicate').val(''); 21361 $('.address-duplicate-control-group').addClass('hide'); 21362 $('#add-location').addClass('add-state'); 21363 $("#add-location").text(_('Add location description')); 21364 $('#address_pretty_print').text(''); 21365 21366 // hide buttons for Add my location and Edit Address 21367 $('#add-location').addClass('hide'); 21368 $('#edit-address').addClass('hide'); 21369 $('#delete-address').addClass('hide'); 21370 21371 // make all the fields blank 21372 $('#address_name').val(''); 21373 $('#caller_name').val(''); 21374 $('#address_line_1').val(''); 21375 $('#address_line_2').val(''); 21376 $('#state_code').val(''); 21377 $('#city').val(''); 21378 $('#zip').val(''); 21379 $('#location').val(''); 21380 } else { 21381 // $('.address-control-group').addClass('hide'); 21382 // enable save button for now 21383 $('.saveBtn').prop('disabled', false); 21384 21385 // hide the validate button 21386 $('.valBtn').addClass('hide'); 21387 21388 // set the help text too 21389 $("#validate-address-message").removeClass("text-success").text(_('Validate a new address before saving. All fields must be filled out before validating.')); 21390 21391 // resize modal 21392 modalResize($('.address-control-group').parents('.modal')); 21393 modalResize($('.address-control-group-notify').parents('.modal')); 21394 21395 21396 // // changed to a non-address value, can read and fill in the address information into the boxes, and also show the 21397 // if (addressesJS != undefined && Array.isArray(addressesJS) && addressesJS['0'] != undefined) { 21398 // // show pretty print here 21399 // let chosenAddress = addressesJS.find(o => o.address_id === value); 21400 21401 // // set the address pretty print help text to the chosen address 21402 // if (chosenAddress != undefined) { 21403 // $('#address_pretty_print').text(chosenAddress['pretty_print']); 21404 // } 21405 // } 21406 } 21407 21408 // changed to a non-address value, can read and fill in the address information into the boxes, and also show the 21409 // show pretty print here 21410 if (addressesJS != undefined && Array.isArray(addressesJS) && addressesJS['0'] != undefined) { 21411 // get the address chosen from dropdown from the list of all addresses 21412 let chosenAddress = addressesJS.find(o => o.address_id === value); 21413 21414 // set the address pretty print help text to the chosen address 21415 if (chosenAddress != undefined) { 21416 // only show address if the address belongs to the current logged in user (this is so that you cannot dox someone else by looking at their profile) 21417 if (chosenAddress['user'] == "*" || chosenAddress['user'] == userSite || chosenAddress['domain_level'] != undefined || chosenAddress['site_level'] != undefined || chosenAddress['user'] == sub_user) { 21418 $('#address_pretty_print').text(chosenAddress['pretty_print']); 21419 21420 // TODO also show edit options only show edit option if it is user level.. 21421 if (chosenAddress['domain_level'] != undefined || chosenAddress['site_level'] != undefined) {
21422 $('#edit-address').addClass('hide'); 21423 $('#add-location').removeClass('hide'); // if it is domain/site level, always show the add location 21424 } else { 21425 $('#edit-address').removeClass('hide'); 21426 } 21427 21428 21429 if (chosenAddress['user'] == sub_user) { 21430 $('#add-location').addClass('hide'); 21431 } 21432 21433 // fill in the values 21434 fillInAddressData(chosenAddress); 21435 } else { 21436 $('#address_pretty_print').text(_('Address is hidden for privacy')); 21437 } 21438 } else { 21439 $('#address_pretty_print').text(''); 21440 } 21441 } 21442} 21443 21444 21445 21446// press edit address, should change edit flag to true 21447// change the string of the button to be "Cancel" 21448// show the address information fields 21449function editAddressToggle () { 21450 var editFlagEle = document.getElementById("edit_flag"); 21451 if (!editFlagEle) { 21452 return; 21453 } 21454 21455 if (document.getElementById("edit_flag").value == "false") { 21456 // toggling to true (Pressed Edit address) 21457 startAddressEdit(); 21458 } else if (document.getElementById("edit_flag").value == "true") { 21459 // toggling to false (Pressed Cancel) 21460 cancelAddressEdit(); 21461 } 21462} 21463 21464 21465function startAddressEdit() { 21466 // toggling to true (Pressed Edit address) 21467 document.getElementById("edit_flag").value = "true"; 21468 21469 // show the inputs 21470 $('.address-control-group').removeClass('hide'); 21471 $('.address-control-group-notify').removeClass('hide'); 21472 21473 21474 // value is the address_id that is currently selected 21475 let value = document.getElementById("address_id").value; 21476 let chosenAddress = addressesJS.find(o => o.address_id === value); 21477 21478 if (chosenAddress != undefined) { 21479 fillInAddressData(chosenAddress); 21480 } 21481 21482 // change "Edit Address" link text to "Cancel" 21483 $('#edit-address').text(_('Cancel')); 21484 21485 // hide Add my location button 21486 $('#add-location').addClass('hide'); 21487 21488 21489 // hide pretty print 21490 $('#address_pretty_print').addClass('hide'); 21491 21492 // make sure save is disabled anymore on edit 21493 $('.saveBtn').prop('disabled', true); 21494 21495 // show validate button 21496 $('.valBtn').prop('disabled', false).show(); 21497 21498 modalResize($('.address-control-group').parents('.modal')); 21499 modalResize($('.address-control-group-notify').parents('.modal')); 21500} 21501 21502function cancelAddressEdit() { 21503 // toggling to false (Pressed Cancel) 21504 var editFlagEle = document.getElementById("edit_flag"); 21505 if (editFlagEle) { 21506 editFlagEle.value = "false"; 21507 } 21508 21509 // hide the inputs 21510 $('.address-control-group').addClass('hide'); 21511 $('.address-control-group-notify').addClass('hide'); 21512 21513 // change "Cancel" link text BACK to "Edit Address" 21514 $('#edit-address').text(_('Edit Address')); 21515 21516 // bring back Add my location description button 21517 // $('#add-location').removeClass('hide'); 21518 21519 // reveal pretty print again 21520 $('#address_pretty_print').removeClass('hide'); 21521 21522 // make sure save is not disabled anymore on cancel edit 21523 $('.saveBtn').prop('disabled', false); 21524 21525 modalResize($('.address-control-group').parents('.modal')); 21526 modalResize($('.address-control-group-notify').parents('.modal')); 21527} 21528 21529 21530function fillInAddressData(chosenAddress) { 21531 document.getElementById("address_name").value = chosenAddress['address_name']; 21532 document.getElementById("caller_name").value = chosenAddress['caller_name']; 21533 document.getElementById("address_line_1").value = chosenAddress['address_line_1']; 21534 document.getElementById("address_line_2").value = chosenAddress['address_line_2']; 21535 document.getElementById("country_code").value = chosenAddress['country_code']; 21536 document.getElementById("state_code").value = chosenAddress['state_code']; 21537 document.getElementById("city").value = chosenAddress['city']; 21538 document.getElementById("zip").value = chosenAddress['zip']; 21539 if (typeof chosenAddress['location'] != 'undefined' && document.getElementById("location") != null) { 21540 document.getElementById("location").value = chosenAddress['location']; 21541 } 21542 document.getElementById("carrier").value = chosenAddress['carrier']; 21543} 21544 21545 21546// should require validate again because the user changed the address to be added 21547function domainAddressChange(value) { 21548 // disable the save button 21549 $('.saveBtn').prop('disabled', true); 21550 21551 isSaveValidDomain(); 21552 // check if values are filled, if they are, then set validate button to be true 21553} 21554 21555function isSaveValidDomain() { 21556 var allowValidate = true; 21557 $( ".isNeededDomain" ).each(function( index ) { 21558 if ($(this).val() =="") { 21559 allowValidate = false;
21560 } 21561 }); 21562 21563 if (allowValidate) { 21564 $('.valBtn').prop('disabled', false).show(); 21565 $('#validate-address-message') 21566 .addClass('muted') 21567 .removeClass('text-error text-success') 21568 .text(_('Validate a new address before saving. All fields must be filled out before validating.')); 21569 21570 } else { 21571 $('.valBtn').prop('disabled', true); 21572 } 21573} 21574 21575 21576 21577// should require validate again because the user changed the address to be added 21578function userAddressChange(value) { 21579 // disable the save button 21580 $('.saveBtn').prop('disabled', true); 21581 21582 isSaveValid(); 21583 // check if values are filled, if they are, then set validate button to be true 21584} 21585 21586//make sure all address fields are filled before allowing to validate 21587function isSaveValid() { 21588 var allowValidate = true; 21589 $( ".isNeeded" ).each(function( index ) { 21590 if ($(this).val() =="") 21591 allowValidate = false; 21592 21593 }); 21594 21595 if (allowValidate) { 21596 $('.valBtn').prop('disabled', false).show(); 21597 $('#validate-address-message') 21598 .addClass('muted') 21599 .removeClass('text-error text-success') 21600 .text(_('Validate a new address before saving. All fields must be filled out before validating.')); 21601 21602 } else { 21603 $('.valBtn').prop('disabled', true); 21604 } 21605} 21606 21607 21608//clears forms and hides sliding content 21609function clearForm(form) { 21610 $(form)[0].reset(); 21611 $('li[id*="slide"]').remove(); 21612 findCheck(); 21613 $(':text').blur(); 21614} 21615 21616//hide modal modalId includes the # 21617function hideModal(modalId) { 21618 modalState = 'closing'; 21619 var $modal = $(modalId); 21620 21621 $('form').validationEngine('hideAll'); 21622 21623 modalTimer = setTimeout(function () { 21624 if ($modal.is(':visible')) 21625 $modal.modal('hide'); 21626 21627 //empty and remove any bound events to elements in modal 21628 $modal.empty().off("*"); 21629 $modal.html('<div class="loading-container relative" style="top:0;padding: 50px 0;">' + 21630 '<div class="loading-spinner la-ball-spin-clockwise">' + 21631 '<div></div>' + 21632 '<div></div>' + 21633 '<div></div>' + 21634 '<div></div>' + 21635 '<div></div>' + 21636 '<div></div>' + 21637 '<div></div>' + 21638 '<div></div>' + 21639 '</div>' + 21640 '</div>').attr('style', ''); 21641 $modal.removeClass('load-failed'); 21642 modalState = 'closed'; 21643 }, 1000); 21644 21645} 21646 21647//hide agent stats modal used in call center manager 21648//TODO: convert to take placeholder html, store in string, then use here 21649function hideAgentModal(modalId) { 21650 modalState = 'closing'; 21651 21652 if (modalId != "#view-agent-stats") 21653 return hideModal(modalId); 21654 $('form').validationEngine('hideAll'); 21655 $(modalId).modal('hide'); 21656 21657 modalTimer = setTimeout(function () { 21658 $(modalId).html('<div class="modal-header">' + 21659 '<button type="button" class="close cancel" data-dismiss="modal" onclick="hideModal(\'#view-reports\');">×</button>' + 21660 '<h3> </h3>' + 21661 '</div>' + 21662 '<div class="split-chart-container">' + 21663 '<div class="chart-container first-chart">' + 21664 '<span class="loading-lg chart_div"></span>' + 21665 '<div id="chart_div" class="chart-container"></div>' + 21666 '</div>' + 21667 '<div class="chart-container second-chart">' + 21668 '<span class="loading-lg chart_div2"></span>' + 21669 '<div id="chart_div2" class="chart-container"></div>' + 21670 '</div>' + 21671 '</div>' + 21672 '<div class="split-chart-container">' + 21673 '<div class="chart-container first-chart">' + 21674 '<span class="loading-lg chart_div3"></span>' + 21675 '<div id="chart_div3" class="chart-container"></div>' + 21676 '</div>' + 21677 '<div class="chart-container second-chart">' + 21678 '<span class="loading-lg chart_div4"></span>' + 21679 '<div id="chart_div4" class="chart-container"></div>' + 21680 '</div>' + 21681 '</div>' + 21682 '<div class="modal-footer">' + 21683 '<button type="button" class="btn" data-dismiss="modal" onclick="hideModal(\'#view-reports\');">Close</button>' + 21684 '</div>').attr('style', ''); 21685 modalState = 'closed'; 21686 }, 1000); 21687} 21688 21689//hide modal conditionally 21690function hideModalIf(modalId) { 21691 if ($('#hideModal').length) { 21692 modalState = 'closing'; 21693 21694 log('hiding modal, reload location'); 21695 21696 $(modalId).modal('hide'); 21697 21698 modalTimer = setTimeout(function () { 21699 $(modalId).html('<span class="loading-lg"></span>').attr('style', ''); 21700 modalState = 'closed'; 21701 }, 1000); 21702 21703 location.reload(true); 21704 } 21705} 21706 21707function hideModalIfNoReload(modalId) { 21708 if ($('#hideModal').length) { 21709 modalState = 'closing'; 21710 21711 log('hiding modal, no reload'); 21712 21713 $(modalId).modal('hide'); 21714 21715 modalTimer = setTimeout(function () { 21716 $(modalId).html('<span class="loading-lg"></span>').attr('style', ''); 21717 modalState = 'closed'; 21718 }, 1000); 21719 } 21720} 21721 21722//reloads the contents of the modal. Used in save and delete cases where the table contents need to be updated 21723function reloadModal(modalId) { 21724 modalState = 'opening'; 21725 21726 var $modalObj = $(modalId); 21727 var modalPath = $modalObj.data('modal-path'); 21728 21729 $modalObj.html('<span class="loading-lg"></span>'); 21730 21731 modalResize($modalObj); 21732 21733 $.ajax({ 21734 url: modalPath, 21735 cache: false 21736 }).done(function (html) { 21737 log('reloading modal data succeeded for ' + modalId); 21738 21739 $modalObj.css("minHeight", $modalObj.height()); 21740 21741 try { 21742 $modalObj.html(html); 21743 } catch (err) { 21744 log("error caught - " + err); 21745 } 21746
21747 $modalObj.find('.modal-header, .modal-body, .modal-footer').show(); 21748 modalResize($modalObj); 21749 21750 //workaround to prevent modal hide event from triggering tooltip 21751 $modalObj.unbind('hide'); 21752 21753 modalState = 'open'; 21754 }).fail(function (textStatus) { 21755 $modalObj.addClass('load-failed'); 21756 var html = '<div class="modal-header">' 21757 + '<button type="button" class="close cancel" data-dismiss="modal" onclick="hideModal(\'' + modalId + '\');">×</button>' 21758 + '<h4>' + textStatus.statusText + '</h4>' 21759 + '</div>' 21760 + '<div class="modal-body">' 21761 + '<div class="load-failed">' 21762 + '<h4>The modal contents failed to load.</h4><h4>Please try again.</h4>' 21763 + '</div>' 21764 + '</div>' 21765 + '<div class="modal-footer">' 21766 + '<button type="btn" class="cancel btn" data-dismiss="modal" onclick="hideModal(\'' + modalId + '\');">Close</button>' 21767 + '</div>' 21768 $modalObj.html(html); 21769 $modalObj.find('.modal-header, .modal-body, .modal-footer').show(); 21770 modalResize($modalObj); 21771 }); 21772} 21773 21774//load content into modal and show it. 21775function loadModal(modalId, path) { 21776 modalState = 'opening'; 21777 clearTimeout(modalTimer); 21778 21779 log('loading modal ' + modalId + ' with data from ' + path); 21780 21781 var modalObj = $(modalId); 21782 var isNewModal = modalObj.css('display') != 'block'; 21783 21784 var loadingHtml = '<div class="loading-container relative" style="top:0;padding: 50px 0;">' + 21785 '<div class="loading-spinner la-ball-spin-clockwise">' + 21786 '<div></div>' + 21787 '<div></div>' + 21788 '<div></div>' + 21789 '<div></div>' + 21790 '<div></div>' + 21791 '<div></div>' + 21792 '<div></div>' + 21793 '<div></div>' + 21794 '</div>' + 21795 '</div>'; 21796 21797 if (isNewModal) { 21798 modalObj.html(loadingHtml).addClass('loading'); 21799 modalResize(modalObj); 21800 $('.helpsy').tooltip('hide'); 21801 } 21802 21803 modalObj.data('modal-path', path); 21804 21805 $.ajax({ 21806 url: path, 21807 cache: false 21808 }).done(function (html) { 21809 log('loading modal data succeeded for ' + modalId); 21810 modalObj.removeClass('loading'); 21811 21812 try { 21813 modalObj.html(html); 21814 } catch (err) { 21815 log("error caught - " + err); 21816 } 21817 21818 if (modalId == "#history-trace") { 21819 log('trying to animate modal width to window'); 21820 var srcImage = $('.callflow-image img'); 21821 21822 modalObj.css("maxHeight", $(window).height() - 30); 21823 21824 var widthImage = new Image(); 21825 widthImage.onload = function () { 21826 var imageWidth = widthImage.width; 21827 modalObj.find('.modal-header, .modal-footer').fadeIn(25, function () { 21828 21829 if (imageWidth > 610) { 21830 if (imageWidth > ($(window).width() - 20)) 21831 imageWidth = $(window).width() - 20; 21832 modalObj.animate({ 21833 width: imageWidth 21834 }, { 21835 duration: 150, 21836 queue: false, 21837 progress: function () { 21838 modalResize(modalObj, true); 21839 }, 21840 complete: function () { 21841 modalObj.trigger('modal.animation.end'); 21842 modalState = 'open'; 21843 } 21844 }); 21845 } 21846 modalObj.find('.modal-body') 21847 .animate({ 21848 height: "show", opacity: "show" 21849 }, { 21850 duration: 100, 21851 queue: false, 21852 progress: function () { 21853 if (imageWidth < 610) 21854 modalResize(modalObj, true); 21855 }, 21856 complete: function () { 21857 if (imageWidth < 610) 21858 modalResize(modalObj, true); 21859 modalObj.trigger('modal.animation.end'); 21860 } 21861 }); 21862 }); 21863 }; 21864 widthImage.src = srcImage.attr("src"); 21865 } else {
21866 modalObj.find('.modal-header, .modal-footer').fadeIn(isNewModal ? 25 : 0); 21867 modalObj.find('.modal-body') 21868 .animate({ 21869 height: "show", 21870 opacity: "show" 21871 }, { 21872 duration: isNewModal ? 100 : 0, 21873 progress: function () { 21874 modalResize(modalObj); 21875 $('.helpsy').tooltip('hide'); 21876 21877 }, 21878 complete: function () { 21879 modalResize(modalObj); 21880 $('.helpsy').tooltip('hide'); 21881 modalObj.trigger('modal.animation.end'); 21882 } 21883 }); 21884 } 21885 // modalObj.css('minHeight', ''); 21886 21887 //workaround to prevent modal hide event from triggering tooltip 21888 $('.modal').unbind('hide'); 21889 21890 }).fail(function (textStatus) { 21891 modalObj.removeClass('loading').addClass('load-failed'); 21892 var html = '<div class="modal-header">' 21893 + '<button type="button" class="close cancel" data-dismiss="modal" onclick="hideModal(\'' + modalId + '\');">×</button>' 21894 + '<h4>' + textStatus.statusText + '</h4>' 21895 + '</div>' 21896 + '<div class="modal-body">' 21897 + '<div class="load-failed">' 21898 + '<h4>The modal contents failed to load.</h4><h4>Please try again.</h4>' 21899 + '</div>' 21900 + '</div>' 21901 + '<div class="modal-footer">' 21902 + '<button type="btn" class="cancel btn" data-dismiss="modal" onclick="hideModal(\'' + modalId + '\');">Close</button>' 21903 + '</div>' 21904 modalObj.html(html); 21905 modalObj.find('.modal-header, .modal-body, .modal-footer').show(); 21906 modalResize(modalObj); 21907 }); 21908} 21909 21910//used for closing the current modal and showing the next modal. Needs current modal id, next modal id and next modal path 21911function loadNextModal(current, next, path) { 21912 var currentModal = $(current); 21913 var nextModal = $(next); 21914 21915 var currentPath = currentModal.data('modal-path'); 21916 21917 nextModal.data('prev-modal-id', current); 21918 nextModal.data('prev-modal-path', currentPath); 21919 21920 currentModal.on('hidden', function () { 21921 currentModal.html('<span class="loading-lg"></span>'); 21922 modalResize(nextModal); 21923 nextModal.modal('show'); 21924 loadModal(next, path); 21925 currentModal.off('hidden'); 21926 }); 21927 21928 currentModal.modal('hide'); 21929 21930} 21931 21932//load new contents into existing modal. Needs modal id and path to load 21933function loadModalContent(modal, path) { 21934 21935} 21936 21937function showConfReport(conf_id) { 21938 if ($('#preview-' + conf_id).is(':visible')) { 21939 $('#participants-' + conf_id).animate({ 21940 height: "hide", opacity: "hide" 21941 }, function () { 21942 $('#preview-' + conf_id).hide(); 21943 modalResize($(this).parents('.modal')) 21944 }); 21945 } else { 21946 $(".subtable:visible div").animate({height: "hide", opacity: "hide"}, function () { 21947 $(".subtable").not('#preview-' + conf_id).hide(); 21948 }); 21949 $('#preview-' + conf_id).show(); 21950 $('#participants-' + conf_id).animate({ 21951 height: "show", opacity: "show" 21952 }, { 21953 progress: function () { 21954 modalResize($(this).parents('.modal')) 21955 } 21956 }); 21957 21958 } 21959} 21960 21961$('.date-field').each(function () { 21962 var widthClass = getFieldWidthClass(this, 80, 120); 21963 21964 $(this).addClass(widthClass); 21965}); 21966 21967//dynamic form, date range text field additions 21968function dynamicDateField() { 21969 var scntDiv = $('#p_scents'); 21970 var slotsMax = 25; 21971 var slotsAvailable = []; 21972 for (i = slotsMax - 1; i >= $('#p_scents li').length; i--) { 21973 slotsAvailable.push(i); 21974 } 21975 21976 scntDiv.on('click', '#addScnt', function () { 21977 var newClass = $(this).attr('classToAdd'); 21978 21979 $('.helpsy').tooltip('hide'); 21980 if (slotsAvailable.length > 0) { 21981 slot = slotsAvailable.pop(); 21982 if (views.timeframes.timeformat != '') 21983 timeformat = 'data-time-format="' + views.timeframes.timeformat + '"'; 21984 else 21985 timeformat = ''; 21986 21987 var dateFieldsHtml = 21988 '<li id="slide-' + slot + '">\ 21989 <div class="input-append">\ 21990 <input id="from-' + slot + '" name="data[option3][Timerange][' + slot + '][begin]"\ 21991 class="date-field ' + newClass + ' isFrom" type="text" data-date-format="' + views.timeframes.dateformat + '"\ 21992 ' + timeformat + '/>\ 21993 <input name="data[option3][Timerange][' + slot + '][begin]" type="hidden" id="from-' + slot + '-hidden" />\
21994 <span class="add-on"><span class="icon-calendar"></span></span>\ 21995 </div>\ 21996 ' + ' ' + _('to') + ' ' + ' \ 21997 <div class="input-append">\ 21998 <input id="to-' + slot + '" name="data[option3][Timerange][' + slot + '][end]"\ 21999 class="date-field ' + newClass + ' isTo" type="text" data-date-format="' + views.timeframes.dateformat + '"\ 22000 ' + timeformat + '/>\ 22001 <input name="data[option3][Timerange][' + slot + '][end]" type="hidden" id="to-' + slot + '-hidden"/>\ 22002 <span class="add-on"><span class="icon-calendar"></span></span>\ 22003 </div>\ 22004 <a href="#" class="del remScnt helpsy" title="' + _('Remove') + '">' + _('Remove') + '</a></li>'; 22005 22006 $(dateFieldsHtml) 22007 .appendTo(scntDiv) 22008 .hide() 22009 .animate({ 22010 height: "show", opacity: "show" 22011 }, { 22012 progress: function () { 22013 modalResize($(this).parents('.modal')) 22014 }, 22015 complete: function () { 22016 initTooltips(); 22017 } 22018 }); 22019 newDatePicker(slot); 22020 22021 $('.date-field').each(function () { 22022 var widthClass = getFieldWidthClass(this, 80, 120); 22023 22024 $(this).addClass(widthClass); 22025 }); 22026 22027 $('.date,.timeTimeFrame,.timeframe').not('hasDatePicker').each(function () { 22028 var dateFormat = this.getAttribute('data-date-format'); 22029 22030 //if (dateFormat != null) 22031 // dateFormat = dateFormat.replace('Do', 'D'); 22032 22033 var timeFormat = this.getAttribute('data-time-format'); 22034 var dateTimeFormat = ''; 22035 if (dateFormat && timeFormat) 22036 dateTimeFormat = dateFormat + " " + timeFormat; 22037 else if (dateFormat && !timeFormat) 22038 dateTimeFormat = dateFormat; 22039 else if (!dateFormat && !timeFormat) 22040 dateTimeFormat = timeFormat; 22041 22042 $(this).change(function () { 22043 var newDate = moment(this.value, dateFormat + ' ' + timeFormat); 22044 if (newDate.isValid()) { 22045 this.value = newDate.format(dateTimeFormat); 22046 this.setAttribute('value', newDate.format(dateTimeFormat)); 22047 } 22048 }); 22049 }); 22050 } //end if slotsAvailable.length > 0 22051 22052 return false; 22053 }); //end #addScnt on click 22054 22055 scntDiv.on('click', '.remScnt', function () { 22056 var li = this.parentNode; 22057 22058 $('.helpsy').tooltip('hide'); 22059 if (li.id != "keep") { 22060 var modal = $(this).parents('.modal'); 22061 22062 slot = li.id.substr(li.id.lastIndexOf('-') + 1); 22063 slotsAvailable.push(slot); 22064 $(this).parent('li').remove(); 22065 modalResize(modal); 22066 } 22067 return false; 22068 }); 22069} 22070 22071function dynamicField(listId, slotsMax, addId, slideId, type, field, disableClass, effectClass, placeholder, removeClass) { 22072 var scntDiv = $('#' + listId); 22073 var slotsAvailable = []; 22074 for (i = slotsMax - 1; i >= $('#' + listId + ' li').length; i--) { 22075 slotsAvailable.push(i); 22076 } 22077 22078 22079 scntDiv.on('click', '#' + addId, function () { 22080 if (slotsAvailable.length > 0) { 22081 slot = slotsAvailable.pop(); 22082 var id = slideId + '-' + slot; 22083 var simDelay = ($('.sim-delay-btn').length ? true : false); 22084 var isEmail = (listId.startsWith('email-list') ? true : false); 22085 var isFaxUser = (listId.startsWith('faxuser-list') ? true : false); 22086 var isVmailnag = (listId.startsWith('vmailnag-') ? true : false); 22087 if (isVmailnag) { 22088 var itemType = slideId.startsWith('phone') ? 'phone' : slideId.startsWith('sms') ? 'sms' : 'email'; 22089 } 22090 22091 if (simDelay) { 22092 var $delayDrop = $('.sim-delay-drop:first').clone(); 22093 var fieldHtml = '<li id="' + id + '" style="display:none;">' + 22094 '<div class="input-append sim-delay">' + 22095 '<input id="answerrule_sim_numbers'+id+'" name="data[' + type + '][' + field + '][' + slot + ']" class="' + disableClass + ' ' + effectClass + '" placeholder="' + placeholder + '" type="text" />' + 22096 '<button type="button" class="sim-delay-btn btn helpsy-right cb-simring cb-always-effect cb-dnd-effect" title="Ring Delay (sec)"><i class="icon-time"></i> <span></span></button>' + 22097 '</div> ' + 22098 '<button type="button" href="javascript:void(0)" id="remove-simring" class="del helpsy ' + removeClass + ' ' + disableClass + ' ' + effectClass + '" title="Delete">Delete</button>' + 22099 '<select id="' + type + 'SimDelay' + slot + '" name="data[' + type + '][sim_delay][' + slot + ']" class="sim-delay-drop"></select>' + 22100 '</li>'; 22101 22102 } else if (isEmail) { 22103 var fieldHtml = '<li id="' + id + '" style="display:none;">' + 22104 '<input id="UserEmailAddress' + slot + '" name="data[' + type + '][' + field + '][' + slot + ']" class="' + disableClass + ' ' + effectClass + '" placeholder="' + placeholder + '" type="text" />' + 22105 '<button type="button" href="javascript:void(0)" class="del helpsy ' + removeClass + ' ' + disableClass + ' ' + effectClass + '" title="Delete">Delete</button></li>'; 22106 } else if (isFaxUser) { 22107 var fieldHtml = '<li id="' + id + '" style="display:none;">' + 22108 '<input id="FaxUsershare' + slot + '" name="data[' + type + '][' + field + '][' + slot + ']" class="' + disableClass + ' ' + effectClass + '" placeholder="' + placeholder + '" type="text" />' + 22109 '<button type="button" href="javascript:void(0)" class="del helpsy ' + removeClass + ' ' + disableClass + ' ' + effectClass + '" title="Delete">Delete</button></li>'; 22110 } else if (isVmailnag) { 22111 var fieldHtml = '<li id="' + id + '" style="display:none;">' + 22112 '<input id="UserVmailnag' + itemType.charAt(0).toUpperCase() + itemType.substring(1) + ((itemType == 'phone' || itemType == 'sms') ? 'Nums' : 'Addrs') + slot + '" name="data[' + type + '][' + field + '][' + slot + ']" class="' + disableClass + ' ' + effectClass + '" placeholder="' + placeholder + '" type="text" />' + 22113 '<button type="button" href="javascript:void(0)" class="del helpsy ' + removeClass + ' ' + disableClass + ' ' + effectClass + '" title="Delete">Delete</button></li>'; 22114 } else { 22115 var fieldHtml = '<li id="' + id + '" style="display:none;">' + 22116 '<input name="data[' + type + '][' + field + '][' + slot + ']" class="' + disableClass + ' ' + effectClass + '" placeholder="' + placeholder + '" type="text" />' + 22117 '<button type="button" href="javascript:void(0)" class="del helpsy ' + removeClass + ' ' + disableClass + ' ' + effectClass + '" title="Delete">Delete</button></li>'; 22118 } 22119 22120 scntDiv.append(fieldHtml); 22121 22122 if (simDelay) { 22123 var $btn = $('#' + id).find('.sim-delay-btn'); 22124 var $dropdown = $('#' + id).find('.sim-delay-drop'); 22125 var $delaySpan = $dropdown.siblings('.input-append').find('.sim-delay-btn span'); 22126 22127 $('.sim-delay-drop:first').children().clone().appendTo("#" + type + "SimDelay" + slot); 22128 $dropdown[0].selectedIndex = 0; 22129 $delaySpan.text($dropdown.val()); 22130 22131 } 22132 22133 $('#' + id).animate({
22134 height: "show", opacity: "show" 22135 }, { 22136 progress: function () { 22137 modalResize($(this).parents('.modal')) 22138 }, 22139 complete: function () { 22140 if (simDelay) 22141 initSimDelayPopover($btn); 22142 22143 initTooltips(); 22144 } 22145 }); 22146 22147 22148 // auto fill for the new input field, only devices and do not show No Matches Prompt 22149 if (simDelay) 22150 { 22151 $('#answerrule_sim_numbers'+id).attr("spellcheck",false); 22152 $('#answerrule_sim_numbers'+id).autocomplete( 22153 { 22154 autoFocus: true,minLength: 0,source: function (request, response) { 22155 22156 var results = $.ui.autocomplete.filter(userchoicesChoices, request.term); 22157 log(results.length); 22158 if (!results.length) 22159 { 22160 // $('#answerrule_sim_numbers'+id).validationEngine("showPrompt",_("* No matches found!"), "red", "bottomLeft", true); 22161 } else { 22162 $('#answerrule_sim_numbers'+id).validationEngine("hidePrompt"); 22163 } 22164 $('#answerrule_sim_numbers'+id).data("tabblock",false);response(results); 22165 },select: function(event, ui) {}} 22166 ); 22167 22168 } 22169 22170 if (isFaxUser) 22171 { 22172 $("#FaxUsershare"+slot).attr("spellcheck",false); 22173 $("#FaxUsershare"+slot).autocomplete( 22174 { 22175 autoFocus: true,minLength: 0,source: function (request, response) { 22176 22177 var results = $.ui.autocomplete.filter(userchoicesChoices, request.term); 22178 log(results.length); 22179 if (!results.length) 22180 { 22181 $("#FaxUsershare"+slot).validationEngine("showPrompt",_("* No matches found!"), "red", "bottomLeft", true); 22182 } else { 22183 $("#FaxUsershare"+slot).validationEngine("hidePrompt"); 22184 } 22185 $("#FaxUsershare"+slot).data("tabblock",false);response(results); 22186 },select: function(event, ui) {}} 22187 ); 22188 22189 } 22190 } 22191 22192 22193 placeholderInit($('#' + id + ' input')); 22194 22195 if (isEmail) { 22196 $('form').validationEngine('detach'); 22197 $('#' + slideId + '-' + slot + ' input').addClass('validate[custom[email]]'); 22198 $('form').validationEngine(); 22199 } 22200 22201 if (isVmailnag) { 22202 var $vmailnagElemClass = "validate[custom[email]] emremrecip"; 22203 if (itemType == 'phone') { 22204 $vmailnagElemClass = "validate[custom[phone]] phremrecip"; 22205 } 22206 if (itemType == 'sms') { 22207 $vmailnagElemClass = "validate[custom[phone]] smsremrecip"; 22208 } 22209 $('form').validationEngine('detach'); 22210 $('#' + slideId + '-' + slot + ' input').addClass($vmailnagElemClass); 22211 $('form').validationEngine(); 22212 } 22213 22214 return false; 22215 }); 22216 22217 scntDiv.on('click', '.' + removeClass, function () { 22218 li = this.parentNode; 22219 if (li.id != "keep") { 22220 var modal = $(this).parents('.modal'); 22221 22222 slot = li.id.substr(li.id.lastIndexOf('-') + 1); 22223 slotsAvailable.push(slot); 22224 22225 $(this).tooltip('destroy'); 22226 $(this).parent('li').remove(); 22227 22228 log('removing field'); 22229 modalResize(modal); 22230 } 22231 22232 if (removeClass == 'rem-simring') { 22233 // Read the limit for sim_numbers and see if the number of elements with both 'input-append' and 'sim-delay' classes exceeds it, if so, then hide the add-simring button 22234 // var limit = 3; 22235 // Correct the class selector to include both 'input-append' and 'sim-delay' 22236 var count = $('.input-append.sim-delay').length; // Ensure there is no space between class names 22237 if (count > max_sim_numbers) { 22238 console.log('count is more'); 22239 $('#add-simring').hide(); // Hide the button if the count is at or exceeds the limit 22240 } else { 22241 console.log('count is less'); 22242 $('#add-simring').show(); // Show the button if the count is below the limit 22243 } 22244 } 22245 22246 return false;
22247 }); 22248} 22249 22250$('.hasDatepicker').change(function () { 22251 if (this.value == '') 22252 $("[id=" + this.id + "-hidden]").val( ""); 22253}); 22254 22255var bulkEditEnabled = [];//Used to save the state of the checkboxes (if no checkboxes are checked, save button is disabled) 22256$('.bulk-edit-checkbox').change(function () { 22257 var enableEdit = $(this).is(':checked'); 22258 inputFieldName = $(this).attr('name'); 22259 inputFieldName = inputFieldName.replace('-checkbox', ''); 22260 inputField = $("[name='" + inputFieldName + "']"); 22261 if (enableEdit) { 22262 bulkEditEnabled[inputFieldName] = ''; 22263 $('input[value="Save"]').removeAttr("disabled"); 22264 if (inputFieldName == 'data[Phonenumber][enable-date]' || inputFieldName == 'data[Phonenumber][disable-date]') { 22265 inputField.prop("disabled", false); 22266 inputField.siblings('.add-on')[0].style.pointerEvents = 'auto'; 22267 if ('data[Phonenumber][enable-date]' in bulkEditEnabled && 'data[Phonenumber][disable-date]' in bulkEditEnabled) 22268 validateDateRange(inputField.attr('data-date-format')); 22269 } else if (inputFieldName == 'data[Phonenumber][enable]') 22270 $('#enable').bootstrapSwitch('disabled', false); 22271 else if (inputFieldName == 'data[Phonenumber][domain]') { 22272 inputField.prop("disabled", false); 22273 $('#PhonenumberApplication').prop("disabled", false); 22274 val = $('#PhonenumberApplication').val(); 22275 $('#find-' + val).animate({ 22276 height: "show", 22277 opacity: "show", 22278 }); 22279 } else 22280 inputField.prop("disabled", false); 22281 } else { 22282 if (inputFieldName == 'data[Phonenumber][enable-date]' || inputFieldName == 'data[Phonenumber][disable-date]') { 22283 $('#disable-date').validationEngine('hidePrompt'); 22284 $('input[value="Save"]').removeAttr("disabled"); 22285 inputField.prop("disabled", true); 22286 inputField.siblings('.add-on')[0].style.pointerEvents = 'none'; 22287 22288 } else if (inputFieldName == 'data[Phonenumber][enable]') 22289 $('#enable').bootstrapSwitch('disabled', true); 22290 else if (inputFieldName == 'data[Phonenumber][domain]') { 22291 inputField.prop("disabled", true); 22292 $('#PhonenumberApplication').prop("disabled", true); 22293 $('div[id^="find-"]:visible').animate({ 22294 height: "hide", 22295 opacity: "hide" 22296 }); 22297 } else 22298 inputField.prop("disabled", true); 22299 22300 delete bulkEditEnabled[inputFieldName]; 22301 if (Object.keys(bulkEditEnabled).length === 0) 22302 $('input[value="Save"]').prop("disabled", true);; 22303 } 22304 22305}); 22306 22307function validateDateRange(dateFormat) { 22308 isFrom = $('.isFrom'); 22309 isTo = $('.isTo'); 22310 if (!isFrom.val() == "" && !isTo.val() == "") { 22311 var a = moment(isFrom.datepicker('getDate')).unix(); 22312 var b = moment(isTo.datepicker('getDate')).unix(); 22313 var daysRemaining = Math.floor((b - a) / 60 / 60 / 24); 22314 if (daysRemaining < 0) { 22315 $('input[type="submit"]').prop("disabled", true);; 22316 isTo.validationEngine('showPrompt', '* Invalid range'); 22317 } else { 22318 isTo.validationEngine('hidePrompt'); 22319 $('input[type="submit"]').removeAttr("disabled"); 22320 } 22321 } 22322} 22323 22324/* 22325 * creates a datepickers for various types based on slot 22326 * 22327 * @param {integer} slot is the slot/index of the datepicker created 22328 */ 22329function newDatePicker(slot) { 22330 var currentDate = new Date(); 22331 $('.dateInventory ~ span, .time ~ span,.reportdate ~ span,.date ~ span,.timeTimeFrame ~ span,.timeframe ~ span').not('hasDatePicker').each(function () { 22332 $(this).click(function () { 22333 dateInput = $(this).siblings('.dateInventory,.time,.reportdate,.date,.timeTimeFrame,.timeframe'); 22334 if (dateInput.attr('disabled') != 'disabled') 22335 dateInput.datepicker('show'); 22336 }); 22337 }) 22338 22339 //Set the VALUE property and attribute of inputs with datepickers when the datepicker is used 22340 $('.dateInventory,.time,.reportdate,.date,.timeTimeFrame,.timeframe').not('hasDatePicker').each(function () { 22341 var dateFormat = this.getAttribute('data-date-format'); 22342 22343 //if (dateFormat != null) 22344 // dateFormat = dateFormat.replace('Do', 'D'); 22345 22346 var timeFormat = this.getAttribute('data-time-format'); 22347 var dateTimeFormat = ''; 22348 if (dateFormat && timeFormat) 22349 dateTimeFormat = dateFormat + " " + timeFormat; 22350 else if (dateFormat && !timeFormat) 22351 dateTimeFormat = dateFormat; 22352 else if (!dateFormat && !timeFormat) 22353 dateTimeFormat = timeFormat; 22354 22355 $(this).change(function () { 22356 var newDate = moment(this.value, dateFormat + ' ' + timeFormat); 22357 if (newDate.isValid()) { 22358 this.value = newDate.format(dateTimeFormat); 22359 this.setAttribute('value', newDate.format(dateTimeFormat)); 22360 } 22361 }); 22362 }) 22363 // var validator = formval.validationEngine(); 22364 //this makes the class cdrScheduleCalendar2 into a datetimepicker with several 22365 //special necessities 22366 $('.cdrScheduleCalendar2').each(function () { 22367 $(this).datetimepicker({ 22368 showHour: true, 22369 showMinute: true, 22370 //maxDate: currentDate, 22371 dateFormat: convertDateFormat(this.getAttribute('data-date-format'), datepickerConvert
22371ionFormats), 22372 timeFormat: convertDateFormat(this.getAttribute('data-time-format'), datepickerConvertionFormats), 22373 onSelect: function (selectedDate) { 22374 var newDate = moment(this.value, this.getAttribute('data-date-format'), false); 22375 if (newDate.isValid()) { 22376 newDate = newDate.format(this.getAttribute('data-date-format')); 22377 this.value = newDate; 22378 this.setAttribute('value', newDate); 22379 } 22380 }, 22381 22382 onClose: function () { 22383 $("[id=" + this.id + "-hidden]").val( moment(this.value, this.getAttribute('data-date-format'), false).format('MM/DD/YYYY')); 22384 } 22385 }); 22386 }) //end of cdrScheduleCalendar2 22387 22388 $('.date').not('hasDatePicker, .cdrScheduleCalendar2').each(function () { 22389 let allowFutureDate = $(this).hasClass('allowFutureDate'); 22390 $(this).datepicker({ 22391 maxDate: allowFutureDate ? undefined : currentDate, 22392 dateFormat: convertDateFormat(this.getAttribute('data-date-format'), datepickerConvertionFormats), 22393 onSelect: function (selectedDate) { 22394 var newDate = moment(this.value, this.getAttribute('data-date-format'), false); 22395 if (newDate.isValid()) { 22396 newDate = newDate.format(this.getAttribute('data-date-format')); 22397 this.value = newDate; 22398 this.setAttribute('value', newDate); 22399 } 22400 22401 $("[id=" + this.id + "-hidden]").val( moment(this.value, this.getAttribute('data-date-format'), false).format('MM/DD/YYYY')); 22402 22403 var settings = $(this).data("datepicker").settings, 22404 date = $.datepicker.parseDate( 22405 settings.dateFormat || $.datepicker._defaults.dateFormat, 22406 selectedDate, settings); 22407 22408 log("date select is " + date + "for box " + this.id); 22409 if (this.id == 'from-' + slot) { 22410 if (typeof $('#to-' + slot)[0] !== 'undefined') { 22411 var curTo = new Date(moment($('#to-' + slot)[0].value, $('#to-' + slot)[0].getAttribute('data-date-format'), false)); 22412 log("curTo-" + curTo); 22413 } 22414 22415 var newEnd = date; 22416 //newEnd.setDate(newEnd.getDate()+31); 22417 //log("newEnd-" + newEnd); 22418 //$('#to-' + slot).datepicker("option", "maxDate", newEnd); 22419 //$('#to-' + slot).datepicker("option", "minDate", null); 22420 } else { 22421 log("$('#from-' + slot).attr(value)-" + $('#from-' + slot).val()); 22422 var start = $('#from-' + slot).datepicker("option", "getDate"); 22423 log("start-" + start); 22424 log("date-" + date); 22425 if (start > date) { 22426 22427 start.setDate(start.getDate() - 3); 22428 var newEnd = start; 22429 newEnd.setDate(newEnd.getDate() + 31); 22430 $('#to-' + slot).datepicker("option", "maxDate", newEnd); 22431 $('#to-' + slot).datepicker("option", "minDate", null); 22432 22433 } 22434 //if () 22435 //$('#from-' + slot).datepicker("option", "maxDate", date); 22436 } 22437 22438 // log( $('#from-' + slot).datepicker("option")); 22439 // log( $('#to-' + slot).datepicker("option")); 22440 22441 // log($('#from-' + slot).val()); 22442 // log($('#to-' + slot).val()); 22443 // log(settings); 22444 var a = Date.parse($("[id=from-" + slot + "-hidden]").val()); 22445 var b = Date.parse($("[id=to-" + slot + "-hidden]").val()); 22446 var difference = b - Math.round(a / 1000.0) * 1000; 22447 var daysRemaining = Math.floor(difference / 1000 / 60 / 60 / 24) + 1; 22448 22449 22450 // $('#to-' + slot).valid(); 22451 22452 22453 if (daysRemaining < 0) { 22454 $('.filtersavebutton').prop("disabled", true);; 22455 $('#to-0').validationEngine('showPrompt', '* Invalid range'); 22456 } else if (daysRemaining > max_days) { 22457 $('.filtersavebutton').prop("disabled", true);; 22458 $('#to-0').validationEngine('showPrompt', '* Ma
22458x range is ' + max_days + ' days'); 22459 } else { 22460 $('#to-0').validationEngine('hidePrompt'); 22461 $('.filtersavebutton').removeAttr("disabled"); 22462 } 22463 22464 22465 // log ($('#from-' + slot)); 22466 if ($('#from-' + slot).hasClass("ccmanagertables")) { 22467 // log ($('#from-' + slot)); 22468 //getStatsLayout(activeManagerTable); 22469 } 22470 22471 if ($('#modal-from-' + slot).hasClass("ccmanagertablesModal")) { 22472 22473 getNewTableData(); 22474 } 22475 }, 22476 onClose: function () { 22477 var hiddenElement = $("[id=" + this.id + "-hidden]"); 22478 var tempFormat = 'MM/DD/YYYY'; 22479 if (hiddenElement.attr('hidden-field-format-override') !== undefined && hiddenElement.attr('hidden-field-format-override') !== '') { 22480 tempFormat = hiddenElement.attr('hidden-field-format-override'); 22481 } 22482 22483 $("[id=" + this.id + "-hidden]").val( $(this).val() !== '' ? moment(this.value, this.getAttribute('data-date-format'), false).format(tempFormat) : ''); 22484 } 22485 }); 22486 }); //END OF THE IF 22487 22488 $('.reportdate').not('hasDatePicker').each(function () { 22489 var from = '#modal-from-' + slot; 22490 var to = '#modal-to-' + slot; 22491 $(this).datepicker({ 22492 maxDate: currentDate, 22493 dateFormat: convertDateFormat(this.getAttribute('data-date-format'), datepickerConvertionFormats), 22494 onSelect: function (selectedDate) { 22495 var newDate = moment(this.value, this.getAttribute('data-date-format'), false); 22496 if (newDate.isValid()) { 22497 newDate = newDate.format(this.getAttribute('data-date-format')); 22498 this.value = newDate; 22499 this.setAttribute('value', newDate); 22500 } 22501 this.setAttribute('data-raw-date', moment(this.value, this.getAttribute('data-date-format'), false).format('MM/DD/YYYY')); 22502 log("date select is " + selectedDate + " for box " + this.id); 22503 22504 var thisDate = new Date(moment(this.value, this.getAttribute('data-date-format'), false)); 22505 var fromDate = new Date(moment($(from).val(), $(from).attr('data-date-format'), false)); 22506 var toDate = new Date(moment($(to).val(), $(to).attr('data-date-format'), false)); 22507 22508 //convert date objects to milliseconds for comparisons 22509 var msFromDate = fromDate.getTime(); 22510 var msToDate = toDate.getTime(); 22511 22512 log("fromDate-" + fromDate); 22513 log("toDate-" + toDate); 22514 // log(msFromDate); 22515 // log(msToDate); 22516 if (msFromDate > msToDate) { 22517 log('from date is greater than to date!'); 22518 22519 if (this.id == 'from-' + slot || this.id == 'modal-from-' + slot) { 22520 $(to).val(moment(fromDate).format($(to).attr('data-date-format'))); 22521 $(to).val( moment(fromDate).format($(to).attr('data-date-format'))) 22522 $(to).attr('data-raw-date', moment(fromDate).format('MM/DD/YYYY')); 22523 } else { 22524 $(from).val(moment(toDate).format($(from).attr('data-date-format'))); 22525 $(from).val( moment(toDate).format($(from).attr('data-date-format'))); 22526 $(from).attr('data-raw-date', moment(toDate).format('MM/DD/YYYY')); 22527 } 22528 } 22529 22530 var a = Date.parse($("[id=modal-from-0]").attr('data-raw-date')+" "+$("[id=modal-from-time]").val()); 22531 var b = Date.parse($("[id=modal-to-0]").attr('data-raw-date')+" "+$("[id=modal-to-time]").val()); 22532 var difference = b - Math.round(a / 1000.0) * 1000; 22533 var daysRemaining = Math.floor(difference / 1000 / 60 / 60 / 24) + 1; 22534 22535 22536 if (daysRemaining < 0) { 22537 $("#"+this.id ).validationEngine('showPrompt', '* Invalid range'); 22538 } else if (daysRemaining > max_days) { 22539 $("#"+this.id ).validationEngine('showPrompt', '* Ma
22539x range is ' + max_days + ' days'); 22540 } else { 22541 $(from).validationEngine('hidePrompt'); 22542 $(to).validationEngine('hidePrompt'); 22543 getNewTableData(); 22544 } 22545 22546 }, 22547 onClose: function () { 22548 $(this).attr('data-raw-date', moment(this.value, this.getAttribute('data-date-format'), false).format('MM/DD/YYYY')); 22549 } 22550 22551 }); 22552 }); 22553 22554 function setBackEndDate(element) { 22555 $("[id=" + element.id + "-hidden]").val( moment($(element).val(), element.getAttribute('data-date-format') + " " + element.getAttribute('data-time-format'), false).format('MM/DD/YYYY h:mm a')); 22556 } 22557 22558 /** Timepicker Addon **/ 22559 $('.time').not('hasDatePicker').each(function () { 22560 $(this).datetimepicker({ 22561 maxDate: moment(currentDate).endOf('day').toDate(), 22562 showMinute: false, 22563 timeFormat: convertDateFormat(this.getAttribute('data-time-format'), datepickerConvertionFormats), 22564 dateFormat: convertDateFormat(this.getAttribute('data-date-format'), datepickerConvertionFormats), 22565 onSelect: function (dateText, timepicker) { 22566 //change minutes to either 00 or 59 to capture the whole day 22567 $("[id=" + this.id + "-hidden]").val( moment($(this).val(), this.getAttribute('data-date-format') + " " + this.getAttribute('data-time-format'), false).format('MM/DD/YYYY HH:mm')); 22568 var newDate; 22569 if (timepicker.hour == 0 && this.id.startsWith("from")) { 22570 newDate = timepicker.formattedDate + ' ' + timepicker.hour + ':' + '00'; 22571 $(this).datetimepicker('setDate', newDate); 22572 } else if (timepicker.hour == 23 && this.id.startsWith("to")) { 22573 newDate = timepicker.formattedDate + ' ' + timepicker.hour + ':' + '59'; 22574 $(this).datetimepicker('setDate', newDate); 22575 } 22576 22577 var a = Date.parse($('[id=from-' + slot + '-hidden]').val()); 22578 var b = Date.parse($('[id=to-' + slot + '-hidden]').val()); 22579 var difference = b - Math.round(a / 1000.0) * 1000; 22580 var daysRemaining = Math.floor(difference / 1000 / 60 / 60 / 24) + 1; 22581 22582 if (daysRemaining > max_days) { 22583 $('.filtersavebutton').prop("disabled", true);; 22584 $('#to-0').validationEngine('showPrompt', '* Max range is ' + max_days + ' days'); 22585 } else { 22586 $('#to-0').validationEngine('hidePrompt'); 22587 $('.filtersavebutton').removeAttr("disabled"); 22588 } 22589 } 22590 }); 22591 }); 22592 22593 $('.dateInventory').not('hasDatePicker').each(function () { 22594 $(this).datepicker({ 22595 //minDate: new Date(), 22596 dateFormat: convertDateFormat(this.getAttribute('data-date-format'), datepickerConvertionFormats), 22597 monthNames: [_("January"), _("February"), _("March"), _("April"), _("May"), _("June"), _("July"), _("August"), _("September"), _("October"), _("November"), _("December")], 22598 dayNamesMin: [_('Su'), _('Mo'), _('Tu'), _('We'), _('Th'), _('Fr'), _('Sa')], 22599 onSelect: function (selectedDate) { 22600 //change minutes to either 00 or 59 to capture the whole day 22601 $("[id=" + this.id + "-hidden]").val( moment($(this).val(), this.getAttribute('data-date-format'), false).format('YYYY-MM-DD')); 22602 if ($('.dateInventory[disabled="disabled"]').length == 0)//check that both date fields are enabled before validating 22603 validateDateRange(this.getAttribute('data-date-format')); 22604 } 22605 }); 22606 }); 22607 22608 var startDateTextBox = $('#from-' + slot); 22609 var endDateTextBox = $('#to-' + slot); 22610 var hasMinutes = false; 22611 22612 if ($('.timeTimeFrame').hasClass('hasMinutes')) 22613 var hasMinutes = true; 22614 22615 $('#from-' + slot + '.timeTimeFrame.isFrom').not('hasDatePicker').each(function () { //it this type of datepicke 22616 $(this).datetimepicker({ 22617 showMinute: hasMinutes, 22618 timeFormat: convertDateFormat(this.getAttribute('data-time-format'), datepickerConvert
22618ionFormats), 22619 dateFormat: convertDateFormat(this.getAttribute('data-date-format'), datepickerConvertionFormats), 22620 onSelect: function () { 22621 setBackEndDate(this); 22622 }, 22623 onClose: function (dateText, inst) { 22624 var dFormat = startDateTextBox[0].getAttribute('data-date-format') + ' ' + startDateTextBox[0].getAttribute('data-time-format'); 22625 var testStartDate = moment(startDateTextBox[0].value, dFormat, false); 22626 var testEndDate = moment(endDateTextBox[0].value, dFormat, false); 22627 if (endDateTextBox.val() != '') { 22628 if (testStartDate > testEndDate) 22629 endDateTextBox[0].value = testStartDate.format(dFormat); 22630 } else if (startDateTextBox.val() != '') { 22631 endDateTextBox.val(testStartDate.format(dFormat)); 22632 } 22633 setBackEndDate(this); 22634 setBackEndDate(endDateTextBox[0]); 22635 } 22636 }); 22637 }); 22638 22639 $('#to-' + slot + '.timeTimeFrame.isTo').not('hasDatePicker').each(function () { //it this type of datepicke 22640 $(this).datetimepicker({ 22641 showMinute: hasMinutes, 22642 timeFormat: convertDateFormat(this.getAttribute('data-time-format'), datepickerConvertionFormats), 22643 dateFormat: convertDateFormat(this.getAttribute('data-date-format'), datepickerConvertionFormats), 22644 hour: "23", 22645 minute: "59", 22646 onSelect: function () { 22647 setBackEndDate(this); 22648 }, 22649 onClose: function (dateText, inst) { 22650 var dFormat = startDateTextBox[0].getAttribute('data-date-format') + ' ' + startDateTextBox[0].getAttribute('data-time-format'); 22651 var testStartDate = moment(startDateTextBox[0].value, dFormat, false); 22652 var testEndDate = moment(endDateTextBox[0].value, dFormat, false); 22653 if (startDateTextBox.val() != '') { 22654 if (testStartDate > testEndDate) 22655 startDateTextBox[0].value = testEndDate.format(dFormat); 22656 } else if (endDateTextBox.val() != '') { 22657 startDateTextBox.val(testEndDate.format(dFormat)); 22658 } 22659 setBackEndDate(this); 22660 setBackEndDate(startDateTextBox[0]); 22661 } 22662 }); 22663 }); 22664 22665 $('#from-' + slot + '.timeframe.isFrom').not('hasDatePicker').each(function () { //it this type of datepicke 22666 $(this).datepicker({ 22667 dateFormat: convertDateFormat(this.getAttribute('data-date-format'), datepickerConvertionFormats), 22668 onSelect: function () { 22669 $("[id=" + this.id + "-hidden]").val( moment($(this).val(), this.getAttribute('data-date-format'), false).format('MM/DD/YYYY')); 22670 }, 22671 onClose: function (dateText, inst) { 22672 dFormat = startDateTextBox[0].getAttribute('data-date-format'); 22673 var testStartDate = moment(startDateTextBox[0].value, dFormat, false); 22674 var testEndDate = moment(endDateTextBox[0].value, dFormat, false); 22675 if (endDateTextBox.val() != '') { 22676 if (testStartDate > testEndDate) 22677 endDateTextBox[0].value = testStartDate.format(dFormat); 22678 } else if (startDateTextBox.val() != '') { 22679 endDateTextBox.val(testStartDate.format(dFormat)); 22680 } 22681 $("[id=" + this.id + "-hidden]").val( moment($(this).val(), this.getAttribute('data-date-format'), false).format('MM/DD/YYYY')); 22682 $("[id=" + endDateTextBox[0].id + "-hidden]").val( moment($(endDateTextBox[0]).val(), endDateTextBox[0].getAttribute('data-date-format'), false).format('MM/DD/YYYY')); 22683 } 22684 }); 22685 }); 22686 22687 $('#to-' + slot + '.timeframe.isTo').not('hasDatePicker').each(function () { //it this type of datepicke 22688 $(this).datepicker({ 22689 dateFormat: convertDateFormat(this.getAttribute('data-date-format'), datepickerConvertionFormats), 22690 onSelect: function () { 22691 $("[id=" + this.id + "-hidden]").val( moment($(this).val(), this.getAttribute('data-date-format'), false).format('MM/DD/YYYY')); 22692 }, 22693 onClose: function (dateText, inst) { 22694 dFormat = startDateTextBox[0].getAttribute('data-date-format'); 22695 var testStartDate = moment(startDateTextBox[0].value, dFormat, false); 22696 var testEndDate = moment(endDateTextBox[0].value, dFormat, false); 22697 if (startDateTextBox.val() != '') { 22698 if (testStartDate > testEndDate) 22699 startDateTextBox[0].value = testEndDate.format(dFormat); 22700 } else if (endDateTextBox.val() != '') { 22701 startDateTextBox.val(testEndDate.format(dFormat)); 22702 } 22703 $("[id=" + this.id + "-hidden]").val( moment($(this).val(), this.getAttribute('data-date-format'), false).format('MM/DD/YYYY')); 22704 $("[id=" + startDateTextBox[0].id + "-hidden]").val( moment($(startDateTextBox[0]).val(), startDateTextBox[0].getAttribute('data-date-format'), false).format('MM/DD/YYYY')); 22705 } 22706 }); 22707 }); 22708 22709} 22710 22711/** 22712 * function to change audio source. used with #greeting-select in user voicemail page 22713 * 22714 **/ 22715function changeAudioSource(path) { 22716 var audio = $('#audio-player-0'); 22717 22718 src = $('#audio-player-0'); 22719 if ($('#audio-player-0-aac-1').length) 22720 $('#audio-player-0-aac-1').attr("src", path + "&convert=aac"); 22721 if ($('#audio-player-0-aac-2').length) 22722 $('#audio-player-0-aac-2').attr("src", path + "&convert=aac"); 22723 if ($('#audio-player-0-aac-3').length) 22724 $('#audio-player-0-aac-3').attr("src", path + "&convert=signed"); 22725 if ($('#audio-player-0-wav-1').length) 22726 $('#audio-player-0-wav-1').attr("src", path + "&convert=signed"); 22727 if ($('#audio-player-0-wav-2').length) 22728 $('#audio-player-0-wav-2').attr("src", path + "&convert=ogg"); 22729 if ($('#audio-player-0-wav-3').length) 22730 $('#audio-player-0-wav-3').attr("src", path + "&convert=aac"); 22731 //alert($('#audio-player-0-wav-1').attr("src")); 22732 22733 //audio.attr('src', path); 22734 audio[0].load(); 22735} 22736 22737/** 22738 * function changes the download source for the associated download button. used in user voicemail page 22739 * 22740 **/ 22741function changeDownloadSource(path) { 22742 var download = $('#audio-player-0').siblings('.download-audio'); 22743 var newPath = path + '&convert=signed'; 22744 22745 download.attr('href', newPath); 22746} 22747 22748/** 22749 * download a file from a given path 22750 * this is being activated from pressing the export button 22751 **/ 22752function initDownloadFile() { 22753 $('.download-file').on('click', function () { 22754 var path = $(this).data('download-path'); 22755 22756 window.location = path; 22757 22758 if ($(this).data('download-disable') == true) 22759 $(this).prop("disabled", true); 22760 }); 22761} 22762 22763/** 22764 * Show list of scheduled exports 22765 * (does nothing for now) 22766 * need to add it up top as well. 22767 **/ 22768function showScheduledExports() { 22769 $('.show_scheduled').on('click', function () { 22770 return; 22771 var path = $(this).data('download-path'); 22772 22773 window.location = path; 22774 22775 if ($(this).data('download-disable') == true) 22776 $(this).prop("disabled", true); 22777 }); 22778} 22779 22780//makes confirmation password field required if the new-password field is non-empty. 22781function newPassValidate() { 22782 $('#confirm-new-password').removeClass('validate[equals[new-password]]'); 22783 $('#confirm-new-password').removeClass('validate[required,equals[new-password]]'); 22784 $('#confirm-new-password').validationEngine('hidePrompt'); 22785 if ($('#new-password').val() != "") { 22786 $('#confirm-new-password').addClass('validate[required,equals[new-password]]'); 22787 } else { 22788 $('#confirm-new-password').addClass('validate[equals[new-password]]'); 22789 } 22790} 22791 22792function initFlashMessage(wait, fade) { 22793 $("#flashMessage").delay(wait).fadeTo(fade, 0.00, function () { 22794 $(this).remove(); 22795 }); 22796} 22797
22798function jsFlash(data, theClass, duration, callback) { 22799 22800 var message = $('<div><div class="flashMessage new alert-dismissible alert alert-' + theClass + '">' + data + '</div></div>'); 22801 var count = $('.flashMessage').length; 22802 var timer; 22803 var displayDuration = typeof duration == 'number' ? duration : 6000; 22804 22805 if (arguments.length > 0) { 22806 $('#flashContainer').prepend(message); 22807 22808 $('.fixed-container').css('visibility', 'visible'); 22809 22810 $('.flashMessage').css({width: 'auto'}); 22811 22812 message.hide().animate({ 22813 height: "show", 22814 opacity: "show" 22815 }, 200, function () { 22816 $('.fixed-container').css('visibility', 'hidden'); 22817 }); 22818 22819 if (count > 2) 22820 $('.flashMessage:last').fadeOut(100, function () { 22821 $(this).remove(); 22822 $(this).parent().remove(); 22823 }); 22824 } 22825 22826 timer = setTimeout(function () { 22827 message.fadeOut(500, function () { 22828 $(this).remove(); 22829 }); 22830 }, displayDuration); // You can modify this to display the message for different times 22831 22832 // Make the messages container clickable to hide the message before the timeout fires 22833 message.click(function () { 22834 //clearTimeout(timer); 22835 $(this).fadeOut(500, function () { 22836 $(this).remove(); 22837 }); 22838 }); 22839 22840 if (typeof callback === 'function') 22841 callback(); 22842 else 22843 $('.flashMessage').removeClass('new'); 22844} 22845 22846function jsFlashDismissible(data, theClass, callback) { 22847 if (theClass == 'warning') { 22848 var message = $('<div><div class="flashMessage new alert-dismissible alert alert-' + theClass + '">' + 22849 '<span class="message-content" style="font-weight: normal;">' + data + '</span>' + 22850 ' ' + 22851 '<a href="#" class="more-info-link" style="text-decoration: underline; color: #c09853 !important; font-weight: normal !important;">' + _('View Errors') + '</a>' + 22852 '<button type="button" style="margin-right: 20px; margin-left: -10px;" class="close" data-dismiss="alert" aria-label="Close">×</button>' + 22853 '</div></div>'); 22854 } else { 22855 var message = $('<div><div class="flashMessage new alert-dismissible alert alert-' + theClass + '">' + 22856 '<span class="message-content" style="font-weight: normal;">' + data + '</span>' + 22857 '<button type="button" style="margin-right: 20px; margin-left: -10px;" class="close" data-dismiss="alert" aria-label="Close">×</button>' + 22858 '</div></div>'); 22859 } 22860 var count = $('.flashMessage').length; 22861 22862 if (arguments.length > 0) { 22863 $('#flashContainer').prepend(message); 22864 22865 $('.fixed-container').css('visibility', 'visible'); 22866 22867 $('.flashMessage').css({ width: 'auto' }); 22868 22869 message.hide().animate({ 22870 height: "show", 22871 opacity: "show" 22872 }, 200, function () { 22873 $('.fixed-container').css('visibility', 'hidden'); 22874 }); 22875 22876 if (count > 2) { 22877 $('.flashMessage:last').fadeOut(100, function () { 22878 $(this).remove(); 22879 $(this).parent().remove(); 22880 }); 22881 } 22882 } 22883 22884 // Make the close button clickable to hide the message 22885 message.find('.close').click(function () { 22886 $(this).closest('.flashMessage').fadeOut(500, function () { 22887 $(this).remove(); 22888 }); 22889 }); 22890 22891 // Add click event for the "More Info" link 22892 message.find('.more-info-link').click(function(e) { 22893 e.preventDefault(); 22894 // hide the alert 22895 $(this).closest('.flashMessage').fadeOut(500, function () { 22896 $(this).remove(); 22897 }); 22898 22899 $('#moreInfoModal').modal('show'); 22900 }); 22901 22902 if (typeof callback === 'function') { 22903 callback(); 22904 } 22905 else { 22906 $('.flashMessage').removeClass('new'); 22907 } 22908} 22909 22910function postValue(url, value, success, error) { 22911 var currentElement = document.activeElement; 22912 var messageElement = document.getElementById("message"); 22913 if (messageElement) messageElement.blur(); 22914 22915 var originalShownValue = $(".contacts-message2-text").text(); 22916 if (value != "") { 22917 let string = value.replace(/COLLON/g,":"); 22918 if (messageElement) messageElement.value = string; 22919 $(".contacts-message2-text").text(string); 22920 $('.contacts-message2-text').css({'color':'#a2a2a2'}); 22921 } else { 22922 if (messageElement) messageElement.value = ''; 22923 $(".contacts-message2-text").text("Set a status message"); 22924 $('.contacts-message2-text').css({'color':'#08c'}); 22925 } 22926 $.post(url + "/" , {message:value},function () { 22927 }) 22928 .fail(function () { 22929 //switch back to original value if error occured 22930 $(".contacts-message2-text").text(originalShownValue); 22931 if (error != null) jsFlash(error, "danger"); 22932 }) 22933 .done(function () { 22934 if (success != null) jsFlash(success, "success"); 22935 }); 22936 22937} 22938 22939function onBlurStatus(event, value) { 22940 document.getElementById("contacts-message").style.display = "none"; 22941 document.getElementById("contacts-message2").style.display = "block"; 22942} 22943 22944function traceBack(target, hide) 22945{ 22946 var to_hide = document.querySelectorAll(hide); 22947 $(target).hide(); 22948 $(target).html(''); 22949 for (i = 0; i < to_hide.length; ++i) { 22950 to_hide[i].style.display = 'block'; 22951 } 22952} 22953 22954function exportTrace(url) { 22955 url = url + '/csv'; 22956 window.location = url; 22957 return; 22958} 22959 22960function saveTrace(url) { 22961 jsFlash(_('Generating share linkâ¦')); 22962 url = url + '/1'; 22963 try{ 22964 navigator.clipboard.write([ 22965 new ClipboardItem({ 22966 'text/plain': new Promise(async (resolve) => { 22967 $.getJSON(url, function (data) { 22968 var key = ""; 22969 if (data !== null) 22970 key = data['key']; 22971 console.log(key); 22972 resolve(new Blob([key], {type: 'text/plain'})); 22973 }); 22974 }), 22975 }), 22976 ]).then(function(){ 22977 jsFlash(_('Copied to clipboard'), 'success'); 22978 }, function (err) {
22979 throw 'Error copying to clipboard'; 22980 }); 22981 } 22982 catch (err) { 22983 $.getJSON(url, function (data) { 22984 if (data == null) { 22985 jsFlash(_('Error')); 22986 return; 22987 } 22988 const el = document.createElement('textarea'); 22989 el.value = data['key']; 22990 document.body.appendChild(el); 22991 el.select(); 22992 document.execCommand('copy'); 22993 document.body.removeChild(el); 22994 jsFlash(_('Copied to clipboard'), 'success'); 22995 }); 22996 } 22997} 22998 22999function getTrace(url, element) { 23000 $('#recording-alert').hide(); 23001 if (element) { 23002 var target = $(element).data("target"); 23003 var to_hide = document.querySelectorAll($(element).data("hide")); 23004 for (i = 0; i < to_hide.length; ++i) { 23005 to_hide[i].style.display = 'none'; 23006 } 23007 $(target).show(); 23008 var actions = '<button class="btn" style="margin-bottom:10px" id="trace-back-btn" onclick="traceBack(\''+target+'\',\''+$(element).data("hide")+'\')"><i class="nsicon nsicon-reply"> </i> '+_("Back")+' </button>'; 23009 actions += '<div class="action-container-right">'; 23010 actions += '<button class="btn" style="margin-bottom:10px" id="trace-share-btn" onclick="saveTrace(\''+url+'\')">'+_("Share")+' </button>'; 23011 actions += '<button class="btn" style="margin-bottom:10px" id="trace-export-btn" data-download-path=\''+url+'\' onclick="exportTrace(\''+url+'\')" download>'+_("Export")+' </button>'; 23012 actions += '</div>'; 23013 actions += '<div class="loading-container" style="position: initial;margin-top: 60px"><div class="loading-spinner la-ball-spin-clockwise"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div></div>'; 23014 $(target).append(actions); 23015 $.getJSON(url, function (data) { 23016 $(target).find('.loading-container').remove(); 23017 if (data == null) { 23018 var notrace = '<div class="nonecreated"><h3>' + _('No trace available') + '</h3></div>'; 23019 $(target).append(notrace); 23020 } 23021 else if (typeof data.svg != 'undefined') { 23022 var svg = atob(data.svg); 23023 var elm = document.querySelector(target); 23024 elm.innerHTML += '<div class="flow-fullscreen-container">' + svg + '</div>'; 23025 Array.from(elm.querySelectorAll("script")).forEac
23025h( script_tag => { 23026 const new_script_tag = document.createElement("script"); 23027 Array.from(script_tag.attributes) 23028 .forEach( attr => 23029 { 23030 if (attr.name.includes("xml")) 23031 return; 23032 if (attr.name == "xlink:href") 23033 new_script_tag.src = attr.value; 23034 new_script_tag.setAttribute(attr.name, attr.value); 23035 }); 23036 if (script_tag.textContent) { 23037 new_script_tag.textContent = script_tag.textContent; 23038 } else if (script_tag.innerText) { 23039 new_script_tag.innerText = script_tag.innerText; 23040 } 23041 script_tag.parentNode.replaceChild(new_script_tag, script_tag); 23042 }); 23043 } 23044 }); 23045 return false; 23046 } 23047 $.getJSON(url, function (data) { 23048 log(data); 23049 23050 if (data == null) { 23051 var modalObj = $('#history-trace'); 23052 23053 modalObj.css("minHeight", modalObj.height()); 23054 //modalObj.empty(); 23055 try { 23056 modalObj.html('<div class="modal-header"><button type="button" class="close cancel" data-dismiss="modal" onclick="hideModal(\'#history-trace\');">×</button><h4>' + _('Call Trace') + '</h4></div><div class="modal-body"><div class="nonecreated"><h3>' + _('No trace available') + '</h3></div></div><div class="modal-footer"><button class="btn cancel" data-dismiss="modal" onclick="hideModal(\'#history-trace\');">' + _('Close') + '</button></div>'); 23057 } catch (err) { 23058 } 23059 23060 modalObj.find('.modal-body').css("minHeight", "90px"); 23061 modalObj.find('.modal-header, .modal-footer').fadeIn(25, function () { 23062 modalObj.find('.modal-body') 23063 .animate({ 23064 height: "show", opacity: "show" 23065 }, { 23066 duration: 250, 23067 progress: function () { 23068 modalResize(modalObj); 23069 } 23070 }); 23071 }); 23072 23073 23074 } else if (typeof data.url != 'undefined') 23075 loadModal('#history-trace', data.url); 23076 else { 23077 var modalObj = $('#history-trace'); 23078 23079 modalObj.css("minHeight", modalObj.height()); 23080 var html = '<div class="modal-header"><button type="button" class="close cancel" data-dismiss="modal" onclick="hideModal(\'#history-trace\');">×</button><h4>' + _('Call Trace') + '</h4></div><div class="modal-body">'; 23081 // html += '<div class="nonecreated"><h3>No trace available</h3></div>'; 23082 23083 html += ' <ul id="serverTabs" class="nav nav-tabs">'; 23084 var x = ' class="active" '; 23085 for (var key in data) { 23086 html += ' <li ' + x + '><a href="#' + key.replace(/\W/g, '') + '" data-rawurl="' + data[key].replace("/modal.php", "") + '" data-toggle="tab">' + key + '</a></li>'; 23087 x = ''; 23088 } 23089 23090 23091 html += ' </ul>'; 23092 html += ' <div class="tab-content">'; 23093 x = ' active'; 23094 for (var key in data) { 23095 html += ' <div class="tab-pane ' + x + '" id="' + key.replace(/\W/g, '') + '">'; //+data[key]; 23096 x = ''; 23097 html += '<img src="' + data[key].replace("modal.php", "callflow.svg") + '" id="' + key.replace(/\W/g, '') + 'img" >'; 23098 23099 html += '</div>'; 23100 // propigateTabTrace(key.replace(/\W/g, ''),data[key]); 23101 } 23102 html += ' </div>'; 23103 html += '</div><div class="modal-footer">'; 23104 23105 x = ' active'; 23106 for (var key in data) { 23107 if (x == " active") { 23108 html += ' <a id="dnlLink" class="btn" href="' + data[key].replace("/modal.php", "") + '.csv" target="_blank">' + _('Download CSV') + '</a> '; 23109 html += ' <a id="viewLink" class="btn" href="' + data[key].replace("/modal.php", "") + '/index_with_frames.html" target="_blank">' + _('View Full Trace') + '</a> '; 23110 } 23111 x = ''; 23112 } 23113 html += ' <button class="btn cancel" data-dismiss="modal" onclick="hideModal(\'#history-trace\');">' + _('Close') + '</button></div>' 23114 23115 23116 html += "<script> $('#serverTabs a').click(function (e) { e.preventDefault(); $(this).tab('show'); " + 23117 "$('#dnlLink').attr('href', $(this).data('rawurl')+'.csv');$('#viewLink').attr('href', $(this).data('rawurl')+'/index_with_frames.html');}); "; 23118 for (var key in data) { 23119 html += ' $( "#' + key.replace(/\W/g, '') + 'img" ).load(function() { modalResize($("#history-trace")); }); '; 23120 } 23121 html += "</script>"; 23122 modalObj.html(html); 23123 23124 // modalResize(modalObj).delay( 2000 );
23125 modalObj.find('.modal-body').css("minHeight", "90px"); 23126 modalObj.find('.modal-header, .modal-footer').fadeIn(25, function () { 23127 modalObj.find('.modal-body') 23128 .animate({ 23129 height: "show", opacity: "show" 23130 }, { 23131 duration: 250, 23132 progress: function () { 23133 modalResize(modalObj); 23134 } 23135 }); 23136 }); 23137 } 23138 23139 //window.open(data.url); 23140 23141 }); 23142 23143} 23144 23145 23146function getCradle(url, element) { 23147 if (element) { 23148 var target = $(element).data("target"); 23149 var to_hide = document.querySelectorAll($(element).data("hide")); 23150 for (i = 0; i < to_hide.length; ++i) { 23151 to_hide[i].style.display = 'none'; 23152 } 23153 $(target).addClass('loading fade in'); 23154 if (document.querySelector(target).classList.contains('modal')) 23155 { 23156 $(target).modal('show'); 23157 $(target).animate({ 23158 height: 'show', 23159 opacity: 1, 23160 }, { 23161 progress: function () { 23162 modalResize($(target)); 23163 }, 23164 complete: function () { 23165 modalResize($(target)); 23166 } 23167 }); 23168 } 23169 else { 23170 $(target).modal('show'); 23171 var actions = '<button class="btn" style="margin-bottom:10px" id="trace-back-btn" onclick="traceBack(\''+target+'\',\''+$(element).data("hide")+'\')"><i class="nsicon nsicon-reply"> </i> '+_("Back")+' </button>'; 23172 actions += '<div class="loading-container" style="position: initial;margin-top: 60px"><div class="loading-spinner la-ball-spin-clockwise"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div></div>'; 23173 $(target).append(actions); 23174 } 23175 23176 $.getJSON(url, function (data) { 23177 $(target).find('.loading-container').remove(); 23178 $(target).removeClass('loading'); 23179 if (document.querySelector(target).classList.contains('modal')) { 23180 console.debug(url); 23181 const traceClass = (sub_scope=="Super User" || sub_scope=="Reseller")?"":"hide"; 23182 $(target).html('<div class="modal-header"><button type="button" class="close cancel" data-dismiss="modal" onclick="hideModal(\''+target+'\');">×</button><h4>' + PORTAL_CRADLE_TO_GRAVE_FEATURE_NAME + '</h4></div><div class="modal-body"></div><div class="modal-footer"><button class="btn '+ traceClass +'" data-target="#trace-inline" data-hide=".action-container-row, .callhistory-panel-main, .cc-details-table" onclick="hideModal(\''+target+'\');$(\'div.cc-details-table\').hide();getTrace(\''+url.replace('cradle','trace')+'\',this);debugger;return false;">'+ _('View SIP Flow') + '</button><button class="btn cancel" data-dismiss="modal" onclick="hideModal(\''+target+'\');">' + _('Close') + '</button></div>'); 23183 $(target).find('.modal-header, .modal-body, .modal-footer').show(); 23184 target += " > .modal-body"; 23185 console.log(target); 23186 } 23187 if (data == null || data.length == 0) { 23188 var notrace = '<div class="nonecreated"><h3>' + _('No trace available') + '</h3></div>'; 23189 $(target).append(notrace); 23190 } 23191 ul = $('<ul class="cradle-timeline">'); 23192 data.forEach(function(e) { 23193 var e_class = e.hasOwnProperty('classes') ? 'event ' + e['classes'] : 'event'; 23194 var li = $('<li class="'+e_class+'" data-date="'+e['ts']+'">'); 23195 if (e['diff_ts'].length > 0) 23196 li.append('<span class="event-ts">+'+e['diff_ts']+'</span>'); 23197 li.append('<p>'+e['str']+'</p>'); 23198 ul.append(li); 23199 }); 23200 23201 $(target).append(ul); 23202 if (document.querySelector(target).classList.contains('modal') || $(target).parent('.modal').length > 0) { 23203 modalResize($(target).parent('.modal')); 23204 } 23205 }); 23206 return false;
23207 } 23208} 23209 23210function propigateTabTrace(mdlName, url) { 23211 //alert(url.replace("modal.php","callflow.svg")); 23212 $.ajax({ 23213 url: url, 23214 cache: false 23215 }).done(function (html) { 23216 //alert(mdlName); 23217 var modalObj = $('#' + mdlName); 23218 //alert(modalObj); 23219 try { 23220 //alert('loading modal data succeeded for ' + modalId); 23221 //log(html); 23222 23223 23224 //alert(html); 23225 modalObj.css("minHeight", "600px"); 23226 modalObj.empty(); 23227 23228 23229 modalObj.append(html); 23230 } catch (err) { 23231 alert("error caught - " + err); 23232 // log(html); 23233 } 23234 23235 return; 23236 23237 if (modalId == "#history-trace") { 23238 log('trying to animate modal width to window'); 23239 var srcImage = $('.callflow-image img'); 23240 23241 modalObj.css("maxHeight", $(window).height() - 30); 23242 23243 var widthImage = new Image(); 23244 widthImage.onload = function () { 23245 var imageWidth = widthImage.width; 23246 modalObj.find('.modal-header, .modal-footer').fadeIn(25, function () { 23247 23248 if (imageWidth > 610) { 23249 if (imageWidth > ($(window).width() - 20)) 23250 imageWidth = $(window).width() - 20; 23251 modalObj.animate({ 23252 width: imageWidth 23253 }, { 23254 duration: 150, 23255 queue: false, 23256 progress: function () { 23257 modalResize(modalObj, true); 23258 }, 23259 complete: function () { 23260 modalObj.trigger('modal.animation.end'); 23261 } 23262 }); 23263 } 23264 modalObj.find('.modal-body') 23265 .animate({ 23266 height: "show", opacity: "show" 23267 }, { 23268 duration: 100, 23269 queue: false, 23270 progress: function () { 23271 if (imageWidth < 610) 23272 modalResize(modalObj, true); 23273 }, 23274 complete: function () { 23275 if (imageWidth < 610) 23276 modalResize(modalObj, true); 23277 modalObj.trigger('modal.animation.end'); 23278 } 23279 }); 23280 }); 23281 }; 23282 widthImage.src = srcImage.attr("src"); 23283 } else { 23284 modalObj.find('.modal-header, .modal-footer').fadeIn(25); 23285 modalObj.find('.modal-body') 23286 .animate({ 23287 height: "show", opacity: "show" 23288 }, { 23289 duration: 100, 23290 progress: function () { 23291 modalResize(modalObj); 23292 }, 23293 complete: function () { 23294 modalResize(modalObj); 23295 modalObj.trigger('modal.animation.end'); 23296 } 23297 }); 23298 23299 } 23300 23301 //workaround to prevent modal hide event from triggering tooltip 23302 $('.modal').unbind('hide'); 23303 }).fail(function (textStatus) { 23304 modalObj.removeClass('loading').addClass('load-failed'); 23305 var html = '<div class="modal-header">' 23306 + '<button type="button" class="close cancel" data-dismiss="modal" onclick="hideModal(\'' + modalId + '\');">×</button>' 23307 + '<h4>' + textStatus.statusText + '</h4>' 23308 + '</div>' 23309 + '<div class="modal-body">' 23310 + '<div class="load-failed">' 23311 + '<h4>The modal contents failed to load.</h4><h4>Please try again.</h4>' 23312 + '</div>' 23313 + '</div>' 23314 + '<div class="modal-footer">' 23315 + '<button type="btn" class="cancel btn" data-dismiss="modal" onclick="hideModal(\'' + modalId + '\');">Close</button>' 23316 + '</div>' 23317 modalObj.html(html);
23318 modalObj.find('.modal-header, .modal-body, .modal-footer').show(); 23319 modalResize(modalObj); 23320 }); 23321 23322} 23323 23324function clickToDial(user, formatted, destination, origination, autoanswer) { 23325 if (typeof origination != 'undefined' && origination != null) 23326 origination = "/" + origination; 23327 else 23328 origination = ""; 23329 23330 if (typeof autoanswer === 'undefined' || autoanswer === null) 23331 autoanswer = false; 23332 23333 formatted = cleanDevice(formatted); 23334 23335 destination = destination.replace("+", "PLUS"); 23336 if (autoanswer) 23337 $.post("/portal/calls/clickToDialAA/" + user + "/" + destination + origination, function (data) { 23338 23339 if (data.trim() == "ok") 23340 jsFlash(_("Please answer your ringing phone and the call will be connected to {0}", formatted), 'success'); 23341 else 23342 jsFlash(_("There was an error placing your call to {0}", formatted), "danger"); 23343 23344 }); 23345 else 23346 $.post("/portal/calls/clickToDial/" + user + "/" + destination + origination, function (data) { 23347 23348 if (data.trim() == "ok") 23349 jsFlash(_("Please answer your ringing phone and the call will be connected to {0}", formatted), 'success'); 23350 else 23351 jsFlash(_("There was an error placing your call to {0}", formatted), "danger"); 23352 23353 }); 23354} 23355 23356function clickToAddParticipant(bridge, destination) { 23357 $.post("/portal/conferences/clickToDial/" + bridge + "/" + destination, function (data) { 23358 23359 if (data.trim() == "ok") 23360 jsFlash(_("A call to {0} has been initiated", destination), 'success'); 23361 else 23362 jsFlash(_("There was an error placing the call to {0}", destination), "danger"); 23363 23364 }); 23365 23366} 23367 23368//itm is the mute button that was pressed 23369function muteParticipant(bridge, destination, itm) { 23370 $.post("/portal/conferences/mute/" + bridge + "/" + destination, function (data) { 23371 log(data); 23372 if (data.trim() == "ok") { 23373 jsFlash("Participant muted!", 'success'); 23374 23375 itm.removeClass('mute') 23376 .addClass('listen') 23377 .attr('data-original-title', 'Un-mute') 23378 .attr('onclick', 'unmute($(this))'); 23379 itm.parent().siblings(".participant-mode").html('<span class="label label-success">Active</span>') 23380 $('.helpsy').tooltip('hide'); 23381 initTooltips(); 23382 } else { 23383 jsFlash("Participant could not be muted!", "danger"); 23384 } 23385 23386 }); 23387 23388} 23389 23390function unmuteParticipant(bridge, destination, itm) { 23391 $.post("/portal/conferences/unmute/" + bridge + "/" + destination, function (data) { 23392 log(data); 23393 if (data.trim() == "ok") { 23394 jsFlash("Participant un-muted!", 'success'); 23395 23396 itm.removeClass('listen') 23397 .addClass('mute') 23398 .attr('data-original-title', _('Mute')) 23399 .attr('onclick', 'mute($(this))'); 23400 itm.parent().siblings(".participant-mode").html('<span class="label label-important">' + _('Muted') + '</span>') 23401 $('.helpsy').tooltip('hide'); 23402 initTooltips(); 23403 } else 23404 jsFlash("Participant could not be un-muted!", "danger"); 23405 23406 }); 23407 23408} 23409 23410function discParticipant(bridge, destination) { 23411 $.post("/portal/conferences/disc/" + bridge + "/" + destination, function (data) { 23412 log(data); 23413 23414 $('.helpsy').tooltip('hide'); 23415 23416 if (data.trim() == "ok") 23417 jsFlash("Participant disconnected!", 'success'); 23418 else 23419 jsFlash("Participant not disconnected!", "danger"); 23420 23421 }); 23422 23423} 23424 23425// gets the messages count of voicemails and sms/chat (if enabled) 23426function getCount() { 23427 $.get('/portal/voicemails/count/0', function (data) { 23428 var vmMsg = data; 23429 23430 if (enableChatUC || enableChatSMS) { 23431 //get unread sms/chat messages if enabled 23432 var args = { 23433 'action': "count", 23434 "object": "messagesession", 23435 "format": "json", 23436 "user": sub_user, 23437 "domain": sub_domain, 23438 "last_sender": "remote", 23439 "last_status": "unread", 23440 "muted": "no" 23441 };
23442 netsapiens.api.post(args).then(function (data) { 23443 if (typeof data == "string") 23444 data = JSON.parse(data); 23445 23446 var chatMsg = 0; 23447 var totalMsg; 23448 23449 if (data && typeof data.total != 'undefined' && $.isNumeric(data.total)) 23450 chatMsg = data.total; 23451 else if (data && typeof data == 'number') 23452 chatMsg = data; 23453 23454 //update tab badges if they exist 23455 if ($("#sub-nav-msg-count").length) { 23456 handleMsgCountChatSMS(chatMsg); 23457 handleMsgCountChatVM(vmMsg); 23458 } 23459 //else just update the main messages badges 23460 else { 23461 totalMsg = chatMsg + parseInt(vmMsg); 23462 handleMsgCount(totalMsg); 23463 } 23464 }); 23465 } else { 23466 //just use voicemail count 23467 handleMsgCount(vmMsg); 23468 } 23469 23470 }); 23471} 23472 23473// gets the messages count of voicemails and sms/chat (if enabled) 23474function getRecentCount() { 23475 $.get('/portal/messages/countUnreadRecents/', function (data) { 23476 var chatMsg = 0; 23477 if (enableChatUC || enableChatSMS) { 23478 if (data && typeof data != 'undefined' && $.isNumeric(data)) { 23479 chatMsg = data; 23480 } 23481 handleRecentSessionCount(chatMsg); 23482 } 23483 }); 23484} 23485 23486 23487// updates messages count badge 23488function handleMsgCount(count) { 23489 var $badge; 23490 23491 if ($('#nav-msg-count').length) { 23492 $badge = $('#nav-msg-count'); 23493 } 23494 else if ($('.dropdown-msg-count').length) { 23495 $badge = $('.dropdown-msg-count'); 23496 } 23497 else { 23498 return; 23499 } 23500 23501 if (count > 0) { 23502 $badge.text(count).fadeIn(); 23503 } 23504 else { 23505 $badge.fadeOut(); 23506 } 23507} 23508 23509// updates tabs chat/sms count badge 23510function handleMsgCountChatSMS(count) { 23511 // debugger; 23512 if (count > 0) 23513 $('#sub-nav-msg-count').text(count).fadeIn(); 23514 else 23515 $('#sub-nav-msg-count').fadeOut(); 23516} 23517 23518// updates tabs voicemail count badge 23519function handleMsgCountChatVM(count) { 23520 if (count > 0) 23521 $('#sub-nav-vm-count').text(count).fadeIn(); 23522 else 23523 $('#sub-nav-vm-count').fadeOut(); 23524} 23525 23526 23527// updates tabs voicemail count badge 23528function handleRecentSessionCount(count) { 23529 var $recentUnreadBadge; 23530 23531 if ($('#recents-msg-count').length) { 23532 $recentUnreadBadge = $('#recents-msg-count'); 23533 23534 if (count > 0) { 23535 $recentUnreadBadge.text(count).fadeIn(); 23536 } 23537 else { 23538 $recentUnreadBadge.fadeOut(); 23539 } 23540 } 23541} 23542 23543 23544function minusOneVmail() { 23545 var count = $('#nav-msg-count').text(); 23546 count = count - 1; 23547 handleMsgCount(count); 23548} 23549 23550/** 23551 * Reseller was chosen, so should change the list of the domains and users that are available for autofill 23552 * 23553 */ 23554function cdrScheduleChangeReseller() { 23555 clearAutoComplete('domain'); 23556} 23557 23558/** 23559 * Domain was chosen, so should change the list of the users that are available for autofill 23560 * 23561 */ 23562function cdrScheduleChangeDomain() { 23563 //$('#app-details').hide(); 23564 $('#user-choices').val( ''); 23565 23566 clearAutoComplete('user-choices'); 23567} 23568 23569/** 23570 * Reseller was chosen, so should change the list of the domains that are available for autofill 23571 * 23572 */ 23573function cdrScheduleChangeReseller() { 23574 //$('#app-details').hide(); 23575 $('#domain-choices').val( ''); 23576 $('#user-choices').val( ''); 23577 23578 clearAutoComplete('domain-choices'); 23579 clearAutoComplete('user-choices'); 23580} 23581 23582function inventoryChangeDomain() { 23583 //$('#app-details').hide(); 23584 if (notesClear) 23585 $('#notes').val( ''); 23586 23587 $('#PhonenumberApplication').val( 'available'); 23588 $('#PhonenumberApplication').change(); 23589 23590 $('#trunk-choices-dd').data('domain', ""); 23591 $('#route-choices-dd').data('domain', ""); 23592 23593 $('#user-choices').val( ''); 23594 $('#fax-choices').val( ''); 23595 $('#conference-choices').val( ''); 23596 $('#callqueue-choices').val( ''); 23597 $('#vmail-choices').val( ''); 23598 $('#PhonenumberNumber').val( ''); 23599 clearAutoComplete('user-choices'); 23600 clearAutoComplete('fax-choices'); 23601 clearAutoComplete('conference-choices'); 23602 clearAutoComplete('callqueue-choices'); 23603 clearAutoComplete('vmail-choices'); 23604 clearAutoComplete('attendant-choices'); 23605 23606 23607} 23608 23609function answerrulesFeatureCheck() { 23610 //minfeature 23611} 23612 23613function updateExportHref() {
23614 var path = '/portal/contacts/export/' + encodeURIComponent($("#ContactContacts").val()) 23615 + "/" + $("#ContactFormat").val() + "/contacts."; 23616 var format = $("#ContactFormat").val() + ""; 23617 23618 if (format == "vcard") 23619 path = path + "vcf"; 23620 else 23621 path = path + "csv"; 23622 23623 $('#export_button').attr('href', path); 23624 23625} 23626 23627//update the path the export button will take to make sure it is in the 23628//export_shared_contacts function instead of looking at the regular export subset 23629function updateExportHrefShared() { 23630 var path = '/portal/contacts/export_shared_contacts/' + encodeURIComponent($("#ContactContacts").val()) 23631 + "/" + $("#ContactFormat").val() + "/contacts."; 23632 var format = $("#ContactFormat").val() + ""; 23633 23634 if (format == "vcard") 23635 path = path + "vcf"; 23636 else 23637 path = path + "csv"; 23638 23639 $('#export_button').attr('href', path); 23640 23641} 23642 23643function pad(num) { 23644 return ("0" + num).slice(-2); 23645} 23646 23647function getSecDiff(date) { 23648 var startTime = new Date(Date.parse(date + " GMT")); 23649 //log("startTime "+startTime); 23650 23651 if (typeof startTime == 'undefined' || startTime == "Invalid Date" || startTime == "NaN") { 23652 startTime = Date.parseExact(startTime, 'yyyy-MM-ddd hh:mm:ss zzz'); 23653 //log("startTime "+startTime); 23654 } 23655 23656 var currentTime = new Date(); 23657 //log("current time "+currentTime); 23658 var startMili = startTime.getTime(); 23659 var currentMili = currentTime.getTime(); 23660 var sec = (currentMili - startMili) / 1000; 23661 sec = Math.floor(sec); 23662 //log("current sec "+sec); 23663 return sec; 23664} 23665 23666function getDuration(date, offset) { 23667 var sec = getSecDiff(date); 23668 sec = sec - offset; 23669 if (sec < 0) 23670 sec = getSecDiff(date); 23671 return getMMss(sec); 23672} 23673 23674function getMMss(sec) { 23675 var hour = Math.floor(sec / 3600); 23676 sec = sec - (hour * 3600); 23677 var min = Math.floor(sec / 60); 23678 sec = sec - (min * 60); 23679 sec = Math.floor(sec); 23680 var duration = ""; 23681 23682 if (hour > 0) 23683 duration += pad(hour) + ":"; 23684 duration += pad(min) + ":"; 23685 duration += pad(sec); 23686 return duration; 23687} 23688 23689function changehidden(event, ui, avail, hidden) { 23690 if (typeof ui == 'undefined') 23691 return; 23692 var selectedObj = ui.item; 23693 var device = ""; 23694 $("#" + avail + " option").map(function () { 23695 if (selectedObj.value == this.value || selectedObj.value == this.innerHTML) 23696 device = this.text; 23697 }); 23698 $('#' + hidden).val( device); 23699 if (device === "" && selectedObj.value.includes("@conference-bridge")) { 23700 $('#' + hidden).val( selectedObj.value); 23701 } 23702 23703} 23704 23705function clearAutoComplete(id) { 23706 var choices = []; 23707 $('#' + id).autocomplete({ 23708 //autoFocus: true, 23709 source: function (request, response) { 23710 var results = $.ui.autocomplete.filter(choices, request.term); 23711 response(results); 23712 } 23713 }); 23714 23715 23716} 23717 23718function changeDispType() { 23719 var disp = $('#CallhistoryDisposition'); 23720 var reason = $('#CallhistoryReason'); 23721 var disp_value = disp.val().toString(); 23722 reason.empty(); 23723 var matchString = '#disposition-' + disp_value.replace(/ /g, '') + " > option"; 23724 $(matchString).each(function () { 23725 reason.append("<option>" + this.value + "</option>"); 23726 }); 23727} 23728 23729//returns a formatted NA number 23730function cleanDevice(str) { 23731 //log("cleaning device "+str); 23732 var found = false; 23733 $('.hiddenconflist').each(function () { 23734 //log($(this).attr('id')); 23735 if ($(this).attr('id') == str) { 23736 found = true; 23737 str = $(this).val(); 23738 return $(this).val(); 23739 } 23740 23741 23742 }); 23743 if (found) 23744 return str; 23745 23746 if (typeof str != "string") 23747 str = str + ""; 23748 23749 if (PORTAL_PHONENUMBER_REMOVE_POUND_PREFIXES) { 23750 str = str.replace("%23", "#"); 23751 str = str.substring(str.indexOf("#") + 1); 23752 } 23753 23754 23755 if ("Call-To-Talk" == str) 23756 return _("Click to Call"); 23757 str = cleanDevicePrep(str); 23758 23759 23760 if (str.includes("video.bridge")) 23761 str = _("Video Bridge"); 23762 23763 23764 //log(str +" is not a number"); 23765 if (/^\d+$/.test(str)) { 23766 //log(str +" is a number"); 23767 23768 return netsapiens.utils.formatPhoneNumber(str, PORTAL_LOCALIZATION_NUMBER_FORMAT); 23769 } else { 23770 //log(str +" is not a number"); 23771 } 23772 //log("the length is="+str.length); 23773 23774 //log("the modded number is="+str); 23775 23776 return str; 23777 23778} 23779 23780//strip all characters except numbers 23781function cleanDevicePrep(str) { 23782 if (typeof str == 'undefined' || str == null) 23783 return ""; 23784 23785 //make sure str is a string 23786 if (typeof str !== 'string') 23787 str = str.toString(); 23788 23789 str = str.replace("sip", ""); 23790 str = str.replace(":", ""); 23791 if (PORTAL_PHONENUMBER_REMOVE_PLUS_ON_CALL) { 23792 str = str.replace("+", ""); 23793 } 23794 str = str.replace("(", ""); 23795 str = str.replace(")", ""); 23796 str = str.replace("-", ""); 23797 str = str.replace(/\./g, ""); 23798 str = str.replace(/:/g, ""); 23799 str = str.replace(/ /g, ""); 23800 if (PORTAL_PHONENUMBER_REMOVE_PLUS_ON_CALL) { 23801 str = str.replace(/\+/g, ""); 23802 } 23803 str = str.replace(/\(/g, ""); 23804 str = str.replace(/\)/g, ""); 23805 str = str.replace(/-/g, ""); 23806 str = str.replace(/^\s+|\s+$/g, ''); 23807 str = str.replace('wp', ''); 23808 str = str.replace('\"', ''); 23809 str = str.replace(']', ''); 23810 str = str.replace('[', ''); 23811 var group = str.split("@"); 23812 str = group[0]; 23813 str = str.replace("%40", "@"); 23814 var group = str.split("@"); 23815 str = group[0]; 23816 23817 return str; 23818} 23819 23820function cleanRemote(str) { 23821 if (typeof str === 'undefined' || str === null) 23822 return ""; 23823 23824 str = str.replace("sip", ""); 23825 str = str.replace(":", ""); 23826 str = str.replace("+", ""); 23827 str = str.replace("(", ""); 23828 str = str.replace(")", ""); 23829 str = str.replace("-", ""); 23830 str = str.replace(/\./g, ""); 23831 str = str.replace(/:/g, ""); 23832 str = str.replace(/ /g, ""); 23833 str = str.replace(/\+/g, ""); 23834 str = str.replace(/\(/g, ""); 23835 str = str.replace(/\)/g, ""); 23836 str = str.replace(/-/g, ""); 23837 str = str.replace(/^\s+|\s+$/g, ''); 23838 23839 str = str.replace(/\[/g, ""); 23840 str = str.replace(/\]/g, ""); 23841 str = str.replace(/\"/g, ""); 23842 23843 str = str.replace(new RegExp("@"+sub_domain, "g"), ""); 23844 23845 return str; 23846} 23847 23848 23849 23850//returns a formatted NA number 23851function cleanTermQueue(str) { 23852 var res = str.split("@"); 23853 23854 return res[0]; 23855} 23856 23857function isNumber(n) { 23858 return !isNaN(parseFloat(n)) && isFinite(n); 23859} 23860 23861function postLog(status) { 23862 $.post("/portal/agents/agentLog/" + status + '/null', function () { 23863 }) 23864 .fail(function () { 23865 log('postLog: ' + status + ' failed'); 23866 }) 23867 .done(function () { 23868 log('postLog: ' + status + ' success'); 23869 }); 23870} 23871 23872function ownDevice(callid) { 23873 var device = $('#device').val(); 23874 var devSplit = device.split(" "); 23875 log(devSplit[0]); 23876 callToOwn(devSplit[0], callid); 23877 $('#activateCallBtn').prop("disabled", true); 23878 23879} 23880 23881function callToOwn(device, callid) {
23882 $.post("/portal/phones/own/" + device + "/" + callid, function (data) { 23883 23884 if (data.trim() == "ok") { 23885 jsFlash("Please answer the ringing phone (" + device + ")", 'success'); 23886 // $.cookie("agent-device", "device-" + device); 23887 $('#activate-done').on('click', function () { 23888 // if on the agents page 23889 if ($('.phones-panel-home').length > 0) { 23890 hotDeskConfirm(device); 23891 } 23892 else { // if on the phones page 23893 location.reload(true); 23894 } 23895 }); 23896 } else 23897 jsFlash("There was an error placing your call to " + device, "danger"); 23898 23899 }) 23900 .always(function () { 23901 $('#activateCallBtn').prop("disabled", false); 23902 }); 23903} 23904 23905function toggleHiddenUser() { 23906 if ($('#hideSystemUsers').is(":checked")) { 23907 $.cookie('user-hidden-'+sub_user+"-"+md5(sub_name), 'true', {path: "/portal/users", expires: 3600*24*7}); 23908 $.cookie('user-hidden-'+sub_user+"-"+md5(sub_name), 'true', {path: "/", expires: 3600*24*7}); 23909 23910 } 23911 else { 23912 $.cookie('user-hidden-'+sub_user+"-"+md5(sub_name), 'false', {path: "/portal/users", expires: 3600*24*7}); 23913 $.cookie('user-hidden-'+sub_user+"-"+md5(sub_name), 'false', {path: "/", expires: 3600*24*7}); 23914 } 23915 23916 location.reload(); 23917} 23918 23919function toggleHiddenUserAddresses() { 23920 if ($('#hideUserAddresses').is(":checked")) { 23921 $.cookie('user-addresses-hidden-'+sub_user+"-"+md5(sub_name), 'true', {path: "/portal/inventory/addresses", expires: 3600*24*7}); 23922 $.cookie('user-addresses-hidden-'+sub_user+"-"+md5(sub_name), 'true', {path: "/", expires: 3600*24*7}); 23923 23924 } 23925 else { 23926 $.cookie('user-addresses-hidden-'+sub_user+"-"+md5(sub_name), 'false', {path: "/portal/addresses", expires: 3600*24*7}); 23927 $.cookie('user-addresses-hidden-'+sub_user+"-"+md5(sub_name), 'false', {path: "/", expires: 3600*24*7}); 23928 } 23929 23930 location.reload(); 23931} 23932 23933function toggleHiddenUserTimeFrames() { 23934 if ($('#hiddenUsersValueTimeFrames').is(":checked")) { 23935 $.cookie('user-hidden-timeframes-'+sub_user+"-"+md5(sub_name), 'true', {path: "/portal/timeframes", expires: 3600*24*7}); 23936 $.cookie('user-hidden-timeframes-'+sub_user+"-"+md5(sub_name), 'true', {path: "/", expires: 3600*24*7}); 23937 23938 } 23939 else { 23940 $.cookie('user-hidden-timeframes-'+sub_user+"-"+md5(sub_name), 'false', {path: "/portal/timeframes", expires: 3600*24*7}); 23941 $.cookie('user-hidden-timeframes-'+sub_user+"-"+md5(sub_name), 'false', {path: "/", expires: 3600*24*7}); 23942 } 23943 23944 location.reload(); 23945} 23946 23947function toggleHiddenZerosTimeFrames() { 23948 if ($('#hiddenZerosValueTimeFrames').is(":checked")) { 23949 $.cookie('hide-zeros-timeframes-'+sub_user+"-"+md5(sub_name), 'true', {path: "/portal/timeframes", expires: 3600*24*7}); 23950 $.cookie('hide-zeros-timeframes-'+sub_user+"-"+md5(sub_name), 'true', {path: "/", expires: 3600*24*7}); 23951 23952 } 23953 else { 23954 $.cookie('hide-zeros-timeframes-'+sub_user+"-"+md5(sub_name), 'false', {path: "/portal/timeframes", expires: 3600*24*7}); 23955 $.cookie('hide-zeros-timeframes-'+sub_user+"-"+md5(sub_name), 'false', {path: "/", expires: 3600*24*7}); 23956 } 23957 23958 location.reload(); 23959} 23960 23961 23962function toggleHiddenUserMusic() { 23963 if ($('#hiddenUsersValueMusic').is(":checked")) { 23964 $.cookie('user-hidden-music-'+sub_user+"-"+md5(sub_name), 'true', {path: "/portal/music", expires: 3600*24*7}); 23965 $.cookie('user-hidden-music-'+sub_user+"-"+md5(sub_name), 'true', {path: "/", expires: 3600*24*7}); 23966 23967 } 23968 else { 23969 $.cookie('user-hidden-music-'+sub_user+"-"+md5(sub_name), 'false', {path: "/portal/music", expires: 3600*24*7}); 23970 $.cookie('user-hidden-music-'+sub_user+"-"+md5(sub_name), 'false', {path: "/", expires: 3600*24*7}); 23971 } 23972 23973 location.reload(); 23974} 23975 23976function toggleHiddenZerosMusic() { 23977 if ($('#hiddenZerosValueMusic').is(":checked")) { 23978 $.cookie('hide-zeros-music-'+sub_user+"-"+md5(sub_name), 'true', {path: "/portal/music", expires: 3600*24*7}); 23979 $.cookie('hide-zeros-music-'+sub_user+"-"+md5(sub_name), 'true', {path: "/", expires: 3600*24*7}); 23980 23981 } 23982 else { 23983 $.cookie('hide-zeros-music-'+sub_user+"-"+md5(sub_name), 'false', {path: "/portal/music", expires: 3600*24*7}); 23984 $.cookie('hide-zeros-music-'+sub_user+"-"+md5(sub_name), 'false', {path: "/", expires: 3600*24*7}); 23985 } 23986 23987 location.reload(); 23988} 23989 23990 23991 23992 23993// toggle enable MOH settings 23994function toggleEnableMusicOnHold(domain, state) { 23995 var url = "/portal/music/toggleEnableMOH/" + domain + "/" + state; 23996 $.post(url, function (data) { 23997 jsFlash("Music on hold settings have been updated", 'success'); 23998 23999 // change the state of the boxesto indicate whether or not music on hold is on or not 24000 if (state == false) { 24001 // hide the panes and show the 24002 $('.music-panel-main').addClass('hide'); 24003 $('.moh-footer').addClass('hide'); 24004 24005 $('.music-panel-main-no-moh').removeClass('hide'); 24006 24007 } else { 24008 $('.music-panel-main').removeClass('hide'); 24009 $('.moh-footer').removeClass('hide'); 24010 24011 24012 $('.music-panel-main-no-moh').addClass('hide'); 24013 24014 } 24015 24016 }); 24017} 24018 24019 24020// toggle randomize music for MOH settings 24021function toggleRandomizeMusic(uid = '') { 24022 var url = "/portal/music/randomize/" + $('#randomizeMusic').is(":checked") + "/" + uid; 24023 $.post(url, function (data) { 24024 jsFlash("Music on hold settings have been updated", 'success'); 24025 }); 24026} 24027 24028 24029function updateInterval(uid, moh_interval) { 24030 var url = "/portal/music/updateInterval/" + uid + "/" + moh_interval; 24031 $.post(url, function (data) { 24032 jsFlash("Music on hold settings have been updated", 'success'); 24033 }); 24034 24035} 24036 24037 24038function toggleUiconfigDefault() { 24039 if ($('#showDefaults').is(":checked")) 24040 $.cookie('uiconfig-showDefaults', 'true', {path: "/portal/uiconfigs", expires: 180}); 24041 else 24042 $.cookie('uiconfig-showDefaults', 'false', {path: "/portal/uiconfigs", expires: 180}); 24043 24044 location.reload(); 24045} 24046 24047function releaseDevice(device, queue) { 24048 var url = "/portal/phones/release/" + device; 24049 if (typeof queue != 'undefined' && queue != "") 24050 url = url + "/" + queue; 24051 $.post(url, function (data) { 24052 if (data.trim() == "ok") 24053 jsFlash("The phone (" + device + ") has been released ", 'success'); 24054 else 24055 jsFlash("There was an error releasing phone " + device, "danger"); 24056 24057 if ($.cookie("agent-device") == device) 24058 $.cookie("agent-device", null); 24059 24060 setTimeout(function () { 24061 if ($('.phones-panel-home').length > 0) { 24062 homegetPhones(); 24063 } 24064 else { 24065 location.reload(true); 24066 } 24067 24068 }, 1000); 24069 24070 24071 }); 24072} 24073 24074function dynamicStaticChange(isAdd, dynamic) { 24075 if ($('#ip_control_dd').val() == "Static IP") { 24076 $('.limit-max_total').animate({ 24077 height: 'show', 24078 opacity: 'show' 24079 }); 24080 $('.dynamicipgroup').animate({ 24081 height: 'hide', 24082 opacity: 'hide' 24083 }); 24084 $('.staticipgroup').animate({ 24085 height: 'show', 24086 opacity: 'show' 24087 }); 24088 $('#authSection').animate({ 24089 height: 'show', 24090 opacity: 'show' 24091 }, { 24092 progress: function () { 24093 modalResize($(this).parents('.modal')) 24094 } 24095 }); 24096 } else { 24097 //#11231 Allow a static sip trunk to be turned into a dynamic registration based sip trunk. 24098 if (!isAdd && !dynamic) { 24099 24100 $('#SiptrunkDeviceUserRO').hide(); 24101 $('#SiptrunkDeviceUser').show(); 24102 24103 } 24104 log("needs work"); 24105 $('.limit-max_total').animate({ 24106 height: 'hide', 24107 opacity: 'hide' 24108 }); 24109 $('.staticipgroup').animate({ 24110 height: 'hide', 24111 opacity: 'hide' 24112 }); 24113 $('.dynamicipgroup').animate({ 24114 height: 'show', 24115 opacity: 'show' 24116 }); 24117 $('#authSection').animate({ 24118 height: 'hide', 24119 opacity: 'hide' 24120 }, { 24121 progress: function () { 24122 modalResize($(this).parents('.modal')) 24123 } 24124 }); 24125 } 24126} 24127 24128function iTunkChange(isAdd, enabled) { 24129 if ($('#itrunk_enabled_dd').bootstrapSwitch('state')) { 24130 $('.itrunkgroup').animate({ 24131 height: 'show', 24132 opacity: 'show' 24133 }, { 24134 progress: function () { 24135 modalResize($(this).parents('.modal')) 24136 } 24137 }); 24138 } else { 24139 $('.itrunkgroup').animate({ 24140 height: 'hide', 24141 opacity: 'hide' 24142 }, { 24143 progress: function () { 24144 modalResize($(this).parents('.modal')) 24145 } 24146 }); 24147 } 24148} 24149 24150function routeTypeChange() { 24151 // if ($('.route-options').is(':visible')) 24152 // $('.route-options').animate({ 24153 // height: 'hide', opacity: 'hide', queue: true 24154 // }, { 24155 // progress: function(){ 24156 // modalResize($(this).parents('.modal')); 24157 // } 24158 // }); 24159 24160 var type = $('#route_type_dd').val(); 24161 log(type); 24162 24163 if (type == "percentage") { 24164 $('.pct-remaining, #pct-equal-btn').animate({ 24165 opacity: 'show', 24166 width: 'show' 24167 }); 24168 $('.trunk-method-table').animate({ 24169 opacity: 'hide' 24170 }, { 24171 queue: true, 24172 duration: 200, 24173 complete: function () { 24174 $('.route-fixed').hide(); 24175 $('.route-percent').show(); 24176 } 24177 }); 24178 $('.trunk-method-table').animate({ 24179 opacity: 'show', 24180 queue: true 24181 }); 24182 } else if (type == "fixed") { 24183 $('.pct-remaining, #pct-equal-btn').animate({ 24184 opacity: 'hide', 24185 width: 'hide' 24186 }); 24187 $('.trunk-method-table').animate({ 24188 opacity: 'hide' 24189 }, { 24190 queue: true, 24191 duration: 200, 24192 complete: function () { 24193 $('.route-percent').hide(); 24194 $('.route-fixed').show(); 24195 } 24196 }); 24197 $('.trunk-method-table').animate({ 24198 opacity: 'show', 24199 queue: true 24200 }); 24201 } 24202 24203} 24204 24205function trunkTypeChange() { 24206 if ($('#trunk_type_dd').val() == "Origination Only" || $('#trunk_type_dd').val() == "Locked") { 24207 $('.outbound-only').animate({ 24208 height: 'hide', opacity: 'hide' 24209 }, { 24210 progress: function () { 24211 modalResize($(this).parents('.modal')) 24212 } 24213 }); 24214 } else { 24215 $('.outbound-only').animate({ 24216 height: 'show', opacity: 'show' 24217 }, { 24218 progress: function () { 24219 modalResize($(this).parents('.modal')) 24220 } 24221 }); 24222 } 24223 24224 24225 if ($('#isAdd').length != 0) 24226 return; 24227 24228 if ($('#trunk_type_dd').val() == "Termination Only" || $('#trunk_type_dd').val() == "Locked") {
24229 $('.inbound-only').animate({ 24230 height: 'hide', opacity: 'hide' 24231 }, { 24232 progress: function () { 24233 modalResize($(this).parents('.modal')) 24234 } 24235 }); 24236 } else { 24237 $('.inbound-only').animate({ 24238 height: 'show', opacity: 'show' 24239 }, { 24240 progress: function () { 24241 modalResize($(this).parents('.modal')) 24242 } 24243 }); 24244 ; 24245 } 24246} 24247 24248function authChange() { 24249 if ($('#auth_dd').val() == "yes") { 24250 $('#authEnabledSection').animate({ 24251 height: 'show', opacity: 'show' 24252 }, { 24253 progress: function () { 24254 modalResize($(this).parents('.modal')) 24255 } 24256 }); 24257 } else { 24258 $('#authEnabledSection').animate({ 24259 height: 'hide', opacity: 'hide' 24260 }, { 24261 progress: function () { 24262 modalResize($(this).parents('.modal')) 24263 } 24264 }); 24265 } 24266} 24267 24268function updateRecentDomain(event, ui) { 24269 var domain = ui.item.id; 24270 var value = ui.item.value; 24271 var desc = value.replace(domain, "").trim(); 24272 if (desc == domain) 24273 desc = ""; 24274 log(desc); 24275 addRecentDomain(domain, desc); 24276} 24277 24278function addRecentDomain(domain, desc) { 24279 domain = $.trim(domain); 24280 desc = $.trim(desc); 24281 24282 // use localStorage 24283 let recentDomains = localStorage.getItem(sub_user + sub_domain + 'recentDomains'); 24284 24285 if (recentDomains == null) { 24286 recentDomains = domain + "|||" + desc + ",;,"; 24287 } else if (!recentDomains.includes(domain + "|||" + desc + ",;,")) { 24288 // string does not exist already in the list: 24289 recentDomains = domain + "|||" + desc + ",;," + recentDomains; 24290 } else if (recentDomains.includes(domain + "|||" + desc + ",;,")) { 24291 // if string does exist, add it to the front after removing 24292 removeRecentDomain(domain, desc); 24293 recentDomains = localStorage.getItem(sub_user + sub_domain + 'recentDomains'); 24294 recentDomains = domain + "|||" + desc + ",;," + recentDomains; 24295 } 24296 localStorage.setItem(sub_user + sub_domain + 'recentDomains', recentDomains); 24297} 24298 24299function removeRecentDomain(domain, desc) { 24300 domain = $.trim(domain); 24301 desc = $.trim(desc); 24302 24303 let recentDomains = localStorage.getItem(sub_user + sub_domain + 'recentDomains'); 24304 recentDomains = recentDomains.replaceAll(domain + "|||" + desc + ",;,",''); 24305 24306 localStorage.setItem(sub_user + sub_domain + 'recentDomains', recentDomains); 24307 return true; 24308} 24309 24310function modifyDialPlanning(event, ui) { 24311 var domain = ui.item.id; 24312 modifyDialPlanning4domain(domain); 24313 24314 24315} 24316 24317function modifyDialPlanning4domain(domain) { 24318 $('#staticdomain').text(domain); 24319 24320 $.getJSON('/portal/siptrunks/dialPlanningLookup/' + domain, function (data) { 24321 24322 log(data); 24323 $('#dialplan').empty(); 24324 $('#dialplan').append("<option value=\"\">Please select a Dial Translation</option>"); 24325 24326 $.each(data.plans, function (key, val) { 24327 var selected = ""; 24328 if (domain == val) 24329 selected = "selected=\"selected\""; 24330 $('#dialplan').append("<option value='" + val + "' " + selected + ">" + val + "</option>"); 24331 }); 24332 $('#dialpolicy').empty(); 24333 $('#dialpolicy').append("<option value=\"\">Please select a Dial Permission</option>"); 24334 $.each(data.policies, function (key, val) { 24335 24336 $('#dialpolicy').append("<option value='" + val + "'>" + val + "</option>"); 24337 }); 24338 24339 $('#dialplanningSection').show(); 24340 24341 }); 24342 24343} 24344 24345function inventoryMacDomainChange(event, ui, domain) { 24346 if (typeof domain == 'undefined' || domain == null) 24347 domain = ui.item.id; 24348 var a = [1, 2, 3, 4, 5, 6, 7, 8]; 24349 24350 if (typeof lineCountDynamic == 'undefined') 24351 lineCountDynamic = 3; 24352 24353 $('#staticdomain').text(domain); 24354 for (var i = 0; i < a.length; i++) { 24355 var id = "#line" + a[i]; 24356 $(id).val( ""); 24357 $(id).prop("disabled", true);; 24358 24359 24360 if (i <= lineCountDynamic) 24361 $('#device_linerow_' + a[i]).show(); 24362 } 24363 24364 //log('inventoryMacDomainChange'); 24365 try { 24366 $.getJSON('/portal/phones/getDevices/' + domain, function (data) { 24367 if (data == null) 24368 return; 24369 log(data); 24370 24371 24372 var choices = []; 24373 24374 $.each(data, function (key, val) { 24375 choices.push({id: key, value: val}) 24376 24377 }); 24378 24379 for (var i = 0; i < a.length; i++) { 24380 var id = "#line" + a[i]; 24381 $(id).autocomplete({ 24382 autoFocus: true, 24383 source: function (request, response) { 24384 var results = $.ui.autocomplete.filter(choices, request.term); 24385 if (!results.length) { 24386 $(id).validationEngine("showPrompt", _("* No matches found!"), "red", "bottomLeft", true); 24387 } else { 24388 $(id).validationEngine("hidePrompt"); 24389 } 24390 response(results); 24391 } 24392 24393 24394 }); 24395 $(id).removeAttr("disabled"); 24396 24397 } 24398 24399 24400 }); 24401 } catch (e) { 24402 } 24403 24404 24405} 24406 24407function dayOfWeekCheck() { 24408 var inError = false;
24409 if ($('#TimeframeSelectOption2').is(":checked") && !$('#TimeframeSelectOption3').is(":checked")) { 24410 var fields = $(".slider_checkbox").serializeArray(); 24411 if (fields.length == 0) { 24412 inError = true; 24413 } 24414 } 24415 if (inError) { 24416 $("input[type=submit]").prop("disabled", true);; 24417 } else 24418 $("input[type=submit]").removeAttr("disabled"); 24419 24420} 24421 24422function cleanId(value) { 24423 //log ("cleanId"); 24424 //log (value); 24425 if (typeof value != 'undefined') 24426 var val = value.replace(/\W/g, '-'); 24427 else 24428 return ""; 24429 //log(val); 24430 return val; 24431 24432} 24433 24434$(function () { 24435 addAutoCleanFunction(); 24436}); 24437 24438function addAutoCleanFunction() { 24439 $(".autoclean").change(function () { 24440 let x = removeSpecials($(this).val()); 24441 $(this).val(x); 24442 }); 24443 $(".autotrim").change(function () { 24444 let x = $(this).val().trim(); 24445 $(this).val(x); 24446 }); 24447} 24448 24449function removeSpecials(str) { 24450 var lower = str.toLowerCase(); 24451 var upper = str.toUpperCase(); 24452 24453 var res = ""; 24454 for (var i = 0; i < lower.length; ++i) { 24455 if (lower[i] != upper[i] || '0123456789'.indexOf(lower[i]) !== -1) 24456 res += str[i]; 24457 } 24458 return res; 24459 24460 24461 function addIEsupport() { 24462 if (!jQuery.support.cors && window.XDomainRequest) { 24463 var httpRegEx = /^https?:\/\//i; 24464 var getOrPostRegEx = /^get|post$/i; 24465 var sameSchemeRegEx = new RegExp('^' + location.protocol, 'i'); 24466 var xmlRegEx = /\/xml/i; 24467 24468 // ajaxTransport exists in jQuery 1.5+ 24469 jQuery.ajaxTransport('xml json', function (options, userOptions, jqXHR) { 24470 // XDomainRequests must be: asynchronous, GET or POST methods, HTTP or HTTPS protocol, and same scheme as calling page 24471 24472 var output = ''; 24473 for (property in options) { 24474 output += property + ': ' + options[property] + '; '; 24475 } 24476 //log(output); 24477 output = ''; 24478 for (property in userOptions) { 24479 output += property + ': ' + userOptions[property] + '; '; 24480 } 24481 //log(output); 24482 output = ''; 24483 for (property in jqXHR) { 24484 output += property + ': ' + jqXHR[property] + '; '; 24485 } 24486 //log(output); 24487 24488 if (options.crossDomain) 24489 log("options.crossDomain"); 24490 if (options.async) 24491 log("options.async"); 24492 if (getOrPostRegEx.test(options.type)) 24493 log("getOrPostRegEx.test(options.type)"); 24494 if (httpRegEx.test(userOptions.url)) 24495 log("httpRegEx.test(userOptions.url)"); 24496 if (sameSchemeRegEx.test(userOptions.url)) 24497 log("sameSchemeRegEx.test(userOptions.url)"); 24498 24499 24500 // && sameSchemeRegEx.test(userOptions.url) 24501 24502 if (options.crossDomain && options.async && getOrPostRegEx.test(options.type) && httpRegEx.test(userOptions.url)) { 24503 //log("ok"); 24504 var xdr = null; 24505 var userType = (userOptions.dataType || '').toLowerCase(); 24506 log("userType=" + userType); 24507 return { 24508 send: function (headers, complete) { 24509 xdr = new XDomainRequest(); 24510 if (/^\d+$/.test(userOptions.timeout)) { 24511 xdr.timeout = userOptions.timeout;
24512 log("xdr.timeout=" + xdr.timeout); 24513 } 24514 xdr.ontimeout = function () { 24515 complete(90000, 'timeout'); 24516 }; 24517 xdr.onload = function () { 24518 var allResponseHeaders = 'Content-Length: ' + xdr.responseText.length + '\r\nContent-Type: ' + xdr.contentType; 24519 log("allResponseHeaders" + allResponseHeaders); 24520 var status = { 24521 code: 200, 24522 message: 'success' 24523 }; 24524 var responses = { 24525 text: xdr.responseText 24526 }; 24527 /* 24528 if (userType === 'html') { 24529 responses.html = xdr.responseText; 24530 } else 24531 */ 24532 try { 24533 if (userType === 'json') {
24534 log("xdr.timeout=" + xdr.timeout); 24535 try { 24536 responses.json = JSON.parse(xdr.responseText); 24537 output = ''; 24538 for (property in responses.json) { 24539 output += property + ': ' + responses.json[property] + '; '; 24540 } 24541 log("responses.json=" + output); 24542 } catch (e) { 24543 log("status.message=" + 'parseerror'); 24544 status.code = 500; 24545 status.message = 'parseerror'; 24546 //throw 'Invalid JSON: ' + xdr.responseText; 24547 } 24548 } 24549 /* else if ((userType === 'xml') || ((userType !== 'text') && xmlRegEx.test(xdr.contentType))) { 24550 var doc = new ActiveXObject('Microsoft.XMLDOM'); 24551 doc.async = false; 24552 try { 24553 doc.loadXML(xdr.responseText); 24554 } catch(e) { 24555 doc = undefined; 24556 } 24557 if (!doc || !doc.documentElement || doc.getElementsByTagName('parsererror').length) { 24558 status.code = 500; 24559 status.message = 'parseerror'; 24560 throw 'Invalid XML: ' + xdr.responseText; 24561 } 24562 responses.xml = doc; 24563 } 24564 */ 24565 } catch (parseMessage) {
24566 log("catch.parseMessage=" + parseMessage); 24567 throw parseMessage; 24568 } finally { 24569 complete(status.code, status.message, responses, allResponseHeaders); 24570 } 24571 }; 24572 xdr.onerror = function () { 24573 log("xdr.responseText" + xdr.responseText); 24574 complete(500, 'error', { 24575 text: xdr.responseText 24576 }); 24577 24578 }; 24579 xdr.open(options.type, options.url); 24580 //xdr.send(userOptions.data); 24581 xdr.send(); 24582 }, 24583 abort: function () { 24584 if (xdr) { 24585 xdr.abort(); 24586 } 24587 } 24588 }; 24589 } else 24590 log("failed check"); 24591 }); 24592 } 24593 } 24594 24595 var BrowserDetect = { 24596 init: function () { 24597 this.browser = this.searchString(this.dataBrowser) || "An unknown browser"; 24598 this.version = this.searchVersion(navigator.userAgent) 24599 || this.searchVersion(navigator.appVersion) 24600 || "an unknown version"; 24601 this.OS = this.searchString(this.dataOS) || "an unknown OS"; 24602 }, 24603 searchString: function (data) { 24604 for (var i = 0; i < data.length; i++) { 24605 var dataString = data[i].string; 24606 var dataProp = data[i].prop; 24607 this.versionSearchString = data[i].versionSearch || data[i].identity; 24608 if (dataString) { 24609 if (dataString.indexOf(data[i].subString) != -1) 24610 return data[i].identity; 24611 } else if (dataProp) 24612 return data[i].identity; 24613 } 24614 }, 24615 searchVersion: function (dataString) { 24616 var index = dataString.indexOf(this.versionSearchString); 24617 if (index == -1) return; 24618 return parseFloat(dataString.substring(index + this.versionSearchString.length + 1)); 24619 }, 24620 dataBrowser: [ 24621 { 24622 string: navigator.userAgent, 24623 subString: "Chrome", 24624 identity: "Chrome" 24625 }, 24626 { 24627 string: navigator.userAgent, 24628 subString: "OmniWeb", 24629 versionSearch: "OmniWeb/", 24630 identity: "OmniWeb" 24631 }, 24632 { 24633 string: navigator.vendor, 24634 subString: "Apple", 24635 identity: "Safari", 24636 versionSearch: "Version" 24637 }, 24638 { 24639 prop: window.opera, 24640 identity: "Opera", 24641 versionSearch: "Version" 24642 }, 24643 { 24644 string: navigator.vendor, 24645 subString: "iCab", 24646 identity: "iCab" 24647 }, 24648 { 24649 string: navigator.vendor, 24650 subString: "KDE", 24651 identity: "Konqueror" 24652 }, 24653 { 24654 string: navigator.userAgent, 24655 subString: "Firefox", 24656 identity: "Firefox" 24657 }, 24658 { 24659 string: navigator.vendor, 24660 subString: "Camino", 24661 identity: "Camino" 24662 }, 24663 { // for newer Netscapes (6+) 24664 string: navigator.userAgent, 24665 subString: "Netscape", 24666 identity: "Netscape" 24667 }, 24668 { 24669 string: navigator.userAgent, 24670 subString: "MSIE", 24671 identity: "Explorer", 24672 versionSearch: "MSIE" 24673 }, 24674 { 24675 string: navigator.userAgent, 24676 subString: "Gecko", 24677 identity: "Mozilla", 24678 versionSearch: "rv" 24679 }, 24680 { // for older Netscapes (4-)
24681 string: navigator.userAgent, 24682 subString: "Mozilla", 24683 identity: "Netscape", 24684 versionSearch: "Mozilla" 24685 } 24686 ], 24687 dataOS: [ 24688 { 24689 string: navigator.platform, 24690 subString: "Win", 24691 identity: "Windows" 24692 }, 24693 { 24694 string: navigator.platform, 24695 subString: "Mac", 24696 identity: "Mac" 24697 }, 24698 { 24699 string: navigator.userAgent, 24700 subString: "iPhone", 24701 identity: "iPhone/iPod" 24702 }, 24703 { 24704 string: navigator.platform, 24705 subString: "Linux", 24706 identity: "Linux" 24707 } 24708 ] 24709 24710 }; 24711} 24712 24713function selectLanguages(containerId, selectId, languages, selected) { 24714 var options = []; 24715 for (var i = 0; i < languages.length; i += 1) { 24716 // todo selected based on users lang 24717 var optionName = languages[i].name + ' ' + '(' + languages[i].country + ')'; 24718 if (i === 0 && !selected) { 24719 options.push('<option value="' + languages[i].id + '" selected>' + optionName + '</option>'); 24720 } else if (selected === languages[i].id) { 24721 options.push('<option value="' + languages[i].id + '" selected>' + optionName + '</option>'); 24722 } else { 24723 options.push('<option value="' + languages[i].id + '">' + optionName + '</option>'); 24724 } 24725 } 24726 24727 var elem = $('#' + selectId); 24728 elem.empty(); 24729 elem.append(options.join('')); 24730 if (options.length === 1) { $('#' + containerId).hide(); } 24731} 24732 24733function voiceMultipleVendors(voices) { 24734 return [...new Set(voices.map((item) => item.type))].length > 1; 24735} 24736 24737function getSSMLDocumentLink(type) { 24738 if (type === 'google') { 24739 return '<a href="https://cloud.google.com/text-to-speech/docs/ssml" target="_blank">' + _('Read more') + '</a>'; 24740 } else if (type === 'polly') { 24741 return '<a href="https://docs.aws.amazon.com/polly/latest/dg/ssml.html" target="_blank">' + _('Read more') + '</a>'; 24742 } else if (type === 'azure') { 24743 return '<a href="https://learn.microsoft.com/en-us/azure/ai-services/speech-service/speech-synthesis-markup-voice" target="_blank">' + _('Read more') + '</a>'; 24744 } else if (type === 'watson') { 24745 return '<a href="https://www.ibm.com/docs/en/wvs/6.1.1?topic=610-text-speech-ssml-programming-guide" target="_blank">' + _('Read more') + '</a>'; 24746 } 24747 24748 return ''; 24749} 24750 24751function ssmlSupportMessage(voice) { 24752 $('#ssml-support').html('<div style="padding-top:4px">' + _('SSML supported') + ' ' + getSSMLDocumentLink(voice.type) + '</div>'); 24753} 24754 24755function clearSSMLParseError() { 24756 $('#playing-error').html(''); 24757} 24758 24759function ssmlDisplayErrorMessage(message, line, col) { 24760 let msg = message; 24761 if (line || col) { 24762 msg = _('Syntax error on line') + ' ' + line + ' ' + _('column') + ' ' + col 24763 } 24764 $('#playing-error').html('<div style="padding-top:4px">' + msg + '</div>'); 24765} 24766 24767function getVoice(voices, voiceId) { 24768 if (voices) { 24769 for (let i = 0; i < voices.length; i += 1) { 24770 if (voiceId === voices[i].id) { 24771 return voices[i]; 24772 } 24773 } 24774 } 24775 24776 return undefined; 24777} 24778 24779function selectVoices(selectId, voices, selected) { 24780 const options = []; 24781 const multipleVendors = voiceMultipleVendors(voices); 24782 24783 for (let i = 0; i < voices.length; i += 1) { 24784 let str = ''; 24785 if (multipleVendors) { 24786 str = _(voices[i].type[0].toUpperCase() + voices[i].type.substring(1)); 24787 } 24788 24789 if (str.length) { 24790 str = ' (' + str + ')'; 24791 } 24792 24793 if (i === 0 && !selected) { 24794 options.push('<option value="' + voices[i].id + '" selected>' + voices[i].name + str + '</option>'); 24795 } else if (selected === voices[i].id) { 24796 options.push('<option value="' + voices[i].id + '" selected>' + voices[i].name + str + '</option>'); 24797 } else { 24798 options.push('<option value="' + voices[i].id + '">' + voices[i].name + str + '</option>'); 24799 } 24800 } 24801 24802 var elem = $('#' + selectId); 24803 elem.empty(); 24804 elem.append(options.join('')); 24805} 24806 24807function lookupCall(recording, mycallback) { 24808 let processedRows = new Set(); 24809 let pendingPromises = []; 24810 24811 $.getJSON(recording['url']).done(function(data) { 24812 mycallback(); 24813 24814 $.each(data, function (cid, result) {
24815 $('tr[recindex]').each(function () { 24816 const rowElement = $(this); 24817 const rowId = rowElement.data("orig-id"); 24818 if (typeof rowElement.data("state") == 'undefined') 24819 rowElement.data("state", "unknown"); 24820 24821 var newhost = server_name; 24822 24823 if (typeof result.geo_id == 'undefined') { 24824 result.geo_id = "n/a"; 24825 } 24826 24827 // get number of columns by counting td children 24828 var numCols = rowElement.find('td').length; 24829 24830 const orig = rowElement.data("orig-id"); 24831 const term = rowElement.data("term-id"); 24832 const jobId = rowElement.data("job-id"); 24833 24834 if (cid == orig || cid == term || result.geo_id == term || result.geo_id == orig) { 24835 processedRows.add(rowId); 24836 var audioTag = '<audio id="audio-' + orig + '" ' + 24837 'data-orig-id="' + orig + '" data-term-id="' + term + '"' + 24838 'controls class="cdraudio" preload="'+PORTAL_CALLHISTORY_RECORDING_PRELOAD+'" >'; 24839 if (result.status.toLowerCase() === "converted" || result.status.toLowerCase() === "archived") { 24840 if (rowElement.data("state") !== "available") { 24841 console.log('available'); 24842 var parser = document.createElement('a'); 24843 parser.href = result.url; 24844 24845 if (typeof rowElement.attr("recDomain") != 'undefined' && rowElement.attr("recDomain") !== "") { 24846 newhost = parser.protocol + "//" + rowElement.attr("recDomain") + parser.pathname + parser.search; 24847 } else { 24848 newhost = result.url.replace("/localhost", "/" + newhost); 24849 24850 } 24851 if (rowElement.find('.listen.disabled.statusonly').length) { 24852 rowElement.find('.listen.disabled.statusonly').replaceWith('<a class="listen helpsy statusonly" title="'+ _('Recording Available') +"." + _('Playback Disabled')+'"></a>'); 24853 } else { 24854 const thisElement = rowElement; 24855 if (jobId && recording['jobId'] && String(jobId) === String(recording['jobId'])) { 24856 var user = sub_user; 24857 var currDomain = sub_domain; 24858 const voicePromise = NetsapiensVoice.authenticate(user, currDomain).then(function() { 24859 const recordingDate = result.time_open.substring(0,7).replace('-', ''); 24860 return NetsapiensVoice.getTranscriptionJob({jobId: recording['jobId'], recordingDate: recordingDate, user, domain: currDomain }).then(function(transcriptionJob) { 24861 console.log('data', transcriptionJob, jobId); 24862 if (transcriptionJob && transcriptionJob.status === 'finished') { 24863 let listenDisabled = thisElement.find('.listen.disabled'); 24864 if (!listenDisabled.hasClass('block-recording')) { 24865 listenDisabled.replaceWith('<a class="listen open-transcription helpsy" title="'+_('Listen')+'" onclick="loadModal(\'#transcriptions\', \''+rootPath+'/callhistory/transcription/' + transcriptionJob.id + "/" + recordingDate + "/" + encodeURIComponent(transcriptionJob.services) + "/" + orig + "/" + term + '\')" data-toggle="modal" data-target="#transcriptions" data-backdrop="static" />'); 24866 let positiveItem = thisElement.find('.table-sentiment-positive').not('.closing-sentiment'); 24867 positiveItem.attr('onclick', 'loadModal(\'#transcriptions\', \''+rootPath+'/callhistory/transcription/' + transcriptionJob.id + "/" + recordingDate + "/" + encodeURIComponent(transcriptionJob.services) + "/" + orig + "/" + term + "/positive" + '\')') 24868 positiveItem.attr('data-toggle', 'modal'); 24869 positiveItem.attr('data-target', '#transcriptions'); 24870 positiveItem.attr('data-backdrop', 'static'); 24871 positiveItem.css('cursor', 'pointer'); 24872 let neutralItem = thisElement.find('.table-sentiment-neutral').not('.closing-sentiment'); 24873 neutralItem.attr('onclick', 'loadModal(\'#transcriptions\', \''+rootPath+'/callhistory/transcription/' + transcriptionJob.id + "/" + recordingDate + "/" + encodeURIComponent(transcriptionJob.services) + "/" + orig + "/" + term + "/neutral" + '\')') 24874 neutralItem.attr('data-toggle', 'modal'); 24875 neutralItem.attr('data-target', '#transcriptions'); 24876 neutralItem.attr('data-backdrop', 'static'); 24877 neutralItem.css('cursor', 'pointer'); 24878 let negativeItem = thisElement.find('.table-sentiment-negative').not('.closing-sentiment'); 24879 negativeItem.attr('onclick', 'loadModal(\'#transcriptions\', \''+rootPath+'/callhistory/transcription/' + transcriptionJob.id + "/" + recordingDate + "/" + encodeURIComponent(transcriptionJob.services) + "/" + orig + "/" + term + "/negative" + '\')') 24880 negativeItem.attr('data-toggle', 'modal'); 24881 negativeItem.attr('data-target', '#transcriptions'); 24882 negativeItem.attr('data-backdrop', 'static'); 24883 negativeItem.css('cursor', 'pointer'); 24884 24885 let closingBadge = thisElement.find('.closing-sentiment'); 24886 closingBadge.attr('onclick', 'loadModal(\'#transcriptions\', \''+rootPath+'/callhistory/transcription/' + transcriptionJob.id + "/" + recordingDate + "/" + encodeURIComponent(transcriptionJob.services) + "/" + orig + "/" + term + "/closing" + '\')') 24887 closingBadge.attr('data-toggle', 'modal'); 24888 closingBadge.attr('data-target', '#transcriptions'); 24889 closingBadge.attr('data-backdrop', 'static'); 24890 closingBadge.css('cursor', 'pointer'); 24891 } 24892 initTooltips(); 24893 } else { 24894 let listenDisabled = thisElement.find('.listen.disabled'); 24895 if (!listenDisabled.hasClass('block-recording')) { 24896 listenDisabled.replaceWith('<a class="listen helpsy" title="'+_('Listen')+'"></a>'); 24897 initRecordingBtns(thisElement,numCols,audioTag,newhost); 24898 } 24899 } 24900 let dlAudioDisabled = thisElement.find('.download-audio.disabled'); 24901 if (!dlAudioDisabled.hasClass('block-recording')) { 24902 dlAudioDisabled.replaceWith('<a class="download-audio helpsy" title="'+_('Download')+'" href="' + result.url.replace("/localhost", server_name) + '" ></a>'); 24903 } 24904 24905 24906 24907 // let dlAudioDisabled = thisElement.find('.download-audio.disabled'); 24908 // if (!dlAudioDisabled.hasClass('block-recording')) { 24909 // if (transcriptionJob && transcriptionJob.status === 'finished') { 24910 // thisElement.find('.listen.disabled').replaceWith('<a class="listen open-transcription helpsy" onclick="loadM
24910odal(\'#transcriptions\', \''+rootPath+'/callhistory/transcription/' + transcriptionJob.id + "/" + recordingDate + "/" + encodeURIComponent(transcriptionJob.services) + "/" + orig + "/" + term + '\')" data-toggle="modal" data-target="#transcriptions" data-backdrop="static" />'); 24911 // } else { 24912 // thisElement.find('.listen.disabled').replaceWith('<a class="listen helpsy" title="'+_('Listen')+'"></a>'); 24913 // initRecordingBtns(thisElement,numCols,audioTag,newhost); 24914 // } 24915 // thisElement.find('.download-audio.disabled').replaceWith('<a class="download-audio helpsy" title="'+_('Download')+'" href="' + result.url.replace("/localhost", server_name) + '" ></a>'); 24916 // } 24917 }).catch(function(err){ 24918 console.log(err); 24919 initRecordingBtns(thisElement,numCols,audioTag,newhost); 24920 }); 24921 }).catch(function(err){ 24922 console.log(err); 24923 initRecordingBtns(thisElement,numCols,audioTag,newhost); 24924 }); 24925 pendingPromises.push(voicePromise); 24926 } else { 24927 let listenDisabled = thisElement.find('.listen.disabled'); 24928 if (!listenDisabled.hasClass('block-recording')) { 24929 listenDisabled.replaceWith('<a class="listen helpsy" title="'+_('Listen')+'"></a>'); 24930 initRecordingBtns(thisElement,numCols,audioTag,newhost); 24931 } 24932 24933 let dlAudioDisabled = thisElement.find('.download-audio.disabled'); 24934 if (!dlAudioDisabled.hasClass('block-recording')) { 24935 dlAudioDisabled.replaceWith('<a class="download-audio helpsy" title="'+_('Download')+'" href="' + result.url.replace("/localhost", server_name) + '" ></a>'); 24936 } 24937 } 24938 } 24939 rowElement.data("state", "available"); 24940 } else { 24941 if (!$(this).find('.listen.disabled.statusonly').length) { 24942 if (preferMP4) 24943 $(this).find('cdraudio').append('<td class="cdraudio" colspan="' + numCols + '">' + 24944 audioTag + 24945 '<source src="' + newhost + '&convert=aac" type="audio/mp4">' + 24946 '<source src="' + newhost + '&convert=wav16" type="audio/wav">' + 24947 '</audio>'); 24948 else 24949 $(this).find('cdraudio').append('<td class="cdraudio" colspan="' + numCols + '">' + 24950 audioTag + 24951 '<source src="' + newhost + '&convert=wav16" type="audio/wav">' + 24952 '<source src="' + newhost + '&convert=aac" type="audio/mp4">' + 24953 '</audio>'); 24954 } 24955 } 24956 } else if (result.status.toLowerCase() === "unconverted") { 24957 rowElement.data("pendingConversion", true); 24958 rowElement.find('.listen.disabled').replaceWith('<a class="listen disabled helpsy" title="'+_('Looking up')+'"></a>'); 24959 rowElement.find('.download-audio.disabled').replaceWith('<a class="download-audio disabled helpsy" title="'+_('Looking up')+'"></a>'); 24960 } else { 24961 rowElement.find('.listen.disabled').replaceWith('<a class="listen disabled helpsy" title="'+_('No Recording')+'"></a>'); 24962 rowElement.find('.download-audio.disabled').replaceWith('<a class="download-audio disabled helpsy" title="'+_('No Recording')+'"></a>'); 24963 } 24964 } 24965 }); 24966 }); 24967 24968 Promise.all(pendingPromises.map(p =>
24968 p.catch(e => e))).then(function() { 24969 $('tr[recindex]').each(function() { 24970 const rowId = $(this).data("orig-id"); 24971 if (processedRows.has(rowId) || $(this).data("pendingConversion") === true) { 24972 return; 24973 } 24974 let listenButtons = $(this).find('.listen.disabled'); 24975 let downloadButtons = $(this).find('.download-audio.disabled'); 24976 24977 listenButtons.each(function() { 24978 let title = $(this).attr('title'); 24979 if (title === _('Looking up') || !title || title === '') { 24980 $(this).replaceWith('<a class="listen disabled helpsy" title="'+_('No Recording')+'"></a>'); 24981 } 24982 }); 24983 24984 downloadButtons.each(function() { 24985 let title = $(this).attr('title'); 24986 if (title === _('Looking up') || !title || title === '') { 24987 $(this).replaceWith('<a class="download-audio disabled helpsy" title="'+_('No Recording')+'"></a>'); 24988 } 24989 }); 24990 }); 24991 initTooltips(); 24992 }); 24993 }) 24994 .fail(function() { 24995 mycallback(); 24996 $('tr[recindex]').each(function() { 24997 $(this).find('.listen.disabled').replaceWith('<a class="listen disabled helpsy" title="'+_('No Recording')+'"></a>'); 24998 $(this).find('.download-audio.disabled').replaceWith('<a class="download-audio disabled helpsy" title="'+_('No Recording')+'"></a>'); 24999 }); 25000 initTooltips(); 25001 }); 25002} 25003 25004function initRecordingBtns(thisElement,numCols,audioTag,newhost){ 25005 $('.tooltip').hide(); 25006 let listenDisabled = thisElement.find('.listen.disabled'); 25007 if (!listenDisabled.hasClass('block-recording')) { 25008 listenDisabled.replaceWith('<a class="listen helpsy" title="'+_('Listen')+'"></a>'); 25009 } 25010 let dlAudioDisabled = thisElement.find('.download-audio.disabled'); 25011 if (!dlAudioDisabled.hasClass('block-recording')) { 25012 dlAudioDisabled.replaceWith('<a class="download-audio helpsy" title="'+_('Download')+'" href="' + newhost + '" ></a>'); 25013 } 25014 let dlAudioHidden = thisElement.find('.download-audio.hide'); 25015 if (!dlAudioHidden.hasClass('block-recording')) { 25016 dlAudioHidden.replaceWith('<a class="download-audio helpsy" title="'+_('Download')+'" href="' + newhost + '" ></a>'); 25017 } 25018 25019 if (preferMP4) { 25020 thisElement.after('<tr class="audioplayerrow cdraudio hide"><td class="cdraudio" colspan="' + numCols + '">' + 25021 audioTag + 25022 '<source src="' + newhost + '&convert=aac" type="audio/aac">' + 25023 '<source src="' + newhost + '&convert=aac" type="audio/mp4">' + 25024 '<source src="' + newhost + '&convert=wav16" type="audio/wav">' + 25025 '</audio>'); 25026 } else { 25027 thisElement.after('<tr class="audioplayerrow cdraudio hide"><td class="cdraudio" colspan="' + numCols + '">' + 25028 audioTag + 25029 '<source src="' + newhost + '&convert=wav16" type="audio/wav">' + 25030 '<source src="' + newhost + '&convert=aac" type="audio/aac">' + 25031 '<source src="' + newhost + '&convert=aac" type="audio/mp4">' + 25032 '</audio>'); 25033 } 25034 25035 setTimeout(initTooltips,100); 25036} 25037 25038 25039function calculateWeekdayInfo(dateString) { 25040 var date = parseTimeframeDate(dateString, userDateformat); 25041 25042 // var date = new Date(dateString); 25043 var dayOfWeek = date.toLocaleString('en-US', { weekday: 'long' }); 25044 var dayOfMonth = date.getDate(); 25045 var ordinalNumber = Math.ceil(dayOfMonth / 7); 25046 var isFirstOrLast = dayOfMonth <= 7 ? 'first' : ''; 25047 25048 // Check for last occurrence of the weekday 25049 var lastDayOfMonth = new Date(date.getFullYear(), date.getMonth() + 1, 0); 25050 if (dayOfMonth + 7 > lastDayOfMonth.getDate()) { 25051 isFirstOrLast = 'last'; 25052 } 25053 25054 var ordinalString = getOrdinalString(ordinalNumber); 25055 25056 return { 25057 dayOfWeek: dayOfWeek, 25058 ordinalNumber: ordinalNumber, 25059 ordinalString: ordinalString, 25060 isFirstOrLast: isFirstOrLast 25061 }; 25062} 25063 25064function isLastDayOfMonth(dateString, userDateformat) { 25065 var date = parseTimeframeDate(dateString, userDateformat); 25066 25067 // Determine the last day of the month for the given date 25068 var lastDayOfMonth = new Date(date.getFullYear(), date.getMonth() + 1, 0); 25069 25070 // Compare the date to the last day of the month 25071 return date.getDate() === lastDayOfMonth.getDate(); 25072} 25073 25074// Function to parse the date according to the user's date format 25075function parseTimeframeDate(startDate, userDateFormat) { 25076 var day, month, year; 25077 var parts = startDate.split('/'); 25078 25079 switch (userDateFormat) { 25080 case "dd/mm/yy": 25081 day = parseInt(parts[0], 10);
25082 month = parseInt(parts[1], 10) - 1; // Month is 0-indexed in JavaScript Date 25083 year = parseInt(parts[2], 10); 25084 break; 25085 case "mm/dd/yy": 25086 month = parseInt(parts[0], 10) - 1; 25087 day = parseInt(parts[1], 10); 25088 year = parseInt(parts[2], 10); 25089 break; 25090 case "yy/mm/dd": 25091 year = parseInt(parts[0], 10); 25092 month = parseInt(parts[1], 10) - 1; 25093 day = parseInt(parts[2], 10); 25094 break; 25095 // Add more cases for different formats if needed 25096 } 25097 25098 return new Date(year, month, day); 25099} 25100 25101// Helper function to format date and get day of the week 25102function getDayOfWeekHoliday(date) { 25103 const days = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; 25104 return days[date.getDay()]; 25105} 25106 25107// Adjusted holiday work function to include day of the week in the readableDate 25108function formatHoliday(holiday, userDateformat = 'mm/dd/yy') { 25109 // console.log('this is formatHoliday: ', holiday); 25110 25111 if (holiday.name === 'Leap Day') { 25112 holiday.date = getNextLeapYearDate(); 25113 } 25114 25115 const year = holiday.date.datetime.year.toString();
25116 const month = String(holiday.date.datetime.month).padStart(2, '0'); // Adds leading zero if needed 25117 const day = String(holiday.date.datetime.day).padStart(2, '0'); // Adds leading zero if needed 25118 25119 // Create a Date object to find the day of the week 25120 const date = new Date(year, month - 1, day); 25121 const dayOfWeek = getDayOfWeekHoliday(date); 25122 25123 // create api date YYYYMMDD 25124 const apiDate = `${year}${month}${day}`; 25125 25126 // Include day of week in the formatted date 25127 const readableDate = `${dayOfWeek}, ` + formatHolidayByUserPreference(year, month, day, userDateformat, dayOfWeek); 25128 25129 return { 25130 uuid: holiday.uuid, 25131 name: holiday.name, 25132 countryId: holiday.country, 25133 locations: holiday.locations, 25134 date: apiDate, // Use the ISO formatted date for internal purposes 25135 apiDate: apiDate, 25136 readableDate: readableDate // User-preferred formatted date with day of week 25137 }; 25138} 25139 25140function getNextLeapYearDate() { 25141 const currentYear = new Date().getFullYear(); 25142 let year = currentYear; 25143 25144 // Function to check if a year is a leap year 25145 function isLeapYear(year) { 25146 return (year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0); 25147 } 25148 25149 // Check if the current year is a leap year and today's date is before or on February 29 25150 const today = new Date(); 25151 if (isLeapYear(year) && (today.getMonth() < 1 || (today.getMonth() === 1 && today.getDate() <= 29))) { 25152 // Current year is a leap year and it's before or on February 29 25153 } else { 25154 // Find the next leap year 25155 year++; 25156 while (!isLeapYear(year)) { 25157 year++; 25158 } 25159 } 25160 25161 return { 25162 "iso": `${year}-02-29`, 25163 "datetime": { 25164 "year": year, 25165 "month": 2, 25166 "day": 29 25167 } 25168 }; 25169} 25170 25171function formatHolidayByUserPreference(year, month, day, userFormat) { 25172 let formattedDate = userFormat 25173 .replace(/yy/g, year) // For 'yy' format, get last two digits of year 25174 .replace(/mm/g, month) 25175 .replace(/dd/g, day); 25176 25177 return formattedDate; 25178} 25179 25180function convertTimeToMinutes(timeStr, userTimeDelimiter = ':') { 25181 // Escape the delimiter in case it's a special character in regex (e.g., '.') 25182 const escapedDelimiter = userTimeDelimiter.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); 25183 25184 // Construct regex patterns to match both 24-hour and 12-hour formats 25185 const regex24HourPattern = new RegExp(`(\\d{1,2})${escapedDelimiter}(\\d{2})`); 25186 const regex12HourPattern = new RegExp(`(\\d{1,2})${escapedDelimiter}(\\d{2})\\s?(am|pm)?`, 'i'); 25187 25188 // First try matching 12-hour format 25189 let parts = timeStr.match(regex12HourPattern); 25190 25191 if (!parts) { 25192 // No AM/PM marker found; try matching 24-hour format 25193 parts = timeStr.match(regex24HourPattern); 25194 if (!parts) return null; // or handle invalid format if both matches fail 25195 } 25196 25197 let hours = parseInt(parts[1], 10); 25198 let minutes = parseInt(parts[2], 10); 25199 25200 // Adjust hours for AM/PM if present 25201 if (parts[3]) { // Check if AM/PM part exists 25202 let amPm = parts[3].toLowerCase(); 25203 if (amPm === 'pm' && hours < 12) hours += 12; 25204 if (amPm === 'am' && hours == 12) hours = 0; 25205 } else { 25206 // For 24-hour format, ensure hours fall within [0, 23] 25207 hours = hours % 24; 25208 } 25209 25210 return hours * 60 + minutes; 25211} 25212 25213/** 25214 * Validates a date string against a specific date format. 25215 * It checks for the correct placement and validity of the day, month, and year components within the date string. 25216 * It also performs logical date validation to ensure the date exists in the calendar (e.g., no February 30). 25217 * 25218 * @param {string} dateString - The date string to validate. 25219 * @param {string} dateFormat - The format of the date string (e.g., "mm/dd/yyyy"). 25220 * @returns {boolean} - True if the date string is valid according to the dateFormat, false otherwise. 25221 */ 25222function isValidDateInput(dateString, dateFormat) { 25223 let delimiter = /[^mdy]/.exec(dateFormat)[0]; 25224 let theFormat = dateFormat.split(delimiter); 25225 let theDate = dateString.split(delimiter); 25226 25227 let day, month, year = false;
25228 25229 // Identify the format dynamically and validate component sizes 25230 for (let i = 0; i < theFormat.length; i++) { 25231 let component = theDate[i]; 25232 let formatPart = theFormat[i]; 25233 25234 // Check component length and value based on format part 25235 if (/m/.test(formatPart.toLowerCase())) { 25236 month = parseInt(component, 10); 25237 if (component.length > 2 || isNaN(month) || month < 1 || month > 12) return false; 25238 } else if (/d/.test(formatPart.toLowerCase())) { 25239 day = parseInt(component, 10); 25240 if (component.length > 2 || isNaN(day) || day < 1 || day > 31) return false; 25241 } else if (/y/.test(formatPart.toLowerCase())) { 25242 year = parseInt(component, 10); 25243 if (component.length !== 4 || isNaN(year)) return false; 25244 } 25245 } 25246 25247 // Logical date validation to catch invalid dates like February 30 25248 let date = new Date(year, month - 1, day); 25249 if (date.getFullYear() === year && date.getMonth() + 1 === month && date.getDate() === day) { 25250 return true; 25251 } else { 25252 return false; 25253 } 25254} 25255 25256�var timeOffset = 0; 25257 25258$(function() { 25259 if (typeof servertime != 'undefined') 25260 timeOffset = getSecDiff(servertime); 25261 //log("functions loaded"); 25262 setInterval(durrationCounter, 1000); 25263}); 25264 25265function sGetContactsData(type, domain, filter) { 25266 25267 if (typeof socket == 'undefined') 25268 return; 25269 25270 var options = { 25271 domain : domain, 25272 type : 'contacts', 25273 'bearer': localStorage.ns_t, 25274 application: 'portal' 25275 }; 25276 25277 if (typeof filter != 'undefined' && filter != "" && filter != "*") 25278 options.filter = filter; 25279 25280 socket.emit('subscribe', options); 25281 //log("requested data options:"); 25282 log(options); 25283 25284 subscriptions.push(options); 25285 25286 socket.on('contacts-domain', updateDomainUser); 25287 if (callbacks) callbacks.push({name:'contacts-domain', callback: updateDomainUser}); 25288 25289 25290} 25291 25292function updateDomainUser(data) { 25293 var domain = data.domain.replace(".","-").replace(".","-").replace(".","-").replace(".","-"); 25294 var cRow = data.user+"-"+domain; 25295 //var idRow ="[id="+data.user+"-"+domain+"-message"+"]"; //older and slower way? 25296 var idRow ="#"+data.user+"-"+domain+"-message"+""; 25297 var id =idRow +" .user-message"; 25298 var contactId ="#message-"+cRow; 25299 //log(contactId); 25300 $(id).data("last_update", data.last_update); 25301 $(id).attr("last_update", data.last_update); 25302 25303 // Define uid from data 25304 var uid = data.user+'@'+data.domain; 25305 var status = data.portal_status; 25306 if (status!= null && status!="" && status!=" ") 25307 status = _(status); 25308 25309 /** 25310 * Set the status of the contact in the panel using uid attribute selector 25311 * Private function scoped to updateDomainUser 25312 */ 25313 function setStatus(uid, status) { 25314 25315 // Return immediately for no uid 25316 if(!uid || typeof uid === "undefined") { return; } 25317 25318 // List of possible status strings considered empty 25319 var empty = ['undefined', 'null', '', ' ', ' ']; 25320 25321 // Selectors based on current HTML markup / classes 25322 var row = document.querySelector('table#contacts-table [uid="' + uid + '"] tr.contact-row-msg'); 25323 25324 // No message row available in markup, then create one 25325 if(!row || typeof row === 'undefined') { 25326 row = createMessageRow(uid); 25327 } 25328 25329 var contact = row.querySelector('.contact-status-msg'); 25330 25331 // Toggle hide class - If status is not falsy or in empty array show the row 25332 if(status && empty.indexOf(status) === -1) { 25333 $(row).show(); 25334 } else { 25335 $(row).hide(); 25336 } 25337 contact.innerHTML = status; 25338 25339 //if contact update is self, re-load bigbutton 25340 if(uid === sub_user + '@' + sub_domain) { 25341 homegetStatusButtonNoFade(); 25342 } 25343 } 25344 25345 /** 25346 * Create row matching html markup from dock.ctp 25347 * Private function scoped to updateDomainUser 25348 */ 25349 function createMessageRow(uid) { 25350 var row = document.createElement('tr'); 25351 row.classList.add('contact-row-msg'); 25352 25353 var td = document.createElement('td'); 25354 row.appendChild(td); 25355 25356 var tdStatus = document.createElement('td'); 25357 tdStatus.classList.add('contact-status-msg'); 25358 row.appendChild(tdStatus); 25359 25360 var tbody = document.querySelector('table#contacts-table [uid="' + uid + '"] tbody'); 25361 if (tbody && typeof tbody != 'undefined') 25362 tbody.appendChild(row); 25363 25364 return row; 25365 } 25366 25367 setStatus(uid, status); 25368 25369 //log ("x"+data.portal_status+"x"); 25370 $(id).text(status); 25371 $(contactId).text(status); 25372 if (typeof status == 'undefined'|| status==null || status=="null" || status=="" ||status==" "|| status==" "|| status=="null") 25373 { 25374 $(idRow).hide(); 25375 $(idRow).attr('style','display: none;'); 25376 $(id).text(""); 25377 $(id).hide(); 25378 25379 } 25380 else 25381 $(idRow).show(); 25382 25383 if ($('#agents-table').length >0) 25384 if (typeof processAgentTotals == 'function') 25385 processAgentTotals(); 25386 25387 var contactId = $("#contact-"+data.user+"-"+domain); 25388 var contactRow = $(contactId).parent().parent(); 25389 var availIndex; 25390 25391 //log(contactId.attr('id')); 25392 //log(contactId.attr('class')); 25393 $(contactId).removeClass('open closed inuse progressing alerting held inactive'); 25394 $(contactId).addClass(data.presence); 25395 25396 //update status here for recents as well 25397 var contactRecentId = $(".presence-recent-"+data.user); 25398 if (contactRecentId.length > 0) { 25399 $(contactRecentId).removeClass('open closed inuse progressing alerting held inactive'); 25400 $(contactRecentId).addClass(data.presence); 25401 } 25402 25403 25404 /* set availability index for sorting */ 25405 availIndex = "a"; 25406 25407 /* if user has no device registered */ 25408 if (data.presence == "inactive" || data.presence == "") 25409 availIndex = "b" 25410 25411 contactRow.attr('presence',data.presence); 25412 contactRow.data('availindex', availIndex); 25413 $("#user-"+data.aor_user).data('availindex', availIndex); 25414 25415 25416 // if (typeof resetTable != 'undefined') 25417 // resetTable(); 25418 //log(typeof resetTable); 25419 25420 /* sort the contacts table after updating presence and availIndex */ 25421 if (typeof NSContactSearch.receivedSocketUpdate == 'function') 25422 NSContactSearch.receivedSocketUpdate(); 25423 25424} 25425 25426 25427 25428function incWaitCounter() { 25429 $('.wait_counter').each( 25430 25431 function() { 25432 var sec = $(this).attr('data-wait-sec'); 25433 25434 if (sec != 0 || sec != "0") { 25435 sec = parseInt(sec) + 1; 25436 $(this).attr('data-wait-sec', '' + sec); 25437 $(this).text(getMMss(sec)); 25438 25439 } else { 25440 $(this).text("-"); 25441 } 25442 25443 }); 25444 25445 setTimeout(incWaitCounter, 1000); 25446} 25447 25448�var timeOffset = 0; 25449 25450$(function() { 25451 if (typeof servertime != 'undefined') 25452 timeOffset = getSecDiff(servertime); 25453 //log("functions loaded"); 25454 setInterval(durrationCounter, 1000); 25455}); 25456 25457function sGetParticipantData(type, domain, filter) { 25458 25459 if (typeof socket == 'undefined') 25460 return; 25461 var options = { 25462 domain : domain, 25463 bridge : filter, 25464 type : 'participant', 25465 'bearer': localStorage.ns_t 25466 }; 25467 25468 if (typeof filter != 'undefined' && filter != "" && filter != "*")
25469 options.filter = filter; 25470 25471 socket.emit('subscribe', options); 25472 log(options); 25473 subscriptions.push(options); 25474 25475 socket.on('participant', updateParticipant); 25476 if (callbacks) callbacks.push({name:'participant', callback:updateParticipant}); 25477 25478 25479} 25480 25481function updateParticipant( value) { 25482 log ("updateParticipant"); 25483 log (value); 25484 25485 var homeTable = false; 25486var lite = false; 25487 if($("#participants-table").hasClass("home-participants-table")){ 25488 homeTable = true; 25489 log("is it home-participants-table? " + homeTable); 25490 } 25491 if($("#participants-table").hasClass("lite")){ 25492 lite = true; 25493 } 25494 var searchString = "#participants-table tr:gt(0)"; 25495 console.log(value); 25496 var conference_match = value.conference_match; 25497 var participant_match = value.participant_match; 25498 var name = value.name; 25499 var id = conference_match + "_" + participant_match + "_" + name; 25500 var rId = value.conference_match + "_" + value.participant_match + "_" + value.name; 25501 var leader = '<span class="not-registered"></span>'; 25502 25503 if (value.leader == 'leader') 25504 leader = '<span class="checkmark"></span>'; 25505 25506 if (value.leader =='bridge-spoke' ||value.leader =='bridge-hub' || value.aor_user =='bridge') 25507 return; 25508 25509 if (value.remove != "yes") { 25510 var found = false; 25511 25512 var trTag = ""; 25513 var html = ""; 25514 trTag += "<tr gmt_start='" + value.time_begin + "' c_id='" + conference_match.replace("sip:","") + "' p_id='" + participant_match.replace("sip:","") + "' conference_match='" + conference_match + "' participant_match='" + participant_match + "' name='" + name + "' id='" + id+ "' >"; 25515 25516 let liteName = value.name; 25517 let ext = value.aor_user.replace("vb",""); 25518 if(ext.includes("guest_") || ext.lenth>=10) 25519 ext = ""; 25520 if (ext) 25521 liteName += " ("+ext+")"; 25522 const connectedBy = value.aor_user.includes("vb")?_("Web"):_("Phone"); 25523 25524 if (lite) 25525 { 25526 html += td(liteName); 25527 } 25528 else { 25529 html += td(value.name); 25530 html += td(value.aor_user); 25531 } 25532 25533 25534 25535 25536 if(!homeTable){ 25537 25538 if (!lite) 25539 { 25540 25541 25542 html += td(leader); 25543 25544 var counterclass ="hide"; 25545 if(value.mode== 'record_name') 25546 html += '<td class="participant-mode"><span class="label capitalize">Recording Name</span></td>'; 25547 else if(value.mode == 'moh') 25548 html += '<td class="participant-mode"><span class="label capitalize">Waiting</span></td>'; 25549 else if(value.mode == 'muted') 25550 { 25551 html += '<td class="participant-mode"><span class="label label-important capitalize">'+value.mode+'</span></td>'; 25552 counterclass = "nohide"; 25553 } 25554 else if(value.mode == 'active') 25555 { 25556 html += '<td class="participant-mode"><span class="label label-success capitalize">'+value.mode+'</span></td>'; 25557 counterclass = "nohide"; 25558 } 25559 else if(value.mode == 'announcing') 25560 html += '<td class="participant-mode"><span class="label capitalize">Joining</span></td>'; 25561 else 25562 html += '<td class="participant-mode"><span class="label capitalize">'+value.mode+'</span></td>'; 25563 //<span class="label label-important">Muted</span> 25564 //html += td(value.time_begin); 25565 } 25566 else { 25567 html += td(connectedBy); 25568 } 25569 25570 html += td("<span gmt_start='" + value.time_begin + "' gmt_answer='" + value.time_begin + "' class='duration_counter "+counterclass+"' ></span>"); 25571 25572 if (!lite) 25573 { 25574 html += '<td class="action-buttons">'; 25575 if(value.mode == 'muted') 25576 html += '<a class="listen helpsy mute-user" title="" onclick="unmute($(this));return false;" data-original-title="Un-Mute"></a> '; 25577 else 25578 html += '<a class="mute helpsy mute-user" title="" onclick="mute($(this));return false;" data-original-title="Mute"></a> '; 25579 //html += '<a class="audio helpsy " title="" onclick="unmute($(this));return false;" data-original-title="Un-Mute"></a> '; 25580 html += '<a class="delete helpsy mute-user" title="" onclick="disc($(this));return false;" data-original-title="Disconnect"></a></td>'; 25581 } 25582 25583 } 25584 trTag += html; 25585 trTag += "</tr >"; 25586 25587 25588 var rows = $(searchString); 25589 25590 rows.each(function(index) { 25591 if (rows[index].id == rId) { 25592 // MODIFY 25593 log("MODIFY"); 25594 if (value.mode != "inactive") 25595 $(this).show(); 25596 //log($(this).find(".duration_counter")); 25597 //log('#'+rId+" .duration_counter"); 25598 if (value.mode != "active" && value.mode != "muted") 25599 $(this).find(".duration_counter").hide(); 25600 else 25601 $(this).find(".duration_counter").show(); 25602 25603 $(this).html(html); 25604 found = true; 25605 } 25606 }); 25607 if (!found) { 25608 // ADD 25609 log("ADD"); 25610 $('#participants-table > tbody:last').append(trTag); 25611 } 25612 25613 //init tooltips on new html 25614 initTooltips(); 25615 25616 } else {
25617 // DELETE 25618 var rows = $(searchString); 25619 rows.each(function(index) { 25620 if (rows[index].id == rId) 25621 $(this).remove(); 25622 }); 25623 } 25624 25625 25626 var rowCount = $(searchString).length; 25627 25628 if (rowCount>0) 25629 $('.nonecreated').hide(); 25630 else 25631 $('.nonecreated').show(); 25632 25633} 25634 25635�var timeOffset = 0; 25636var bigButtonHoldOff=false; 25637 25638$(function() { 25639 if (typeof servertime != 'undefined') 25640 timeOffset = getSecDiff(servertime); 25641 //log("functions loaded"); 25642 setInterval(durrationCounter, 1000); 25643}); 25644 25645function sGetQueueData(type, domain, filter) { 25646 25647 if (typeof socket == 'undefined'){ 25648 log('sGetQueueData: typeof socket undefined'); 25649 return; 25650 } 25651 var options = { 25652 domain : domain, 25653 type : 'queue', 25654 'bearer': localStorage.ns_t, 25655 application: 'portal' 25656 }; 25657 25658 if (typeof filter != 'undefined' && filter != "" && filter != "*") 25659 options.filter = filter; 25660 25661 socket.emit('subscribe', options); 25662 log(options); 25663 subscriptions.push(options); 25664 25665 function newQueueData(data) { 25666 25667 if (type == "manager") 25668 updateQueue(data.user, data); 25669 else if (type == "agent") 25670 updateQueue(data.user, data); 25671 25672 } 25673 socket.on('queue', newQueueData); 25674 if (callbacks) callbacks.push({name:'queue', callback:newQueueData}); 25675 25676} 25677 25678function sGetAgentData(type, domain, filter) { 25679 25680 if (typeof socket == 'undefined') 25681 return; 25682 25683 var options = { 25684 domain : domain, 25685 type : 'agent', 25686 'bearer': localStorage.ns_t, 25687 application: 'portal' 25688 }; 25689 25690 25691 if (typeof filter != 'undefined' && filter !== "" && filter != "*" && filter.includes("@")) 25692 options.filter = filter; 25693 else if (typeof filter != 'undefined' && filter !== "" && filter != "*") 25694 options.filter = 'sip:'+filter+"@"+domain; 25695 socket.emit('subscribe', options); 25696 //log("requested data options:"); 25697 log(options); 25698 25699 subscriptions.push(options); 25700 25701 function newAgentData(data) { 25702 //log("recieved data "); 25703 //log(data); 25704 updateAgent(data.device_aor, data.huntgroup_name, data); 25705 25706 } 25707 25708 function newAgentDeviceData(data){ 25709 //log("recieved data "); 25710 //log(data); 25711 if (((typeof data.remove != 'undefined' && data.remove) || (typeof data.create != 'undefined' && data.create)) && typeof homegetPhones != 'undefined') 25712 { 25713 homegetPhones(); 25714 return; 25715 } 25716 25717 updateAgentDevice(data.device_aor, data.huntgroup_name, data); 25718 25719 } 25720 25721 socket.on('agent', newAgentData); 25722 if (callbacks) callbacks.push({name:'agent', callback:newAgentData}); 25723 25724 25725 socket.on('agent-device', newAgentDeviceData ); 25726 if (callbacks) callbacks.push({name:'agent-device', callback:newAgentDeviceData}); 25727 25728} 25729 25730function updateQueue(queue, data) { 25731 //log("recieved data for " + queue); 25732 //log(data); 25733 $.each(data, function(key, value) { 25734 25735 if (key == "count_session") 25736 $("#queue" + queue + " .activecall").text(value); 25737 else if (key == "gau_session" && !('count_session' in data)) //i believe this is a older now depricated method. 25738 $("#queue" + queue + " .activecall").text(value); 25739 else if (key == "gau_queue_length") { 25740 $("#queue" + queue + " .queuelength").text(value); 25741 25742 if($("#dash-stats-grid-cw").length) 25743 StatsGrid.cw(); 25744 } 25745 else if (key == "gau_agent_available") 25746 { 25747 $("#queue" + queue + " .availagents").text(value); 25748 countLoggedIn(queue); 25749 } 25750 else if (key == "gau_queue_max_wait") { 25751 $("#queue" + queue + " .waittime").attr('data-wait-sec', value); 25752 25753 } 25754 25755 }); 25756 25757 //sum queue length and send it to dashboard stats grid 25758 // 25759 25760} 25761 25762function countLoggedIn(queue) { 25763 var tmp=0; 25764 $("#agents-table .agent_in_queue").each(function(){ 25765 if ($(this).data("queue") == queue && ($(this).data("status")=="immediate" || $(this).data("status")=="available" || $(this).data("status")=="offnet")) 25766 tmp++; 25767 }); 25768 25769 $("#queue" + queue + " .loggedinagents").text(tmp); 25770} 25771 25772function countLoggedInForQueues() { 25773 25774 if ($(".loggedinagents").length>0 && $(".agent_in_queue").length>0) 25775 $("#manager_queues .queue-row").each(function(){ 25776 var queue = $(this).attr('id').replace("queue",""); 25777 countLoggedIn(queue); 25778 }); 25779 25780} 25781 25782function getDevId(value) 25783{ 25784 value = value.replace(/@/gi,"-"); 25785 value = value.replace(/:/gi,"-"); 25786 value = value.replace(/\./gi,"-"); 25787 return value; 25788} 25789 25790 25791 25792function updateAgent(device_aor, huntgroup_name, data) { 25793 //log("recieved data for " + device_aor); 25794 //log(data); 25795 device_aor = getDevId(device_aor); 25796 //contact_id is a class the uniquely identifies agent presence icon. is a class because there may be two 25797 //agents table on one page when "edit queue" modal is open
25798 var contact_id = ".agent-" + device_aor + "-" + huntgroup_name; 25799 var contact_id_no_hg = ".agent-" + device_aor ; 25800 var contact_id_fullrow = ".agent-" + device_aor + "-" + huntgroup_name+"-fullrow"; 25801 25802 var contact_id_queue_list = ".agent-" + device_aor + "-" + huntgroup_name+".agent_in_queue"; 25803 var contact_id_queue_list_no_hg = ".agent-" + device_aor +".agent_in_queue"; 25804 25805 var contact_id_status = ".agent-" + device_aor + "-" + huntgroup_name+".agent-status-text"; 25806 25807 25808 $(contact_id + " .agentcalls").text(data.session_count); 25809 $(contact_id_fullrow).data("availindex","b"); 25810 25811 25812 $(contact_id_queue_list).data('status',data.entry_option); 25813 25814 let quickStatus = 'offline'; 25815 25816 if (data.entry_option == "immediate" || data.entry_option =="Logged In") 25817 { 25818 $(contact_id_status).html(_("Logged In",true)); 25819 if (data.entry_status=="available") 25820 { 25821 data.entry_option = _("Logged In", true); 25822 $(contact_id_fullrow).data("availindex","a"); 25823 } 25824 else 25825 { 25826 data.entry_option = _("Logged Out",true); 25827 $(contact_id_fullrow).data("availindex","b"); 25828 } 25829 quickStatus = 'online'; 25830 25831 } 25832 else if (data.entry_option == "disabled" || data.entry_option == "Disabled") 25833 { 25834 $(contact_id_status).html(_("Logged Out",true)); 25835 data.entry_option = "Disabled"; 25836 } 25837 25838 else { 25839 25840 if (data.entry_status == "available") 25841 { 25842 $(contact_id_status).html(_("Logged In",true)); 25843 data.entry_option = "Available One Call"; 25844 } 25845 25846 else 25847 { 25848 data.entry_option = _("Logged Out",true); 25849 $(contact_id_status).html(_("Logged Out",true)); 25850 } 25851 25852 } 25853 25854 if (data.entry_device !="reg") 25855 $(contact_id_status).html(_("Offline",true)); 25856 25857 25858 $('.agent-status-group-success').each( 25859 function(){ 25860 if (huntgroup_name == $(this).data("queue") && device_aor == getDevId($(this).data("agent"))) 25861 { 25862 NSAgentsCallQueues.udateStatus(this.id.replace("agent_queue_",""),quickStatus,false); 25863 } 25864 } 25865 ); 25866 25867 25868 $(contact_id).removeClass("loggedin loggedout onphone"); 25869 25870 var new_title= _("Logged Out"); 25871 if (data.entry_status == "available" ) 25872 { 25873 //log("chanign to available"); 25874 //$(id).addClass("open"); 25875 25876 if (data.session_count > 0) { 25877 new_title = _("On a call"); 25878 $(contact_id).addClass("onphone"); 25879 if (!PORTAL_CALL_QUEUE_AGENT_SHOW_STATUS_COL) $(contact_id).attr("data-original-title",new_title); 25880 $(contact_id_fullrow).data("availindex","a"); 25881 } 25882 else 25883 { 25884 new_title = _("Available"); 25885 $(contact_id).addClass("loggedin"); 25886 if (!PORTAL_CALL_QUEUE_AGENT_SHOW_STATUS_COL) $(contact_id).attr("data-original-title",new_title); 25887 } 25888 $(contact_id_fullrow).data("availindex","a"); 25889 25890 25891 } 25892 else if (data.session_count > 0) { 25893 //log("chanign to in use"); 25894 //$(id).addClass("inuse"); 25895 new_title = _("On a call"); 25896 $(contact_id).addClass("onphone"); 25897 if (!PORTAL_CALL_QUEUE_AGENT_SHOW_STATUS_COL) $(contact_id).attr("data-original-title",new_title); 25898 $(contact_id_fullrow).data("availindex","a"); 25899 } 25900 else 25901 { 25902 if (data.entry_option =="Logged In") 25903 { 25904 new_title = _("Logged In"); 25905 if (!PORTAL_CALL_QUEUE_AGENT_SHOW_STATUS_COL) $(contact_id).attr("data-original-title",new_title); 25906 $(contact_id).addClass("loggedin"); 25907 $(contact_id_fullrow).data("availindex","a"); 25908 //log("chanign to logged out"); 25909 } 25910 else 25911 { 25912 new_title = _("Logged Out"); 25913 if (!PORTAL_CALL_QUEUE_AGENT_SHOW_STATUS_COL) $(contact_id).attr("data-original-title",new_title); 25914 $(contact_id).addClass("loggedout"); 25915 //log("chanign to logged out"); 25916 } 25917 25918 25919 } 25920 25921 var tmp_title= _("Logged Out"); 25922 var on_a_call_title= _("On a call"); 25923 var available_title= _("Available"); 25924 var tmp_class= "loggedout"; 25925 var tmp_avail_indx= "b"; 25926 var updated = false; 25927 if ($(contact_id_queue_list_no_hg).length>1) 25928 $(contact_id_queue_list_no_hg).each(function(){ 25929 $(contact_id_queue_list_no_hg).length 25930 updated=true; 25931 if (tmp_class=="onphone" || tmp_class=="loggedin") 25932 return; 25933 25934 if (data.session_count > 0) 25935 { 25936 tmp_class="onphone"; 25937 tmp_title=on_a_call_title; 25938 tmp_avail_indx="a"; 25939 } 25940 if ($(this).data('status') =="immediate" || $(this).data('status') =="available" ) 25941 { 25942 if (data.entry_status=="available") 25943 { 25944 tmp_class="loggedin"; 25945 tmp_title=available_title; 25946 tmp_avail_indx="a"; 25947 25948 } 25949 25950 } 25951 25952 //console.log($(this).data('status')); 25953 }); 25954 25955 if (updated) 25956 { 25957 $(contact_id_no_hg+".agent-fullrow").data("availindex",tmp_avail_indx); 25958 $(contact_id_no_hg+".agent-fullrow").attr("data-original-title",tmp_title); 25959 if (!PORTAL_CALL_QUEUE_AGENT_SHOW_STATUS_COL) $(contact_id_no_hg+".agent-presence").attr("data-original-title",tmp_title); 25960 $(contact_id_no_hg+".agent-presence").attr("title",tmp_title); 25961 $(contact_id_no_hg+".agent-presence").removeClass("loggedin loggedout onphone"); 25962 $(contact_id_no_hg+".agent-presence").addClass(tmp_class); 25963 25964 } 25965 25966 25967 25968 25969 /* 25970 $.each(data, function(key, value) { 25971 25972 if (key == "entry_status") { 25973 log("key match is " + key); 25974 $(id + " .presence").text(value); 25975 } else if (key == "entry_option") { 25976 log("key match is " + key); 25977 alert($(id + " .mode").text()); 25978 $(id + " .mode").text("1"); 25979 } else if (key == "session_count") { 25980 log("key match is " + key); 25981 $(id + " .agentcalls").text("1"); 25982 } 25983 25984 });*/ 25985 if (typeof processAgentTotals == 'function') { 25986 processAgentTotals(); 25987 } 25988 if (typeof NSAgentsSearch != 'undefined' && typeof NSAgentsSearch.receivedSocketUpdate == 'function') { 25989 NSAgentsSearch.receivedSocketUpdate(); 25990 } 25991 25992} 25993 25994function homegetStatusButtonNoFade() { 25995 25996 if (!bigButtonHoldOff) 25997 { 25998 bigButtonHoldOff = true; 25999 setTimeout(function() { 26000 bigButtonHoldOff = false;
26001 }, 250); 26002 26003 setTimeout(function() { 26004 if (typeof activeDevice != 'undefined') 26005 $.get('./agents/bigbutton/'+activeDevice, function(data) { // now uses activeDevice 26006 $('#agent-status-panel-home').html(data).show(); 26007 }); 26008 }, 25); 26009 26010 26011 } 26012 26013} 26014 26015 26016 26017function updateAgentDevice(device_aor, huntgroup_name, data) { 26018 /* Per Queue UI block */ 26019 var queueClass; 26020 if(data.entry_option == 'immediate' && data.entry_status == 'available') { 26021 queueClass = 'open'; 26022 loginStyle = 'display: none;'; // hide login button, immediate / avail means were logged in 26023 logoutStyle = 'display: inline-block;'; // show logout button 26024 } 26025 else if(data.entry_option == 'manual' && data.entry_status == 'available') { 26026 queueClass = 'open'; 26027 loginStyle = 'display: none;'; // hide login button, immediate / avail means were logged in 26028 logoutStyle = 'display: inline-block;'; // show logout button 26029 } 26030 else if(data.entry_option == 'immediate' && data.entry_status == 'unavailable' && data.session_count > 0) { 26031 queueClass = 'inuse'; 26032 loginStyle = 'display: none;'; // hide login button, immediate / avail means were logged in 26033 logoutStyle = 'display: inline-block;'; // show logout button 26034 } 26035 else { 26036 // offline gray, no queueclass 26037 queueClass = ''; 26038 loginStyle = 'display: inline-block;'; // show login button 26039 logoutStyle = 'display: none;'; // hide logout button 26040 } 26041 //console.log(queueClass); 26042 // jQuery actions 26043 $('#queue' + huntgroup_name + ' .presence').attr('class', 'agent_status presence ' + queueClass); 26044 $('#queue' + huntgroup_name + ' button.queue-login').attr('style', loginStyle); 26045 $('#queue' + huntgroup_name + ' button.queue-logout').attr('style', logoutStyle); 26046 /* END Per Queue UI block */ 26047 26048 var devId = cleanDevice(device_aor); 26049 //console.log(devId); 26050 device_aor = getDevId(device_aor);
26051 huntgroup_name = getDevId(huntgroup_name); 26052 26053 var id = "#big-button-group"; 26054 var hg = $(id).data("huntgroup"); 26055 //log(hg); 26056 26057 homegetStatusButtonNoFade(); 26058 26059 $('.huntgroup_for_device').each(function() { 26060 if ($(this).data('huntgroup') == huntgroup_name) { 26061 $(this).data('mode', data.entry_option); 26062 $(this).data('status', data.entry_status); 26063 } 26064 26065 }); 26066 26067} 26068 26069function incWaitCounter() { 26070 $('.wait_counter').each( 26071 26072 function() { 26073 var sec = $(this).attr('data-wait-sec'); 26074 26075 if (sec != 0 || sec != "0") { 26076 sec = parseInt(sec) + 1; 26077 $(this).attr('data-wait-sec', '' + sec); 26078 $(this).text(getMMss(sec)); 26079 26080 } else { 26081 $(this).text("-"); 26082 } 26083 26084 }); 26085 26086 setTimeout(incWaitCounter, 1000); 26087} 26088 26089�var timeOffset = 0; 26090var ignoreOrigId =[]; 26091var intendedAnsOrigId =[]; 26092var ignoreTermId =[]; 26093var monitorIds =[]; 26094 26095$(function() { 26096 if (typeof servertime != 'undefined') 26097 timeOffset = getSecDiff(servertime); 26098 26099 26100 //log("functions loaded"); 26101 setInterval(durrationCounter, 1000); 26102}); 26103 26104Object.size = function(obj) { 26105 var size = 0, key; 26106 for (key in obj) { 26107 if (obj.hasOwnProperty(key)) size++; 26108 } 26109 return size; 26110}; 26111 26112let queuedCallMap = new Map(); 26113const delayedRemoveMap = new Map(); 26114function sGetQueuedData(type, domain, filter) { 26115 26116 if (typeof socket == 'undefined'){ 26117 log('sGetQueueData: typeof socket undefined'); 26118 return; 26119 } 26120 var options = { 26121 domain : domain, 26122 type : 'queued', 26123 'bearer': localStorage.ns_t, 26124 application: 'portal' 26125 }; 26126 26127 if (typeof filter != 'undefined' && filter != "" && filter != "*") 26128 options.filter = filter; 26129 26130 socket.emit('subscribe', options); 26131 log(options); 26132 subscriptions.push(options); 26133 26134 function updateQueuedData(data) { 26135 const sessId = data.session_key + data.queue_name; 26136 var searchString = "#calls_table.waiting-table tr:gt(0)"; 26137 if (data.remove && data.remove == "yes") 26138 { 26139 queuedCallMap.delete(sessId); 26140 delayedRemove(searchString,data.session_key); 26141 let newTimeout = setTimeout(delayedRemove,2000,searchString,data.session_key); 26142 delayedRemoveMap.set(data.session_key,newTimeout ); 26143 26144 } 26145 else 26146 { 26147 queuedCallMap.set(sessId,data); 26148 } 26149 26150 } 26151 socket.on('queued', updateQueuedData); 26152 if (callbacks) callbacks.push({name:'queued', callback:updateQueuedData}); 26153 26154} 26155 26156 26157function sGetCallsData(type, domain, filter, popout) { 26158 26159 if (typeof popout == 'undefined') 26160 popout = false; 26161 if (typeof socket == 'undefined') 26162 return; 26163 26164 var options = { 26165 domain : domain, 26166 type : 'call', 26167 'bearer': localStorage.ns_t, 26168 application: 'portal' 26169 26170 26171 }; 26172 26173 if (typeof type != 'undefined' && type != "" && type != "user") 26174 options.subtype = type; 26175 26176 if (typeof filter != 'undefined' && filter != "" && filter != "*") 26177 options.filter = filter; 26178 26179 socket.emit('subscribe', options); 26180 //log("requested data options:"); 26181 log(options); 26182 26183 subscriptions.push(options); 26184 26185 26186 socket.on('call-domain', updateCallLineDomainFull); 26187 if (callbacks) callbacks.push({name:'call-queue',callback:updateCallLineDomain}); 26188 socket.on('call-queue', updateCallLineDomain); 26189 if (callbacks) callbacks.push({name:'call-queue',callback:updateCallLineDomain}); 26190 26191 function callUpdate(data) { 26192 26193 log('socket call'); 26194 26195 if (data.orig_from_user =="Call-Record-Account" && data.remove == "yes"){ 26196 log('Call to record ended'); 26197 26198 var greetingEnd = false; 26199 var greetingsModal;
26200 var path; 26201 26202 //check to see if any greetings modals are showing 26203 if ($('#greetings-modal').is(':visible')) { 26204 log('greetings-modal is visible'); 26205 greetingsModal = $('#greetings-modal'); 26206 path = '/portal/users/greetings/index/' + data.by_sub + '@' + data.by_domain; 26207 greetingEnd = true; 26208 } 26209 else if ($('#introgreeting-modal').is(':visible')) { 26210 log('introgreeting-modal is visible'); 26211 greetingsModal = $('#introgreeting-modal'); 26212 var callee_match = greetingsModal.data('callee-match'); 26213 var starting = greetingsModal.data('starting'); 26214 path = '/portal/attendants/intros/' + callee_match + '/' + starting; 26215 greetingEnd = true; 26216 } 26217 else if($('#write-queue').is(':visible')) { 26218 log('write queue modal is visible'); 26219 var queue = $("#CallqueueName").val(); 26220 log(queue); 26221 var jsonPath = '/portal/callqueues/messagecheck/'+queue; 26222 26223 //grab new recording uri, insert into play and download buttons 26224 setTimeout(function(){ 26225 $.getJSON(jsonPath,function(data){ 26226 // log(data); 26227 log('new remotepath for announce-to-agent.wav'); 26228 // log(data[0]['Music']['announce-to-agent.wav']['remotepath']); 26229 26230 var remotePath = data[0]['Music']['announce-to-agent.wav']['remotepath']; 26231 26232 if($('#audio-player-1').length) { 26233 26234 //removes the HTML characters added 26235 remotePath = remotePath.replace(/\bamp;\b/g, ''); 26236 26237 // for localhost testing 26238 // remotePath = remotePath.replace('localhost', 'corp.netsapiens.com'); 26239 26240 $('#write-queue .download-audio').attr('href', remotePath); 26241 26242 $('#audio-player-1 source').each(function(){ 26243 log('updating audio players source paths'); 26244 26245 var audioType = $(this).attr('type'); 26246 26247 // log(audioType); 26248 26249 if(audioType == 'audio/x-wav') 26250 remotePath += '&convert=signed'; 26251 else if(audioType == 'audio/ogg; codecs=vorbis') 26252 remotePath += '&convert=ogg'; 26253 else if(audioType == 'audio/mp4') 26254 remotePath += '&convert=aac'; 26255 else if(audioType == 'audio/aac') 26256 remotePath += '&convert=aac'; 26257 26258 log(remotePath); 26259 26260 $(this).attr('src', remotePath); 26261 }); 26262 26263 //loads new sources to audio player 26264 $('#audio-player-1')[0].load(); 26265 hideAgentMsgRecord(); 26266 } else { 26267 log('no audio player found'); 26268 26269 26270 } 26271 26272 26273 26274 }).fail(function(){ 26275 log('remotepath request failed'); 26276 jsFlash(_('Message to agent failed to record!'), 'danger'); 26277 }); 26278 26279 }, 2000); 26280 26281 } 26282 //check if edit answering rule is open 26283 else if($('#write-rule').is(':visible')){ 26284 hideAgentMsgRecord(); 26285 } 26286 26287 26288 //after call to record ends, refresh greetings modal if it's visible 26289 if (greetingEnd) { 26290 log('a greetings modal is visible, reloading modal'); 26291 26292 if (typeof path == 'undefined') 26293 path = greetingsModal.find("form").attr("action"); 26294 greetingsModal.html('<span class=\"loading-lg\"></span>'); 26295 greetingsModal.css('min-height', '0'); 26296 modalResize(greetingsModal); 26297 26298 setTimeout(loadModal, 2000,"#"+greetingsModal[0].id,path); 26299 26300 26301 } 26302 26303 26304 return; 26305 } 26306 else if (data.orig_from_user =="Call-Record-Account") 26307 return; 26308 26309 if (filter != "*") 26310 { 26311 if (!popout) 26312 updateCallLineUser(data, domain, filter); 26313 else 26314 updateCallLineUserPopout(data, domain, filter); 26315 } 26316 26317 } 26318 26319 socket.on('call',callUpdate ); 26320 if (callbacks) callbacks.push({name:'call',callback:callUpdate}); 26321 26322 26323 26324} 26325 26326function sGetVoicemailData(domain, filter) { 26327 if (typeof socket == 'undefined') 26328 return; 26329 26330 var options = { 26331 domain : domain, 26332 type : 'voicemail', 26333 'bearer': localStorage.ns_t, 26334 application: 'portal' 26335 }; 26336 26337 if (typeof filter != 'undefined' && filter != "" && filter != "*")
26338 options.filter = filter; 26339 else 26340 return; 26341 26342 socket.emit('subscribe', options); 26343 26344 subscriptions.push(options); 26345 26346 socket.on('voicemail', getCount); 26347 if (callbacks) callbacks.push({name:'voicemail', callback:getCount}); 26348 26349 26350} 26351 26352function getStatus(value) { 26353 26354 if (value.term_uri == "Call-Queue" || value.term_uri == "Auto-Attendant") { 26355 return _("Waiting"); 26356 } else { 26357 if (value.time_answer == "0000-00-00 00:00:00") { 26358 if (value.by_action && value.by_action == "QueueSDispatch") 26359 return _("Ringing Agent(s)"); 26360 else 26361 return _("Ringing Agent"); 26362 } else 26363 return _("Talking"); 26364 } 26365} 26366 26367var lastWaitingSort = Date.now()-2000; 26368let sortTimeoutID = setTimeout(sortWaitingTable, 250); 26369function sortWaitingTable() { 26370 const now = Date.now()-1; 26371 26372 if (lastWaitingSort+500 > now) 26373 { 26374 clearTimeout(sortTimeoutID); 26375 sortTimeoutID = setTimeout(sortWaitingTable, 250); 26376 26377 return; 26378 } 26379 26380 26381 26382 var table, rows, switching, i, x, y, shouldSwitch; 26383 table = document.getElementById("calls_table"); 26384 if (!table) return; 26385 switching = true; 26386 /*Make a loop that will continue until 26387 no switching has been done:*/ 26388 while (switching) { 26389 //start by saying: no switching is done: 26390 switching = false; 26391 rows = table.rows; 26392 /*Loop through all table rows (except the 26393 first, which contains table headers):*/ 26394 for (i = 1; i < (rows.length - 1); i++) { 26395 //start by saying there should be no switching: 26396 shouldSwitch = false; 26397 /*Get the two elements you want to compare, 26398 one from current row and one from the next:*/ 26399 x = rows[i]; 26400 y = rows[i + 1]; 26401 if (x.dataset.prioritizedvalue >= y.dataset.prioritizedvalue ) 26402 { 26403 var d1 = new Date(Date.parse(x.dataset.gmt_start)); 26404 var d2 = new Date(Date.parse(y.dataset.gmt_start)); 26405 26406 if (d1 > d2 || x.dataset.prioritizedvalue > y.dataset.prioritizedvalue) 26407 { 26408 shouldSwitch = true; 26409 break; 26410 } 26411 } 26412 26413 //check if the two rows should switch place: 26414 // if (x.innerHTML.toLowerCase() > y.innerHTML.toLowerCase()) { 26415 // //if so, mark as a switch and break the loop: 26416 // shouldSwitch = true; 26417 // break; 26418 // } 26419 } 26420 if (shouldSwitch) { 26421 $('.tooltip').hide(); 26422 /*If a switch has been marked, make the switch 26423 and mark that a switch has been done:*/ 26424 rows[i].parentNode.insertBefore(rows[i + 1], rows[i]); 26425 switching = true; 26426 } 26427 } 26428 26429 lastWaitingSort = Date.now()-1; 26430} 26431 26432 26433 26434 26435 26436function getButtons(value,includeTd) { 26437 26438 if (includeTd == null) 26439 includeTd =true; 26440 //log("getButtons"); 26441 //log(value); 26442 var vrb = 'activecall'+value.orig_callid.replace(/[^a-zA-Z0-9]/g, '')+""+value.term_callid.replace(/[^a-zA-Z0-9]/g, '')+""+value.term_uri.replace(/[^a-zA-Z0-9]/g, ''); 26443 var jsInsert = "var "+vrb+"=[];"; 26444 jsInsert += ""+vrb+".orig_id='"+value.orig_callid+"';"; 26445 jsInsert += ""+vrb+".term_id='"+value.term_callid+"';"; 26446 jsInsert += ""+vrb+".orig_uri='"+value.orig_uri+"';"; 26447 jsInsert += ""+vrb+".ani='"+value.ani+"';"; 26448 jsInsert += ""+vrb+".term_uri='"+value.term_uri+"';log("+vrb+");"; //hideModal(\'#view-calls\'); 26449 jsInsert += "listenIn("+vrb+");$(this).hide();"; 26450 log(jsInsert); 26451 26452 var buttons ='<a href="javascript:void(0)" class="listen helpsy" title="'+_('Listen in')+'" onclick="'+jsInsert+'"> </a>'; 26453 26454 if ($('#calls_table').hasClass('allowmonitor')) { 26455 //log("monitoring allowed"); 26456 } 26457 else if ($('#agents-table').hasClass('allowmonitor')) { 26458 //log("monitoring allowed"); 26459 } 26460 else { 26461 //log("monitoring NOT allowed"); 26462 buttons = " "; 26463 } 26464 26465 26466 if (value.term_uri == "Call-Queue" || value.term_uri == "Auto-Attendant") { 26467 buttons = " "; 26468 } else if (value.time_answer == "0000-00-00 00:00:00") { 26469 buttons = " "; 26470 } 26471 26472 if (includeTd) 26473 buttons = '<td class="action-buttons">'+buttons+'</td>'; 26474 26475 return buttons; 26476} 26477 26478var callHistoryLookupScheduled = false; 26479var vMailLookupScheduled = false;
26480 26481var audioMonitoringtoClearOnHangup =[]; 26482var callback_ids =[]; 26483 26484function updateCallLineUser(value, domain, user) { 26485 26486 var searchString = "#calls_table tr:gt(0)"; 26487 26488 var orid_id = value.orig_callid; 26489 var term_id = value.term_callid; 26490 var term_uri = value.term_uri; 26491 var id = orid_id + "_" + term_id + "_" + term_uri; 26492 var rId = value.orig_callid + "_" + value.term_callid + "_" + value.term_uri; 26493 26494 //log("by_callid="+value.by_callid); 26495 //log("term_callid="+value.term_callid); 26496 //log(value); 26497 var found = false; 26498 if (value.remove != "yes") { 26499 26500 log("user data"); 26501 log(value); 26502 var calltype = getType(value, domain, user); 26503 var monitorId = 'notmonitored'; 26504 if (calltype == 'monitor') 26505 { 26506 monitorId = getMonitorId(value); 26507 26508 log("callid= "+value.orig_callid); 26509 log("monitorId= "+monitorId); 26510 } 26511 else 26512 { 26513 if (typeof value.orig_logi_uri != 'undefined' && typeof value.orig_from_name != 'undefined') 26514 if (value.orig_from_name == "Bridge for Audio Monitoring" && value.orig_logi_uri.indexOf("adhoc.monitor") > -1) 26515 { 26516 log("pontenital inbound for listen. silence popup. track callid. "); 26517 log(value.orig_logi_uri); 26518 26519 if (value.time_answer != "0000-00-00 00:00:00") 26520 audioMonitoringtoClearOnHangup.push(value.orig_logi_uri); 26521 return; 26522 } 26523 26524 } 26525 26526 if (typeof value.ani != 'undefined' && value.ani == 'Prompt-Callback-Retrieve') 26527 { 26528 callback_ids.push(value.by_callid); 26529 } 26530 26531 26532 //log("in single user add/modify"); 26533 $('.dockcall-column').each(function() { 26534 26535 var thisId = $(this).attr('id'); 26536 //log("in scan function, call type is "+ $(this).data('calltype')); 26537 26538 if ($(this).data('calltype')=='monitor' && $(this).data('monitorId') == monitorId) { 26539 26540 //log("calling dockModifyCallsameURI do to monitor update"); 26541 dockModifyCallsameURI($(this), value, domain, user); 26542 26543 found = true; 26544 } 26545 else if (thisId == 'dockcall-column-' + rId.replace(/[^a-zA-Z0-9]/g, '-')) { 26546 26547 //log("calling dockModifyCallsameURI"); 26548 //log(value); 26549 dockModifyCallsameURI($(this), value, domain, user); 26550 26551 found = true; 26552 } else if ($(this).attr('orig_callid') == value.orig_callid.replace(/[^a-zA-Z0-9]/g, '-')) { 26553 26554 //log("calling dockModifyCallnewURI"); 26555 //log(value); 26556 var updateOk = true; 26557 for (var key in intendedAnsOrigId) 26558 { 26559 if (intendedAnsOrigId[key] ==value.orig_callid) 26560 { 26561 if (value.time_answer == "0000-00-00 00:00:00") 26562 updateOk = false; 26563 else 26564 intendedAnsOrigId.splice(key,1); 26565 } 26566 } 26567 26568 if (updateOk) 26569 { 26570 dockModifyCallsameURI($(this), value, domain, user); 26571 26572 } 26573 26574 found = true; 26575 } 26576 26577 }); 26578 if (!found) { 26579 26580 console.log("calling dockShowCall possible type is "+calltype); 26581 console.log("possible monitring id is "+monitorId); 26582 //debugger; 26583 var foundInIgnore =false; 26584 for (var key in ignoreOrigId) 26585 { 26586 if (ignoreOrigId[key] ==value.orig_callid) 26587 { 26588 foundInIgnore=true; 26589 26590 } 26591 } 26592 for (var key in ignoreTermId) 26593 { 26594 if (ignoreTermId[key] ==value.term_callid) 26595 { 26596 if(callback_ids.indexOf(value.term_callid) == -1) 26597 foundInIgnore=true; 26598 } 26599 } 26600 26601 if(value.ani == sub_user && (value.term_to_uri == "Monitoring" || value.term_to_uri.includes("adhoc.monitor"))) 26602 { 26603 foundInIgnore=true; 26604 } 26605 26606 if (!foundInIgnore) { 26607 console.log(455); 26608 console.log('execute dockShowCall'); 26609 dockShowCall(value, domain, user); 26610 checkPopupWidth(); 26611 } 26612 } 26613 26614 //log("done"); 26615 26616 } 26617 else {
26618 // DELETE 26619 //log("running remove"); 26620 //log(value); 26621 26622 //log("in delete"); 26623 //log(audioMonitoringtoClearOnHangup); 26624 26625 $('.dockcall-column').each(function() { 26626 for (var i = 0; i < audioMonitoringtoClearOnHangup.length; i++) { 26627 if (typeof $(this).data("confbridge_id") != "undefined") 26628 if ($(this).data("confbridge_id") == audioMonitoringtoClearOnHangup[i]) 26629 { 26630 $(this).remove(); 26631 checkPopupWidth(); 26632 return; 26633 }; 26634 } 26635 26636 }); 26637 26638 $('.dockcall-column').each(function() { 26639 // highlightQueueRow(value.by_user, true); 26640 if ($(this).attr('orig_callid') == value.orig_callid.replace(/[^a-zA-Z0-9]/g, '-')) { 26641 26642 26643 26644 for (var key in ignoreOrigId) 26645 { 26646 if (ignoreOrigId[key] ==$(this).attr('orig_callid')) 26647 { 26648 $(this).remove(); 26649 checkPopupWidth(); 26650 return; 26651 } 26652 } 26653 for (var key in ignoreTermId) 26654 { 26655 if (ignoreTermId[key] ==value.term_callid) 26656 return; 26657 } 26658 26659 26660 26661 //log("match on removal of callid, call type is " + $(this).data('calltype')); 26662 if ($(this).data('calltype')=="monitor") 26663 { 26664 return; 26665 } 26666 26667 26668 var termIds = $(this).data('termIds'); 26669 //log("termIds " + termIds); 26670 var termid = value.term_callid.replace(/[^a-zA-Z0-9]/g, '-'); 26671 if (termid in termIds) { 26672 //log("removing leg " + termid); 26673 termIds.remove(termid); 26674 checkPopupWidth(); 26675 } 26676 26677 26678 var number = cleanDevice(value.orig_user); 26679 26680 //$(this).data('termIds',termIds); 26681 26682 //if (Object.size(termIds)>0) 26683 // 26684 // { 26685 // log ("still has "+Object.size(termIds)+" legs"); 26686 // return; 26687 // } 26688 var callId = $(this).attr('id'); 26689 var columnId = '#' + callId; 26690 var dockBody = columnId + ' .dockcall-body'; 26691 var callButtons = columnId + ' .dockcall-buttons'; 26692 var callFields = columnId + ' .dockcall-fields'; 26693 var durationField = columnId + ' .dockcall-timer'; 26694 var completeButton = columnId + ' .dockcall-complete'; 26695 var disposition = columnId + ' .dockcall-disposition'; 26696 var notes = columnId + ' .dockcall-notes'; 26697 var panelContent = columnId + ' .dockcall-panel-content'; 26698 var callInfo = columnId + ' .dockcall-info'; 26699 26700 var transferTest = columnId + ' .ui-autocomplete-input'; 26701 log(transferTest) 26702 log($(transferTest).length) 26703 if($(transferTest).length){ 26704 closeTransferMode(); 26705 } 26706 26707 26708 if ($(this).data('calltype')!="monitor") 26709 $(dockBody).animate({ 26710 backgroundColor : '#fff' 26711 }).stop(); 26712 26713 $(durationField).attr('class', 'dockcall-timer pull-right'); 26714 26715 $(panelContent + ' h4').remove(); 26716 $(panelContent + ' h3').remove(); 26717 26718 if ($(this).data('calltype')!="monitor") 26719 { 26720 if ($(callInfo).length == 0) { 26721 $(panelContent).prepend( 26722 '<div class="dockcall-info">' + '<h5 class="dockcall-name">' + number + '<span gmt_answer="' + value.time_answer 26723 + '" class="dockcall-timer duration_counter pull-right">00:00</span>' + '</h5>' + '</div>'); 26724 } 26725 } 26726 26727 if ($(this).data('calltype')!="monitor") 26728 $(callFields).animate({ 26729 "height" : "show", 26730 "opacity" : "show" 26731 }, 400); 26732 26733 //log($(notes.text()));
26734 //log($(notes.value())); 26735 log($(notes).val().length); 26736 log($(notes).text()); 26737 if (($(this).data('calltype')!="monitor" && popup_allow_complete) ) 26738 $(callButtons).html('<button class="dockcall-complete btn btn-primary">Complete</button>'); 26739 else if ($(disposition).is(":visible") ) 26740 $(callButtons).html('<button class="dockcall-complete btn btn-primary">Complete</button>'); 26741 else if ($(notes).is(":visible") && $(notes).val().length >0) 26742 $(callButtons).html('<button class="dockcall-complete btn btn-primary">Complete</button>'); 26743 else if ($(this).data('calltype')!="monitor" && !popup_allow_complete){ 26744 $(this).remove(); 26745 checkPopupWidth(); 26746 } 26747 26748 } 26749 26750 }); //end dockcall-column each 26751 26752 26753 function refreshCalHistory() { 26754 callHistoryLookupScheduled = true; 26755 setTimeout(function() { 26756 callHistoryLookupScheduled = false; 26757 if ($('.modal').is(":visible") == true) { 26758 refreshCalHistory(); 26759 } else if (typeof homeCallhistory == 'function') 26760 homeCallhistory(true); 26761 26762 }, 2000); 26763 } 26764 26765 function refreshVmails() { 26766 vMailLookupScheduled = true; 26767 setTimeout(function() { 26768 vMailLookupScheduled = false; 26769 if ($('.modal').is(":visible") == true) { 26770 refreshVmails(); 26771 log("delaying vmail update do to modal"); 26772 } else { 26773 log(value); 26774 if (value.term_to_uri == 'VMail') 26775 { 26776 log("is a vmail ending"); 26777 if (typeof homeVoicemail == 'function') { 26778 log("running homeVoicemail"); 26779 homeVoicemail(); 26780 } 26781 if (typeof getCount == 'function') { 26782 log("running getCount"); 26783 getCount(); 26784 } 26785 26786 } 26787 } 26788 26789 }, 2000); 26790 } 26791 26792 if (!callHistoryLookupScheduled) { 26793 refreshCalHistory(); 26794 } 26795 26796 if (!vMailLookupScheduled) { 26797 26798 refreshVmails(); 26799 } 26800 26801 26802 26803 } //end else 26804 26805 26806 26807 26808 var activeCalls = 0; 26809 myCalls= new Array(); 26810 callToTransfer= new Object(); 26811 $('.dockcall-column').each(function() { 26812 26813 myCalls[activeCalls]=$(this).data(); 26814 activeCalls++; 26815 }); 26816 if (activeCalls == 0) { 26817 $('.activecallonly').hide(); 26818 } else { 26819 $('.activecallonly').show(); 26820 } 26821 log(myCalls); 26822 26823 26824 26825} 26826var timeoutReference; 26827var myCalls = new Array(); 26828 26829function updateNotes(callId){ 26830 $.cookie("notes"+callId, $('#'+callId+" .dockcall-notes").val(), { expires : 1 }); 26831 26832 if (!timeoutReference){ 26833 return; 26834 } 26835 timeoutReference = null; 26836} 26837 26838function updateCallLineUserPopout(value, domain, user) { 26839 26840 26841 var orid_id = value.orig_callid; 26842 var term_id = value.term_callid; 26843 var term_uri = value.term_uri; 26844 var id = orid_id + "_" + term_id + "_" + term_uri; 26845 var rId = value.orig_callid + "_" + value.term_callid + "_" + value.term_uri; 26846 26847 26848 26849 //log(value); 26850 var found = false; 26851 if (value.remove != "yes") { 26852 26853 var calltype = getType(value, domain, user); 26854 var monitorId = 'notmonitored'; 26855 if (calltype == 'monitor') 26856 { 26857 monitorId = getMonitorId(value); 26858 } 26859 26860 log("in single user add/modify"); 26861 $('.popcall-popup').each(function() { 26862 26863 var thisId = $(this).attr('id'); 26864 26865 log("in scan function (.popcall-popup), call type is "+ $(this).data('calltype')); 26866 26867 log("in scan function (.popcall-popup), thisId is "+ thisId); 26868 log("in scan function (.popcall-popup), comparing is "+ 'popcall-popup-' + rId.replace(/[^a-zA-Z0-9]/g, '-')); 26869 if ($(this).data('calltype')=='monitor' && $(this).data('monitorId') == monitorId) { 26870 26871 //nothing 26872 } 26873 else if (thisId == 'popcall-popup-' + rId.replace(/[^a-zA-Z0-9]/g, '-')) { 26874 26875 log("in scan function (.popcall-popup), thisId is "+ thisId); 26876 popoutModifyCallsameURI($(this), value, domain, user) 26877 26878 found = true; 26879 } else if ($(this).attr('orig_callid') == value.orig_callid.replace(/[^a-zA-Z0-9]/g, '-')) { 26880 26881 var updateOk = true; 26882 for (var key in intendedAnsOrigId) 26883 { 26884 if (intendedAnsOrigId[key] ==value.orig_callid) 26885 { 26886 if (value.time_answer == "0000-00-00 00:00:00") 26887 updateOk = false;
26888 else 26889 intendedAnsOrigId.splice(key,1); 26890 } 26891 } 26892 26893 if (updateOk) 26894 { 26895 popoutModifyCallsameURI($(this), value, domain, user); 26896 } 26897 26898 found = true; 26899 } 26900 26901 }); 26902 if (!found) { 26903 26904 log("calling popup ShowCall possible type is "+calltype); 26905 log("possible monitring id is "+monitorId); 26906 //log(value); 26907 var foundInIgnore =false; 26908 for (var key in ignoreOrigId) 26909 { 26910 if (ignoreOrigId[key] ==value.orig_callid) 26911 { 26912 foundInIgnore=true; 26913 26914 } 26915 } 26916 for (var key in ignoreTermId) 26917 { 26918 if (ignoreTermId[key] ==value.term_callid) 26919 { 26920 foundInIgnore=true; 26921 } 26922 } 26923 if (!foundInIgnore) { 26924 popoutShowCall(value, domain, user); 26925 } 26926 } 26927 26928 //log("done"); 26929 26930 } 26931 else { 26932 // DELETE 26933 //log("running remove"); 26934 //log(value); 26935 26936 26937 26938 26939 $('.popcall-popup').each(function() { 26940 // highlightQueueRow(value.by_user, true); 26941 if ($(this).attr('orig_callid') == value.orig_callid.replace(/[^a-zA-Z0-9]/g, '-')) { 26942 26943 26944 for (var key in ignoreOrigId) 26945 { 26946 if (ignoreOrigId[key] ==$(this).attr('orig_callid')) 26947 { 26948 $(this).remove(); 26949 checkPopupWidth(); 26950 return; 26951 } 26952 } 26953 for (var key in ignoreTermId) 26954 { 26955 if (ignoreTermId[key] ==value.term_callid) 26956 return; 26957 } 26958 26959 26960 26961 //log("match on removal of callid, call type is " + $(this).data('calltype')); 26962 if ($(this).data('calltype')=="monitor") 26963 { 26964 return; 26965 } 26966 26967 26968 var termIds = $(this).data('termIds'); 26969 //log("termIds " + termIds); 26970 var termid = value.term_callid.replace(/[^a-zA-Z0-9]/g, '-'); 26971 if (termid in termIds) { 26972 //log("removing leg " + termid); 26973 termIds.remove(termid); 26974 checkPopupWidth(); 26975 } 26976 26977 26978 var number = cleanDevice(value.orig_user); 26979 26980 //$(this).data('termIds',termIds); 26981 26982 //if (Object.size(termIds)>0) 26983 // 26984 // { 26985 // log ("still has "+Object.size(termIds)+" legs"); 26986 // return; 26987 // } 26988 var callId = $(this).attr('id'); 26989 var popoutId = '#popcall-popup' + callId; 26990 var dockBody = popoutId + ' .popcall-body'; 26991 var callButtons = popoutId + ' .popcall-buttons'; 26992 var callFields = popoutId + ' .popcall-fields'; 26993 var durationField = popoutId + ' .popcall-timer'; 26994 var completeButton = popoutId + ' .popcall-complete'; 26995 var disposition = popoutId + ' .popcall-disposition'; 26996 var notes = popoutId + ' .popcall-notes'; 26997 var panelContent = popoutId + ' .popcall-panel-content'; 26998 var callInfo = popoutId + ' .popcall-info'; 26999 27000 if ($(this).data('calltype')!="monitor") 27001 $(dockBody).animate({ 27002 backgroundColor : '#fff' 27003 }).stop(); 27004 27005 $(durationField).attr('class', 'popcall-timer pull-right'); 27006 27007 $(panelContent + ' h4').remove(); 27008 $(panelContent + ' h3').remove(); 27009 27010 if ($(this).data('calltype')!="monitor") 27011 { 27012 if ($(callInfo).length == 0) { 27013 $(panelContent).prepend( 27014 '<div class="popcall-info">' + '<h5 class="popcall-name">' + number + '<span gmt_answer="' + value.time_answer 27015 + '" class="popcall-timer duration_counter pull-right">00:00</span>' + '</h5>' + '</div>'); 27016 } 27017 } 27018 27019 if ($(this).data('calltype')!="monitor") 27020 $(callFields).animate({ 27021 "height" : "show", 27022 "opacity" : "show" 27023 }, 400); 27024 27025 //log($(notes.text()));
27026 //log($(notes.value())); 27027 //log($(notes).val().length); 27028 //log($(notes).text()); 27029 if (($(this).data('calltype')!="monitor" && popup_allow_complete) ) 27030 $(callButtons).html('<button class="dockcall-complete btn btn-primary">Complete</button>'); 27031 else if ($(disposition).is(":visible") ) 27032 $(callButtons).html('<button class="dockcall-complete btn btn-primary">Complete</button>'); 27033 else if ($(notes).is(":visible") && $(notes).val().length >0) 27034 $(callButtons).html('<button class="dockcall-complete btn btn-primary">Complete</button>'); 27035 else if ($(this).data('calltype')!="monitor" && !popup_allow_complete) 27036 $(this).remove(); 27037 checkPopupWidth(); 27038 } 27039 27040 //resize content scrollable area 27041 resizePopoutContent(); 27042 27043 }); 27044 27045 27046 } 27047 27048 //adding myCalls array to updateCallLineUserPopout() to match dock updateCallLineUser() for use in transfer method 27049 var activeCalls = 0; 27050 myCalls= new Array(); 27051 callToTransfer= new Object(); 27052 $('.popcall-popup').each(function() { 27053 27054 myCalls[activeCalls]=$(this).data(); 27055 activeCalls++; 27056 }); 27057 if (activeCalls == 0) { 27058 $('.activecallonly').hide(); 27059 } else { 27060 $('.activecallonly').show(); 27061 } 27062 log(myCalls); 27063 27064} 27065 27066function getType(value, domain, user) { 27067 27068 if (value.orig_callid.indexOf("adhoc.monitor") !== -1) { 27069 return "monitor"; 27070 } else if (value.term_callid.indexOf("adhoc.monitor") !== -1) { 27071 return "monitor"; 27072 } else if (value.term_uri.indexOf("adhoc.monitor") !== -1) { 27073 return "monitor"; 27074 } else if (value.dnis.indexOf("adhoc.monitor") !== -1) { 27075 return "monitor"; 27076 } else if (value.term_user == user && value.term_domain == domain) { 27077 return "inbound"; 27078 } else if (value.by_user == user && value.by_domain == domain) { 27079 return "inbound"; 27080 } else { 27081 return "outbound"; 27082 } 27083 27084} 27085 27086function getMonitorId(value) { 27087 27088 var monId = "notmonitored"; 27089 if (value.dnis.indexOf("adhoc.monitor") !== -1) { 27090 monId = value.dnis; 27091 } else if (value.orig_callid.indexOf("adhoc.monitor") !== -1) { 27092 monId = value.orig_callid; 27093 } else if (value.term_callid.indexOf("adhoc.monitor") !== -1) { 27094 monId = value.term_callid; 27095 } else if (value.term_uri.indexOf("adhoc.monitor") !== -1) { 27096 monId = value.term_uri; 27097 } 27098 27099 return monId.replace("callrequest.", ""); 27100 27101} 27102 27103function isAdhocMonitor(value) { 27104 return value.orig_callid.includes("adhoc.monitor") || 27105 value.term_callid.includes("adhoc.monitor") || 27106 value.term_uri.includes("adhoc.monitor"); 27107} 27108 27109function isDifferentDomain(value) { 27110 return value.orig_domain !== value.term_domain && 27111 value.term_domain !== '*' && 27112 value.term_domain !== '' && 27113 value.orig_domain !== '*' && 27114 value.orig_domain !== ''; 27115} 27116 27117function getName(value, domain, user, number) { 27118 if (isAdhocMonitor(value)) { 27119 return " "; 27120 } 27121 27122 number = cleanDevicePrep(number); 27123 if (number.length > 10) { 27124 number = number.replace(new RegExp("^[" + "1" + "]+"), ""); 27125 } 27126 27127 if (typeof reversContactLookup !== 'undefined' && reversContactLookup[number]) { 27128 return reversContactLookup[number]; 27129 } 27130 if (number.length === 10 && typeof reversContactLookup !== 'undefined' && reversContactLookup["1" + number]) { 27131 return reversContactLookup["1" + number]; 27132 } 27133 27134 if (value.orig_domain !== value.term_domain) { 27135 if (domain === value.orig_domain && user === value.orig_user) { 27136 return cleanDevice(value.dnis) || " "; 27137 } 27138 if (domain === value.term_domain && user === value.term_user) { 27139 return value.orig_name || " "; 27140 } 27141 } 27142 27143 if (typeof reverseUserLookup !== 'undefined' && (reverseUserLookup[number] || reverseUserLookup[value.term_sub])) { 27144 return reverseUserLookup[number] || reverseUserLookup[value.term_sub]; 27145 } 27146 27147 if (value.term_user === user && value.term_domain === domain) { 27148 return value.orig_name || value.orig_sub_name || cleanDevice(value.orig_id); 27149 } 27150 if (value.by_user === user && value.by_domain === domain) { 27151 return value.orig_name; 27152 } 27153 if (value.orig_from_user !== user) { 27154 return cleanDevice(value.dnis); 27155 } 27156 if (!value.by_user && value.orig_domain === domain) { 27157 return cleanDevice(value.term_id); 27158 } 27159 27160 return " "; 27161} 27162 27163function getNumber(value, domain, user) { 27164 if (isAdhocMonitor(value) || isDifferentDomain(value)) { 27165 return " "; 27166 } 27167 27168 if (value.term_user === user && value.term_domain === domain) { 27169 return cleanDevice(value.orig_domain === value.term_domain ? value.orig_match : value.orig_from_uri); 27170 } 27171 27172 if (value.by_user === user && value.by_domain === domain) { 27173 return cleanDevice(value.orig_from_uri); 27174 } 27175 27176 if (value.term_match.includes("sip:nms@")) { 27177 return cleanDevice(value.term_sub); 27178 } 27179 27180 return cleanDevice(value.term_uri); 27181} 27182 27183 27184function popoutShowCall(value, domain, user) { 27185 log("popoutShowCall"); 27186 log("adding active call block"); 27187 log(value); 27188 var tmpid = "" + value.orig_callid + "_" + value.term_callid + "_" + value.term_uri; 27189 var callId = tmpid.replace(/[^a-zA-Z0-9]/g, '-'); 27190 27191 var popupId = '#popcall-popup-' + callId; 27192 var popoutBody = popupId + ' .popcall-body'; 27193 var panelContent = popupId + ' .popcall-panel-content'; 27194 var answerButton = popupId + ' .popcall-answer'; 27195 var callButtons = popupId + ' .popcall-buttons'; 27196 var holdButton = popupId + ' .popcall-hold'; 27197 var holdLabel = popupId + ' .popcall-onhold'; 27198 var endButton = popupId + ' .popcall-end'; 27199 var rejectButton = popupId + ' .popcall-reject'; 27200 var transButton = popupId + ' .popcall-transfer'; 27201 var completeButton = popupId + ' .popcall-complete'; 27202 var callFields = popupId + ' .popcall-fields'; 27203 27204 var calltype = getType(value, domain, user); 27205 var number = getNumber(value, domain, user); 27206 var name = getName(value, domain, user,number); 27207 27208 27209 // log("popupId set calltype " +popupId); 27210 27211 27212 // log('calltype: ' + calltype); 27213 // log('number: ' + number); 27214 // log('name: ' + name); 27215 27216 27217 27218 // log(value); 27219 // log("test calltype " + $(popupId).data("calltype")); 27220
27221 if (calltype == "inbound") { 27222 if (value.term_match.indexOf("conference-bridge") !== -1) 27223 if (hideInboundConferencePopups) 27224 { 27225 log('hiding popup because of hideInboundConferencePopups'); 27226 ignoreOrigId.push(value.orig_callid); 27227 return; 27228 } 27229 27230 27231 } 27232 else 27233 { 27234 log() 27235 if (value.orig_match.indexOf("conference-bridge") !== -1) 27236 { 27237 if (hideInboundConferencePopups) 27238 { 27239 log('hiding popup because of hideInboundConferencePopups'); 27240 ignoreOrigId.push(value.orig_callid); 27241 return; 27242 } 27243 } 27244 } 27245 var popupHtml = ""; 27246 popupHtml += '<div class="popcall-panel">'; 27247 27248 if (calltype == "monitor") { 27249 popupHtml += '<div class="popcall-panel-content">' + '<h3 class="popcall-number">' ; 27250 number = " "; 27251 name = " "; 27252 } 27253 else if (calltype == "inbound") { 27254 popupHtml += '<div class="popcall-panel-content">' + '<h4>Incoming Call</h4>' + '<h3 class="popcall-number">' + number; 27255 } else { 27256 popupHtml += '<div class="popcall-panel-content">' + '<h4>Outbound Call</h4>' + '<h3 class="popcall-number">' + number; 27257 //popupHtml += '<div class="popcall-panel-content">' + '<h3 class="popcall-number">'; 27258 } 27259 27260 if (calltype == "monitor") { 27261 popupHtml += '</h3>' + '<div class="loading-lg"></div>' + '<div class="popcall-monitor hide">' 27262 + '<h4 class="popcall-orignumber">' + number +'</h4>' 27263 + '<h5 class="popcall-origname">' + number +'</h5>' 27264 + '<h4>+</h4>' 27265 + '<h4 class="popcall-termnumber">' + number +'</h4>' 27266 + '<button class="btn barge-btn" value="barge_in">' + _("Join Call") +'</button>' 27267 + '<button class="btn hide wisper-orig-btn" value="wisper_orig">' + _('Whisper Orig') + '</button>' 27268 + '<button class="btn hide wisper-term-btn" value="wisper_term">' + _("Whisper Term") + '</button>' 27269 + '<button class="btn listen-btn hide" value="listen">' + _("Listen Only") + '</button>' 27270 27271 '' + '</div>'; 27272 } 27273 else 27274 { 27275 popupHtml += '</h3>' + '<form action="/portal/callhistory/notes" id="dispForm" ><div class="popcall-fields">' + '<select name="data[disposition]" class="popcall-disposition hide" id="disposition">' 27276 + '<option value="">Disposition</option>' + '</select>' + '<select name="data[reason]" class="popcall-reason hide" id="reason">' 27277 + '<option value="">Reason</option>' + '</select>' + 27278 27279 '<textarea name="data[notes]" class="popcall-notes hide" placeholder="' + _('Notes') + '"></textarea>' + '</div></form>'; 27280 } 27281 27282 popupHtml += '</div> <!--/popcall-panel-content-->'; 27283 popupHtml += '<div class="popcall-buttons">'; 27284 27285 if (value.by_action=="ForwardSRing") 27286 { 27287 popupHtml += '<h5 class="forward-select hide">Answer using: <select></select></h5> '; 27288 } 27289 27290 if (calltype == "monitor") { 27291 //##TODO add in monitor options 27292 name = _("Audio Monitoring"); 27293 } 27294 else if (calltype == "inbound") 27295 popupHtml += '<button class="popcall-reject btn btn-danger"><i class="end"></i>Reject</button><button class="popcall-answer btn btn-success"><i class="answer"></i>Answer</button>'; 27296 else { 27297 popupHtml += '<button class="popcall-end end-outbound btn btn-danger" title="' + _('End') + '"><i class="end"></i></button>'; 27298 } 27299 popupHtml += '</div>'; 27300 popupHtml += '</div> <!--/popcall-panel -->'; 27301 27302 var toPrepend = '<div id="popcall-popup-' + callId + '"class="popcall-popup hide" orig_callid="' 27303 + value.orig_callid.replace(/[^a-zA-Z0-9]/g, '-') + '" term_callid="' + value.term_callid.replace(/[^a-zA-Z0-9]/g, '-') 27304 + '" >' 27305 + '<div class="popcall-body">' + popupHtml + '</div>' 27306 + '</div>'; 27307 27308 // prepend popout html 27309 $('.popcall-container').prepend(toPrepend); 27310 27311 var termIds = [value.term_callid.replace(/[^a-zA-Z0-9]/g, '-')]; 27312 27313 27314 $(popupId).data('termIds',termIds); 27315 $(popupId).data("calltype",calltype); 27316 $(popupId).data("number",number); 27317 $(popupId).data("name",name); 27318 $(popupId).data("orig_callid",value.orig_callid); 27319 $(popupId).data("term_callid",value.term_callid); 27320 27321 if (value.by_action=="ForwardSRing") 27322 { 27323 log("is sim ring"); 27324 var termDevices = []; 27325 if (value.term_domain == value.term_to_uri.substring( value.term_to_uri.indexOf('@')+1) ) 27326 if (!$.inArray(value.term_to_uri, termDevices)) 27327 termDevices.push(value.term_to_uri); 27328 $(popupId).data("termDevices",termDevices); 27329 } 27330 27331 27332 if (calltype == "monitor") { 27333 monitorIds.push(getMonitorId(value)); 27334 $(popupId).data("monitorId", getMonitorId(value)); 27335 $(popupId).data("legCount", 0); 27336 //$(popupId).hide(); 27337 } 27338 27339 //hide dialpad 27340 if ($(".popcall-container .dial-pad").is(":visible")) 27341 $(".popcall-container .dial-pad").animate({ 27342 height:'hide' 27343 },{ 27344 complete: function(){ 27345 $('.dial-pad').remove(); 27346 $('#make-call').button('toggle'); 27347 } 27348 }); 27349 27350 //reveal popout call section 27351 $(popupId).animate({ 27352 height:'show' 27353 }, { 27354 progress: function(){ 27355 resizePopoutContent(); 27356 }, 27357 complete: function() { 27358 //log("adding call"); 27359 // if (value.by_action == "MoveTo") { 27360 // } else if (value.time_answer == "0000-00-00 00:00:00") {
27361 // if (calltype == "inbound") 27362 // pulse(); 27363 // } else { 27364 // } 27365 // function pulse() { 27366 // 27367 // // pulsate active call content for user attention 27368 // $(popoutBody).animate({ 27369 // backgroundColor : "#F3F781" 27370 // }, 700, function() { 27371 // $(this).animate({ 27372 // backgroundColor : "#fff" 27373 // }, 700, pulse); 27374 // }); 27375 // } 27376 } 27377 }); 27378 27379 // clicking answer stops pulse and shows button group 27380 $(document).on( 27381 'click', 27382 answerButton, 27383 function() { 27384 $(answerButton).prop("disabled", true);; 27385 $(rejectButton).prop("disabled", true);; 27386 27387 27388 var url = "/portal/calls/answer/" + escapeCallid(value.term_callid) + "/" + cleanDevice(value.term_uri); 27389 log("url is " + url); 27390 $.post(url, function() { 27391 }) 27392 27393 //ignoreOrigId.push(value.orig_callid); 27394 ignoreTermId.push(value.term_callid); 27395 intendedAnsOrigId.push(value.orig_callid); 27396 27397 // stop pulsing after clicking answer 27398// $(popoutBody).animate({ 27399// backgroundColor : '#fff' 27400// }).stop(); 27401// 27402// $(panelContent + ' h3').remove(); 27403// 27404// // if not showing disposition fields, show active call 27405// // message 27406// $(panelContent + ' h4').text('Active Call'); 27407// 27408// $(panelContent).prepend( 27409// '<div class="popcall-info">' + '<h5 class="popcall-name">' + number + '<span gmt_answer="' + value.time_answer 27410// + '" class="popcall-timer duration_counter pull-right">00:00</span>' + '</h5>' + '</div>'); 27411// 27412// // slide reveal cdr fields 27413// // $(callFields).slideDown(400); 27414// 27415// // show call handling buttons after answering 27416// $(callButtons).html( 27417// '<div class="btn-group popcall-callactions"><button class="popcall-hold btn" data-toggle="button" title="' + _('Hold') + '"><i class="hold"></i></button>' 27418// + '<button class="popcall-end btn btn-danger" title="' + _('End') + '"><i class="end"></i></button>' 27419// + '<button class="popcall-transfer btn" title="' + _('Transfer') + '"><i class="transfer"></i></button></div>'); 27420 27421 }); 27422 27423 // show complete button after clicking end 27424 $(document).on('click', endButton, function() { 27425 $.post("/portal/calls/terminate/" + escapeCallid(value.orig_callid), function() { 27426 }) 27427 27428 ignoreOrigId.push(value.orig_callid); 27429 27430 $(endButton).prop("disabled", true); 27431 if (typeof holdButton!="undefined") 27432 $(holdButton).prop("disabled", true); 27433 if (typeof transButton!="undefined") 27434 $(transButton).prop("disabled", true); 27435 27436 // stop pulsing after clicking answer 27437 //$(popoutBody).animate({ 27438 // backgroundColor : '#fff' 27439 //}).stop(); 27440 // 27441 //$(callButtons).html('<button class="popcall-complete btn btn-primary">Complete</button>'); 27442 }); 27443 27444 $(document).on('click', rejectButton, function() { 27445 if (value.by_action=="QueueSDispatch" || value.by_action=="QueueSDispatch") 27446 { 27447 $.post("/portal/calls/reject/" + escapeCallid(value.orig_callid)+"/"+value.term_to_uri.replace(":","COLLON"), function() {log('reject call');}); 27448 } 27449 else 27450 $.post("/portal/calls/reject/" + escapeCallid(value.orig_callid), function() {log('reject call');}); 27451 27452 $(answerButton).prop("disabled", true);; 27453 $(rejectButton).prop("disabled", true);; 27454 27455 ignoreOrigId.push(value.orig_callid); 27456 27457 // stop pulsing after clicking answer 27458 $(popoutBody).animate({ 27459 backgroundColor : '#fff' 27460 }).stop(); 27461 27462 // remove inline styles added by .animate() to reset 27463 $('.popcall-container').removeAttr('style'); 27464 27465 //$(callButtons).html('<button class="popcall-complete btn btn-primary">Complete</button>'); 27466 27467 //removes call popup completely 27468 $(popupId).remove(); 27469 27470 //resize content scrollable area 27471 resizePopoutContent(); 27472 checkPopupWidth(); 27473 }); 27474 27475 // show hold label after clicking hold button 27476 if (typeof holdButton!="undefined") 27477 $(document).on('click',holdButton, function() { 27478 if ($(holdLabel).is(':visible')) { 27479 $.post("/portal/calls/unhold/" + escapeCallid(value.orig_callid)) 27480 .done(function(data) { 27481 $(holdLabel).hide(); 27482 }); 27483 } else { 27484 log('should show hold label');
27485 if (calltype === "inbound") { 27486 $.post("/portal/calls/hold_orig/" + escapeCallid(value.orig_callid)) 27487 .done(function(data) { 27488 $(holdLabel).show(); 27489 log('should show hold label'); 27490 }); 27491 } else { 27492 $.post("/portal/calls/hold_term/" + escapeCallid(value.orig_callid)) 27493 .done(function () { 27494 $(holdLabel).show(); 27495 log('should show hold label'); 27496 }); 27497 } 27498 } 27499 }); 27500 27501 // hide and remove call display after clicking complete 27502 $(document).on('click', completeButton, function() { 27503 sendDispostion(popupId); 27504 $(popupId).remove(); 27505 27506 ignoreOrigId.push(value.orig_callid); 27507 27508 //resize content scrollable area 27509 resizePopoutContent(); 27510 checkPopupWidth(); 27511 }); 27512 27513 if (value.time_answer != "0000-00-00 00:00:00") 27514 popoutModifyCallsameURI($(popupId), value, domain, user); 27515 27516} // end popoutShowCall function 27517 27518function escapeCallid(callid) 27519{ 27520 return callid.replace(":","COLON").replace(":","COLON").replace(":","COLON").replace(":","COLON").replace(":","COLON").replace(":","COLON").replace(":","COLON").replace(":","COLON").replace(":","COLON"); 27521} 27522 27523function startVideo(ext, session_id = null,type,isScreen, isPremiumVideo = null) { 27524 //send message over before starting video, for event type chat message 27525 if(!type) 27526 type = 'start'; 27527 if(!isScreen) 27528 isScreen = false; 27529 27530 // only make group dest format if needed 27531 if (ext.includes(',')) { 27532 var destArray = ext.split(','); 27533 } else { 27534 var destArray = ext; 27535 } 27536 var name = $("#namechange-input-"+session_id).val(); //need remote and such 27537 console.debug(`starVideo called ${PORTAL_VIDEO_ENABLED} ${PORTAL_PREMIUM_VIDEO_ENABLED} | ${PORTAL_VIDEO_ENABLED} ${ext} ${type} ${isScreen}`); 27538 27539 //OMP-5301 api v2 post for conference create to get meeting_url 27540 if(PORTAL_PREMIUM_VIDEO_ENABLED || isPremiumVideo) { 27541 netsapiens.api.v2({ object: 'video', action: 'get' }, `domains/${sub_domain}/users/${sub_user}/video`) 27542 .then((host) => { 27543 if( type == 'schedule' ) { 27544 if(host.iotum_domain){ 27545 var url = `https://${host.iotum_domain}/auth?host_id=${host.host_id}&login_token_public_key=${host.login_token_public_key}&redirect_url=conf/conferences/schedule`; 27546 var options = 'directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,resizable=no,width=1200,height=900'; 27547 var openWin = window.open(url,'_blank',options); 27548 } else { 27549 console.log('Invalid host', host); 27550 } 27551 return; 27552 } else if ( type == 'start') { 27553 // take in placeholder of video session 27554 if (session_id == 'xx') { 27555 session_id = null; 27556 } 27557 27558 if (session_id == null) { 27559 //generate session_id else API will create an arbitrary one that might not match existing session_id in portal cache message_sessions 27560 session_id = generateSessionId(sub_domain, null, sub_user+'@'+sub_domain, ext+'@'+sub_domain, null, null, session_id); 27561 } 27562 27563 netsapiens.api.v2({ object: 'video', action: 'post', data: { participants: ext } }, `domains/${sub_domain}/users/${sub_user}/video/conference`) 27564 .then((conference) => { 27565 var meeting_room = conference.one_time_access_code ? `/conf/call/${conference.one_time_access_code}` : conference.room_url; 27566 var rediect_to = isScreen ? `${meeting_room}?joinScreenShare=true` : meeting_room; 27567 var url = `https://${host.iotum_domain}/auth?host_id=${host.host_id}&login_token_public_key=${host.login_token_public_key}&redirect_url=${rediect_to}`; 27568 console.log('StartVideo url:', url); 27569 var args = { 27570 object: 'message', 27571 action: 'create', 27572 type: 'chat-video-invite', 27573 domain: sub_domain, 27574 user: sub_user, 27575 session_id: session_id, 27576 message: conference.room_url, 27577 destination: destArray 27578 } 27579 27580 // do not send a self-message when starting a video conference with just yourself 27581 if (ext == sub_user) { 27582 var options = 'directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,resizable=no,width=1200,height=900'; 27583 var openWin = window.open(url,'_blank',options); 27584 27585 return; 27586 } 27587 27588 console.log('Video Invite session:', session_id);
27589 netsapiens.api.post(args).then(function(){ 27590 var options = 'directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,resizable=no,width=1200,height=900'; 27591 var openWin = window.open(url,'_blank',options); 27592 }); 27593 }) 27594 .catch((e) => { 27595 console.error(e); 27596 }); 27597 } 27598 return; 27599 }).catch((e) => { 27600 console.error('startVideo error:',e); 27601 return; 27602 }); 27603 } else if (PORTAL_VIDEO_ENABLED) { 27604 // this is video meeting with just myself 27605 if (ext && ext == sub_user) { 27606 if (type == 'start') { 27607 let url = 'https://' + server_name + '/video/start'; 27608 var options = 'directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,resizable=no,width=1200,height=900'; 27609 var openWin = window.open(url,'_blank',options); 27610 } else if (type == 'schedule') { 27611 let url = 'https://' + server_name + '/video/'+type; 27612 var options = 'directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,resizable=no,width=1200,height=900'; 27613 var openWin = window.open(url,'_blank',options); 27614 } 27615 return; 27616 } 27617 27618 // keep the scheduling, should just open schedule url 27619 let url = 'https://' + server_name + '/video/'+type; 27620 if (ext && type == 'schedule') 27621 { 27622 url +='?users=' + ext; 27623 var options = 'directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,resizable=no,width=1200,height=900'; 27624 var openWin = window.open(url,'_blank',options); 27625 return; 27626 } 27627 27628 // take in placeholder of video session 27629 if (session_id == 'xx') { 27630 session_id = null; 27631 } 27632 27633 if (session_id == null) { 27634 //generate session_id else API will create an arbitrary one that might not match existing session_id in portal cache message_sessions 27635 session_id = generateSessionId(sub_domain, null, sub_user+'@'+sub_domain, ext+'@'+sub_domain, null, null, session_id); 27636 } 27637 27638 let meetingId = ''; 27639 // get the meeting ID 27640 var argsCreateMeeting1 = { 27641 object: 'meeting', 27642 action: 'create', 27643 domain: sub_domain, 27644 user: sub_user, 27645 getId: 'yes', 27646 27647 } 27648 netsapiens.api.post(argsCreateMeeting1).then(function(getIdResObj){ 27649 if (typeof getIdResObj == 'string') 27650 getIdResObj = JSON.parse(getIdResObj); 27651 meetingId = getIdResObj.id; 27652 27653 const attendees = []; 27654 attendees.push({ 27655 name: sub_name, 27656 email: sub_email, 27657 role: 'host', 27658 uid: sub_user + '@' + sub_domain, 27659 }); 27660 var createAttendee = { 27661 object: 'meeting', 27662 action: 'create', 27663 format: 'json', 27664 domain: sub_domain, 27665 user: sub_user, 27666 id: meetingId, 27667 name: '', 27668 attendees: JSON.stringify(attendees), 27669 } 27670 27671 netsapiens.api.post(createAttendee).then(function() { 27672 //send message for video invite 27673 var args = { 27674 object: 'message', 27675 action: 'create', 27676 type: 'chat-video-invite', 27677 domain: sub_domain, 27678 user: sub_user, 27679 session_id: session_id, 27680 message: meetingId, //doesnt actually appear anywhere, just placeholder 27681 destination: destArray 27682 } 27683 netsapiens.api.post(args).then(function(){ 27684 let url = 'https://' + server_name + '/video/?id='+meetingId; 27685 if (ext) 27686 url +='&users=' + ext; 27687 if (isScreen) 27688 url += "&ss=1"; 27689 var options = 'directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,resizable=no,width=1200,height=900'; 27690 window.open(url,'_blank',options); 27691 }); 27692 }); 27693 }); 27694 } 27695} 27696 27697function popupShowScreenshare(value, domain, user) {
27698 log("popupShowScreenshare"); 27699 27700 if (value!=null) 27701 { 27702 log(value); 27703 log(value.getId()); 27704 log(value.getRemoteFriendlyName()); 27705 log(value.getRemoteUri()); 27706} 27707 var box = '<div id="screenshare-layout-'+user+'" class="dock-column" style="height: 507px; width:480px"> '; 27708 box =box + ' <div class="dock-column-inner" style="height: 507px; width:470px"> '; 27709 box =box + ' <div class="dock-popup chat-popup" style="display: block;"> '; 27710 box =box + ' <div class="dock-head">'; 27711 box =box + ' <div class="dock-head-buttons"> '; 27712 box =box + ' <i class="dock-minimize icon-minimize icon-white" title="' + _('Minimize') + '"> '; 27713 box =box + ' </i><i class="dock-close icon-remove icon-white"></i></div> '; 27714 box =box + ' <div class="dock-head-title">'; 27715 box =box + ' <i class="icon-picture icon-white"></i><span class="dock-name">'+user+'</span> '; 27716 box =box + ' </div>'; 27717 box =box + ' </div> '; 27718 box =box + ' <div class="dock-body " style="background-color: rgb(255, 255, 255);"> '; 27719 box =box + '<div id="divCallCtrl" class="inDock">'; 27720 27721 27722// box =box + '<div id="divCallCtrl" class=" well" >'; 27723// box =box + ' <table style="width: 100%;">'; 27724// box =box + '<tr><td id="tdVideo" class="tab-video">'; 27725// box =box + '<div id="divVideo" class="div-video"> '; 27726// box =box + ' <div id="divVideoRemote" style="border:1px solid #000; height:100%; width:100%"> '; 27727// box =box + ' <video class="video" width="240px" height="200px" id="video_remote" autoplay="autoplay" style="opacity: 0; '; 27728// box =box + ' background-color: #000000; -webkit-transition-property: opacity; -webkit-transition-duration: 2s;"> '; 27729// box =box + ' </video> '; 27730// box =box + '</div> '; 27731// box =box + '<div id="divVideoLocal" style="border:0px solid #000"> '; 27732// box =box + ' <video class="video" width="88px" height="72px" id="video_local" autoplay="autoplay" muted="true" style="opacity: 0; '; 27733// box =box + ' margin-top: -80px; margin-left: 5px; background-color: #000000; -webkit-transition-property: opacity; '; 27734// box =box + ' -webkit-transition-duration: 2s;"> '; 27735// box =box + ' </video> '; 27736// box =box + ' </div> '; 27737// box =box + ' </div> '; 27738// box =box + ' </td></tr> '; 27739// box =box + ' </table >'; 27740// box =box + ' </div> '; 27741 box =box + ' </div> '; 27742 box =box + ''; 27743 box =box + '</div> '; 27744// box =box + ' <div class="chat-message-field input-append hide" style="display: block;"> '; 27745// box =box + ' <input id="chat-new-message-box-'+user+'" class="chat-message-box" type="text" placeholder="Enter chat message" > '; 27746// box =box + ' <button type="button" class="btn" onclick="sendPrivateMessage(\''+user+'\')" title="' + _('Send') + '"> '; 27747// box =box + ' <i class="icon-arrow-right" ></i></button></div> '; 27748// box =box + ' </div>' ; 27749 log(box); 27750 27751 $('.dock-popup-overlay').prepend(box); 27752 27753 $( ".divCallCtrlHidden" ).clone(true,true).appendTo( "#screenshare-layout-"+user+" .dock-body" ); 27754 //$( ".divCallCtrlHidden" ).remove(); 27755 27756 $( ".divBtnCallGroup" ).append( '<button id="btnFull" class="btn btn-primary" onclick="toggleFullScreen();" value="Full Screen">Full Screen</button>' ); 27757 27758 27759 27760 dockHeight(); 27761 27762 $('#btnCall').click(function() { 27763 //alert( "Handler for .click() called." ); 27764 sipCall("answer"); 27765 }); 27766 27767 $('#btnFullScreen').click(function() { 27768 toggleFullScreen(); 27769 //alert( "Handler for .click() called." ); 27770 // sipCall("answer"); 27771 }); 27772 27773 27774 27775// uiBtnCallSetText('Answer'); 27776// btnHangUp.value = 'Reject'; 27777// btnCall.disabled = false; 27778// btnHangUp.disabled = false; 27779// 27780// startRingTone(); 27781 27782 27783 27784 //trigger send button when pressing enter in chat message field 27785 // $('.chat-message-box').on("keyup", function(e) { 27786 // if(e.which == 13) 27787 // $(this).next().trigger("click"); 27788 // }); 27789 27790 dockHeight(); 27791} 27792 27793function popupShowScreenshare2(value, domain, user) {
27794 log("popupShowScreenshare"); 27795 log(value); 27796 log(value.getId()); 27797 log(value.getRemoteFriendlyName()); 27798 log(value.getRemoteUri()); 27799 27800 27801 27802 //var tmpid = "" + value.orig_callid + "_" + value.term_callid + "_" + value.term_uri; 27803 var callId = value.getRemoteFriendlyName() +"_"+value.getId()+domain; 27804 //log(value); 27805 27806 var popupId = '#popcall-popup-' + callId; 27807 var popoutBody = popupId + ' .popcall-body'; 27808 var panelContent = popupId + ' .popcall-panel-content'; 27809 var answerButton = popupId + ' .popcall-answer'; 27810 var callButtons = popupId + ' .popcall-buttons'; 27811 var holdButton = popupId + ' .popcall-hold'; 27812 var holdLabel = popupId + ' .popcall-onhold'; 27813 var endButton = popupId + ' .popcall-end'; 27814 var rejectButton = popupId + ' .popcall-reject'; 27815 var transButton = popupId + ' .popcall-transfer'; 27816 var completeButton = popupId + ' .popcall-complete'; 27817 var callFields = popupId + ' .popcall-fields'; 27818 27819 var calltype = "inbound"; 27820 var number = user; 27821 var name = "no name yet"; 27822 27823 27824 27825 var popupHtml = ""; 27826 popupHtml += '<div class="popcall-panel">'; 27827 27828 if (calltype == "monitor") { 27829 27830 popupHtml += '<div class="popcall-panel-content">' + '<h3 class="popcall-number">' ; 27831 number = " "; 27832 name = " "; 27833 } 27834 else if (calltype == "inbound") { 27835 popupHtml += '<div class="popcall-panel-content">' + '<h4>Incoming Call</h4>' + '<h3 class="popcall-number">' + number; 27836 } else { 27837 popupHtml += '<div class="popcall-panel-content">' + '<h4>Outbound Call</h4>' + '<h3 class="popcall-number">' + number; 27838 //popupHtml += '<div class="popcall-panel-content">' + '<h3 class="popcall-number">'; 27839 } 27840 27841 27842 popupHtml += '</h3>' + '<form action="/portal/callhistory/notes" id="dispForm" ><div class="popcall-fields">' + '<select name="data[disposition]" class="popcall-disposition hide" id="disposition">' 27843 + '<option value="">Disposition</option>' + '</select>' + '<select name="data[reason]" class="popcall-reason hide" id="reason">' 27844 + '<option value="">Reason</option>' + '</select>' + 27845 27846 '<textarea name="data[notes]" class="popcall-notes hide" placeholder="' + _('Notes') + '"></textarea>' + '</div></form>'; 27847 27848 27849 popupHtml += '</div> <!--/popcall-panel-content-->'; 27850 popupHtml += '<div class="popcall-buttons">'; 27851 27852 if (calltype == "inbound") 27853 popupHtml += '<button class="popcall-reject btn btn-danger"><i class="end"></i>Reject</button><button class="popcall-answer btn btn-success"><i class="answer"></i>Answer</button>'; 27854 else { 27855 popupHtml += '<button class="popcall-end end-outbound btn btn-danger" title="' + _('End') + '"><i class="end"></i></button>'; 27856 } 27857 popupHtml += '</div>'; 27858 popupHtml += '</div> <!--/popcall-panel -->'; 27859 27860 var toPrepend = '<div id="popcall-popup-' + callId + '" class="popcall-popup" >' 27861 + '<div class="popcall-body">' + popupHtml + '</div>' 27862 + '</div>'; 27863 27864 // prepend popout html 27865 log(toPrepend) 27866 $('.popcall-container').prepend(toPrepend); 27867 27868 $(popupId).data("calltype",calltype); 27869 $(popupId).data("number",number); 27870 $(popupId).data("name",name); 27871 27872 //hide dialpad 27873 if ($(".popcall-container .dial-pad").is(":visible")) 27874 $(".popcall-container .dial-pad").animate({ 27875 height:'hide' 27876 },{ 27877 complete: function(){ 27878 $('.dial-pad').remove(); 27879 $('#make-call').button('toggle'); 27880 } 27881 }); 27882 27883 //reveal popout call section 27884 $(popupId).animate({ 27885 height:'show' 27886 }, { 27887 progress: function(){ 27888 resizePopoutContent(); 27889 }, 27890 complete: function() { 27891 log("adding call"); 27892 27893 // function pulse() { 27894 // 27895 // // pulsate active call content for user attention 27896 // $(popoutBody).animate({ 27897 // backgroundColor : "#F3F781" 27898 // }, 700, function() { 27899 // $(this).animate({ 27900 // backgroundColor : "#fff" 27901 // }, 700, pulse); 27902 // }); 27903 // } 27904 } 27905 }); 27906 27907 ; 27908 //$(popupId).show(): 27909 27910 27911 // clicking answer stops pulse and shows button group 27912 $(document).on( 27913 'click', 27914 answerButton, 27915 function() { 27916 $(answerButton).prop("disabled", true);; 27917 $(rejectButton).prop("disabled", true);; 27918 27919 $.post("/portal/calls/answer/" + escapeCallid(value.term_callid) + "/" + cleanDevice(value.term_uri), function() { 27920 }); 27921 27922 //ignoreOrigId.push(value.orig_callid); 27923 ignoreTermId.push(value.term_callid); 27924 intendedAnsOrigId.push(value.orig_callid); 27925 27926 27927 27928 }); 27929 27930 // show complete button after clicking end 27931 $(document).on('click', endButton, function() { 27932 $.post("/portal/calls/terminate/" + escapeCallid(value.orig_callid), function() { 27933 }); 27934 27935 ignoreOrigId.push(value.orig_callid); 27936 27937 if (typeof endButton!="undefined") 27938 $(endButton).prop("disabled", true); 27939 if (typeof holdButton!="undefined") 27940 $(holdButton).prop("disabled", true); 27941 if (typeof transButton!="undefined") 27942 $(transButton).prop("disabled", true); 27943 27944 27945 }); 27946 27947 $(document).on('click', rejectButton, function() {
27948if (value.by_action=="QueueSDispatch" || value.by_action=="QueueSDispatch") 27949 { 27950 $.post("/portal/calls/reject/" + escapeCallid(value.orig_callid)+"/"+value.term_to_uri.replace(":","COLLON"), function() {log('reject call');}); 27951 } 27952 else 27953 $.post("/portal/calls/reject/" + escapeCallid(value.orig_callid), function() {log('reject call');}); 27954 27955 $(answerButton).prop("disabled", true);; 27956 $(rejectButton).prop("disabled", true);; 27957 27958 ignoreOrigId.push(value.orig_callid); 27959 27960 // stop pulsing after clicking answer 27961 $(popoutBody).animate({ 27962 backgroundColor : '#fff' 27963 }).stop(); 27964 27965 // remove inline styles added by .animate() to reset 27966 $('.popcall-container').removeAttr('style'); 27967 27968 //$(callButtons).html('<button class="popcall-complete btn btn-primary">Complete</button>'); 27969 27970 //removes call popup completely 27971 $(popupId).remove(); 27972 27973 //resize content scrollable area 27974 resizePopoutContent(); 27975 }); 27976 27977 // show hold label after clicking hold button 27978 if (typeof holdButton!="undefined") 27979 $(document).on('click',holdButton, function() { 27980 if ($(holdLabel).is(':visible')) { 27981 $.post("/portal/calls/unhold/" + escapeCallid(value.orig_callid), function() { 27982 }).done(function(data) { 27983 $(holdLabel).hide(); 27984 }); 27985 27986 } else { 27987 27988 log('should show hold label'); 27989 if (calltype == "inbound") 27990 $.post("/portal/calls/hold_orig/" + escapeCallid(value.orig_callid), function() { 27991 }).done(function(data) { 27992 $(holdLabel).show(); 27993 log('should show hold label'); 27994 }); 27995 else 27996 $.post("/portal/calls/hold_term/" + escapeCallid(value.orig_callid), function() { 27997 }).done(function(data) { 27998 $(holdLabel).show(); 27999 log('should show hold label'); 28000 }); 28001 28002 } 28003 }); 28004 28005 // hide and remove call display after clicking complete 28006 $(document).on('click', completeButton, function() { 28007 sendDispostion(popupId); 28008 $(popupId).remove(); 28009 28010 ignoreOrigId.push(value.orig_callid); 28011 28012 //resize content scrollable area 28013 resizePopoutContent(); 28014 }); 28015 28016 28017 28018 log("end popoutShowScreenshare function"); 28019 28020 //if (value.time_answer != "0000-00-00 00:00:00") 28021 // popoutModifyCallsameURI($(popupId), value, domain, user); 28022 28023} // end popoutShowCall function 28024 28025function dockShowCall(value, domain, user) { 28026 console.log("dockShowCall"); 28027 console.log("adding active call block"); 28028 console.log(value); 28029 // debugger; 28030 var tmpid = "" + value.orig_callid + "_" + value.term_callid + "_" + value.term_uri; 28031 var callId = tmpid.replace(/[^a-zA-Z0-9]/g, '-'); 28032 //log(value); 28033 var panelId = '#dockcall-' + callId; 28034 var columnId = '#dockcall-column-' + callId; 28035 //log("columnId = " + columnId); 28036 var panelHome = $(panelId); 28037 var dockPopup = columnId + ' .dock-popup'; 28038 var dockBody = columnId + ' .dockcall-body'; 28039 var panelContent = columnId + ' .dockcall-panel-content'; 28040 var answerButton = columnId + ' .dockcall-answer'; 28041 var callButtons = columnId + ' .dockcall-buttons'; 28042 var holdButton = columnId + ' .dockcall-hold'; 28043 var holdLabel = columnId + ' .dockcall-onhold'; 28044 var endButton = columnId + ' .dockcall-end'; 28045 var rejectButton = columnId + ' .dockcall-reject'; 28046 var transButton = columnId + ' .dockcall-transfer'; 28047 var completeButton = columnId + ' .dockcall-complete'; 28048 var callFields = columnId + ' .dockcall-fields'; 28049 28050 var calltype = getType(value, domain, user); 28051 var number = getNumber(value, domain, user); 28052 var name = getName(value, domain, user,number); 28053 28054 //log("columnId set calltype " +columnId); 28055 28056 // if the orig_callid string doesn't contain 'CallToTalk' string but its from the 28057 // "Call-To-Talk app, then return out for the first call(s) executing dockShowCall
28058 // BUT show the active call popup when this string contains 'CallToTalk' -> its the actual active call 28059 var hasString = value.orig_callid.indexOf('CallToTalk') !== -1; 28060 if (value.orig_from_user == "Call-To-Talk" && hasString === false) { 28061 log('not showing dockcall because of Call-To-Talk'); 28062 return; 28063 } 28064 28065 28066 var hasVideoBridge = value.term_to_uri.indexOf('video.bridge') !== -1; 28067 28068 if (hasVideoBridge) { 28069 log('video bridge!, ignoring'); 28070 return; 28071 } 28072 28073 if (value.orig_from_user =="CallPlayAccount" || value.orig_from_user =="Call-Play-Account") { 28074 log('not showing dockcall because of CallPlayAccount'); 28075 return; 28076 } 28077 if (value.orig_from_user =="PromptRetrieve" || value.orig_from_user =="PromptRetrieve") { 28078 log('not showing dockcall because of PromptRetrieve'); 28079 return; 28080 } 28081 else if (name =="PromptRetrieve" || name =="PromptRetrieve") { 28082 log('not showing dockcall because of PromptRetrieve'); 28083 return; 28084 } 28085 else if (number =="PromptRetrieve" || number =="PromptRetrieve") { 28086 log('not showing dockcall because of PromptRetrieve'); 28087 return; 28088 } 28089 28090 else if (value.orig_to_user.startsWith("X") && value.orig_sub ==sub_user) { 28091 log('not showing dockcall because of of transfer completion'); 28092 return; 28093 } 28094 else if (value.orig_to_user.startsWith("X") && value.by_sub ==sub_user && value.term_sub !=sub_user) { 28095 log('not showing dockcall because of of transfer completion'); 28096 return; 28097 } 28098 28099 28100 if (value.term_to_uri == "VMail" && sub_user == value.term_sub) { 28101 ignoreOrigId.push(value.orig_callid); 28102 log('not showing dockcall because of VMail'); 28103 return; 28104 } 28105 28106 28107 28108 //log('calltype: ' + calltype); 28109 //log('number: ' + number); 28110 //log('name: ' + name); 28111 28112 28113 28114 //log(value); 28115 //log("test calltype " + $(columnId).data("calltype")); 28116 28117 if (value.term_match.indexOf("w@") !== -1 && value.orig_match.indexOf("w@") !== -1) 28118 { 28119 if (value.media =="VP8"|| value.media =="H264"|| value.media =="H265" || value.media =="VP9") 28120 { 28121 log('not showing dockcall because of w@ and video codec'); 28122 return; 28123 } 28124 } 28125 if (value.term_match.indexOf("vb@") !== -1 && value.orig_match.indexOf("vb@") !== -1) 28126 { 28127 if (value.media =="VP8"|| value.media =="H264"|| value.media =="H265"|| value.media =="VP9") 28128 { 28129 log('not showing dockcall because of vb@ and video codec'); 28130 return; 28131 } 28132 } 28133 if (value.term_match.indexOf("sip:data") !== -1 && value.orig_match.indexOf("sip:data") !== -1) 28134 { 28135 log('not showing dockcall because of sip:data'); 28136 ignoreOrigId.push(value.orig_callid); 28137 return; 28138 } 28139 28140 if (calltype == "inbound") { 28141 28142 if (value.term_match.indexOf("wp@") !== -1) 28143 { 28144 log('not showing dockcall because of wp@'); 28145 //ignoreOrigId.push(value.orig_callid); 28146 return; 28147 } 28148 28149 if (value.term_match.indexOf("sip:data") !== -1) 28150 { 28151 log('not showing dockcall because of sip:data'); 28152 ignoreOrigId.push(value.orig_callid); 28153 return; 28154 } 28155 28156 if (value.term_match.indexOf("vb@") !== -1) 28157 { 28158 log('not showing dockcall because of w@'); 28159 ignoreTermId.push(value.term_callid); 28160 return; 28161 } 28162 28163 if (value.term_match.indexOf("conference-bridge") !== -1) 28164 if (hideInboundConferencePopups) 28165 { 28166 log('not showing dockcall because of conference-bridge'); 28167 ignoreOrigId.push(value.orig_callid); 28168 return; 28169 } 28170 28171 } 28172 else 28173 { 28174 if (value.orig_match.indexOf("wp@") !== -1) 28175 { 28176 log('not showing dockcall because of wp@'); 28177 ignoreOrigId.push(value.orig_callid); 28178 return; 28179 } 28180 if (value.orig_match.indexOf("vb@") !== -1) 28181 { 28182 log('not showing dockcall because of vb@'); 28183 ignoreOrigId.push(value.orig_callid); 28184 return; 28185 } 28186 if (value.orig_match.indexOf("conference-bridge") !== -1) 28187 { 28188 if (hideInboundConferencePopups) 28189 { 28190 log('not showing dockcall because of conference-bridge'); 28191 ignoreOrigId.push(value.orig_callid); 28192 return; 28193 } 28194 } 28195 } 28196 28197 var popupHtml = ""; 28198 popupHtml += '<div id="dockcall-' + callId + '" orig_callid="' + value.orig_callid.replace(/[^a-zA-Z0-9]/g, '-') + '" term_callid="' 28199 + value.term_callid.replace(/[^a-zA-Z0-9]/g, '-') + '" class="dockcall-panel">'; 28200 28201 if (calltype == "monitor") { 28202 28203 popupHtml += '<div class="dockcall-panel-content">' + '<h3 class="dockcall-number">' ; 28204 number = " "; 28205 name = " "; 28206 }
28207 else if (calltype == "inbound") { 28208 popupHtml += '<div class="dockcall-panel-content">' + '<h4>' + _('Incoming Call') + '</h4>' + '<h3 class="dockcall-number">' + number; 28209 } else { 28210 popupHtml += '<div class="dockcall-panel-content">' + '<h4>' + _('Outbound Call') + '</h4>' + '<h3 class="dockcall-number">' + number; 28211 //popupHtml += '<div class="dockcall-panel-content">' + '<h3 class="dockcall-number">'; 28212 } 28213 28214 if (calltype == "monitor") { 28215 popupHtml += '</h3>' + '<div class="loading-lg"></div>' + '<div class="dockcall-monitor hide">' 28216 + '<h4 class="dockcall-orignumber">' + number +'</h4>' 28217 + '<h5 class="dockcall-origname">' + number +'</h5>' 28218 + '<h4>+</h4>' 28219 + '<h4 class="dockcall-termnumber">' + number +'</h4>' 28220 + '<button class="btn barge-btn" value="barge_in">' +_("Join Call") +'</button>' 28221 + '<button class="btn hide wisper-orig-btn" value="wisper_orig">' + _('Whisper Orig') + '</button>' 28222 + '<button class="btn hide wisper-term-btn" value="wisper_term">' + _('Whisper Term') + '</button>' 28223 + '<button class="btn listen-btn hide" value="listen">' + _('Listen Only') + '</button>' 28224 28225 '' + '</div>'; 28226 } 28227 else 28228 { 28229 popupHtml += '</h3>' + '<form action="/portal/callhistory/notes" id="dispForm" ><div class="dockcall-fields">' + '<select name="data[disposition]" class="dockcall-disposition hide" id="disposition">' 28230 + '<option value="">' + _('Disposition') + '</option>' + '</select>' + '<select name="data[reason]" class="dockcall-reason hide" id="reason">' 28231 + '<option value="">' + _('Reason') + '</option>' + '</select>' + 28232 28233 '<textarea name="data[notes]" class="dockcall-notes hide" placeholder="' + _('Notes') + '"></textarea>' + '</div></form>'; 28234 } 28235 28236 popupHtml += '</div> <!--/dockcall-panel-content-->'; 28237 popupHtml += '<div class="dockcall-buttons">'; 28238 28239 if (value.by_action=="ForwardSRing") 28240 { 28241 popupHtml += '<h5 class="forward-select hide">' + _('Answer using:') + '<select></select></h5> '; 28242 } 28243 28244 if (calltype == "monitor") { 28245 //##TODO add in monitor options 28246 name = _("Audio Monitoring"); 28247 } 28248 else if (value.orig_from_user =="Call-To-Talk") 28249 { 28250 28251 } 28252 else if (calltype == "inbound") 28253 popupHtml += '<button class="dockcall-reject btn btn-danger"><i class="end"></i>Reject</button><button class="dockcall-answer btn btn-success"><i class="answer"></i>Answer</button>'; 28254 else { 28255 popupHtml += '<button class="dockcall-end end-outbound btn btn-danger" title="' + _('End') + '"><i class="end"></i></button>'; 28256 } 28257 popupHtml += '</div>'; 28258 popupHtml += '</div> <!--/dockcall-panel -->'; 28259 28260 var toPrepend = '<div id="dockcall-column-' + callId + '"class="dock-column dockcall-column" orig_callid="' 28261 + value.orig_callid.replace(/[^a-zA-Z0-9]/g, '-') + '" term_callid="' + value.term_callid.replace(/[^a-zA-Z0-9]/g, '-') 28262 + '" >' + '<div class="dock-column-inner">' + '<div class="dock-popup">' 28263 + '<div class="dock-head">' 28264 + '<div class="dock-head-buttons">' 28265 + '<span class="dockcall-onhold label label-important hide">' + _('On Hold') + '</span>' 28266 + '<button class="dock-minimize dock-head-button" title="' + _('Minimize') + '"><i class="icon-minimize icon-white" title="Minimize"></i></button>' 28267 + '<button class="dock-close dock-head-button" title="' + _('Close') + '"><i class="icon-remove icon-white"></i></button>' 28268 + '</div>' 28269 + '<div class="dock-head-title">' 28270 + '<i class="icon-call icon-white"></i><span class="dock-name">' + name + ' </span>' 28271 + '</div>' 28272 + '</div>' 28273 + '<div class="dock-body dockcall-body">' + popupHtml + '</div>' 28274 + '</div>' + '</div>' + '</div>'; 28275 28276 // prepend dock html 28277 $('.dock-popup-overlay').prepend(toPrepend); 28278 28279 var termIds = [value.term_callid.replace(/[^a-zA-Z0-9]/g, '-')]; 28280 28281 // adjust dock column height to show call popup 28282 dockHeight(); 28283 28284 28285 setTimeout(function(columnId) { 28286 if($(columnId + " .dockcall-reject :visible").length) 28287 { 28288 ignoreTermId.push($(columnId).data("term_callid")); 28289 $(columnId).remove(); 28290 } 28291 }, 60000,columnId); 28292 28293 $(columnId).data('termIds',termIds); 28294 $(columnId).data("calltype",calltype); 28295 $(columnId).data("number",number); 28296 $(columnId).data("name",name); 28297 $(columnId).data("orig_callid",value.orig_callid); 28298 $(columnId).data("term_callid",value.term_callid); 28299 $(columnId).data("batch_tim_beg",value.time_start); 28300 28301 if (value.by_action=="ForwardSRing") 28302 { 28303 log("is sim ring"); 28304 var termDevices = []; 28305 if (value.term_domain == value.term_to_uri.substring( value.term_to_uri.indexOf('@')+1) ) 28306 if (!$.inArray(value.term_to_uri, termDevices)) 28307 termDevices.push(value.term_to_uri); 28308 $(columnId).data("termDevices",termDevices); 28309 } 28310 28311 28312 if (calltype == "monitor") { 28313 monitorIds.push(getMonitorId(value)); 28314 $(columnId).data("monitorId", getMonitorId(value)); 28315 $(columnId).data("legCount", 0); 28316 //$(columnId).hide(); 28317 } 28318 28319 28320 // debugger; 28321 $(dockPopup).hide().show("slide", { 28322 direction : "down" 28323 }, 500, function() { 28324 28325 28326 28327 // if (value.by_action == "MoveTo") { 28328 // } else if (value.time_answer == "0000-00-00 00:00:00") { 28329 // debugger;
28330 // if (calltype == "inbound") 28331 // pulse(); 28332 // } else { 28333 // debugger; 28334 // } 28335 // function pulse() { 28336 // // pulsate active call content for user attention 28337 // $(dockBody).animate({ 28338 // backgroundColor : "#F3F781" 28339 // }, 700, function() { 28340 // $(this).animate({ 28341 // backgroundColor : "#fff" 28342 // }, 700, pulse); 28343 // }); 28344 // } 28345 }); 28346 28347 // clicking answer stops pulse and shows button group 28348 $(document).on( 28349 'click', 28350 answerButton, 28351 function() { 28352 $(answerButton).prop("disabled", true);; 28353 $(rejectButton).prop("disabled", true);; 28354 var callID = value.term_callid; 28355// if (typeof value.by_callid != 'undefined' 28356// && value.by_callid != "") { 28357// callID = value.by_callid; 28358// } 28359 28360 $.post("/portal/calls/answer/" + escapeCallid(callID) + "/" + cleanDevice(value.term_uri), function() { 28361 }); 28362 28363 //ignoreOrigId.push(value.orig_callid); 28364 ignoreTermId.push(value.term_callid); 28365 intendedAnsOrigId.push(value.orig_callid); 28366 //// stop pulsing after clicking answer 28367 //$(dockBody).animate({ 28368 // backgroundColor : '#fff' 28369 //}).stop(); 28370 // 28371 //$(panelContent + ' h3').remove(); 28372 // 28373 //// if not showing disposition fields, show active call 28374 //// message 28375 //$(panelContent + ' h4').text('Active Call'); 28376 // 28377 //$(panelContent).prepend( 28378 // '<div class="dockcall-info">' + '<h5 class="dockcall-name">' + number + '<span gmt_answer="' + value.time_answer 28379 // + '" class="dockcall-timer duration_counter pull-right">00:00</span>' + '</h5>' + '</div>'); 28380 // 28381 //// slide reveal cdr fields 28382 //// $(callFields).slideDown(400); 28383 // 28384 //// show call handling buttons after answering 28385 //$(callButtons).html( 28386 // '<div class="btn-group dockcall-callactions"><button class="dockcall-hold btn" data-toggle="button" title="' + _('Hold') + '"><i class="hold"></i></button>' 28387 // + '<button class="dockcall-end btn btn-danger" title="' + _('End') + '"><i class="end"></i></button>' 28388 // + '<button class="dockcall-transfer btn" title="' + _('Transfer') + '"><i class="transfer"></i></button></div>'); 28389 28390 }); 28391 28392 // show complete button after clicking end 28393 $(document).on('click', endButton, function() { 28394 28395 $.post("/portal/calls/terminate/" + escapeCallid(value.term_callid), function() { 28396 }); 28397 28398 ignoreOrigId.push(value.orig_callid); 28399 28400 if (typeof endButton!="undefined") 28401 $(endButton).prop("disabled", true); 28402 if (typeof holdButton!="undefined") 28403 $(holdButton).prop("disabled", true); 28404 if (typeof transButton!="undefined") 28405 $(transButton).prop("disabled", true); 28406 28407 // stop pulsing after clicking answer 28408 //$(dockBody).animate({ 28409 // backgroundColor : '#fff' 28410 //}).stop(); 28411 // 28412 //$(callButtons).html('<button class="dockcall-complete btn btn-primary">Complete</button>'); 28413 }); 28414 28415 $(document).on('click', rejectButton, function() { 28416 if (value.by_action=="QueueSDispatch" || value.by_action=="QueueSDispatch") 28417 { 28418 $.post("/portal/calls/reject/" + value.orig_callid+"/"+value.term_to_uri.replace(":","COLLON"), function() {log('reject call');}); 28419 } 28420 else 28421 $.post("/portal/calls/reject/" + value.orig_callid, function() {}); 28422 28423 $(answerButton).prop("disabled", true);; 28424 $(rejectButton).prop("disabled", true);; 28425 28426 ignoreOrigId.push(value.orig_callid); 28427 28428 // stop pulsing after clicking answer 28429 $(dockBody).animate({ 28430 backgroundColor : '#fff' 28431 }).stop(); 28432 28433 $(callButtons).html('<button class="dockcall-complete btn btn-primary">Complete</button>'); 28434 $(columnId).remove(); 28435 }); 28436 28437 // show hold label after clicking hold button 28438 if (typeof holdButton!="undefined") 28439 $(document).on('click',holdButton, function() { 28440 if ($(holdLabel).is(':visible')) { 28441 $.post("/portal/calls/unhold/" + value.orig_callid, function() { 28442 }).done(function(data) { 28443 $(holdLabel).hide(); 28444 }); 28445 28446 } else { 28447
28448 if (calltype == "inbound") 28449 $.post("/portal/calls/hold_orig/" + value.orig_callid, function() { 28450 }).done(function(data) { 28451 $(holdLabel).show(); 28452 }); 28453 else 28454 $.post("/portal/calls/hold_term/" + value.orig_callid, function() { 28455 }).done(function(data) { 28456 $(holdLabel).show(); 28457 }); 28458 28459 } 28460 }); 28461 28462 // hide and remove call display after clicking complete 28463 $(document).on('click', completeButton, function() { 28464 sendDispostion(columnId); 28465 $(columnId).remove(); 28466 28467 ignoreOrigId.push(value.orig_callid); 28468 28469 log(columnId.replace("#","")); 28470 $.removeCookie("notes"+columnId.replace("#","")); 28471 28472 }); 28473 28474 if (value.time_answer != "0000-00-00 00:00:00") 28475 dockModifyCallsameURI($(columnId), value, domain, user); 28476 28477 if (calltype == "inbound" && PORTAL_HTML5_NOTIFICATIONS) 28478 notifyInbound(value.orig_callid.replace(/[^a-zA-Z0-9]/g, '-'),name,cleanDevicePrep(number),number); 28479 28480 28481} // end dockShowCall function 28482 28483function browser_support_notification() 28484{ 28485 return window.webkitNotifications; 28486} 28487 28488function request_permission() 28489{ 28490 if (window.webkitNotifications.checkPermission() == 0) { 28491 } else { 28492 window.webkitNotifications.requestPermission(); 28493 } 28494} 28495 28496function plain_text_notification(image, title, content) 28497{ 28498 if (window.webkitNotifications.checkPermission() == 0) { 28499 return window.webkitNotifications.createNotification(image, title, content); 28500 } 28501} 28502 28503var notifyArray = {}; 28504function notifyInbound(callid, cname, number, clean) { 28505 if ($(window).data("prevType") !="blur") 28506 return; 28507 if (window.webkitNotifications) { 28508 if (typeof notifyArray[callid] != 'undefined') 28509 return; 28510 notifyArray[callid] = plain_text_notification("/portal/img/buttons/inbound.png", cname, clean); 28511 if (typeof notifyArray[callid] == 'undefined') 28512 return; 28513 notifyArray[callid].show(); 28514 notifyArray[callid].ondisplay = function(event) { 28515 setTimeout(function() { 28516 event.currentTarget.cancel(); 28517 }, 10000); 28518 }; 28519 notifyArray[callid].onclick = function(event) { 28520 if (typeof PORTAL_AGENT_SCREEN_POP_URL != "undefined" && PORTAL_AGENT_SCREEN_POP_URL != "") 28521 window.open("http://www.google.com/?q=" + number, '_blank'); 28522 notifyArray[callid].close(); 28523 notifyArray.splice(callid,1); 28524 }; 28525 } else { 28526 log("Notifications are not supported for this Browser/OS version yet."); 28527 } 28528} 28529 28530 28531$(window).on("blur focus", function(e) { 28532 28533 //log("prevType="+$(window).data("prevType")); 28534 28535 if ($(window).data("prevType") != e.type) { // reduce double fire issues 28536 switch (e.type) { 28537 case "blur": 28538 break; 28539 case "focus": 28540 // do work 28541 break; 28542 } 28543 } 28544 28545 $(window).data("prevType", e.type); 28546}) 28547 28548function sendDispostion(columnId) 28549{ 28550 log("sendDispostion"); 28551 log(columnId); 28552 var disposition = columnId + ' .dockcall-disposition'; 28553 var reason = columnId + ' .dockcall-reason'; 28554 var notes = columnId + ' .dockcall-notes'; 28555 28556 28557 var url = "/portal/callhistory/notes/"+escapeCallid($(columnId).data("orig_callid"))+"/"+$(columnId).data("term_callid"); 28558 if ($(columnId).data("batch_tim_beg")!=null && $(columnId).data("batch_tim_beg")!="") 28559 url += "/"+escapeCallid($(columnId).data("batch_tim_beg")); 28560 var data = $('#dispForm').serialize(); 28561 log(url); 28562 log(data); 28563 $.post(url, data) 28564 .done(function(data) { 28565 jsFlash(_("Notes Saved")); 28566 }); 28567 28568 28569 28570 28571} 28572 28573/* 28574function dockModifyCallnewURI(dock, value,domain, user) { 28575 var thisId = dock.attr('id'); 28576 log("dockmodify answer id: " +thisId) 28577 $(this).id = rId.replace(/[^a-zA-Z0-9]/g, '-'); 28578 var columnId = '#' + thisId; 28579 var dockBody = columnId + ' .dockcall-body'; 28580 var dockPopup = columnId + ' .dock-popup'; 28581 var callButtons = columnId + ' .dockcall-buttons'; 28582 var callFields = columnId + ' .dockcall-fields'; 28583 var durationField = columnId + '.dockcall-timer'; 28584 28585 $(durationField).attr('gmt_answer', value.time_answer); 28586 $(dockBody).animate({ 28587 backgroundColor : '#fff' 28588 }).stop(); 28589 $(callFields).slideDown(400); 28590 $(callButtons).html( 28591 '<div class="btn-group"><button class="dockcall-hold btn" data-toggle="button">Hold</button>' 28592 + '<button class="dockcall-end btn btn-danger">End</button>
28592' + '<button class="dockcall-transfer btn">Transfer</button>' 28593 + '<button class="dockcall-complete btn btn-primary hide">Complete</button></div>'); 28594 28595}*/ 28596 28597function dockModifyCallsameURI(dock, value, domain, user) { 28598 var thisId = dock.attr('id'); 28599 28600 var columnId = '#' + thisId; 28601 var dockBody = columnId + ' .dockcall-body'; 28602 var callButtons = columnId + ' .dockcall-buttons'; 28603 var callFields = columnId + ' .dockcall-fields'; 28604 var callMonitor = columnId + ' .dockcall-monitor'; 28605 var answerButton = columnId + ' .dockcall-answer'; 28606 var orig_number = columnId + ' .dockcall-orignumber'; 28607 var orig_number = columnId + ' .dockcall-orignumber'; 28608 var disposition = columnId + ' .dockcall-disposition'; 28609 var endButton = columnId + ' .dockcall-end'; 28610 var reason = columnId + ' .dockcall-reason'; 28611 var notes = columnId + ' .dockcall-notes'; 28612 28613 var orig_name = columnId + ' .dockcall-origname'; 28614 var term_number = columnId + ' .dockcall-termnumber'; 28615 var panelContent = columnId + ' .dockcall-panel-content'; 28616 var panelInfo = columnId + ' .dockcall-info'; 28617 var monitorActions = columnId + ' .dockcall-action'; 28618 var monitorActionsBarge = columnId + ' .barge-btn'; 28619 var monitorActionsOrig = columnId + ' .wisper-orig-btn'; 28620 var monitorActionsTerm = columnId + ' .wisper-term-btn'; 28621 var monitorActionsListen = columnId + ' .listen-btn'; 28622 var recordBtn = columnId + ' .dockcall-record'; 28623 var transButton = columnId + ' .dockcall-transfer'; 28624 28625 var calltype = getType(value, domain, user); 28626 var number = getNumber(value, domain, user); 28627 var name = getName(value, domain, user,number); 28628 28629 //log('calltype: ' + calltype); 28630 //log('number: ' + number); 28631 //log('name: ' + name); 28632 28633 //var number = ' '; 28634 var termIds = dock.data('termIds'); 28635 //log(termIds); 28636 var termid = value.term_callid.replace(/[^a-zA-Z0-9]/g, '-'); 28637 28638 var termIdFound = false; 28639 for (var key in termIds) 28640 { 28641 if (termIds['key'] ==termid) 28642 { 28643 //log('found this termid already'); 28644 termIdFound=true; 28645 } 28646 28647 } 28648 28649 if (value.orig_from_user =="PromptRetrieve" || value.orig_from_user =="PromptRetrieve") 28650 { 28651 if(typeof ignoreOrigId != 'undefined' ) 28652 ignoreOrigId.push(value.orig_callid); 28653 $(columnId).remove(); 28654 return; 28655 } 28656 else if (name =="PromptRetrieve" || name =="PromptRetrieve") 28657 { 28658 if(typeof ignoreOrigId != 'undefined' ) 28659 ignoreOrigId.push(value.orig_callid); 28660 $(columnId).remove(); 28661 return; 28662 } 28663 else if (value.by_action == "XferSup" && sub_user == value.by_sub ) 28664 { 28665 if(typeof ignoreOrigId != 'undefined' ) 28666 ignoreOrigId.push(value.orig_callid); 28667 $(columnId).remove(); 28668 return; 28669 } 28670 28671 if (value.term_to_uri == "VMail" && sub_user == value.term_sub) { 28672 if(typeof ignoreOrigId != 'undefined' ) 28673 ignoreOrigId.push(value.orig_callid); 28674 $(columnId).remove(); 28675 return; 28676 } 28677 28678 28679 28680 $(columnId).data("term_callid",value.term_callid); 28681 28682 if (!termIdFound && typeof termIds.push == 'function') 28683 termIds.push(termid); 28684 28685 28686 var curLegCount = parseInt($(columnId).data("legCount")); 28687 28688 log("curLegCount="+curLegCount ); 28689 28690 if (calltype =="monitor") 28691 { 28692 log('calltype monnitor searching : ' ); 28693 log(value.orig_call_info ); 28694 28695 if (value.term_logi_uri.indexOf("conference-bridge")) 28696 $(columnId).data("confbridge_id",value.term_logi_uri); 28697 //log(value.term_call_info ); 28698 if (value.orig_call_info.indexOf("orig") !== -1) { 28699 if (typeof $(columnId).data("orig_tap_callid") != 'undefined') 28700 $(columnId).data("legCount",curLegCount+1); 28701 $(columnId).data("orig_tap_callid",value.term_callid); 28702 $(columnId).data("tap_callid",value.by_callid); 28703 28704 log("origIsAgent?"); 28705 log(value); 28706 $(columnId).data("origIsAgent",value.by_callid); 28707 log('found the orig leg '+$(columnId).data("orig_tap_callid")); 28708 28709 28710 } 28711 else if (value.orig_call_info.indexOf("term") !== -1) { 28712 if (typeof $(columnId).data("term_tap_callid") != 'undefined') 28713 $(columnId).data("legCount",curLegCount+1); 28714 $(columnId).data("term_tap_callid",value.term_callid); 28715 $(columnId).data("tap_callid",value.by_callid);
28716 log('found the term leg '+$(columnId).data("term_tap_callid")); 28717 } 28718 else if (value.orig_call_info.indexOf("tap-listen") !== -1) { 28719 if (typeof $(columnId).data("tap-listen1") != 'undefined') 28720 { 28721 if ($(columnId).data("tap-listen1")!=value.term_callid) 28722 { 28723 if ($(columnId).data("tap-listen2") != value.term_callid) 28724 if ($(columnId).data("tap-listen1") != value.term_callid) 28725 $(columnId).data("legCount",curLegCount+1); 28726 $(columnId).data("tap-listen2",value.term_callid); 28727 $(columnId).data("tap_callid",value.by_callid); 28728 log('found a unknown leg 2 '+$(columnId).data("tap-listen2")); 28729 } 28730 } 28731 else 28732 { 28733 if (typeof $(columnId).data("tap-listen1") == 'undefined') 28734 $(columnId).data("legCount",curLegCount+1); 28735 $(columnId).data("tap-listen1",value.term_callid); 28736 $(columnId).data("tap_callid",value.by_callid); 28737 log('found a unknown leg 1 '+$(columnId).data("tap-listen1")); 28738 28739 } 28740 28741 28742 } 28743 28744 28745 log("active call legs for monitor is "+$(columnId).data("callLeg")); 28746 curLegCount = parseInt($(columnId).data("legCount")); 28747 28748 log("Two valid Legs check"); 28749 28750 if ((typeof $(columnId).data("term_tap_callid") != 'undefined' && typeof $(columnId).data("orig_tap_callid") != 'undefined') 28751 || curLegCount == 2) 28752 { 28753 log("Two valid Legs"); 28754 //alert("Two valid Legs"); 28755 28756 var allowWisper = true; 28757 var allowWisperHalf = false; 28758 if (typeof $(columnId).data("tap-listen2") != 'undefined') 28759 allowWisper =false; 28760 28761 if (typeof $(columnId).data("term_tap_callid") != 'undefined' || typeof $(columnId).data("term_tap_callid") != 'undefined') { 28762 // have half a leg correct... 28763 allowWisperHalf = true; 28764 } 28765 if (typeof $(columnId).data("term_tap_callid") == 'undefined' || typeof $(columnId).data("orig_tap_callid") == 'undefined') { 28766 if (!allowWisperHalf) 28767 allowWisper =false; 28768 // unknown orig/term. 28769 if (typeof $(columnId).data("orig_tap_callid") == 'undefined') { 28770 $(columnId).data("orig_tap_callid", $(columnId).data("tap-listen1")); 28771 if (typeof $(columnId).data("term_tap_callid") == 'undefined') { 28772 $(columnId).data("term_tap_callid", $(columnId).data("tap-listen2")); 28773 } 28774 } else if (typeof $(columnId).data("term_tap_callid") == 'undefined') { 28775 $(columnId).data("term_tap_callid", $(columnId).data("tap-listen1")); 28776 if (typeof $(columnId).data("orig_tap_callid") == 'undefined') { 28777 $(columnId).data("orig_tap_callid", $(columnId).data("tap-listen2")); 28778 } 28779 } 28780 28781 28782 28783 } 28784 if (allowWisper) 28785 log("allowing wisper"); 28786 else 28787 log("no wisper"); 28788 28789 28790 if (!allowWisper) 28791 { 28792 $(monitorActionsOrig).hide(); 28793 $(monitorActionsTerm).hide(); 28794 //delete $(monitorActionsOrig); 28795 //delete $(monitorActionsTerm); 28796 } 28797 else 28798 { 28799 if ($(columnId).data("monitor-mode")!="barge") 28800 { 28801 $(monitorActionsOrig).show(); 28802 $(monitorActionsTerm).show(); 28803 } 28804 28805 } 28806 28807 28808 var url = '/portal/calls/getCallById/' + $(columnId).data("tap_callid")+"/term_callid"; 28809 //log(url); 28810 28811 28812 if (!$(columnId).data("lookedupalready")) { 28813 28814 $.getJSON( 28815 url, 28816 function(data) { 28817 log("data retruned. "); 28818 log(data); 28819 28820 if (allowWisper) 28821 $(columnId).data("lookedupalready", true); 28822 28823 if (!allowWisper) 28824 { 28825 $(monitorActionsOrig).hide(); 28826 $(monitorActionsTerm).hide(); 28827 //delete $(monitorActionsOrig); 28828 //delete $(monitorActionsTerm); 28829 }else 28830 { 28831 $(monitorActionsOrig).show(); 28832 $(monitorActionsTerm).show(); 28833 } 28834 28835 $.each(data, function(key, val) { 28836 log("key=" + key); 28837 if (key == "orig_match") { 28838 var containsStar =false; 28839 if(val.indexOf("*") > -1) 28840 containsStar = true; 28841 log("allowWisper" + "=" + allowWisper); 28842 log(key + "=" + val); 28843 log(key + "=" + cleanDevice(val).length ); 28844 log("containsStar" + "=" + containsStar ); 28845 28846 //debugger; 28847 if (containsStar && typeof data.orig_uri != 'undefined' ) 28848 { 28849 val = data.orig_uri; 28850 } 28851 28852 if (allowWisper && cleanDevice(val).length <7 && !containsStar) { 28853 28854 28855 $(monitorActionsOrig).text(_("Whisper to ") + cleanDevice(val)); 28856 $(monitorActionsOrig).data("devicename", cleanDevice(val)); 28857 } 28858 else if (allowWisper) 28859 { 28860 log("REMOVING ORIG"); 28861 log(data); 28862 $(monitorActionsOrig).remove(); 28863 } 28864 28865 $(orig_number).html(cleanDevice(val)); 28866 } 28867 else if (key == "term_uri") { 28868 log(key + "=" + val); 28869 log(key + "=" + cleanDevice(val).length ); 28870 if (allowWisper && cleanDevice(val).length <7) 28871 { 28872 $(monitorActionsTerm).text(_("Whisper to ") + cleanDevice(val)) ; 28873 $(monitorActionsTerm).data("devicename",cleanDevice(val)); 28874 } 28875 else if (allowWisper) 28876 { 28877 log("REMOVING TERM"); 28878 log(data); 28879 $(monitorActionsTerm).remove(); 28880 } 28881 28882 $(term_number).html(cleanDevice(val)); 28883 } else if (key == "orig_name") { 28884 $(orig_name).html(val); 28885 } 28886 28887 }); 28888 28889 $(monitorActionsBarge).off('click'); 28890 $(monitorActionsBarge).on('click', function() { 28891 $(columnId).data("monitor-mode","barge"); 28892 jsFlash(_("Joining Call...")); 28893 var url = "/portal/calls/barge_in/"+escapeCallid($(columnId).data("orig_tap_callid")); 28894 //log(url); 28895 $.post(url).done(function(data) { 28896 28897 28898 }); 28899 var url = "/portal/calls/barge_in/"+escapeCallid($(columnId).data("term_tap_callid")); 28900 //log(url); 28901 28902 $.post(url).done(function(data) { 28903 28904 28905 }); 28906 28907 $(monitorActionsBarge).hide(); 28908 28909 $(monitorActionsOrig).hide(); 28910 $(monitorActionsTerm).hide(); 28911 $(monitorActionsListen).show(); 28912 }); 28913 $(monitorActionsOrig).off('click'); 28914 $(monitorActionsOrig).on('click', function() { 28915 $(columnId).data("monitor-mode","wisper"); 28916 var url = "/portal/calls/barge_in/"+escapeCallid($(columnId).data("orig_tap_callid")); 28917 log(url); 28918 $.post(url).done(function(data) { 28919 28920 jsFlash(String.format(_("Whispering to {0}"), $(monitorActionsOrig).data("devicename"))); 28921 28922 }); 28923 $(monitorActionsOrig).hide(); 28924 $(monitorActionsTerm).hide(); 28925 $(monitorActionsListen).show(); 28926 }); 28927 $(monitorActionsTerm).off('click'); 28928 $(monitorActionsTerm).on('click', function() { 28929 $(columnId).data("monitor-mode","wisper"); 28930 var url = "/portal/calls/barge_in/"+escapeCallid($(columnId).data("term_tap_callid")); 28931 log(url); 28932 $.post(url).done(function(data) { 28933 28934 jsFlash(String.format(_("Whispering to {0}"), $(monitorActionsTerm).data("devicename"))); 28935 28936 28937 }); 28938 $(monitorActionsOrig).hide(); 28939 $(monitorActionsTerm).hide(); 28940 $(monitorActionsListen).show(); 28941 28942 }); 28943 $(monitorActionsListen).off('click'); 28944 $(monitorActionsListen).on('click', function() { 28945 $(columnId).data("monitor-mode","listen"); 28946 var url = "/portal/calls/listen/"+escapeCallid($(columnId).data("orig_tap_callid")); 28947 log(url); 28948 $.post(url).done(function(data) { 28949 28950 }); 28951 var url = "/portal/calls/listen/"+escapeCallid($(columnId).data("term_tap_callid")); 28952 log(url); 28953 $.post(url).done(function(data) { 28954 28955 jsFlash(_("Listening only...")); 28956 28957 28958 }); 28959 $(monitorActionsBarge).show(); 28960 if (allowWisper) 28961 { 28962 $(monitorActionsOrig).show(); 28963 $(monitorActionsTerm).show(); 28964 } 28965 $(monitorActionsListen).hide(); 28966 28967 }); 28968 $(dockBody).find('div.loading-lg').remove(); 28969 $(callMonitor).show(); 28970 28971 }).done(function(data) { 28972 28973 28974 if (!allowWisper) 28975 { 28976 $(monitorActionsOrig).hide(); 28977 $(monitorActionsTerm).hide(); 28978 //delete $(monitorActionsOrig); 28979 //delete $(monitorActionsTerm); 28980 } 28981 28982 }); 28983 28984 } 28985 28986 } 28987 28988 28989 28990 28991 28992 28993 //if ($(panelInfo).length ==0) 28994 // $(panelContent).prepend( 28995 // '<div class="dockcall-info">' + '<h5 class="dockcall-name">' + number + '<span gmt_answer="' + value.time_answer 28996 // + '" class="dockcall-timer duration_counter pull-right">00:00</span>' + '</h5>' + '</div>'); 28997 28998 28999 29000 //if (value.time_answer != "0000-00-00 00:00:00") { 29001 // $(callButtons).html('<div class="btn-group dockcall-callactions"><button class="dockcall-hold btn" data-toggle="button" title="' + _('Hold') + '"><i class="hold"></i></button>' 29002 // + '<button class="dockcall-end btn btn-danger" title="' + _('End') + '"><i class="end"></i></button>'); 29003 29004 //} 29005 29006 } 29007 else 29008 { 29009 if (value.time_answer != "0000-00-00 00:00:00") { 29010 29011 //stop incoming call flashing animation 29012 $(dockBody).animate({ 29013 backgroundColor : '#fff' 29014 }).stop(); 29015 29016 29017 29018 //remove incoming call info 29019 $(panelContent + ' h4').remove(); 29020 $(panelContent + ' h3').remove(); 29021 if (typeof PORTAL_AGENT_SCREEN_POP_URL != 'undefined' && PORTAL_AGENT_SCREEN_POP_URL !="" ) 29022 { 29023 if (calltype =="inbound" && $(dockBody).data("popup")!= true )// 29024 { 29025 if (typeof number != 'undefined' && number.length>9) 29026 { 29027 //log($(columnId).data("term_callid")); 29028 let cookie = $.cookie("popup"+$(columnId).data("term_callid")); 29029 if (typeof cookie == 'undefined' || cookie == null) 29030 { 29031 var date = new Date(); 29032 date.setTime(date.getTime() + (120 * 60 * 1000)); 29033 $.cookie("popup"+$(columnId).data("term_callid"), "true", { expires : date }); 29034 var url = PORTAL_AGENT_SCREEN_POP_URL+cleanDevicePrep(number); 29035 log(url); 29036 var newwindow = window.open(url,'_blank'); 29037 if (newwindow && typeof newwindow != 'undefined'){ 29038 newwindow.focus(); 29039 $(dockBody).data("popup",true); 29040 } 29041 29042 } 29043 29044 } 29045 } 29046 29047 } 29048 if (value.term_uri === "Call-Queue") { 29049 $(panelInfo).remove(); 29050 } 29051 if ($(panelInfo).length ==0) { 29052 29053 if (recordCallButton) { 29054 $(panelContent).prepend( 29055 '<div class="dockcall-info">' 29056 + '<h5 class="dockcall-name extra-call-buttons">' 29057 + '<button class="btn record dockcall-record" data-toggle="button" title="Record Call"><i class="record"></i></button>' 29058 + '<span class="dockcall-calleri
29058d pull-right">' + number + '</span>' 29059 + '<span gmt_answer="' + value.time_answer +'" class="dockcall-timer duration_counter pull-right">00:00</span>' 29060 + '</h5>' 29061 + '</div>'); 29062 } 29063 else { 29064 $(panelContent).prepend( 29065 '<div class="dockcall-info">' 29066 + '<h5 class="dockcall-name">' 29067 + '<span class="dockcall-callerid">' + number + '</span>' 29068 + '<span gmt_answer="' + value.time_answer +'" class="dockcall-timer duration_counter pull-right">00:00</span>' 29069 + '</h5>' 29070 + '</div>'); 29071 } 29072 } 29073 29074 if (value.by_action == "QueueDispatch" || value.by_action == "QueueSDispatch" || value.by_action == "ForwardSRing") 29075 { 29076 log("QueueDispatch"); 29077 if (popup_show_notes) 29078 { 29079 $(notes).show(); 29080 if (typeof inbound_disp != 'undefined' && inbound_disp.length >0 ) 29081 { 29082 if (!$(disposition).is(":visible") ) 29083 { 29084 log("disposition not visible (googd)"); 29085 if (calltype == "inbound") { 29086 $(disposition).empty().hide(); 29087 log("inbound match"); 29088 if (typeof inbound_disp != 'undefined') { 29089 $(disposition).append($("<option />").val("").text(_("Select a Disposition"))); 29090 log("inbound_disp match"); 29091 for ( var i = 0; i < inbound_disp.length; i++) { 29092 log(inbound_disp[i]); 29093 $(disposition).append($("<option />").val(inbound_disp[i]).text(inbound_disp[i])) 29094 .show(); 29095 } 29096 } 29097 //$(reason).hide(); 29098 } 29099 else if (calltype == "outbound") { 29100 $(disposition).empty().hide(); 29101 if (typeof outbound_disp != 'undefined') { 29102 29103 for ( var i = 0; i < outbound_disp.length; i++) { 29104 $(disposition).append($("<option />").val(outbound_disp[i]).text(outbound_disp[i])) 29105 .show(); 29106 } 29107 } 29108 //$(reason).hide(); 29109 } 29110 } 29111 29112 $(reason).empty(); 29113 if (typeof $(disposition).val() != 'undefined' && $(disposition).val()!= null && $(disposition).val()!="") 29114 { 29115 var dispVal = $(disposition).val().replace(/[ /-]/g, ''); 29116 if (calltype == "inbound") 29117 tmp_list = window['in_disp_' + dispVal] || []; 29118 else 29119 tmp_list = window['out_disp_' + dispVal] || []; 29120 29121 if (typeof tmp_list != 'undefined' && tmp_list.length > 0) { 29122 $(reason).append($("<option />").val("").text(_("Select a Disposition First"))); 29123 for ( var i = 0; i < tmp_list.length; i++) { 29124 $(reason).append($("<option />").val(tmp_list[i]).text(tmp_list[i])); 29125 $(reason).show(); 29126 } 29127 } 29128 else 29129 $(reason).hide(); 29130 } 29131 } 29132 } 29133 } 29134 $(disposition).on('change', function() { 29135 $(reason).empty(); 29136 if (typeof $(this).val() != 'undefined' && $(this).val()!="" ) 29137 { 29138 var dispVal = $(this).val().replace(/[ /-]/g, '');
29139 if (calltype == "inbound") 29140 tmp_list = window['in_disp_' + dispVal] || []; 29141 else 29142 tmp_list = window['out_disp_' + dispVal] || []; 29143 29144 if (typeof tmp_list != 'undefined' && tmp_list.length > 0) { 29145 $(reason).append($("<option />").val("").text(_("Select a Reason"))); 29146 for ( var i = 0; i < tmp_list.length; i++) { 29147 $(reason).append($("<option />").val(tmp_list[i]).text(tmp_list[i])); 29148 $(reason).slideDown(); 29149 } 29150 } 29151 else 29152 $(reason).slideUp(); 29153 } 29154 29155 29156 }); 29157 29158 29159 $(recordBtn).off(); 29160 $(recordBtn).on('click', function() { 29161 if ($(recordBtn).data("recording")) 29162 $(recordBtn).data("recording",false); 29163 else 29164 $(recordBtn).data("recording",true); 29165 29166 29167 29168 var url = "/portal/calls/"; 29169 if ($(recordBtn).data("recording")) 29170 url = url+"record_on/"; 29171 else 29172 url = url+"record_off/"; 29173 29174 if (calltype =='outbound') 29175 url = url+ escapeCallid(value.term_callid); 29176 else 29177 url = url+ escapeCallid(value.orig_callid); 29178 29179 log(url); 29180 29181 29182 29183 $.post(url, function() {}) 29184 .fail(function() { 29185 29186 if ($(recordBtn).data("recording")) 29187 { 29188 jsFlash(_("Call recording failed to start!"),"error"); 29189 $(recordBtn).data("recording",false); 29190 $(recordBtn).removeClass('active'); 29191 } 29192 else 29193 { 29194 jsFlash(_("Call recording failed to stop!"),"error"); 29195 $(recordBtn).data("recording",true); 29196 $(recordBtn).addClass('active'); 29197 } 29198 29199 }) 29200 .done(function(data) { 29201 29202 if ($(recordBtn).data("recording")) 29203 jsFlash(_("Call recording has started"), "success"); 29204 else 29205 jsFlash(_("Call recording has stopped"), "success"); 29206 }); 29207 29208 29209 }); 29210 29211 if ($(notes).val()=="") 29212 $(notes).val($.cookie("notes"+thisId)); 29213 29214 if (popup_show_notes) 29215 $(notes).show(); 29216 29217 $(notes).keypress(function() { 29218 29219 var el = this; // copy of this object for further usage 29220 29221 if (timeoutReference) clearTimeout(timeoutReference); 29222 timeoutReference = setTimeout(function() { 29223 updateNotes.call(el,thisId); 29224 }, 1000); 29225 }); 29226 $(notes).blur(function(){ 29227 updateNotes.call(this,thisId); 29228 }); 29229 29230 29231 /* 29232 // show call fields 29233 $(callFields).animate({ 29234 "height" : "toggle", 29235 "opacity" : "toggle" 29236 }, 400); 29237 29238 */ 29239 29240 29241 29242 29243 //generate call control buttons 29244 $(callButtons).html('<div class="btn-group dockcall-callactions"><button class="dockcall-hold btn" data-toggle="button" title="' + _('Hold') + '"><i class="hold"></i></button>' 29245 + '<button class="dockcall-end btn btn-danger" title="' + _('End') + '"><i class="end"></i></button>' 29246 + '<button class="dockcall-transfer btn" data-toggle="button" title="' + _('Transfer') + '"><i class="transfer"></i></button>' 29247 + '</div>' 29248 + '<div class="transfer-field input-append hide"><input id="transfer-autocomplete" class="span2" type="text" placeholder="Enter extension or number">' 29249 + '<button id="transfer' + thisId + '" type="button" class="btn btn-success" disabled><i class="icon-arrow-right"></i></button></div>'); 29250 29251 // show transfer field when transfer button is clicked 29252 $(transButton).click(function() { 29253 //log('transfer button clicked'); 29254 29255 if ($(callButtons + ' .transfer-field').is(':visible')) { 29256 closeTransferMode(); 29257 $(callButtons + ' .transfer-field').animate({ 29258 29259 "height" : "hide", 29260 "opacity" : "hide" 29261 }, 400); 29262 //log('hiding transfer button'); 29263 } 29264 else { 29265 initTransferMode(value); 29266 $(callButtons + ' .transfer-field').animate({ 29267 "height" : "show", 29268 "opacity" : "show" 29269 }, 400); //log('showing transfer button'); 29270 } 29271 }); 29272 29273 $('#transfer-autocomplete').on('focus', function() { 29274 if (typeof addAutoCompleteTransfer != 'undefined') 29275 addAutoCompleteTransfer(); 29276 }); 29277 29278 $('#transfer-autocomplete').keyup(function() { 29279 if($(this).val() != "") { 29280 $('#transfer' + thisId).removeAttr('disabled'); 29281 } else { 29282 $('#transfer' + thisId).prop("disabled", true); 29283 } 29284 }); 29285 29286 $('#transfer' + thisId).click( function() { 29287 var dest = $('#transfer-autocomplete').val() + ""; 29288 var destArray = dest.split(" "); 29289 29290 ignoreOrigId.push(value.orig_callid); 29291 ignoreOrigId.push(value.term_callid); 29292 29293 var url = "/portal/calls/xfer/"; 29294 $('#transfer' + thisId).prop("disabled",true); 29295 if (calltype =='outbound') 29296 url = url+ escapeCallid(value.term_callid) + "/" + destArray[0]; 29297 else 29298 url = url+ escapeCallid(value.orig_callid) + "/" + destArray[0]; 29299 29300 $.post(url).done(function(data) { 29301 29302 jsFlash(String.format(_("Transferring call to {0}"), $('#transfer-autocomplete').val()), "success"); 29303 closeTransferMode(); 29304 $(columnId).remove(); 29305 }); 29306 29307 }); 29308 29309 $(document).on('click', endButton, function(data) { 29310 29311 $.post("/portal/calls/terminate/" + escapeCallid(value.term_callid), function() { 29312 }); 29313 29314 ignoreOrigId.push(value.orig_callid); 29315 29316 if (typeof endButton!="undefined") 29317 $(endButton).prop("disabled", true); 29318 if (typeof holdButton!="undefined") 29319 $(holdButton).prop("disabled", true); 29320 if (typeof transButton!="undefined") 29321 $(transButton).prop("disabled", true); 29322 29323 // stop pulsing after clicking answer 29324 //$(dockBody).animate({ 29325 // backgroundColor : '#fff' 29326 //}).stop(); 29327 // 29328 //$(callButtons).html('<button class="dockcall-complete btn btn-primary">Complete</button>'); 29329 }); 29330 } 29331 else 29332 { 29333 //Still ringing.... 29334 if (value.by_action=="ForwardSRing") 29335 { 29336 29337 var termDevices = $(columnId).data("termDevices"); 29338 if (value.term_domain == value.term_to_uri.substring( value.term_to_uri.indexOf('@')+1)) 29339 { 29340 if ($.inArray(value.term_to_uri, termDevices)=== -1) 29341 termDevices.push(value.term_to_uri); 29342 } 29343 29344 $(columnId).data("termDevices",termDevices); 29345 //log($(columnId).data("termDevices")); 29346 if (termDevices.length >1) 29347 { 29348 //$('.forward-select').empty(); 29349 //for (var key in termDevices) 29350 //{ 29351 // $('.forward-select select').append("<option>"+cleanDevice(termDevices[key])+"</option>"); 29352 //} 29353 // 29354 //$('.forward-select').show(); 29355 29356 29357 $(answerButton).prop("disabled",true); 29358 $(answerButton).attr('title','Disabled on Sim Ring'); 29359 } 29360 29361 } 29362 } 29363 29364 //$(completeButton).on('click', function() {}); 29365 29366 29367 } 29368 29369 29370 29371 // nsModifyRow($(this),value); 29372} 29373 29374function popoutModifyCallsameURI(popup, value, domain, user) { 29375 var thisId = popup.attr('id'); 29376 var popupId = '#' + thisId; 29377 log('popoutModifyCallsameURI: popupId ' + popupId); 29378 var dockBody = popupId + ' .popcall-body'; 29379 var callButtons = popupId + ' .popcall-buttons'; 29380 var callFields = popupId + ' .popcall-fields'; 29381 var callMonitor = popupId + ' .popcall-monitor'; 29382 var answerButton = popupId + ' .popcall-answer'; 29383 var orig_number = popupId + ' .popcall-orignumber'; 29384 var orig_number = popupId + ' .popcall-orignumber'; 29385 var disposition = popupId + ' .popcall-disposition'; 29386 var reason = popupId + ' .popcall-reason'; 29387 var notes = popupId + ' .popcall-notes'; 29388 29389 var orig_name = popupId + ' .popcall-origname'; 29390 var term_number = popupId + ' .popcall-termnumber'; 29391 var panelContent = popupId + ' .popcall-panel-content'; 29392 var panelInfo = popupId + ' .popcall-info'; 29393 var transButton = popupId + ' .popcall-transfer'; 29394 29395 var calltype = getType(value, domain, user); 29396 var number = getNumber(value, domain, user); 29397 var name = getName(value, domain, user,number); 29398 29399 //log('calltype: ' + calltype); 29400 //log('number: ' + number); 29401 //log('name: ' + name); 29402 29403 //var number = ' '; 29404 var termIds = popup.data('termIds'); 29405 //log(termIds); 29406 var termid = value.term_callid.replace(/[^a-zA-Z0-9]/g, '-'); 29407 29408 var termIdFound = false;
29409 for (var key in termIds) 29410 { 29411 if (termIds['key'] ==termid) 29412 { 29413 //log('found this termid already'); 29414 termIdFound=true; 29415 } 29416 29417 } 29418 29419 $(popupId).data("term_callid",value.term_callid); 29420 29421 if (!termIdFound && typeof termIds.push == 'function') 29422 termIds.push(termid); 29423 29424 29425 var curLegCount = parseInt($(popupId).data("legCount")); 29426 29427 log("curLegCount="+curLegCount ); 29428 29429 if (calltype =="monitor") 29430 { 29431 //do nothing... 29432 29433 } 29434 else 29435 { 29436 if (value.time_answer != "0000-00-00 00:00:00") { 29437 29438 log('should be answering: thisId ' + thisId); 29439 29440 //stop incoming call flashing animation 29441 $(dockBody).animate({ 29442 backgroundColor : '#fff' 29443 }).stop(); 29444 29445 if ($(panelContent + ' .popcall-number' ).length == 0) { 29446 //replace inbound/outbound call message 29447 $(panelContent + ' h3').remove(); 29448 $(panelContent + ' h4').html(name).after('<h4 class="popcall-number">' + number +'</h4>'); 29449 } 29450 else { 29451 $(panelContent + ' h4').html(name); 29452 $(panelContent + ' .popcall-number' ).text(number); 29453 } 29454 29455 29456 29457 if ($(panelInfo).length ==0) 29458 $(panelContent).prepend( 29459 '<div class="popcall-info">' + '<h5>Active Call <span class="popcall-onhold label label-important hide">' + _('On Hold') + '</span><span gmt_answer="' + value.time_answer 29460 + '" class="popcall-timer duration_counter pull-right">00:00</span>' + '</h5>' + '</div>'); 29461 29462 29463 29464 29465 if ($(callButtons + ' .popcall-callactions').length ==0) { 29466 //generate call control buttons 29467 $(callButtons).html('<div class="btn-group popcall-callactions"><button class="popcall-hold btn" data-toggle="button" title="' + _('Hold') + '"><i class="hold"></i></button>' 29468 + '<button class="popcall-end btn btn-danger" title="' + _('End') + '"><i class="end"></i></button>' 29469 + '<button class="popcall-transfer btn" data-toggle="button" title="' + _('Transfer') + '"><i class="transfer"></i></button>' 29470 + '</div>' 29471 + '<div class="transfer-field input-append hide"><input id="transfer-autocomplete" class="span2" type="text" placeholder="Enter extension or number">' 29472 + '<button id="transfer' + thisId + '" type="button" class="btn btn-success" disabled><i class="icon-arrow-right"></i></button></div>'); 29473 } 29474 29475 //resize scrollable content to fit with new call popup 29476 resizePopoutContent(); 29477 29478 // show transfer field when transfer button is clicked 29479 $(transButton).off().on('click', function() { 29480 //log('transfer button clicked'); 29481 if ($(callButtons + ' .transfer-field').is(':visible')) { 29482 closeTransferMode(); 29483 $(callButtons + ' .transfer-field').animate({ 29484 "height" : "hide", 29485 "opacity" : "hide" 29486 }, { 29487 progress: function(){ 29488 resizePopoutContent(); 29489 } 29490 }); 29491 //log('hiding transfer button'); 29492 } 29493 else { 29494 initTransferMode(value); 29495 $(callButtons + ' .transfer-field').animate({ 29496 "height" : "show", 29497 "opacity" : "show" 29498 }, { 29499 progress: function(){ 29500 resizePopoutContent(); 29501 } 29502 //log('showing transfer button'); 29503 }); 29504 } 29505 }); 29506 29507 $('#transfer-autocomplete').on('focus', function() { 29508 if (typeof addAutoCompleteTransfer != 'undefined') 29509 addAutoCompleteTransfer(); 29510 }); 29511 29512 $('#transfer-autocomplete').keyup(function() { 29513 if($(this).val() != "") { 29514 $('#transfer' + thisId).removeAttr('disabled'); 29515 } else { 29516 $('#transfer' + thisId).prop("disabled", true); 29517 } 29518 }); 29519 29520 $('#transfer' + thisId).click( function() { 29521 var dest = $('#transfer-autocomplete').val() + ""; 29522 var destArray = dest.split(" "); 29523 29524 ignoreOrigId.push(value.orig_callid); 29525 ignoreOrigId.push(value.term_callid); 29526 29527 var url = "/portal/calls/xfer/"; 29528 $('#transfer' + thisId).prop("disabled",true); 29529 if (calltype =='outbound') 29530 url = url+ value.term_callid + "/" + destArray[0]; 29531 else 29532 url = url+ value.orig_callid + "/" + destArray[0]; 29533 29534 $.post(url).done(function(data) { 29535 29536 jsFlash(String.format(_("Transferring call to {0}"), $('#transfer-autocomplete').val())); 29537 $(callButtons + ' .transfer-field').animate({ 29538 "height" : "hide", 29539 "opacity" : "hide" 29540 }, 400); 29541 $(popupId).remove(); 29542 resizePopoutContent(); 29543 }); 29544 29545 }); 29546 } 29547 else 29548 { 29549 //Still ringing.... 29550 if (value.by_action=="ForwardSRing") 29551 { 29552 29553 var termDevices = $(popupId).data("termDevices"); 29554 if (value.term_domain == value.term_to_uri.substring( value.term_to_uri.indexOf('@')+1)) 29555 { 29556 if ($.inArray(value.term_to_uri, termDevices)=== -1) 29557 termDevices.push(value.term_to_uri); 29558 } 29559 29560 $(popupId).data("termDevices",termDevices); 29561 //log($(columnId).data("termDevices")); 29562 if (termDevices.length >1) 29563 { 29564 //$('.forward-select').empty(); 29565 //for (var key in termDevices) 29566 //{ 29567 // $('.forward-select select').append("<option>"+cleanDevice(termDevices[key])+"</option>"); 29568 //} 29569 // 29570 //$('.forward-select').show(); 29571 29572 29573 $(answerButton).prop("disabled",true); 29574 $(answerButton).attr('title','Disabled on Sim Ring'); 29575 } 29576 29577 } 29578 } 29579 29580 //$(completeButton).on('click', function() {}); 29581 29582 29583 } 29584 29585 29586 29587 // nsModifyRow($(this),value); 29588} 29589 29590function delayedRemove(searchString,orid_id) 29591{ 29592 var rows = $(searchString); 29593 rows.each(function(index) { 29594 if (rows[index].id == orid_id) 29595 {
29596 console.log("removing after delay " + orid_id); 29597 $(this).remove(); 29598 $('.tooltip').hide(); 29599 } 29600 29601 }); 29602} 29603 29604function updateCallLineDomainFull(data) { 29605 if (PORTAL_HOME_OMP_SHOW_MEETING){ 29606 if (data.term_to_uri.includes(".video.bridge") || data.orig_from_uri.includes(".video.bridge")) 29607 return; 29608 if (data.term_to_uri.includes("conference-bridge") || data.orig_from_uri.includes("conference-bridge")) 29609 return; 29610 } 29611 29612 29613 updateCallLineDomain(data); 29614 29615 if (data.orig_from_user =="Call-Record-Account" && data.remove == "yes"){ 29616 log('Call to record ended'); 29617 var greetingEnd = false; 29618 var greetingsModal; 29619 var path; 29620 29621 //check to see if any greetings modals are showing 29622 if ($('#greetings-modal').is(':visible')) { 29623 log('greetings-modal is visible'); 29624 greetingsModal = $('#greetings-modal'); 29625 path = '/portal/users/greetings/index/' + data.by_sub + '@' + data.by_domain; 29626 greetingEnd = true; 29627 } 29628 else if ($('#introgreeting-modal').is(':visible')) { 29629 log('introgreeting-modal is visible'); 29630 greetingsModal = $('#introgreeting-modal'); 29631 var callee_match = greetingsModal.data('callee-match'); 29632 var starting = greetingsModal.data('starting'); 29633 path = '/portal/attendants/intros/' + callee_match + '/' + starting; 29634 greetingEnd = true; 29635 } 29636 else if($('#write-queue').is(':visible')) { 29637 log('write queue modal is visible'); 29638 var queue = $("#CallqueueName").val(); 29639 log(queue); 29640 var jsonPath = '/portal/callqueues/messagecheck/'+queue; 29641 29642 //grab new recording uri, insert into play and download buttons 29643 setTimeout(function(){ 29644 $.getJSON(jsonPath,function(data){ 29645 // log(data); 29646 log('new remotepath for announce-to-agent.wav'); 29647 // log(data[0]['Music']['announce-to-agent.wav']['remotepath']); 29648 29649 var remotePath = data[0]['Music']['announce-to-agent.wav']['remotepath']; 29650 29651 if($('#audio-player-1').length) { 29652 29653 //removes the HTML characters added 29654 remotePath = remotePath.replace(/\bamp;\b/g, ''); 29655 29656 // for localhost testing 29657 // remotePath = remotePath.replace('localhost', 'corp.netsapiens.com'); 29658 29659 $('#write-queue .download-audio').attr('href', remotePath); 29660 29661 $('#audio-player-1 source').each(function(){ 29662 log('updating audio players source paths'); 29663 29664 var audioType = $(this).attr('type'); 29665 29666 // log(audioType); 29667 29668 if(audioType == 'audio/x-wav') 29669 remotePath += '&convert=signed'; 29670 else if(audioType == 'audio/ogg; codecs=vorbis') 29671 remotePath += '&convert=ogg'; 29672 else if(audioType == 'audio/mp4') 29673 remotePath += '&convert=aac'; 29674 else if(audioType == 'audio/aac') 29675 remotePath += '&convert=aac'; 29676 29677 log(remotePath); 29678 29679 $(this).attr('src', remotePath); 29680 }); 29681 29682 //loads new sources to audio player 29683 $('#audio-player-1')[0].load(); 29684 hideAgentMsgRecord(); 29685 } else { 29686 log('no audio player found'); 29687 29688 // var html = AudioPlayer.build(remotePath, 1); 29689 29690 // hideAgentMsgRecord(); 29691 // $('.audio-inline').prepend(html); 29692 29693 // AudioPlayer.bind(); 29694 29695 //add delete button 29696 } 29697 29698 29699 29700 }).fail(function(){ 29701 log('remotepath request failed'); 29702 jsFlash(_('Message to agent failed to record!'), 'danger'); 29703 }); 29704 29705 }, 2000); 29706 29707 } 29708 //check if edit answering rule is open 29709 else if($('#write-rule').is(':visible')){ 29710 hideAgentMsgRecord(); 29711 } 29712 //if ($('#introgreeting-modal').is(':visible')) { 29713 // var greetingsModal = $('#introgreeting-modal'); 29714 // greetingEnd = true; 29715 //} 29716 29717 //after call to record ends, refresh greetings modal if it's visible 29718 if (greetingEnd) { 29719 log('a greetings modal is visible, reloading modal'); 29720 29721 if (typeof path == 'undefined') 29722 path = greetingsModal.find("form").attr("action"); 29723 greetingsModal.html('<span class=\"loading-lg\"></span>'); 29724 greetingsModal.css('min-height', '0'); 29725 modalResize(greetingsModal); 29726 29727 setTimeout(loadModal, 2000,"#"+greetingsModal[0].id,path); 29728 } 29729 29730 return; 29731 } 29732 else if (data.orig_from_user =="Call-Record-Account") { 29733 } 29734} 29735 29736function updateCallLineDomain( value) { 29737 //log ("updateCallLineDomain"); 29738 //log (value); 29739 var searchString = "#calls_table tr:gt(0)"; 29740 29741 var orid_id = value.orig_callid; 29742 var term_id = value.term_callid; 29743 var term_uri = value.term_uri; 29744 var id = orid_id + "_" + term_id + "_" + term_uri.split('@')[0] ; 29745 var rId = value.orig_callid + "_" + value.term_callid + "_" + value.term_uri.split('@')[0]; 29746 29747 if ($('#calls_table.queues-table').length >0 ) 29748 { 29749 29750 if ( $('#calls_table.queues-table').attr('queue')!=value.term_sub && 29751 $('#calls_table.queues-table').attr('queue')!=value.by_sub) 29752 return; 29753 //log($('#calls_table.queues-table').attr('queue')); 29754 //log(value.term_sub); 29755 29756 if (value.remove != "yes") { 29757 //log("updateCallLineDomain QUEUE"); 29758 //log(value); 29759 var found = false;
29760 29761 var trTag = ""; 29762 var html = ""; 29763 trTag += "<tr gmt_start='" + value.time_start + "' orig_id='" + orid_id + "' term_id='" + term_id + "' term_uri='" + term_uri + "' id='" + orid_id+ "' >"; 29764 if (typeof value.orig_domain != 'undefined' && value.orig_domain != "" && value.orig_domain == current_domain) 29765 { 29766 // This shoudl be a "outbound" or on net call to this domain in question. Should use subscriber and orig_sub_name if available 29767 html += td(cleanDevice(value.orig_sub)); 29768 if (value.orig_sub_name) 29769 html += td(value.orig_sub_name); 29770 else 29771 html += td(value.orig_name); 29772 } 29773 else { 29774 html += td(cleanDevice(value.ani)); 29775 html += td(value.orig_name); 29776 } 29777 29778 html += td(cleanDevice(value.dnis)); 29779 var status=""; 29780 var term_uri=value.term_uri; 29781 if (value.term_uri=="Call-Queue" || value.term_uri=="Auto-Attendant" || value.term_uri==" ") 29782 { 29783 term_uri=""; 29784 status =_("Waiting"); 29785 } 29786 else if (value.term_uri.indexOf("nms") != -1 && value.term_uri.indexOf("corp") != -1 && value.term_uri.indexOf("sipbx") != -1) 29787 { 29788 term_uri=""; 29789 status =_("Waiting"); 29790 } 29791 else if (value.term_uri=="CallBack-Queue") { 29792 term_uri=""; 29793 status =_("Waiting for Callback"); 29794 } 29795 else 29796 { 29797 if (value.time_answer=="0000-00-00 00:00:00") 29798 if (value.by_action && value.by_action == "QueueSDispatch") 29799 status = _("Ringing Agent(s)"); 29800 else 29801 status = _("Ringing Agent"); 29802 else 29803 status =_("Talking"); 29804 } 29805 29806 29807 html += td(status); 29808 html += td(cleanDevice(term_uri)); 29809 html += td("<span gmt_start='" + value.time_start + "' gmt_answer='" + value.time_answer + "' class='duration_counter' ></span>","text-right"); 29810 html += getButtons(value); 29811 trTag += html; 29812 trTag += "</tr >"; 29813 29814 29815 var rows = $(searchString); 29816 29817 rows.each(function(index) { 29818 if (rows[index].id == orid_id) { 29819 // MODIFY 29820 $(this).html(html); 29821 $('.tooltip').hide(); 29822 found = true; 29823 } 29824 }); 29825 if (!found) { 29826 $('#calls_table > tbody:last').append(trTag); 29827 } 29828 29829 } else { 29830 // DELETE 29831 //log("updateCallLineDomain QUEUE DELETE"); 29832 //log(value); 29833 var rows = $(searchString); 29834 rows.each(function(index) { 29835 if (rows[index].id == orid_id) 29836 { 29837 $(this).remove(); 29838 $('.tooltip').hide(); 29839 } 29840 29841 }); 29842 29843 29844 29845 } 29846 29847 } 29848 else if ($('#calls_table.waiting-table').length >0 ) 29849 { 29850 if ( $('#calls_table.waiting-table').attr('queue')!=value.term_sub && 29851 $('#calls_table.waiting-table').attr('queue')!=value.by_sub) 29852 { 29853 return; 29854 } 29855 29856 29857 if (delayedRemoveMap.has(orid_id) && value.remove != "yes") 29858 { 29859 clearTimeout(delayedRemoveMap.get(orid_id)); 29860 delayedRemoveMap.delete(orid_id); 29861 } 29862 29863 let queuedData = null; 29864 let earliestStart = value.time_start; 29865 if (queuedCallMap.has(value.orig_callid + value.by_sub)) 29866 queuedData = queuedCallMap.get(value.orig_callid + value.by_sub); 29867 else if (queuedCallMap.has(value.oirg_callid + value.term_sub)) 29868 queuedData = queuedCallMap.get(value.oirg_callid + value.term_sub).time_queued; 29869 29870 var prioritizedvalue = 1 ; 29871 priorityClass = 'hide'; 29872 if (queuedData) 29873 { 29874 earliestStart = queuedData.time_queued; 29875 if (queuedData.prioritized =="yes") 29876 { 29877 prioritizedvalue = 0; //lower better for asc sort 29878 priorityClass = ''; 29879 } 29880 29881 } 29882 29883 29884 log("updateCallLineDomain WAITING"); 29885 //log(value); 29886 var found = false;
29887 id= orid_id; 29888 var trTag = ""; 29889 var html = ""; 29890 trTag += "<tr data-gmt_start='"+value.time_start+"' data-prioritizedvalue="+prioritizedvalue+" gmt_start='" + 29891 earliestStart + "' orig_id='" + orid_id + "' data-orig_id='" + orid_id + "' id='" + orid_id+ "' >"; 29892 if (typeof value.orig_domain != 'undefined' && value.orig_domain != "" && value.orig_domain == current_domain) 29893 { 29894 // This shoudl be a "outbound" or on net call to this domain in question. Should use subscriber and orig_sub_name if available 29895 html += td(cleanDevice(value.orig_sub)); 29896 if (value.orig_sub_name) 29897 html += td(value.orig_sub_name); 29898 else 29899 html += td(value.orig_name); 29900 } 29901 else { 29902 html += td(cleanDevice(value.ani)); 29903 html += td(value.orig_name); 29904 } 29905 29906 //html += td(cleanDevice(value.dnis)); 29907 var status=""; 29908 var term_uri=value.term_uri; 29909 if (value.term_uri=="CallBack-Queue") { 29910 term_uri=""; 29911 status =_("Waiting for Callback"); 29912 } 29913 else if (value.term_uri=="Call-Queue" || value.term_uri=="Auto-Attendant" || value.term_uri==" " || value.remove == "yes") 29914 { 29915 term_uri=""; 29916 status =_("Waiting"); 29917 } 29918 else 29919 { 29920 if (value.time_answer=="0000-00-00 00:00:00"){ 29921 if (value.by_action && value.by_action == "QueueSDispatch") 29922 status = _("Ringing Agent(s)"); 29923 else 29924 status = _("Ringing Agent"); 29925 } 29926 else 29927 status =_("Talking"); 29928 } 29929 29930 29931 29932 29933 29934 //html += td(cleanDevice(term_uri)); 29935 29936 29937 29938 priority = ' <span data-sessionId="'+value.orig_callid+'" class="priority-label label label-info '+priorityClass+'">'+_("Priority")+'</span>'; 29939 29940 29941 html += td(status + " "+ priority); 29942 29943 let timeAnswer = value.time_answer; 29944 if (timeAnswer != "0000-00-00 00:00:00" && value.term_to_uri == "Call-Queue") 29945 timeAnswer = "0000-00-00 00:00:00"; 29946 29947 html += td("<span gmt_start='" + earliestStart + "' gmt_answer='0000-00-00 00:00:00' class='duration_counter' ></span>","text-right"); // gmt_answer='" + timeAnswer + "' 29948 29949 html += getButtonsWaiting(value,queuedData); 29950 trTag += html; 29951 trTag += "</tr >"; 29952 29953 29954 var rows = $(searchString); 29955 rows.each(function(index) { 29956 if (rows[index].id == orid_id) { 29957 29958 if (status==_("Talking")) 29959 { 29960 $('.tooltip').hide(); 29961 $(this).remove(); 29962 29963 } 29964 else 29965 { 29966 // MODIFY 29967 $('.tooltip').hide(); 29968 29969 const dropdownId = "#tranfer-dropdown-"+cleanId(orid_id)+".dropdown.open"; 29970 29971 if ($(dropdownId).length != 0) 29972 { 29973 //this means the dropdown dialog is open. Need to skip replacing the html 29974 } 29975 else 29976 { 29977 $(this).html(html); 29978 29979 checkTransferType(null,orid_id); 29980 } 29981 29982 found = true; 29983 } 29984 } 29985 }); 29986 29987 if (!found) { 29988 // ADD 29989 if (status!=_("Talking") && value.remove != "yes") 29990 { 29991 $('#calls_table.waiting-table > tbody:last').append(trTag); 29992 checkTransferType(null,orid_id); 29993 } 29994 29995 } 29996 $('.dropdown-menu .optionsLi').click(function(e) { 29997 e.stopPropagation(); 29998 }); 29999 30000 getUserDevices(false, setWaitingPickupDevices); 30001 30002 30003 if(value.remove == "yes") 30004 { 30005 var rows = $(searchString); 30006 rows.each(function(index) { 30007 if (rows[index].id == orid_id) 30008 { 30009 if (!delayedRemoveMap.has(orid_id)) 30010 { 30011 30012 console.log("adding remove delay for " + orid_id); 30013 let newTimeout = setTimeout(delayedRemove,180000,searchString,orid_id); 30014 delayedRemoveMap.set(orid_id,newTimeout ); 30015 } 30016 30017 } 30018 30019 }); 30020 } 30021 30022 // } else { 30023 // 30024 // } 30025 30026 sortWaitingTable(); 30027 initTooltips(); 30028 30029 } 30030 else if (value.remove != "yes") { 30031 log("updateCallLineDomain"); 30032 log(value); 30033 var found = false;
30034 30035 if (value.media =="VP8" || value.media =="VP9" || value.media =="H264" ) 30036 if (value.term_to_uri.includes("w@")) 30037 return; 30038 30039 30040 if (value.dnis.includes("video.bridge")) 30041 value.dnis = ""; 30042 30043 30044 var trTag = ""; 30045 var html = ""; 30046 trTag += "<tr gmt_start='" + value.time_start + "' orig_id='" + orid_id + "' term_id='" + term_id + "' term_uri='" + term_uri + "' id='" + id+ "' >"; 30047 if (typeof value.orig_domain != 'undefined' && value.orig_domain != "" && value.orig_domain == current_domain) 30048 { 30049 // This shoudl be a "outbound" or on net call to this domain in question. Should use subscriber and orig_sub_name if available 30050 html += td(cleanDevice(value.orig_sub)); 30051 if (value.orig_sub_name) 30052 html += td(value.orig_sub_name); 30053 else 30054 html += td(value.orig_name); 30055 } 30056 else { 30057 html += td(cleanDevice(value.ani)); 30058 html += td(value.orig_name); 30059 } 30060 html += td(cleanDevice(value.dnis)); 30061 html += td(cleanDevice(value.term_uri)); 30062 html += td("<span gmt_start='" + value.time_start + "' gmt_answer='" + value.time_answer + "' class='duration_counter' ></span>","text-right"); 30063 html += getButtons(value, true); 30064 trTag += html; 30065 trTag += "</tr >"; 30066 30067 30068 var rows = $(searchString); 30069 30070 rows.each(function(index) { 30071 if (rows[index].id == rId) { 30072 // MODIFY 30073 $(this).html(html); 30074 found = true; 30075 } 30076 }); 30077 if (!found) { 30078 // ADD 30079 $('#calls_table > tbody:last').append(trTag); 30080 } 30081 30082 } else { 30083 // DELETE 30084 var rows = $(searchString); 30085 rows.each(function(index) { 30086 if (rows[index].id == rId) 30087 $(this).remove(); 30088 }); 30089 30090 } 30091 30092 30093 30094 var rowCount = $(searchString).length; 30095 var statsCalls = $('#stats-calls') 30096 if (typeof statsCalls != 'undefined') 30097 statsCalls.html(""+rowCount); 30098 30099 if (rowCount>0) 30100 $('.nonecreated').hide(); 30101 else 30102 $('.nonecreated').show(); 30103 30104 30105 if ($('#agents-table').length != 0) 30106 { 30107 //log("checking agents table"); 30108 //log(value); 30109 var listenButtonOrig = '#listen-'+cleanId(value.orig_match); 30110 var listenButtonTerm = '#listen-'+cleanId(value.term_uri); 30111 if (typeof value.term_uri != 'undefined') 30112 listenButtonTerm = '#listen-'+cleanId(value.term_to_uri); 30113 var listenButtonTerm2 = '#listen-'+cleanId(value.term_match); 30114 30115 30116 var listenButtonOrig2 = '#listen-'+cleanId(value.orig_sub+"@"+value.orig_domain); 30117 var listenButtonTerm3 = '#listen-'+cleanId(value.term_sub+"@"+value.term_domain); 30118 30119 listenButtonTerm = listenButtonTerm.replace(/\_/g, "-"); 30120 listenButtonOrig = listenButtonOrig.replace(/\_/g, "-"); 30121 listenButtonTerm2 = listenButtonTerm2.replace(/\_/g, "-"); 30122 30123 listenButtonOrig2 = listenButtonOrig2.replace(/\_/g, "-"); 30124 listenButtonTerm3 = listenButtonTerm3.replace(/\_/g, "-"); 30125 30126 log("orig=" +listenButtonOrig); 30127 log("term=" +listenButtonTerm); 30128 log("term2=" +listenButtonTerm2); 30129 30130 log("listenButtonOrig2=" +listenButtonOrig2); 30131 log("listenButtonTerm3=" +listenButtonTerm3); 30132 30133 var callid = cleanId(value.orig_callid); 30134 30135 const listenButtons = [listenButtonTerm,listenButtonOrig,listenButtonTerm2,listenButtonOrig2,listenButtonTerm3]; 30136 30137 if (value.remove =="yes") 30138 { 30139 for (var i = 0; i < listenButtons.length; i++) { 30140 if ($(listenButtons[i]).length!=0) 30141 $(listenButtons[i]).each(function (){ 30142 if ($(this).data('callidOut') == callid || $(this).data('callidIn') == callid) { 30143 $(this).attr('onclick', ''); 30144 $(this).prop("disabled", true); 30145 } 30146 }); 30147 30148 } 30149 30150 return; 30151 } 30152 30153 if (value.time_answer != "0000-00-00 00:00:00") 30154 { 30155 for (var i = 0; i < listenButtons.length; i++) { 30156 if ($(listenButtons[i]).length!=0) 30157 { 30158 $(listenButtons[i]).attr('onclick', getListenButton(value)) 30159 .removeAttr('disabled') 30160 .data('callidIn', callid); 30161 } 30162 } 30163 } 30164 30165 } 30166 30167 var monId = getMonitorId(value); 30168 $('.dockcall-column').each(function() { 30169 30170 var thisId = $(this).attr('id'); 30171 30172 if ($(this).data('calltype')=='monitor' && $(this).data('monitorId') == monId) 30173 { 30174 dockModifyCallsameURI($(this),value,"Monitor","Monitor"); 30175 } 30176 }); 30177 30178 30179 30180 30181} 30182 30183function getListenButton(value) { 30184 30185 var vrb = 'activecall'+value.orig_callid.replace(/[^a-zA-Z0-9]/g, '')+""+value.term_callid.replace(/[^a-zA-Z0-9]/g, '')+""+value.term_uri.replace(/[^a-zA-Z0-9]/g, ''); 30186 var jsInsert = "var "+vrb+"=[];"; 30187 jsInsert += ""+vrb+".orig_id='"+value.orig_callid+"';"; 30188 jsInsert += ""+vrb+".term_id='"+value.term_callid+"';"; 30189 jsInsert += ""+vrb+".orig_uri='"+value.orig_uri+"';"; 30190 jsInsert += ""+vrb+".ani='"+value.ani+"';"; 30191 jsInsert += ""+vrb+".term_uri='"+value.term_uri+"';log("+vrb+");"; //hideModal(\'#view-calls\'); 30192 jsInsert += "listenIn("+vrb+");$(this).prop('disabled',true);jsFlash('" + _('Monitoring the Call...') + "');"; 30193 30194 //log(jsInsert); 30195 30196 30197 if ($('#agents-table').hasClass('allowmonitor')) { 30198 //log("monitoring allowed"); 30199 } 30200 else { 30201 //log("monitoring NOT allowed"); 30202 return " "; 30203 } 30204 30205 if (value.term_uri == "Call-Queue" || value.term_uri == "Auto-Attendant") { 30206 return " "; 30207 } else { 30208 if (value.time_answer == "0000-00-00 00:00:00") 30209 return " "; 30210 else 30211 return jsInsert; 30212 } 30213} 30214 30215 30216 30217// function updateCallLineQueue( value) { 30218// 30219// log('updateCallLineQueue'); 30220// var searchString = "#calls_table.queues-table"; 30221// 30222// var orid_id = value.orig_callid; 30223// var term_id = value.term_callid; 30224// var term_uri = value.term_uri; 30225// var id = orid_id + "_" + term_id + "_" + term_uri; 30226// var rId = value.orig_callid + "_" + value.term_callid + "_" + value.term_uri; 30227// 30228// if (value.remove != "yes") { 30229// var found = false;
30230// 30231// var trTag = ""; 30232// var html = ""; 30233// trTag += "<tr gmt_start='" + value.time_begin + "' orig_id='" + orid_id + "' term_id='" + term_id + "' term_uri='" + term_uri + "' id='" + id 30234// + "' >"; 30235// 30236// html += td(value.ani); 30237// html += td(value.orig_name); 30238// html += td(cleanDevice(value.dnis)); 30239// html += td(getStatus(value)); 30240// html += td(cleanDevice(value.term_uri)); 30241// html += td("<span gmt_start='" + value.time_begin + "' gmt_answer='" + value.time_answer + "' class='duration_counter' ></span>"); 30242// html += getButtons(value); 30243// trTag += html; 30244// trTag += "</tr >"; 30245// 30246// var rows = $(searchString); 30247// rows.each(function(index) { 30248// if (rows[index].id == orig_callid) { 30249// // MODIFY 30250// $(this).html(html); 30251// found = true; 30252// } 30253// }); 30254// if (!found) { 30255// // ADD 30256// $('#calls_table > tbody:last').append(trTag); 30257// 30258// } 30259// 30260// } else { 30261// // DELETE 30262// var rows = $(searchString); 30263// rows.each(function(index) { 30264// if (rows[index].id == rId) 30265// $(this).remove(); 30266// }); 30267// 30268// } 30269// 30270// } 30271 30272// takes a call identifier to create a unique incoming call display 30273 30274function listenIn(value) { 30275 var toAppend = '<div class="dock-column">' 30276 + '<div class="dock-column-inner">' 30277 + '<div class="dock-popup">' 30278 + '<div class="dock-head">' 30279 + '<div class="dock-head-title">' 30280 + '<span class="dock-name">' 30281 + _('Audio Monitoring') 30282 + '</span>' 30283 + '<div class="dock-head-title">' 30284 + '<div class="dock-head-buttons">' 30285 + 30286 // '<i class="dock-minimize icon-minimize icon-white" 30287 // title="' + _('Minimize') + '"></i>' + 30288 '<i class="dock-close icon-remove icon-white"></i>' 30289 + '</div>' 30290 + '</div>' 30291 + '<div class="dock-body">' 30292 + '<div class="dockcall-panel-content">' 30293 + '<h3>Monitoring Call</h4>' 30294 + '<h4 class="dockcall-number">' 30295 + cleanDevice(value.ani) 30296 + '</h3>' 30297 + '<h6 class="dockcall-number">' 30298 + "talking to" 30299 + '</h1>' 30300 + '<h4 class="dockcall-number">' 30301 + cleanDevice(value.term_uri) 30302 + '</h3>' 30303 + '<div class="btn-group dockcall-callactions"><button class="dockcall-hold btn" data-toggle="button" title="' + _('Hold') + '"><i class="hold"></i></button>' 30304 + '<button class="dockcall-end btn btn-danger" title="' + _('End') + '"><i class="end"></i></button>' 30305 + '<button class="dockcall-transfer btn" title="' + _('Transfer') + '"><i class="transfer"></i></button></div>' 30306 '</div>' + '</div>' + '</div>' + '</div>' + '</div>'; 30307 30308 // prepend dock html 30309 30310 var url = "/portal/calls/tap/"+escapeCallid(value.orig_id); 30311 log(url); 30312 $.post(url,function(data){ 30313 30314 //log(data); 30315 30316 }) 30317 .fail(function(){ 30318 log("tap no good"); 30319 }) 30320 .done(function(data){ 30321 log("tap good"); 30322 30323 //$('.dock-popup-overlay').prepend(toAppend); 30324 30325 // sets height of dock column so it's displayed 30326 dockHeight(); 30327 }); 30328 30329}; 30330 30331function td(str, classStr) { 30332 if (typeof classStr == 'undefined') 30333 classStr=""; 30334 return "<td class='"+classStr+"' >" + str + "</td>"; 30335} 30336 30337function durrationCounter() { 30338 $('.duration_counter').each( 30339 30340 function() { 30341 var gmt_start = $(this).attr('gmt_start'); 30342 var gmt_answer = $(this).attr('gmt_answer'); 30343 if (typeof gmt_answer == "undefined" || gmt_answer == "0000-00-00 00:00:00") { 30344 if (typeof gmt_start == "undefined" || gmt_start == "0000-00-00 00:00:00" || gmt_start == "") { 30345 $(this).text(""); 30346 } else 30347 $(this).text(getDuration(gmt_start, timeOffset)); 30348 } else if (gmt_answer == "ignore") 30349 $(this).text(getDuration(gmt_start, timeOffset)); 30350 else 30351 $(this).text(getDuration(gmt_answer, timeOffset)); 30352 }); 30353 return; 30354 30355} 30356 30357function highlightQueueRow(value, remove) { 30358 var rows = $('#agent_queues tr:gt(0)'); 30359 rows.each(function(index) { 30360 if (rows[index].id == "queue" + value) { 30361 if (remove) 30362 $('#' + rows[index].id).removeClass("highlight"); 30363 else { 30364 $('#' + rows[index].id).addClass("highlight"); 30365 // url = "http://google.com/search?btnI=1&q="+name+"%20"+number; 30366 // open_in_new_tab(url); 30367 } 30368 //log(rows[index].class); 30369 } 30370 }); 30371 30372} 30373 30374// calculates height of dock columns and overlay based on window height 30375function dockHeight() { 30376 var dockDivs = $('.dock-overlay-inner, .dock-column, .dock-column-inner'); 30377 30378 dockDivs.height($(window).height()); 30379} 30380 30381//checks the width of the window and dock-popup-overlay to show or hide popups 30382function checkPopupWidth() { 30383 var overlayWidth = $('.dock-popup-overlay').outerWidth(true); 30384 var windowWidth = $(window).width(); 30385 30386 if(overlayWidth == windowWidth) { 30387 // hide the last chatbox -- should this only hide chat boxes and not calls? 30388 $('.dock-popup-overlay .dock-column:visible').last().hide(); 30389 } 30390 //check if overlay has room to show another chat box 30391 else if ((overlayWidth + 270) < windowWidth) { 30392 $('.dock-popup-overlay .dock-column:hidden').first().show(); 30393 } 30394} 30395 30396/** 30397 * shows the dial pad in the portal either as a dock popup or in the contacts popout 30398 * 30399 * @param {boolean} popout indicates whether we're showing the dial pad in the dock popup or popout 30400 **/ 30401function showDialPad(popout) { 30402 if ($('.dial-pad').is(':visible')) { 30403 if(popout) { 30404 $('.dial-pad').remove(); 30405 resizePopoutContent(); 30406 return; 30407 } 30408 else 30409 return; 30410 } 30411 30412 //if needed, add unique id to "dock-column-dialpad" div in the dockHtml str
30412ing below 30413 var dialPadHtml = '<div class="dial-pad">' 30414 + '<div class="number-field-group input-append">' 30415 + '<input class="number-field" type="text" placeholder="'+ _('Extension or phone number') +'">' 30416 + '<button class="btn clear" title="' + _('Clear') + '"><i class="icon-remove"></i></button>' 30417 + '</div>' 30418 + '<div class="btn-group dial-pad-keys">' 30419 + '<button id="pad-1" class="btn" data-keycode="49" data-char="1">1<p> </p></button>' 30420 + '<button id="pad-2" class="btn" data-keycode="50" data-char="2">2<p>ABC</p></button>' 30421 + '<button id="pad-3" class="btn" data-keycode="51" data-char="3">3<p>DEF</p></button>' 30422 + '</div>' 30423 + '<div class="btn-group dial-pad-keys">' 30424 + '<button id="pad-4" class="btn" data-keycode="52" data-char="4">4<p>GHI</p></button>' 30425 + '<button id="pad-5" class="btn" data-keycode="53" data-char="5">5<p>JKL</p></button>' 30426 + '<button id="pad-6" class="btn" data-keycode="54" data-char="6">6<p>MNO</p></button>' 30427 + '</div>' 30428 + '<div class="btn-group dial-pad-keys">' 30429 + '<button id="pad-7" class="btn" data-keycode="55" data-char="7">7<p>PQRS</p></button>' 30430 + '<button id="pad-8" class="btn" data-keycode="56" data-char="8">8<p>TUV</p></button>' 30431 + '<button id="pad-9" class="btn" data-keycode="57" data-char="9">9<p>WXYZ</p></button>' 30432 + '</div>' 30433 + '<div class="btn-group dial-pad-keys last">' 30434 + '<button id="pad-star" class="btn" data-keycode="42" data-char="*">*<p> </p></button>' 30435 + '<button id="pad-0" class="btn" data-keycode="48" data-char="0">0<p> </p></button>' 30436 + '<button id="pad-pound" class="btn" data-keycode="35" data-char="#">#<p> </p></button>' 30437 + '</div>' 30438 + '<div class="btn-group dial-pad-actions">' 30439 + '<button class="btn btn-success dial-pad-call"><i class="answer"></i>'+ _('Call') +'</button>' 30440 + '<button class="btn btn-success dial-pad-from-btn" data-toggle="button" title="'+ _('Choose Phone') +'"><span class="caret"></span></button>' 30441 + '</div>' 30442 + '<div class="dial-pad-from hide">' 30443 + '<p class="muted"><small>' + _('Call using:') + '</small></p>' 30444 + '<p><select id="dial-pad-phone-option-select" class="device-select isCallDropboxCheckbox" onchange="uncheckDefaultDeviceBox(\'dial-pad-phone-option-select-checkbox\')"></select><p>' 30445 + '<p class="isCallTextbox hide "><input id="dial-pad-phone-option-text" type="text" value="" placeholder="'+_('Enter a phone number')+'"></p>' 30446 + '<p class="isCallDropboxCheckbox muted"><input id="dial-pad-phone-option-select-checkbox" type="checkbox" class=" click2callphonedefault" value="isDefault" checked=""><span class=""><small>' + _('Use this phone by default') + '</small></span></p>' 30447 + '<p class="isCallTextboxReset hide"><span id="changePhones" class="bluetext " onclick="setCustom(false)" >'+_("Choose another phone")+'</span></p>' 30448 + '</div>' 30449 30450 30451 + '</div>'; 30452 30453 if(popout) { 30454 // prepend popout html 30455 $('.popcall-container').prepend(dialPadHtml); 30456 30457 $('.dial-pad').hide().animate({ 30458 height: "show" 30459 },{ 30460 progress: function(){ 30461 resizePopoutContent(); 30462 $('.number-field').focus(); 30463 } 30464 }); 30465 } 30466 else { 30467 var dockHtml = '<div id="dock-column-dialpad" class="dock-column dockcall-column">' 30468 + '<div class="dock-column-inner">' + '<div class="dock-popup">' 30469 + '<div class="dock-head">' 30470 + '<div class="dock-head-buttons">' 30471 + '<span class="dockcall-onhold label label-important hide">' + _('On Hold') + '</span>' 30472 + '<button class="dock-minimize dock-head-button"><i class="icon-minimize icon-white" title="' + _('Minimize') + '"></i></button>' 30473 + '<button class="dock-close dock-head-button"><i class="icon-remove icon-white"></i></button>' 30474 + '</div>' 30475 + '<div class="dock-head-title">' 30476 + '<i class="icon-call icon-white"></i><span class="dock-name">' + _('Make a Call') + '</span>' 30477 + '</div>' 30478 + '</div>' 30479 + '<div class="dock-body dockcall-body">' + dialPadHtml + '</div>' 30480 + '</div>' + '</div>' + '</div>'; 30481 30482 // prepend dock html 30483 $('.dock-popup-overlay').prepend(dockHtml); 30484 30485 dockHeight(); 30486 $('.number-field').focus(); 30487 } 30488 30489 var $numfield = $(".number-field"); 30490 30491 $numfield[0].onkeypress = function(e){ 30492 keyPress(e) 30493 }; 30494 30495 $(".dial-pad-keys button").on('click',function(){ 30496 30497 var ch = $(this).data('char'); 30498 30499 //var e = $.Event('keyup'); 30500 //e.which = ch; 30501 //e.keyCode = ch; 30502 //numfield.trigger(e); 30503 30504 $numfield.insertAtCaret(ch); 30505 }); 30506 30507 $(".clear").on('click',function(){ 30508 //change numfield jquery object to DOM element 30509 var e = $numfield[0]; 30510 30511 //remove selected part of string at cursor 30512 if (e.selectionStart || e.selectionStart == '0') { 30513 var startPos = e.selectionStart; 30514 var endPos = e.selectionEnd; 30515 30516 if (startPos != endPos) { 30517 e.value = e.value.substring(0, startPos) + e.value.substring(endPos,e.value.length); 30518 e.focus(); 30519 e.selectionStart = startPos; 30520 e.selectionEnd = startPos; 30521 } 30522 else { 30523 e.value = e.value.substring(0, startPos-1) + e.value.substring(endPos,e.value.length); 30524 e.focus(); 30525 e.selectionStart = startPos - 1; 30526 e.selectionEnd = startPos - 1; 30527 } 30528 } 30529 //or clear entire field if can't find selection/cursor 30530 else { 30531 e.value = ''; 30532 } 30533 }); 30534 30535 $(".dial-pad-call").on('click',function(){ 30536 var number = $numfield.val(); 30537 number = number.replace(/\./g,""); 30538 30539 if (number.length > 0) { 30540 dialWithPhoneOption('dial-pad-phone-option-select', number) 30541 // var selection = $('#dial-pad-phone-option-select option:selected').val(); 30542 // if (selection == "webphone") 30543 // launchWebPhone(number); 30544 // else 30545 // clickToDial(sub_user + "@" + sub_domain, cleanDevicePrep(number), cleanDevicePrep(number), cleanDevicePrep(selection), true); 30546 // 30547 // if ($(".dial-pad-from .click2callphonedefault").is(':checked')) { 30548 // localStorage.setItem("click2callphonedefaultvalue", cleanDevicePrep(selection)); 30549 // } 30550 } 30551 }); 30552 30553 // show call from field when button is clicked 30554 $(".dial-pad-from-btn").click(function() { 30555 if ($('.dial-pad-from').is(':visible')) { 30556 $('.dial-pad-from').animate({ 30557 height: "hide", 30558 opacity: "hide" 30559 },{ 30560 progress: function(){ 30561 if(popout) 30562 resizePopoutContent(); 30563 } 30564 }); 30565 } 30566 else { 30567 $('.dial-pad-from').animate({ 30568 height: "show", 30569 opacity: "show" 30570 },{ 30571 progress: function(){ 30572 if(popout) 30573 resizePopoutContent(); 30574 } 30575 }); 30576 } 30577 }); 30578 30579 $('#dial-pad-phone-option-select').change(function() { 30580 $('#dial-pad-phone-option-select-checkbox').prop('checked', false); 30581 }); 30582 30583 if($('#dial-pad-phone-option-select').length) 30584 getUserDevices(false, setDialPadOptions); 30585 30586 function keyPress(e) { 30587 var keyToggle = function(key){ 30588 var $keyObj = $('#pad-'+ key); 30589 30590 $keyObj.addClass('active'); 30591 30592 setTimeout(function(){ 30593 $keyObj.removeClass('active'); 30594 }, 100); 30595 } 30596 30597 switch (e.code){ 30598 case "Digit1":case "Numpad1": 30599 if(!e.shiftKey) keyToggle(1); 30600 break; 30601 case "Digit2":case "Numpad2": 30602 if(!e.shiftKey) keyToggle(2); 30603 break; 30604 case "Digit3": 30605 if(e.which == 35) 30606 keyToggle('pound'); 30607 else 30608 keyToggle(3); 30609 break; 30610 case "Numpad3": 30611 if(!e.shiftKey) keyToggle(3); 30612 break; 30613 case "Digit4":case "Numpad4": 30614 if(!e.shiftKey) keyToggle(4); 30615 break; 30616 case "Digit5":case "Numpad5": 30617 if(!e.shiftKey) keyToggle(5); 30618 break; 30619 case "Digit6":case "Numpad6": 30620 if(!e.shiftKey) keyToggle(6); 30621 break; 30622 case "Digit7":case "Numpad7": 30623 if(!e.shiftKey) keyToggle(7); 30624 break; 30625 case "Digit8": 30626 if(e.which == 42) 30627 keyToggle('star'); 30628 else 30629 keyToggle(8); 30630 break; 30631 case "Numpad8": 30632 if(!e.shiftKey) keyToggle(8); 30633 break; 30634 case "Digit9":case "Numpad9": 30635 if(!e.shiftKey) keyToggle(9); 30636 break; 30637 case "Digit0":case "Numpad0": 30638 if(!e.shiftKey) keyToggle(0); 30639 break; 30640 case 13: 30641 if (!keydown) 30642 $(".dial-pad-call").trigger('click'); 30643 break; 30644 default: 30645 break; 30646 } 30647 } 30648} 30649 30650/** 30651 * sets the phone options for the phone select in the dial pad 30652 * 30653 * @param {object} devices is an object with all the user devices/phones 30654 **/ 30655function setDialPadOptions(devices){ 30656 var deviceOptions = generateDeviceOptions(devices); 30657 30658 if(deviceOptions.length) { 30659 $('#dial-pad-phone-option-select').html(deviceOptions); 30660 onchange="allowCustomNumber();"; 30661 } 30662 else { 30663 // $('.dial-pad-from').removeClass('hide').html('<p class="text-error">' + _('You cannot call because you have no registered phones!') + '</p>'); 30664 // $('.dial-pad-from-btn').remove(); 30665 // $('.dial-pad-call').prop('disabled', true).css('width', '100%'); 30666 } 30667 30668 30669} 30670 30671function setWaitingPickupDevices(devices){ 30672 var deviceOptions = generateDeviceOptions(devices); 30673 30674 if(deviceOptions.length) { 30675 $('.pickupLi select').html(deviceOptions); 30676 30677 } 30678} 30679 30680 30681 30682/** 30683 * compare current and default devices in the phone options select and get dropdown direction 30684 * 30685 * @param {object} el is the button element that triggers the phone option dropdown 30686 **/ 30687function clickedCallDropdownToggle(el) { 30688 //reset phone select and default checkbox 30689 var defaultDevice = lookupDefaultDevice(); 30690 var $select = $(el).next('.dropdown-menu').find('.device-select'); 30691 var selectedDevice = $select.val(); 30692 30693 if(selectedDevice != defaultDevice) { 30694 $select.val(defaultDevice); 30695 $(el).next('.dropdown-menu').find('.click2callphonedefault').prop('checked', true); 30696 } 30697 30698 //determine if dropdown goes up or down 30699 getDropdownDirection(el); 30700} 30701 30702/** 30703 * initialize confirm call popover on elements with 'make-call' class 30704 * 30705 **/ 30706function initConfirmCall() { 30707 log('adding confirm call'); 30708 if ($('a.make-call').length > 0 && typeof $(document).confirmCall == 'function') { 30709 $('a.make-call').each(function() { 30710 var num = $(this).text(); 30711 30712 $(this).confirmCall({ 30713 message: num 30714 }); 30715 }); 30716 } else if ($('.make-call-options').length > 0 && typeof $(document).popover == 'function') { 30717 getUserDevices(false, createConfirmCallPopover); 30718 } 30719} 30720 30721/** 30722 * create and bind the confirm call popovers that have phone options 30723 * 30724 * @param {object} devices is an object with all the user devices/phones 30725 **/ 30726function createConfirmCallPopover(devices) { 30727 if (typeof devices == "string") 30728 devices = JSON.parse(devices); 30729 30730 var triggerEvent = devices[0] != null || isWebrtc ? 'click' : 'hover'; 30731 30732 $('.make-call-options').each(function(){ 30733 //remove 'call' tooltips if you can't call
30734 if(triggerEvent == 'hover') 30735 $(this).removeClass('helpsy').tooltip('destroy'); 30736 30737 $(this).popover({ 30738 trigger: triggerEvent, 30739 toggle: 'popover', 30740 placement: $(this).attr('data-placement') ? $(this).data('placement') : 'right', 30741 container: 'body', 30742 html: true, 30743 template: '<div class="popover call-options-popover" role="tooltip"><div class="arrow"></div><div class="popover-content"></div></div>', 30744 content: generateDeviceOptionsPopoverContent(this, devices), 30745 delay: { 30746 show: 200, 30747 hide: 0 30748 } 30749 }); 30750 }) 30751 30752} 30753 30754/** 30755 * generate the content for the confirm call popover 30756 * 30757 * @param {object} el is the popover trigger element 30758 * @param {object} devices is an object with all the user devices/phones 30759 **/ 30760function generateDeviceOptionsPopoverContent(el, devices) { 30761 var num = $(el).attr('data-number') ? $(el).data('number') : $(el).text(); 30762 var contentTitle = '<p>' + _('Call {0} using', num) + ':</p>'; 30763 var rand = Math.floor(Math.random() * 99999); 30764 var content; 30765 var deviceOptions = generateDeviceOptions(devices); 30766 30767 if(deviceOptions.length) { 30768 var contentDrop = '<p class="isCallDropbox"><select id="device-select-popover-'+ rand +'" class="device-select" onchange="uncheckDefaultDeviceBox(\'device-select-popover-'+ rand +'-checkbox\')">' + deviceOptions + '</select></p>'; 30769 var contentText = '<p class="isCallTextbox hide"><input id="device-text-popover-'+ rand +'" type="text" value="" placeholder="'+_('Enter a phone number')+'"></p>'; 30770 var contentCheck = '<p class="isCallDropboxCheckbox" ><input id="device-select-popover-'+ rand +'-checkbox" type="checkbox" name="isDefault" class="click2callphonedefault" value="isDefault" checked> <span class="muted table-smaller"> ' + _('Use this phone by default') + '<span></p>'; 30771 var contentTextReset = '<p><span id="changePhones" style="display: none" class="bluetext isnumberreset" onclick="setCustom(false)" >'+_("Choose another phone")+'</span></p>'; 30772 } 30773 else { 30774 var contentDrop = '<p class="isCallDropbox hide"><select id="device-select-popover-'+ rand +'" class="device-select" onchange="uncheckDefaultDeviceBox(\'device-select-popover-'+ rand +'-checkbox\')">' + deviceOptions + '</select></p>'; 30775 var contentText = '<p class="isCallTextbox "><input id="device-text-popover-'+ rand +'" type="text" value="" placeholder="'+_('Enter a phone number')+'"></p>'; 30776 var contentCheck = '<p class="isCallDropboxCheckbox hide" ><input id="device-select-popover-'+ rand +'-checkbox" type="checkbox" name="isDefault" class="click2callphonedefault" value="isDefault" checked> <span class="muted table-smaller"> ' + _('Use this phone by default') + '<span></p>'; 30777 var contentTextReset = '<p><span id="changePhones" class="bluetext isnumberreset" onclick="setCustom(false)" >'+_("Choose another phone")+'</span></p>'; 30778 30779 } 30780 var isAuto = "false"; 30781 if (PORTAL_CLICK_TO_CALL_USE_AUTO) 30782 isAuto = "true"; 30783 var contentBtn1 = '<button class="btn btn-primary btn-small small" onclick="dialWithPhoneOption(\'device-select-popover-' + rand + '\',\'' + num + '\',\'' + isAuto + '\')" data-number="' + num + '">' + _('Call') + '</button>'; 30784 var contentBtn2 = '<button class="btn btn-small small" onclick="$(\'.make-call-options\').popover(\'hide\');">' + _('Cancel') + '</button>'; 30785 var contentBtns = '<p>' + contentBtn1 + contentBtn2 + '</p>'; 30786 content = contentTitle + contentDrop +contentText+ contentCheck + contentTextReset + contentBtns; 30787 30788 return content; 30789} 30790 30791function setCustom(enable) { 30792 if (enable) 30793 { 30794 $('.isCallTextbox').show(); 30795 $('.isCallTextboxReset').show(); 30796 $('.isCallDropbox').hide(); 30797 $('.isCallDropboxCheckbox').hide(); 30798 $('.isnumberreset').show(); 30799 30800 } 30801 else { 30802 $('.isCallTextbox').hide(); 30803 $('.isCallTextboxReset').hide(); 30804 $('.isCallDropbox').show(); 30805 $('.isCallDropboxCheckbox').show(); 30806 $('.isnumberreset').hide(); 30807 30808 $('.isCallTextbox input').val(""); 30809 30810 $( ".device-select" ).val($( ".device-select" ).first().find('option').first().val()); 30811 30812 30813 30814 } 30815 30816} 30817 30818/** 30819 * set default device checkbox to false 30820 * 30821 * @param {string} id is the id of a default device checkbox 30822 **/ 30823function uncheckDefaultDeviceBox(id) { 30824 if ($('#'+ id.replace("-checkbox","")).val() == null || $('#'+ id.replace("-checkbox","")).val() == "" ) 30825 { 30826 setCustom(true); 30827 } 30828 30829 $('#'+ id).prop('checked', false); 30830} 30831 30832/** 30833 * generate and append the options for the phone/devices select 30834 * 30835 * @param {object} devices is an object with all the user devices/phones 30836 **/ 30837function createConfirmCallOptionsDock(devices) { 30838 var deviceOptions = generateDeviceOptions(devices); 30839 var defaultDeviceChecked = false;
30840 30841 if(deviceOptions.length) { 30842 //majority of phone options html is php generated and we just insert the options here 30843 $('.device-select-dock').each(function(){ 30844 $(this).html(deviceOptions); 30845 }); 30846 $('.device-select-dock').on("click", function() { 30847 if ($(this).val()=="") 30848 { 30849 } 30850 }); 30851 } 30852 //there are no devices to make calls with 30853 else { 30854 //$('.dropdown-menu-phone-option').remove(); 30855 //$('.dropdown-menu-phone-select').append('<li class="dropdown-menu-phone-option"><p class="text-error">' + _('You cannot call because you have no registered phones!') + '</p></li>'); 30856 //$('.dropdown-menu-phone-select-number').addClass('disabled').find('a').attr('onclick', ''); 30857 } 30858 30859 // if(deviceOptions.length) { 30860 // var contentDrop = '<p class="isCallDropbox"><select id="device-select-popover-'+ rand +'" class="device-select" onchange="uncheckDefaultDeviceBox(\'device-select-popover-'+ rand +'-checkbox\')">' + deviceOptions + '</select></p>'; 30861 // var contentText = '<p class="isCallTextbox hide"><input id="device-text-popover-'+ rand +'" type="text" value="" placeholder="'+_('Enter a phone number')+'"></p>'; 30862 // var contentCheck = '<p class="isCallDropboxCheckbox" ><input id="device-select-popover-'+ rand +'-checkbox" type="checkbox" name="isDefault" class="click2callphonedefault" value="isDefault" checked> <span class="muted table-smaller"> ' + _('Use this phone by default') + '<span></p>'; 30863 // var contentTextReset = '<p><span id="changePhones" class="hide bluetext" onclick="setCustom(false)" >'+_("Choose another phone")+'</span></p>'; 30864 // } 30865 // else { 30866 // var contentDrop = '<p class="isCallDropbox hide"><select id="device-select-popover-'+ rand +'" class="device-select" onchange="uncheckDefaultDeviceBox(\'device-select-popover-'+ rand +'-checkbox\')">' + deviceOptions + '</select></p>'; 30867 // var contentText = '<p class="isCallTextbox "><input id="device-text-popover-'+ rand +'" type="text" value="" placeholder="'+_('Enter a phone number')+'"></p>'; 30868 // var contentCheck = '<p class="isCallDropboxCheckbox hide" ><input id="device-select-popover-'+ rand +'-checkbox" type="checkbox" name="isDefault" class="click2callphonedefault" value="isDefault" checked> <span class="muted table-smaller"> ' + _('Use this phone by default') + '<span></p>'; 30869 // var contentTextReset = '<p><span id="changePhones" class="bluetext" onclick="setCustom(false)" >'+_("Choose another phone")+'</span></p>'; 30870 // 30871 // } 30872 // var contentBtn1 = '<button class="btn btn-primary btn-small small" onclick="dialWithPhoneOption(\'device-select-popover-' + rand + '\',\'' + num + '\')" data-number="' + num + '">' + _('Call') + '</button>'; 30873 // var contentBtn2 = '<button class="btn btn-small small" onclick="$(\'.make-call-options\').popover(\'hide\');">' + _('Cancel') + '</button>'; 30874 // var contentBtns = '<p>' + contentBtn1 + contentBtn2 + '</p>'; 30875 // content = contentTitle + contentDrop +contentText+ contentCheck + contentTextReset + contentBtns; 30876 // 30877 30878 //prevent dropdown from closing when selecting option or checkbox 30879 $('.dropdown-menu-phone-select').click(function(e){ 30880 e.stopPropagation(); 30881 }); 30882} 30883 30884/** 30885 * dial a number using the selected phone. set the default phone if selected 30886 * 30887 * @param {string} id is the id of a phones/devices select 30888 * @param {string} num is the number to be dialed 30889 * @param {string} isAuto whether call will be auto answered on click-to-call 30890 **/ 30891function dialWithPhoneOption(id, num, isAuto = "false") 30892{ 30893 //device-select-dock-51 30894 var isAutoTrue = (isAuto == "true"); 30895 30896 console.log('dialWithPhoneOption'); 30897 var selection = cleanDevicePrep($('#' + id).val()); 30898 if (selection =="" && $('#' + id.replace("select","text")).val() ) 30899 selection= $('#' + id.replace("select","text")).val(); 30900 if (selection =="" && !$('#' + id.replace("select","text")).is(':hidden')) 30901 selection= cleanDevicePrep($('#' + id.replace("select","text")).val()); 30902 30903 30904 var defaultDevice = lookupDefaultDevice(); 30905 num = cleanDevicePrep(num); 30906 30907 console.log(selection); 30908 30909 if (selection == "webphone") 30910 launchWebPhone(num); 30911 else 30912 clickToDial(sub_user + "@" + sub_domain, num, num, selection, isAutoTrue); 30913 30914 if ($('#' + id + '-checkbox').is(':checked') && defaultDevice != selection) { 30915 $('.device-select').val(selection); 30916 localStorage.setItem("click2callphonedefaultvalue", selection); 30917 30918 //timeout to let any visible popover hide first before destroying it and rebuilding 30919 setTimeout(function(){ 30920 //have to rebuild the popover content if the default device is changed 30921 $('.make-call-options').popover('destroy'); 30922 getUserDevices(false, createConfirmCallPopover); 30923 },200); 30924 } 30925 $('.make-call-options').popover('hide'); 30926} 30927 30928/** 30929 * get the default device from local storage if it exists 30930 * 30931 * @returns {string} defaultDevice is the name/identifier of the default phone 30932 **/ 30933function lookupDefaultDevice() { 30934 var defaultDevice = sub_user; 30935 30936 if (localStorage.getItem("click2callphonedefaultvalue") != null) 30937 defaultDevice = localStorage.getItem("click2callphonedefaultvalue"); 30938 30939 return defaultDevice; 30940} 30941 30942/** 30943 * generate the options html for the phone/devices select 30944 * 30945 * @param {object} devices is an object with all the user devices/phones 30946 * @returns {string} html is a string of html for the select options 30947 **/ 30948function generateDeviceOptions(devices) { 30949 if (typeof devices == "string") 30950 devices = JSON.parse(devices); 30951 30952 var defaultDevice = lookupDefaultDevice(); 30953 var html = ''; 30954 30955 if (isWebrtc && typeof SNAPmobileWebenabled !="undefined" && SNAPmobileWebenabled) { 30956 if(defaultDevice == 'webphone') 30957 html += '<option selected value="webphone">' + SNAPmobileWebName + '</option>'; 30958 else 30959 html += '<option value="webphone">' + SNAPmobileWebName + '</option>'; 30960 } 30961 30962 for (item in devices) { 30963 if (typeof devices[item] == 'undefined' || typeof devices[item].user_agent == 'undefined' || devices[item].user_agent == "") 30964 continue; 30965 if (devices[item].user_agent.includes("SNAPscreenShare") || devices[item].user_agent.includes("SNAPdataChannel") || devices[item].user_agent.includes("SNAPvideo")) 30966 continue; 30967 if (devices[item].aor.includes("conference-bridge") || devices[item].aor.includes("wp@") || devices[item].aor.includes("vb@")) 30968 continue; 30969 30970 var device = cleanDevicePrep(devices[item].aor); 30971 30972 if (defaultDevice == device) 30973 html += '<option selected value="' + device + '">' + devices[item].user_agent + '</option>'; 30974 else 30975 html += '<option value="' + device + '">' + devices[item].user_agent + '</option>'; 30976 } 30977 30978 html += '<option value="" >'+_('Enter Phone number')+'</option>'; 30979 return html; 30980} 30981 30982/** 30983 * get object of user devices from local storage or API 30984 * 30985 * @param {boolean} force will force the retrieval of devices from the API instead of local storage 30986 * @param {function} callback is the function that will be executed after retrieving the user devices 30987 **/ 30988function getUserDevices(force, callback) { 30989 var userDevices = JSON.parse(localStorage.getItem("userDevices")); 30990 if (!force && userDevices != null && typeof userDevices != 'undefined' && typeof userDevices.timestamp != 'undefined') { 30991 var ts = userDevices.timestamp; 30992 var now = new Date().getTime(); 30993 var diff = now - ts; 30994 30995 if ((diff / 1000) > 120) //120s 30996 { 30997 userDevices = null; 30998 if (!force) 30999 setTimeout(function() { 31000 getUserDevices(true, callback); 31001 }, 1500); 31002 } else { 31003 callback(userDevices.devices); 31004 31005 } 31006 } 31007 if (typeof userDevices == 'undefined' || userDevices == null || force) { 31008 31009 var arg = { 31010 object: "device", 31011 action: "list", 31012 user: sub_user, 31013 domain: sub_domain, 31014 noNDP: "yes", 31015 format: "json", 31016 mode: "registered_endpoint" 31017 };
31018 netsapiens.api.post(arg).then(function(data) { 31019 var userDevices = { 31020 value: "value", 31021 timestamp: new Date().getTime(), 31022 devices: data 31023 } 31024 callback(data); 31025 localStorage.setItem("userDevices", JSON.stringify(userDevices)); 31026 }); 31027 } else { 31028 callback(userDevices.devices); 31029 } 31030} 31031 31032function initTransferMode(call) { 31033 $('.transfermode').show(); 31034 $('.nontransfermode').hide(); 31035 //log(call); 31036 callToTransfer = call; 31037 31038} 31039 31040function closeTransferMode(call) { 31041 $('.transfermode').hide(); 31042 $('.nontransfermode').show(); 31043} 31044 31045function transferCallDirect(toUser) { 31046 31047 if (typeof callToTransfer.orig_callid) 31048 { 31049 log(callToTransfer); 31050 var calltype = getType(callToTransfer, sub_domain, sub_user); 31051 //calltype = "inbound" 31052 } 31053 else 31054 return; 31055 if(typeof ignoreOrigId != 'undefined' ) 31056 { 31057 ignoreOrigId.push(callToTransfer.orig_callid); 31058 ignoreOrigId.push(callToTransfer.term_callid); 31059 } 31060 31061 var url = "/portal/calls/xfer/"; 31062 $(this).prop("disabled",true); 31063 if (calltype =='outbound') 31064 url = url+ myCalls[0].term_callid + "/" + toUser; 31065 else 31066 url = url+ myCalls[0].orig_callid + "/" + toUser; 31067 31068 log(url); 31069 $.post(url).done(function(data) { 31070 closeTransferMode(); 31071 jsFlash(_("Transferring call to {0}", toUser), "success"); 31072 //$(callButtons + ' .transfer-field').animate({ 31073 // "height" : "hide", 31074 // "opacity" : "hide" 31075 //}, 400); 31076 //$(popupId).remove(); 31077 //resizePopoutContent(); 31078 }); 31079 31080} 31081 31082//create a call object so i can test call popups 31083//function callObject(number) { 31084// this.orig_id = "orig_id-" + number; 31085// this.orig_user = "5555555555"; 31086// this.orig_name = "Name-" + number; 31087// this.orig_callid = "orig_callid-" + number; 31088// this.term_callid = "term_callid-" + number; 31089// this.term_uri = "term-uri-" + number; 31090// this.term_user = "<?php echo $this->Session->read('sub_user')?>"; 31091// this.term_domain = "<?php echo $this->Session->read('sub_domain')?>"; 31092// this.by_action = ""; 31093// this.time_answer = "0000-00-00 00:00:00"; 31094//} 31095 31096�/*!*************************************************** 31097* mark.js v9.0.0 31098* https://markjs.io/ 31099* Copyright (c) 2014â2018, Julian Kühnel 31100* Released under the MIT license https://git.io/vwTVl 31101*****************************************************/ 31102!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Mark=t()}(this,function(){"use strict";function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(t)}function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function r(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),e}function o(){return(o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var i= 31103/* */ 31104function(){function e(n){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;t(this,e),this.ctx=n,this.iframes=r,this.exclude=o,this.iframesTimeout=i}return r(e,[{key:"getContexts",value:function(){var e=[];return(void 0!==this.ctx&&this.ctx?NodeList.prototype.isPrototypeOf(this.ctx)?Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?this.ctx:"string"==typeof this.ctx?Array.prototype.slice.call(document.querySelectorAll(this.ctx)):[this.ctx]:[]).forEach(function(t){var n=e.filter(function(e){return e.contains(t)}).length>0;-1!==e.indexOf(t)||n||e.push(t)}),e}},{key:"getIframeContents",value:function(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){};try{var o=e.contentWindow;if(n=o.document,!o||!n)throw new Error("iframe inaccessible")}catch(e){r()}n&&t(n)}},{key:"isIframeBlank",value:function(e){var t="about:blank",n=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&n!==t&&n}},{key:"observeIframeLoad",value:function(e,t,n){var r=this,o=!1,i=null,a=function a(){if(!o){o=!0,clearTimeout(i);try{r.isIframeBlank(e)||(e.removeEventListener("load",a),r.getIframeContents(e,t,n
31104))}catch(e){n()}}};e.addEventListener("load",a),i=setTimeout(a,this.iframesTimeout)}},{key:"onIframeReady",value:function(e,t,n){try{"complete"===e.contentWindow.document.readyState?this.isIframeBlank(e)?this.observeIframeLoad(e,t,n):this.getIframeContents(e,t,n):this.observeIframeLoad(e,t,n)}catch(e){n()}}},{key:"waitForIframes",value:function(e,t){var n=this,r=0;this.forEachIframe(e,function(){return!0},function(e){r++,n.waitForIframes(e.querySelector("html"),function(){--r||t()})},function(e){e||t()})}},{key:"forEachIframe",value:function(t,n,r){var o=this,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},a=t.querySelectorAll("iframe"),s=a.length,c=0;a=Array.prototype.slice.call(a);var u=function(){--s<=0&&i(c)};s||u(),a.forEach(function(t){e.matches(t,o.exclude)?u():o.onIframeReady(t,function(e){n(t)&&(c++,r(e)),u()},u)})}},{key:"createIterator",value:function(e,t,n){return document.createNodeIterator(e,t,n,!1)}},{key:"createInstanceOnIframe",value:function(t){return new e(t.querySelector("html"),this.iframes)}},{key:"compareNodeIframe",value:function(e,t,n){if(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_PRECEDING){if(null===t)return!0;if(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)return!0}return!1}},{key:"getIteratorNode",value:function(e){var t=e.previousNode();return{prevNode:t,node:null===t?e.nextNode():e.nextNode()&&e.nextNode()}}},{key:"checkIframeFilter",value:function(e,t,n,r){var o=!1,i=!1;return r.forEach(function(e,t){e.val===n&&(o=t,i=e.handled)}),this.compareNodeIframe(e,t,n)?(!1!==o||i?!1===o||i||(r[o].handled=!0):r.push({val:n,handled:!0}),!0):(!1===o&&r.push({val:n,handled:!1}),!1)}},{key:"handleOpenIframes",value:function(e,t,n,r){var o=this;e.forEach(function(e){e.handled||o.getIframeContents(e.val,function(e){o.createInstanceOnIframe(e).forEachNode(t,n,r)})})}},{key:"iterateThroughNodes",value:function(e,t,n,r,o){for(var i,a,s,c=this,u=this.createIterator(t,e,r),l=[],h=[];s=void 0,s=c.getIteratorNode(u),a=s.prevNode,i=s.node;)this.iframes&&this.forEachIframe(t,function(e){return c.checkIframeFilter(i,a,e,l)},function(t){c.createInstanceOnIframe(t).forEachNode(e,function(e){return h.push(e)},r)}),h.push(i);h.forEach(function(e){n(e)}),this.iframes&&this.handleOpenIframes(l,e,n,r),o()}},{key:"forEachNode",value:function(e,t,n){var r=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},i=this.getContexts(),a=i.length;a||o(),i.forEach(function(i){var s=function(){r.iterateThroughNodes(e,i,t,n,function(){--a<=0&&o()})};r.iframes?r.waitForIframes(i,s):s()})}}],[{key:"matches",value:function(e,t){var n="string"==typeof t?[t]:t,r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(r){var o=!1;return n.every(function(t){return!r.call(e,t)||(o=!0,!1)}),o}return!1}}]),e}(),a= 31105/* */ 31106function(){function e(n){t(this,e),this.opt=o({},{diacritics:!0,synonyms:{},accuracy:"partially",caseSensitive:!1,ignoreJoiners:!1,ignorePunctuation:[],wildcards:"disabled"},n)}return r(e,[{key:"create",value:function(e){return"disabled"!==this.opt.wildcards&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),"disabled"!==this.opt.wildcards&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e),new RegExp(e,"gm".concat(this.opt.caseSensitive?"":"i"))}},{key:"sortByLength",value:function(e){return e.sort(function(e,t){return e.length===t.length?e>t?1:-1:t.length-e.length})}},{key:"escapeStr",value:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}},{key:"createSynonymsRegExp",value:function(e){var t=this,n=this.opt.synonyms,r=this.opt.caseSensitive?"":"i",o=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(var i in n)if(n.hasOwnProperty(i)){var a=Array.isArray(n[i])?n[i]:[n[i]];a.unshift(i),(a=this.sortByLength(a).map(function(e){return"disabled"!==t.opt.wildcards&&(e=t.setupWildcardsRegExp(e)),e=t.escapeStr(e)}).filter(function(e){return""!==e})).length>1&&(e=e.replace(new RegExp("(".concat(a.map(function(e){return t.escapeStr(e)}).join("|"),")"),"gm".concat(r)),o+"(".concat(a.map(function(e){return t.processSynonyms(e)}).join("|"),")")+o))}return e}},{key:"processSynonyms",value:function(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}},{key:"setupWildcardsRegExp",value:function(e){return(e=e.replace(/(?:\\)*\?/g,function(e){return"\\"===e.charAt(0)?"?":"�"})).replace(/(?:\\)*\*/g,function(e){return"\\"===e.charAt(0)?"*":"�"})}},{key:"createWildcardsRegExp",value:function(e){var t="withSpaces"===this.opt.wildcards;return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}},{key:"setupIgnoreJoinersRegExp",value:function(e){return e.replace(/[^(|)\\]/g,function(e,t,n){var r=n.charAt(t+1);return/[(|)\\]/.test(r)||""===r?e:e+"\0"})}},{key:"createJoinersRegExp",value:function(e){var t=[],n=this.opt.ignorePunctuation;return Array.isArray(n)&&n.length&&t.push(this.escapeStr(n.join(""))),this.opt.ignoreJoiners&&t.pu
31106sh("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join("[".concat(t.join(""),"]*")):e}},{key:"createDiacriticsRegExp",value:function(e){var t=this.opt.caseSensitive?"":"i",n=this.opt.caseSensitive?["aà áảãạÄằắẳẵặâầấẩẫáºÃ¤Ã¥ÄÄ
","AÃÃẢÃẠÄẰẮẲẴẶÃẦẤẨẪẬÃÃ
ÄÄ","cçÄÄ","CÃÄÄ","dÄÄ","DÄÄ","eèéẻẽẹêá»áº¿á»á»
á»Ã«ÄÄÄ","EÃÃẺẼẸÃá»áº¾á»á»á»ÃÄÄÄ","iìÃá»Ä©á»Ã®Ã¯Ä«","IÃÃá»Ä¨á»ÃÃĪ","lÅ","LÅ","nñÅÅ","NÃÅÅ","oòóá»Ãµá»Ã´á»á»á»á»á»Æ¡á»á»¡á»á»á»£Ã¶Ã¸Å","OÃÃá»Ãá»Ãá»á»á»á»á»Æ á»á» á»á»á»¢ÃÃÅ","rÅ","RÅ","sÅ¡ÅÈÅ","SÅ ÅÈÅ","tÅ¥ÈÅ£","TŤÈÅ¢","uùúủũụưừứá»á»¯á»±Ã»Ã¼Å¯Å«","UÃÃỦŨỤƯỪỨỬỮỰÃÃŮŪ","yýỳỷỹỵÿ","YÃỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aà áảãạÄằắẳẵặâầấẩẫáºÃ¤Ã¥ÄÄ
AÃÃẢÃẠÄẰẮẲẴẶÃẦẤẨẪẬÃÃ
ÄÄ","cçÄÄCÃÄÄ","dÄÄDÄÄ","eèéẻẽẹêá»áº¿á»á»
á»Ã«ÄÄÄEÃÃẺẼẸÃá»áº¾á»á»á»ÃÄÄÄ","iìÃá»Ä©á»Ã®Ã¯Ä«IÃÃá»Ä¨á»ÃÃĪ","lÅLÅ","nñÅÅNÃÅÅ","oòóá»Ãµá»Ã´á»á»á»á»á»Æ¡á»á»¡á»á»á»£Ã¶Ã¸ÅOÃÃá»Ãá»Ãá»á»á»á»á»Æ á»á» á»á»á»¢ÃÃÅ","rÅRÅ","sÅ¡ÅÈÅSÅ ÅÈÅ","tÅ¥ÈÅ£TŤÈÅ¢","uùúủũụưừứá»á»¯á»±Ã»Ã¼Å¯Å«UÃÃỦŨỤƯỪỨỬỮỰÃÃŮŪ","yýỳỷỹỵÿYÃỲỶỸỴŸ","zžżźZŽŻŹ"],r=[];return e.split("").forEach(function(o){n.every(function(n){if(-1!==n.indexOf(o)){if(r.indexOf(n)>-1)return!1;e=e.replace(new RegExp("[".concat(n,"]"),"gm".concat(t)),"[".concat(n,"]")),r.push(n)}return!0})}),e}},{key:"createMergedBlanksRegExp",value:function(e){return e.replace(/[\s]+/gim,"[\\s]+")}},{key:"createAccuracyRegExp",value:function(e){var t=this,n=this.opt.accuracy,r="string"==typeof n?n:n.value,o="string"==typeof n?[]:n.limiters,i="";
31106switch(o.forEach(function(e){i+="|".concat(t.escapeStr(e))}),r){case"partially":default:return"()(".concat(e,")");case"complementary":return i="\\s"+(i||this.escapeStr("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿")),"()([^".concat(i,"]*").concat(e,"[^").concat(i,"]*)");case"exactly":return"(^|\\s".concat(i,")(").concat(e,")(?=$|\\s").concat(i,")")}}}]),e}(),s= 31107/* */ 31108function(){function n(e){t(this,n),this.ctx=e,this.ie=!1;var r=window.navigator.userAgent;(r.indexOf("MSIE")>-1||r.indexOf("Trident")>-1)&&(this.ie=!0)}return r(n,[{key:"log",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"debug",r=this.opt.log;this.opt.debug&&"object"===e(r)&&"function"==typeof r[n]&&r[n]("mark.js: ".concat(t))}},{key:"getSeparatedKeywords",value:function(e){var t=this,n=[];return e.forEach(function(e){t.opt.separateWordSearch?e.split(" ").forEach(function(e){e.trim()&&-1===n.indexOf(e)&&n.push(e)}):e.trim()&&-1===n.indexOf(e)&&n.push(e)}),{keywords:n.sort(function(e,t){return t.length-e.length}),length:n.length}}},{key:"isNumeric",value:function(e){return Number(parseFloat(e))==e}},{key:"checkRanges",value:function(e){var t=this;if(!Array.isArray(e)||"[object Object]"!==Object.prototype.toString.call(e[0]))return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];var n=[],r=0;return e.sort(function(e,t){return e.start-t.start}).forEach(function(e){var o=t.callNoMatchOnInvalidRanges(e,r),i=o.start,a=o.end;o.valid&&(e.start=i,e.length=a-i,n.push(e),r=a)}),n}},{key:"callNoMatchOnInvalidRanges",value:function(e,t){var n,r,o=!1;return e&&void 0!==e.start?(r=(n=parseInt(e.start,10))+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&r-t>0&&r-n>0?o=!0:(this.log("Ignoring invalid or overlapping range: "+"".concat(JSON.stringify(e))),this.opt.noMatch(e))):(this.log("Ignoring invalid range: ".concat(JSON.stringify(e))),this.opt.noMatch(e)),{start:n,end:r,valid:o}}},{key:"checkWhitespaceRanges",value:function(e,t,n){var r,o=!0,i=n.length,a=t-i,s=parseInt(e.start,10)-a;return(r=(s=s>i?i:s)+parseInt(e.length,10))>i&&(r=i,this.log("End range automatically set to the max value of ".concat(i))),s<0||r-s<0||s>i||r>i?(o=!1,this.log("Invalid range: ".concat(JSON.stringify(e))),this.opt.noMatch(e)):""===n.substring(s,r).replace(/\s+/g,"")&&(o=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:s,end:r,valid:o}}},{key:"getTextNodes",value:function(e){var t=this,n="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,function(e){r.push({start:n.length,end:(n+=e.textContent).length,node:e})},function(e){return t.matchesExclude(e.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},function(){e({value:n,nodes:r})})}},{key:"matchesExclude",value:function(e){return i.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}},{key:"wrapRangeInTextNode",value:function(e,t,n){var r=this.opt.element?this.opt.element:"mark",o=e.splitText(t),i=o.splitText(n-t),a=document.createElement(r);return a.setAttribute("data-markjs","true"),this.opt.className&&a.setAttribute("class",this.opt.className),a.textContent=o.textContent,o.parentNode.replaceChild(a,o),i}},{key:"wrapRangeInMappedTextNode",value:function(e,t,n,r,o){var i=this;e.nodes.every(function(a,s){var c=e.nodes[s+1];if(void 0===c||c.start>t){if(!r(a.node))return!1;var u=t-a.start,l=(n>a.end?a.end:n)-a.start,h=e.value.substr(0,a.start),f=e.value.substr(l+a.start);if(a.node=i.wrapRangeInTextNode(a.node,u,l),e.value=h+f,e.nodes.forEach(function(t,n){n>=s&&(e.nodes[n].start>0&&n!==s&&(e.nodes[n].start-=l),e.nodes[n].end-=l)}),n-=l,o(a.node.previousSibling,a.start),!(n>a.end))return!1;t=a.end}return!0})}},{key:"wrapGroups",value:function(e,t,n,r){return r((e=this.wrapRangeInTextNode(e,t,t+n)).previousSibling),e}},{key:"separateGroups",value:function(e,t,n,r,o){for(var i=t.length,a=1;a<i;a++){var s=e.textContent.indexOf(t[a]);t[a]&&s>-1&&r(t[a],e)&&(e=this.wrapGroups(e,s,t[a].length,o))}return e}},{key:"wrapMatches",value:function(e,t,n,r,o){var i=this,a=0===t?0:t+1;
31108this.getTextNodes(function(t){t.nodes.forEach(function(t){var o;for(t=t.node;null!==(o=e.exec(t.textContent))&&""!==o[a];){if(i.opt.separateGroups)t=i.separateGroups(t,o,a,n,r);else{if(!n(o[a],t))continue;var s=o.index;if(0!==a)for(var c=1;c<a;c++)s+=o[c].length;t=i.wrapGroups(t,s,o[a].length,r)}e.lastIndex=0}}),o()})}},{key:"wrapMatchesAcrossElements",value:function(e,t,n,r,o){var i=this,a=0===t?0:t+1;this.getTextNodes(function(t){for(var s;null!==(s=e.exec(t.value))&&""!==s[a];){var c=s.index;if(0!==a)for(var u=1;u<a;u++)c+=s[u].length;var l=c+s[a].length;i.wrapRangeInMappedTextNode(t,c,l,function(e){return n(s[a],e)},function(t,n){e.lastIndex=n,r(t)})}o()})}},{key:"wrapRangeFromIndex",value:function(e,t,n,r){var o=this;this.getTextNodes(function(i){var a=i.value.length;e.forEach(function(e,r){var s=o.checkWhitespaceRanges(e,a,i.value),c=s.start,u=s.end;s.valid&&o.wrapRangeInMappedTextNode(i,c,u,function(n){return t(n,e,i.value.substring(c,u),r)},function(t){n(t,e)})}),r()})}},{key:"unwrapMatches",value:function(e){for(var t=e.parentNode,n=document.createDocumentFragment();e.firstChild;)n.appendChild(e.removeChild(e.firstChild));t.replaceChild(n,e),this.ie?this.normalizeTextNode(t):t.normalize()}},{key:"normalizeTextNode",value:function(e){if(e){if(3===e.nodeType)for(;e.nextSibling&&3===e.nextSibling.nodeType;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}},{key:"markRegExp",value:function(e,t){var n=this;this.opt=t,this.log('Searching with expression "'.concat(e,'"'));var r=0,o="wrapMatches";this.opt.acrossElements&&(o="wrapMatchesAcrossElements"),this[o](e,this.opt.ignoreGroups,function(e,t){return n.opt.filter(t,e,r)},function(e){r++,n.opt.each(e)},function(){0===r&&n.opt.noMatch(e),n.opt.done(r)})}},{key:"mark",value:function(e,t){var n=this;this.opt=t;var r=0,o="wrapMatches",i=this.getSeparatedKeywords("string"==typeof e?[e]:e),s=i.keywords,c=i.length;this.opt.acrossElements&&(o="wrapMatchesAcrossElements"),0===c?this.opt.done(r):function e(t){var i=new a(n.opt).create(t),u=0;n.log('Searching with expression "'.concat(i,'"')),n[o](i,1,function(e,o){return n.opt.filter(o,t,r,u)},function(e){u++,r++,n.opt.each(e)},function(){0===u&&n.opt.noMatch(t),s[c-1]===t?n.opt.done(r):e(s[s.indexOf(t)+1])})}(s[0])}},{key:"markRanges",value:function(e,t){var n=this;this.opt=t;var r=0,o=this.checkRanges(e);o&&o.length?(this.log("Starting to mark with the following ranges: "+JSON.stringify(o)),this.wrapRangeFromIndex(o,function(e,t,r,o){return n.opt.filter(e,t,r,o)},function(e,t){r++,n.opt.each(e,t)},function(){n.opt.done(r)})):this.opt.done(r)}},{key:"unmark",value:function(e){var t=this;this.opt=e;var n=this.opt.element?this.opt.element:"*";n+="[data-markjs]",this.opt.className&&(n+=".".concat(this.opt.className)),this.log('Removal selector "'.concat(n,'"')),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,function(e){t.unwrapMatches(e)},function(e){var r=i.matches(e,n),o=t.matchesExclude(e);return!r||o?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},this.opt.done)}},{key:"opt",set:function(e){this._opt=o({},{element:"",className:"",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,acrossElements:!1,ignoreGroups:0,each:function(){},noMatch:function(){},filter:function(){return!0},done:function(){},debug:!1,log:window.console},e)},get:function(){return this._opt}},{key:"iterator",get:function(){return new i(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}}]),n}();return function(e){var t=this,n=new s(e);return this.mark=function(e,r){return n.mark(e,r),t},this.markRegExp=function(e,r){return n.markRegExp(e,r),t},this.markRanges=function(e,r){return n.markRanges(e,r),t},this.unmark=function(e){return n.unmark(e),t},this}}); 31109 31110�/*! 31111 * jQuery & Zepto Lazy - v1.7.10 31112 * http://jquery.eisbehr.de/lazy/ 31113 * 31114 * Copyright 2012 - 2018, Daniel 'Eisbehr' Kern 31115 * 31116 * Dual licensed under the MIT and GPL-2.0 licenses: 31117 * http://www.opensource.org/licenses/mit-license.php 31118 * http://www.gnu.org/licenses/gpl-2.0.html 31119 * 31120 * $("img.lazy").lazy(); 31121 */ 31122 31123;(function(window, undefined) { 31124 "use strict"; 31125 31126 // noinspection JSUnresolvedVariable 31127 /** 31128 * library instance - here and not in construct to be shorter in minimization 31129 * @return void 31130 */ 31131 var $ = window.jQuery || window.Zepto, 31132 31133 /** 31134 * unique plugin instance id counter 31135 * @type {number} 31136 */ 31137 lazyInstanceId = 0, 31138 31139 /** 31140 * helper to register window load for jQuery 3
vendor: 30,084 bytes, lines 31141-31983
31141 * @type {boolean} 31142 */ 31143 windowLoaded = false; 31144 31145 /** 31146 * make lazy available to jquery - and make it a bit more case-insensitive :) 31147 * @access public 31148 * @type {function} 31149 * @param {object} settings 31150 * @return {LazyPlugin} 31151 */ 31152 $.fn.Lazy = $.fn.lazy = function(settings) { 31153 return new LazyPlugin(this, settings); 31154 }; 31155 31156 /** 31157 * helper to add plugins to lazy prototype configuration 31158 * @access public 31159 * @type {function} 31160 * @param {string|Array} names 31161 * @param {string|Array|function} [elements] 31162 * @param {function} loader 31163 * @return void 31164 */ 31165 $.Lazy = $.lazy = function(names, elements, loader) { 31166 // make second parameter optional 31167 if ($.isFunction(elements)) { 31168 loader = elements; 31169 elements = []; 31170 } 31171 31172 // exit here if parameter is not a callable function 31173 if (!$.isFunction(loader)) { 31174 return; 31175 } 31176 31177 // make parameters an array of names to be sure 31178 names = $.isArray(names) ? names : [names]; 31179 elements = $.isArray(elements) ? elements : [elements]; 31180 31181 var config = LazyPlugin.prototype.config, 31182 forced = config._f || (config._f = {}); 31183 31184 // add the loader plugin for every name 31185 for (var i = 0, l = names.length; i < l; i++) { 31186 if (config[names[i]] === undefined || $.isFunction(config[names[i]])) { 31187 config[names[i]] = loader; 31188 } 31189 } 31190 31191 // add forced elements loader 31192 for (var c = 0, a = elements.length; c < a; c++) { 31193 forced[elements[c]] = names[0]; 31194 } 31195 }; 31196 31197 /** 31198 * contains all logic and the whole element handling 31199 * is packed in a private function outside class to reduce memory usage, because it will not be created on every plugin instance 31200 * @access private 31201 * @type {function} 31202 * @param {LazyPlugin} instance 31203 * @param {object} config 31204 * @param {object|Array} items 31205 * @param {object} events 31206 * @param {string} namespace 31207 * @return void 31208 */ 31209 function _executeLazy(instance, config, items, events, namespace) { 31210 /** 31211 * a helper to trigger the 'onFinishedAll' callback after all other events 31212 * @access private 31213 * @type {number} 31214 */ 31215 var _awaitingAfterLoad = 0, 31216 31217 /** 31218 * visible content width 31219 * @access private 31220 * @type {number} 31221 */ 31222 _actualWidth = -1, 31223 31224 /** 31225 * visible content height 31226 * @access private 31227 * @type {number} 31228 */ 31229 _actualHeight = -1, 31230 31231 /** 31232 * determine possibly detected high pixel density 31233 * @access private 31234 * @type {boolean} 31235 */ 31236 _isRetinaDisplay = false, 31237 31238 /** 31239 * dictionary entry for better minimization 31240 * @access private 31241 * @type {string} 31242 */ 31243 _afterLoad = 'afterLoad', 31244 31245 /** 31246 * dictionary entry for better minimization 31247 * @access private 31248 * @type {string} 31249 */ 31250 _load = 'load', 31251 31252 /** 31253 * dictionary entry for better minimization 31254 * @access private 31255 * @type {string} 31256 */ 31257 _error = 'error', 31258 31259 /** 31260 * dictionary entry for better minimization 31261 * @access private 31262 * @type {string} 31263 */ 31264 _img = 'img', 31265 31266 /** 31267 * dictionary entry for better minimization 31268 * @access private 31269 * @type {string} 31270 */ 31271 _src = 'src', 31272 31273 /** 31274 * dictionary entry for better minimization 31275 * @access private 31276 * @type {string} 31277 */ 31278 _srcset = 'srcset', 31279 31280 /** 31281 * dictionary entry for better minimization 31282 * @access private 31283 * @type {string} 31284 */ 31285 _sizes = 'sizes', 31286 31287 /** 31288 * dictionary entry for better minimization 31289 * @access private 31290 * @type {string} 31291 */ 31292 _backgroundImage = 'background-image'; 31293 31294 /** 31295 * initialize plugin 31296 * bind loading to events or set delay time to load all items at once 31297 * @access private 31298 * @return void 31299 */ 31300 function _initialize() { 31301 // detect actual device pixel ratio 31302 // noinspection JSUnresolvedVariable 31303 _isRetinaDisplay = window.devicePixelRatio > 1; 31304 31305 // prepare all initial items 31306 items = _prepareItems(items); 31307 31308 // if delay time is set load all items at once after delay time 31309 if (config.delay >= 0) { 31310 setTimeout(function() { 31311 _lazyLoadItems(true); 31312 }, config.delay); 31313 } 31314 31315 // if no delay is set or combine usage is active bind events 31316 if (config.delay < 0 || config.combined) { 31317 // create unique event function 31318 events.e = _throttle(config.throttle, function(event) { 31319 // reset detected window size on resize event 31320 if (event.type === 'resize') { 31321 _actualWidth = _actualHeight = -1; 31322 } 31323 31324 // execute 'lazy magic' 31325 _lazyLoadItems(event.all); 31326 }); 31327 31328 // create function to add new items to instance 31329 events.a = function(additionalItems) { 31330 additionalItems = _prepareItems(additionalItems); 31331 items.push.apply(items, additionalItems); 31332 }; 31333 31334 // create function to get all instance items left 31335 events.g = function() { 31336 // filter loaded items before return in case internal filter was not running until now 31337 return (items = $(items).filter(function() { 31338 return !$(this).data(config.loadedName); 31339 })); 31340 }; 31341 31342 // create function to force loading elements 31343 events.f = function(forcedItems) { 31344 for (var i = 0; i < forcedItems.length; i++) { 31345 // only handle item if available in current instance 31346 // use a compare function, because Zepto can't handle object parameter for filter 31347 // var item = items.filter(forcedItems[i]); 31348 /* jshint loopfunc: true */ 31349 var item = items.filter(function() { 31350 return this === forcedItems[i]; 31351 }); 31352 31353 if (item.length) { 31354 _lazyLoadItems(false, item); 31355 } 31356 } 31357 }; 31358 31359 // load initial items 31360 _lazyLoadItems(); 31361 31362 // bind lazy load functions to scroll and resize event 31363 // noinspection JSUnresolvedVariable 31364 $(config.appendScroll).on('scroll.' + namespace + ' resize.' + namespace, events.e); 31365 } 31366 } 31367 31368 /** 31369 * prepare items before handle them 31370 * @access private 31371 * @param {Array|object|jQuery} items 31372 * @return {Array|object|jQuery} 31373 */ 31374 function _prepareItems(items) { 31375 // fetch used configurations before loops 31376 var defaultImage = config.defaultImage, 31377 placeholder = config.placeholder, 31378 imageBase = config.imageBase, 31379 srcsetAttribute = config.srcsetAttribute, 31380 loaderAttribute = config.loaderAttribute, 31381 forcedTags = config._f || {}; 31382 31383 // filter items and only add those who not handled yet and got needed attributes available 31384 items = $(items).filter(function() { 31385 var element = $(this), 31386 tag = _getElementTagName(this); 31387 31388 return !element.data(config.handledName) && 31389 (element.attr(config.attribute) || element.attr(srcsetAttribute) || element.attr(loaderAttribute) || forcedTags[tag] !== undefined); 31390 }) 31391 31392 // append plugin instance to all elements 31393 .data('plugin_' + config.name, instance); 31394 31395 for (var i = 0, l = items.length; i < l; i++) { 31396 var element = $(items[i]), 31397 tag = _getElementTagName(items[i]), 31398 elementImageBase = element.attr(config.imageBaseAttribute) || imageBase; 31399 31400 // generate and update source set if an image base is set 31401 if (tag === _img && elementImageBase && element.attr(srcsetAttribute)) { 31402 element.attr(srcsetAttribute, _getCorrectedSrcSet(element.attr(srcsetAttribute), elementImageBase)); 31403 } 31404 31405 // add loader to forced element types 31406 if (forcedTags[tag] !== undefined && !element.attr(loaderAttribute)) { 31407 element.attr(loaderAttribute, forcedTags[tag]); 31408 } 31409 31410 // set default image on every element without source 31411 if (tag === _img && defaultImage && !element.attr(_src)) { 31412 element.attr(_src, defaultImage); 31413 } 31414 31415 // set placeholder on every element without background image 31416 else if (tag !== _img && placeholder && (!element.css(_backgroundImage) || element.css(_backgroundImage) === 'none')) { 31417 element.css(_backgroundImage, "url('" + placeholder + "')"); 31418 } 31419 } 31420 31421 return items; 31422 } 31423 31424 /** 31425 * the 'lazy magic' - check all items 31426 * @access private 31427 * @param {boolean} [allItems] 31428 * @param {object} [forced] 31429 * @return void 31430 */ 31431 function _lazyLoadItems(allItems, forced) { 31432 // skip if no items where left 31433 if (!items.length) { 31434 // destroy instance if option is enabled 31435 if (config.autoDestroy) { 31436 // noinspection JSUnresolvedFunction 31437 instance.destroy(); 31438 } 31439 31440 return; 31441 } 31442 31443 var elements = forced || items, 31444 loadTriggered = false, 31445 imageBase = config.imageBase || '', 31446 srcsetAttribute = config.srcsetAttribute, 31447 handledName = config.handledName; 31448 31449 // loop all available items 31450 for (var i = 0; i < elements.length; i++) { 31451 // item is at least in loadable area 31452 if (allItems || forced || _isInLoadableArea(elements[i])) { 31453 var element = $(elements[i]), 31454 tag = _getElementTagName(elements[i]), 31455 attribute = element.attr(config.attribute), 31456 elementImageBase = element.attr(config.imageBaseAttribute) || imageBase, 31457 customLoader = element.attr(config.loaderAttribute); 31458 31459 // is not already handled 31460 if (!element.data(handledName) && 31461 // and is visible or visibility doesn't matter 31462 (!config.visibleOnly || element.is(':visible')) && ( 31463 // and image source or source set attribute is available 31464 (attribute || element.attr(srcsetAttribute)) && ( 31465 // and is image tag where attribute is not equal source or source set 31466 (tag === _img && (elementImageBase + attribute !== element.attr(_src) || element.attr(srcsetAttribute) !== element.attr(_srcset))) || 31467 // or is non image tag where attribute is not equal background 31468 (tag !== _img && elementImageBase + attribute !== element.css(_backgroundImage)) 31469 ) || 31470 // or custom loader is available 31471 customLoader)) 31472 { 31473 // mark element always as handled as this point to prevent double handling 31474 loadTriggered = true; 31475 element.data(handledName, true); 31476 31477 // load item 31478 _handleItem(element, tag, elementImageBase, customLoader); 31479 } 31480 } 31481 } 31482 31483 // when something was loaded remove them from remaining items 31484 if (loadTriggered) { 31485 items = $(items).filter(function() { 31486 return !$(this).data(handledName); 31487 }); 31488 } 31489 } 31490 31491 /** 31492 * load the given element the lazy way 31493 * @access private 31494 * @param {object} element 31495 * @param {string} tag 31496 * @param {string} imageBase 31497 * @param {function} [customLoader] 31498 * @return void 31499 */ 31500 function _handleItem(element, tag, imageBase, customLoader) { 31501 // increment count of items waiting for after load 31502 ++_awaitingAfterLoad; 31503 31504 // extended error callback for correct 'onFinishedAll' handling 31505 var errorCallback = function() { 31506 _triggerCallback('onError', element); 31507 _reduceAwaiting(); 31508 31509 // prevent further callback calls 31510 errorCallback = $.noop; 31511 }; 31512 31513 // trigger function before loading image 31514 _triggerCallback('beforeLoad', element); 31515 31516 // fetch all double used data here for better code minimization 31517 var srcAttribute = config.attribute, 31518 srcsetAttribute = config.srcsetAttribute, 31519 sizesAttribute = config.sizesAttribute, 31520 retinaAttribute = config.retinaAttribute, 31521 removeAttribute = config.removeAttribute, 31522 loadedName = config.loadedName, 31523 elementRetina = element.attr(retinaAttribute); 31524 31525 // handle custom loader 31526 if (customLoader) { 31527 // on load callback 31528 var loadCallback = function() { 31529 // remove attribute from element 31530 if (removeAttribute) { 31531 element.removeAttr(config.loaderAttribute); 31532 } 31533 31534 // mark element as loaded 31535 element.data(loadedName, true); 31536 31537 // call after load event 31538 _triggerCallback(_afterLoad, element); 31539 31540 // remove item from waiting queue and possibly trigger finished event 31541 // it's needed to be asynchronous to run after filter was in _lazyLoadItems 31542 setTimeout(_reduceAwaiting, 1); 31543 31544 // prevent further callback calls 31545 loadCallback = $.noop; 31546 }; 31547 31548 // bind error event to trigger callback and reduce waiting amount 31549 element.off(_error).one(_error, errorCallback) 31550 31551 // bind after load callback to element 31552 .one(_load, loadCallback); 31553 31554 // trigger custom loader and handle response 31555 if (!_triggerCallback(customLoader, element, function(response) { 31556 if(response) { 31557 element.off(_load); 31558 loadCallback(); 31559 } 31560 else { 31561 element.off(_error); 31562 errorCallback(); 31563 } 31564 })) { 31565 element.trigger(_error); 31566 } 31567 } 31568 31569 // handle images 31570 else { 31571 // create image object 31572 var imageObj = $(new Image()); 31573 31574 // bind error event to trigger callback and reduce waiting amount 31575 imageObj.one(_error, errorCallback) 31576 31577 // bind after load callback to image 31578 .one(_load, function() { 31579 // remove element from view 31580 element.hide(); 31581 31582 // set image back to element 31583 // do it as single 'attr' calls, to be sure 'src' is set after 'srcset' 31584 if (tag === _img) { 31585 element.attr(_sizes, imageObj.attr(_sizes)) 31586 .attr(_srcset, imageObj.attr(_srcset)) 31587 .attr(_src, imageObj.attr(_src)); 31588 } 31589 else { 31590 element.css(_backgroundImage, "url('" + imageObj.attr(_src) + "')"); 31591 } 31592 31593 // bring it back with some effect! 31594 element[config.effect](config.effectTime); 31595 31596 // remove attribute from element 31597 if (removeAttribute) { 31598 element.removeAttr(srcAttribute + ' ' + srcsetAttribute + ' ' + retinaAttribute + ' ' + config.imageBaseAttribute); 31599 31600 // only remove 'sizes' attribute, if it was a custom one 31601 if (sizesAttribute !== _sizes) { 31602 element.removeAttr(sizesAttribute); 31603 } 31604 } 31605 31606 // mark element as loaded 31607 element.data(loadedName, true); 31608 31609 // call after load event 31610 _triggerCallback(_afterLoad, element); 31611 31612 // cleanup image object 31613 imageObj.remove(); 31614 31615 // remove item from waiting queue and possibly trigger finished event 31616 _reduceAwaiting(); 31617 }); 31618 31619 // set sources 31620 // do it as single 'attr' calls, to be sure 'src' is set after 'srcset' 31621 var imageSrc = (_isRetinaDisplay && elementRetina ? elementRetina : element.attr(srcAttribute)) || ''; 31622 imageObj.attr(_sizes, element.attr(sizesAttribute)) 31623 .attr(_srcset, element.attr(srcsetAttribute)) 31624 .attr(_src, imageSrc ? imageBase + imageSrc : null); 31625 31626 // call after load even on cached image 31627 imageObj.complete && imageObj.trigger(_load); // jshint ignore : line 31628 } 31629 } 31630 31631 /** 31632 * check if the given element is inside the current viewport or threshold 31633 * @access private 31634 * @param {object} element 31635 * @return {boolean} 31636 */ 31637 function _isInLoadableArea(element) { 31638 var elementBound = element.getBoundingClientRect(), 31639 direction = config.scrollDirection, 31640 threshold = config.threshold, 31641 vertical = // check if element is in loadable area from top 31642 ((_getActualHeight() + threshold) > elementBound.top) && 31643 // check if element is even in loadable are from bottom 31644 (-threshold < elementBound.bottom), 31645 horizontal = // check if element is in loadable area from left 31646 ((_getActualWidth() + threshold) > elementBound.left) && 31647 // check if element is even in loadable area from right 31648 (-threshold < elementBound.right); 31649 31650 if (direction === 'vertical') { 31651 return vertical; 31652 } 31653 else if (direction === 'horizontal') { 31654 return horizontal; 31655 } 31656 31657 return vertical && horizontal; 31658 } 31659 31660 /** 31661 * receive the current viewed width of the browser 31662 * @access private 31663 * @return {number} 31664 */ 31665 function _getActualWidth() { 31666 return _actualWidth >= 0 ? _actualWidth : (_actualWidth = $(window).width()); 31667 } 31668 31669 /** 31670 * receive the current viewed height of the browser 31671 * @access private 31672 * @return {number} 31673 */ 31674 function _getActualHeight() { 31675 return _actualHeight >= 0 ? _actualHeight : (_actualHeight = $(window).height()); 31676 } 31677 31678 /** 31679 * get lowercase tag name of an element 31680 * @access private 31681 * @param {object} element 31682 * @returns {string} 31683 */ 31684 function _getElementTagName(element) { 31685 return element.tagName.toLowerCase(); 31686 } 31687 31688 /** 31689 * prepend image base to all srcset entries 31690 * @access private 31691 * @param {string} srcset 31692 * @param {string} imageBase 31693 * @returns {string} 31694 */ 31695 function _getCorrectedSrcSet(srcset, imageBase) { 31696 if (imageBase) { 31697 // trim, remove unnecessary spaces and split entries 31698 var entries = srcset.split(','); 31699 srcset = ''; 31700 31701 for (var i = 0, l = entries.length; i < l; i++) { 31702 srcset += imageBase + entries[i].trim() + (i !== l - 1 ? ',' : ''); 31703 } 31704 } 31705 31706 return srcset; 31707 } 31708 31709 /** 31710 * helper function to throttle down event triggering 31711 * @access private 31712 * @param {number} delay 31713 * @param {function} callback 31714 * @return {function} 31715 */ 31716 function _throttle(delay, callback) { 31717 var timeout, 31718 lastExecute = 0; 31719 31720 return function(event, ignoreThrottle) { 31721 var elapsed = +new Date() - lastExecute; 31722 31723 function run() { 31724 lastExecute = +new Date(); 31725 // noinspection JSUnresolvedFunction 31726 callback.call(instance, event); 31727 } 31728 31729 timeout && clearTimeout(timeout); // jshint ignore : line 31730 31731 if (elapsed > delay || !config.enableThrottle || ignoreThrottle) { 31732 run(); 31733 } 31734 else { 31735 timeout = setTimeout(run, delay - elapsed); 31736 } 31737 }; 31738 } 31739 31740 /** 31741 * reduce count of awaiting elements to 'afterLoad' event and fire 'onFinishedAll' if reached zero 31742 * @access private 31743 * @return void 31744 */ 31745 function _reduceAwaiting() { 31746 --_awaitingAfterLoad; 31747 31748 // if no items were left trigger finished event 31749 if (!items.length && !_awaitingAfterLoad) { 31750 _triggerCallback('onFinishedAll'); 31751 } 31752 } 31753 31754 /** 31755 * single implementation to handle callbacks, pass element and set 'this' to current instance 31756 * @access private 31757 * @param {string|function} callback 31758 * @param {object} [element] 31759 * @param {*} [args] 31760 * @return {boolean} 31761 */ 31762 function _triggerCallback(callback, element, args) { 31763 if ((callback = config[callback])) { 31764 // jQuery's internal '$(arguments).slice(1)' are causing problems at least on old iPads 31765 // below is shorthand of 'Array.prototype.slice.call(arguments, 1)' 31766 callback.apply(instance, [].slice.call(arguments, 1)); 31767 return true; 31768 } 31769 31770 return false; 31771 } 31772 31773 // if event driven or window is already loaded don't wait for page loading 31774 if (config.bind === 'event' || windowLoaded) { 31775 _initialize(); 31776 } 31777 31778 // otherwise load initial items and start lazy after page load 31779 else { 31780 // noinspection JSUnresolvedVariable 31781 $(window).on(_load + '.' + namespace, _initialize); 31782 } 31783 } 31784 31785 /** 31786 * lazy plugin class constructor 31787 * @constructor 31788 * @access private 31789 * @param {object} elements 31790 * @param {object} settings 31791 * @return {object|LazyPlugin} 31792 */ 31793 function LazyPlugin(elements, settings) { 31794 /** 31795 * this lazy plugin instance 31796 * @access private 31797 * @type {object|LazyPlugin|LazyPlugin.prototype} 31798 */ 31799 var _instance = this, 31800 31801 /** 31802 * this lazy plugin instance configuration 31803 * @access private 31804 * @type {object} 31805 */ 31806 _config = $.extend({}, _instance.config, settings), 31807 31808 /** 31809 * instance generated event executed on container scroll or resize 31810 * packed in an object to be referenceable and short named because properties will not be minified 31811 * @access private 31812 * @type {object} 31813 */ 31814 _events = {}, 31815 31816 /** 31817 * unique namespace for instance related events 31818 * @access private 31819 * @type {string} 31820 */ 31821 _namespace = _config.name + '-' + (++lazyInstanceId); 31822 31823 // noinspection JSUndefinedPropertyAssignment 31824 /** 31825 * wrapper to get or set an entry from plugin instance configuration 31826 * much smaller on minify as direct access 31827 * @access public 31828 * @type {function} 31829 * @param {string} entryName 31830 * @param {*} [value] 31831 * @return {LazyPlugin|*} 31832 */ 31833 _instance.config = function(entryName, value) { 31834 if (value === undefined) { 31835 return _config[entryName]; 31836 } 31837 31838 _config[entryName] = value; 31839 return _instance; 31840 }; 31841 31842 // noinspection JSUndefinedPropertyAssignment 31843 /** 31844 * add additional items to current instance 31845 * @access public 31846 * @param {Array|object|string} items 31847 * @return {LazyPlugin} 31848 */ 31849 _instance.addItems = function(items) { 31850 _events.a && _events.a($.type(items) === 'string' ? $(items) : items); // jshint ignore : line 31851 return _instance; 31852 }; 31853 31854 // noinspection JSUndefinedPropertyAssignment 31855 /** 31856 * get all left items of this instance 31857 * @access public 31858 * @returns {object} 31859 */ 31860 _instance.getItems = function() { 31861 return _events.g ? _events.g() : {}; 31862 }; 31863 31864 // noinspection JSUndefinedPropertyAssignment 31865 /** 31866 * force lazy to load all items in loadable area right now 31867 * by default without throttle 31868 * @access public 31869 * @type {function} 31870 * @param {boolean} [useThrottle] 31871 * @return {LazyPlugin} 31872 */ 31873 _instance.update = function(useThrottle) { 31874 _events.e && _events.e({}, !useThrottle); // jshint ignore : line 31875 return _instance; 31876 }; 31877 31878 // noinspection JSUndefinedPropertyAssignment 31879 /** 31880 * force element(s) to load directly, ignoring the viewport 31881 * @access public 31882 * @param {Array|object|string} items 31883 * @return {LazyPlugin} 31884 */ 31885 _instance.force = function(items) { 31886 _events.f && _events.f($.type(items) === 'string' ? $(items) : items); // jshint ignore : line 31887 return _instance; 31888 }; 31889 31890 // noinspection JSUndefinedPropertyAssignment 31891 /** 31892 * force lazy to load all available items right now 31893 * this call ignores throttling 31894 * @access public 31895 * @type {function} 31896 * @return {LazyPlugin} 31897 */ 31898 _instance.loadAll = function() { 31899 _events.e && _events.e({all: true}, true); // jshint ignore : line 31900 return _instance; 31901 }; 31902 31903 // noinspection JSUndefinedPropertyAssignment 31904 /** 31905 * destroy this plugin instance 31906 * @access public 31907 * @type {function} 31908 * @return undefined 31909 */ 31910 _instance.destroy = function() { 31911 // unbind instance generated events 31912 // noinspection JSUnresolvedFunction, JSUnresolvedVariable 31913 $(_config.appendScroll).off('.' + _namespace, _events.e); 31914 // noinspection JSUnresolvedVariable 31915 $(window).off('.' + _namespace); 31916 31917 // clear events 31918 _events = {}; 31919 31920 return undefined; 31921 }; 31922 31923 // start using lazy and return all elements to be chainable or instance for further use 31924 // noinspection JSUnresolvedVariable 31925 _executeLazy(_instance, _config, elements, _events, _namespace); 31926 return _config.chainable ? elements : _instance; 31927 } 31928 31929 /** 31930 * settings and configuration data 31931 * @access public 31932 * @type {object|*} 31933 */ 31934 LazyPlugin.prototype.config = { 31935 // general 31936 name : 'lazy', 31937 chainable : true, 31938 autoDestroy : true, 31939 bind : 'load', 31940 threshold : 500, 31941 visibleOnly : false, 31942 appendScroll : window, 31943 scrollDirection : 'both', 31944 imageBase : null, 31945 defaultImage : 'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==', 31946 placeholder : null, 31947 delay : -1, 31948 combined : false, 31949 31950 // attributes 31951 attribute : 'data-src', 31952 srcsetAttribute : 'data-srcset', 31953 sizesAttribute : 'data-sizes', 31954 retinaAttribute : 'data-retina', 31955 loaderAttribute : 'data-loader', 31956 imageBaseAttribute : 'data-imagebase', 31957 removeAttribute : true, 31958 handledName : 'handled', 31959 loadedName : 'loaded', 31960 31961 // effect 31962 effect : 'show', 31963 effectTime : 0, 31964 31965 // throttle 31966 enableThrottle : true, 31967 throttle : 250, 31968 31969 // callbacks 31970 beforeLoad : undefined, 31971 afterLoad : undefined, 31972 onError : undefined, 31973 onFinishedAll : undefined 31974 }; 31975 31976 // register window load event globally to prevent not loading elements 31977 // since jQuery 3.X ready state is fully async and may be executed after 'load' 31978 $(window).on('load', function() { 31979 windowLoaded = true; 31980 }); 31981})(window); 31982 31983�
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.