jitsi.js.map (1136458B)
1 {"version":3,"file":"bundles/78cd486dc4f7ffb56898/jitsi.js","mappings":"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","sources":["webpack://element-web/../node_modules/.pnpm/source-map-loader@5.0.0_webpack@5.107.2/node_modules/source-map-loader/dist/node_modules/.pnpm/events@3.3.0/node_modules/events/events.js","webpack://element-web/../node_modules/.pnpm/source-map-loader@5.0.0_webpack@5.107.2/node_modules/source-map-loader/dist/node_modules/.pnpm/jsrsasign@11.1.3/node_modules/jsrsasign/lib/jsrsasign.js","webpack://element-web/../node_modules/.pnpm/source-map-loader@5.0.0_webpack@5.107.2/node_modules/source-map-loader/dist/node_modules/.pnpm/loglevel@1.9.2/node_modules/loglevel/lib/loglevel.js","webpack://element-web/../node_modules/.pnpm/matrix-widget-api@1.17.0/node_modules/matrix-widget-api/src/ClientWidgetApi.ts","webpack://element-web/../node_modules/.pnpm/matrix-widget-api@1.17.0/node_modules/matrix-widget-api/src/Symbols.ts","webpack://element-web/../node_modules/.pnpm/matrix-widget-api@1.17.0/node_modules/matrix-widget-api/src/WidgetApi.ts","webpack://element-web/../node_modules/.pnpm/matrix-widget-api@1.17.0/node_modules/matrix-widget-api/src/driver/WidgetDriver.ts","webpack://element-web/../node_modules/.pnpm/matrix-widget-api@1.17.0/node_modules/matrix-widget-api/src/index.ts","webpack://element-web/../node_modules/.pnpm/matrix-widget-api@1.17.0/node_modules/matrix-widget-api/src/interfaces/ApiVersion.ts","webpack://element-web/../node_modules/.pnpm/matrix-widget-api@1.17.0/node_modules/matrix-widget-api/src/interfaces/Capabilities.ts","webpack://element-web/../node_modules/.pnpm/matrix-widget-api@1.17.0/node_modules/matrix-widget-api/src/interfaces/GetOpenIDAction.ts","webpack://element-web/../node_modules/.pnpm/matrix-widget-api@1.17.0/node_modules/matrix-widget-api/src/interfaces/IWidgetApiErrorResponse.ts","webpack://element-web/../node_modules/.pnpm/matrix-widget-api@1.17.0/node_modules/matrix-widget-api/src/interfaces/ModalButtonKind.ts","webpack://element-web/../node_modules/.pnpm/matrix-widget-api@1.17.0/node_modules/matrix-widget-api/src/interfaces/ModalWidgetActions.ts","webpack://element-web/../node_modules/.pnpm/matrix-widget-api@1.17.0/node_modules/matrix-widget-api/src/interfaces/UpdateDelayedEventAction.ts","webpack://element-web/../node_modules/.pnpm/matrix-widget-api@1.17.0/node_modules/matrix-widget-api/src/interfaces/WidgetApiAction.ts","webpack://element-web/../node_modules/.pnpm/matrix-widget-api@1.17.0/node_modules/matrix-widget-api/src/interfaces/WidgetApiDirection.ts","webpack://element-web/../node_modules/.pnpm/matrix-widget-api@1.17.0/node_modules/matrix-widget-api/src/interfaces/WidgetKind.ts","webpack://element-web/../node_modules/.pnpm/matrix-widget-api@1.17.0/node_modules/matrix-widget-api/src/interfaces/WidgetType.ts","webpack://element-web/../node_modules/.pnpm/matrix-widget-api@1.17.0/node_modules/matrix-widget-api/src/models/Widget.ts","webpack://element-web/../node_modules/.pnpm/matrix-widget-api@1.17.0/node_modules/matrix-widget-api/src/models/WidgetEventCapability.ts","webpack://element-web/../node_modules/.pnpm/matrix-widget-api@1.17.0/node_modules/matrix-widget-api/src/models/WidgetParser.ts","webpack://element-web/../node_modules/.pnpm/matrix-widget-api@1.17.0/node_modules/matrix-widget-api/src/models/validation/url.ts","webpack://element-web/../node_modules/.pnpm/matrix-widget-api@1.17.0/node_modules/matrix-widget-api/src/models/validation/utils.ts","webpack://element-web/../node_modules/.pnpm/matrix-widget-api@1.17.0/node_modules/matrix-widget-api/src/templating/url-template.ts","webpack://element-web/../node_modules/.pnpm/matrix-widget-api@1.17.0/node_modules/matrix-widget-api/src/transport/PostmessageTransport.ts","webpack://element-web/../node_modules/.pnpm/matrix-widget-api@1.17.0/node_modules/matrix-widget-api/src/util/SimpleObservable.ts","webpack://element-web/webpack/bootstrap","webpack://element-web/webpack/runtime/compat get default export","webpack://element-web/webpack/runtime/define property getters","webpack://element-web/webpack/runtime/hasOwnProperty shorthand","webpack://element-web/webpack/runtime/compat","webpack://element-web/../node_modules/.pnpm/matrix-js-sdk@41.9.0/node_modules/matrix-js-sdk/src/logger.ts","webpack://element-web/./src/stores/widgets/ElementWidgetActions.ts","webpack://element-web/javascript/node_modules/.pnpm/source-map-loader@5.0.0_webpack@5.107.2/node_modules/source-map-loader/dist/node_modules/.pnpm/@babel+runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://element-web/javascript/node_modules/.pnpm/source-map-loader@5.0.0_webpack@5.107.2/node_modules/source-map-loader/dist/node_modules/.pnpm/@babel+runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://element-web/javascript/node_modules/.pnpm/source-map-loader@5.0.0_webpack@5.107.2/node_modules/source-map-loader/dist/node_modules/.pnpm/@babel+runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://element-web/./src/utils/SnakedObject.ts","webpack://element-web/javascript/node_modules/.pnpm/source-map-loader@5.0.0_webpack@5.107.2/node_modules/source-map-loader/dist/node_modules/.pnpm/@babel+runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://element-web/./src/stores/widgets/ElementWidgetCapabilities.ts","webpack://element-web/./src/vector/getconfig.ts","webpack://element-web/./src/vector/jitsi/index.ts"],"sourcesContent":["// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","\nvar navigator = {};\nnavigator.userAgent = false;\n\nvar window = {};\n/*\n * jsrsasign(all) 11.1.3 (2026-04-18) (c) 2010-2023 Kenji Urushima | kjur.github.io/jsrsasign/license\n */\nvar VERSION = \"11.1.3\";\nvar VERSION_FULL = \"jsrsasign(all) 11.1.3 (2026-04-18) (c) 2010-2023 Kenji Urushima | kjur.github.io/jsrsasign/license\";\n\n/*! CryptoJS v3.1.2 core-fix.js\n * code.google.com/p/crypto-js\n * (c) 2009-2013 by Jeff Mott. All rights reserved.\n * code.google.com/p/crypto-js/wiki/License\n * THIS IS FIX of 'core.js' to fix Hmac issue.\n * https://code.google.com/p/crypto-js/issues/detail?id=84\n * https://crypto-js.googlecode.com/svn-history/r667/branches/3.x/src/core.js\n */\nvar CryptoJS=CryptoJS||(function(e,g){var a={};var b=a.lib={};var j=b.Base=(function(){function n(){}return{extend:function(p){n.prototype=this;var o=new n();if(p){o.mixIn(p)}if(!o.hasOwnProperty(\"init\")){o.init=function(){o.$super.init.apply(this,arguments)}}o.init.prototype=o;o.$super=this;return o},create:function(){var o=this.extend();o.init.apply(o,arguments);return o},init:function(){},mixIn:function(p){for(var o in p){if(p.hasOwnProperty(o)){this[o]=p[o]}}if(p.hasOwnProperty(\"toString\")){this.toString=p.toString}},clone:function(){return this.init.prototype.extend(this)}}}());var l=b.WordArray=j.extend({init:function(o,n){o=this.words=o||[];if(n!=g){this.sigBytes=n}else{this.sigBytes=o.length*4}},toString:function(n){return(n||h).stringify(this)},concat:function(t){var q=this.words;var p=t.words;var n=this.sigBytes;var s=t.sigBytes;this.clamp();if(n%4){for(var r=0;r<s;r++){var o=(p[r>>>2]>>>(24-(r%4)*8))&255;q[(n+r)>>>2]|=o<<(24-((n+r)%4)*8)}}else{for(var r=0;r<s;r+=4){q[(n+r)>>>2]=p[r>>>2]}}this.sigBytes+=s;return this},clamp:function(){var o=this.words;var n=this.sigBytes;o[n>>>2]&=4294967295<<(32-(n%4)*8);o.length=e.ceil(n/4)},clone:function(){var n=j.clone.call(this);n.words=this.words.slice(0);return n},random:function(p){var o=[];for(var n=0;n<p;n+=4){o.push((e.random()*4294967296)|0)}return new l.init(o,p)}});var m=a.enc={};var h=m.Hex={stringify:function(p){var r=p.words;var o=p.sigBytes;var q=[];for(var n=0;n<o;n++){var s=(r[n>>>2]>>>(24-(n%4)*8))&255;q.push((s>>>4).toString(16));q.push((s&15).toString(16))}return q.join(\"\")},parse:function(p){var n=p.length;var q=[];for(var o=0;o<n;o+=2){q[o>>>3]|=parseInt(p.substr(o,2),16)<<(24-(o%8)*4)}return new l.init(q,n/2)}};var d=m.Latin1={stringify:function(q){var r=q.words;var p=q.sigBytes;var n=[];for(var o=0;o<p;o++){var s=(r[o>>>2]>>>(24-(o%4)*8))&255;n.push(String.fromCharCode(s))}return n.join(\"\")},parse:function(p){var n=p.length;var q=[];for(var o=0;o<n;o++){q[o>>>2]|=(p.charCodeAt(o)&255)<<(24-(o%4)*8)}return new l.init(q,n)}};var c=m.Utf8={stringify:function(n){try{return decodeURIComponent(escape(d.stringify(n)))}catch(o){throw new Error(\"Malformed UTF-8 data\")}},parse:function(n){return d.parse(unescape(encodeURIComponent(n)))}};var i=b.BufferedBlockAlgorithm=j.extend({reset:function(){this._data=new l.init();this._nDataBytes=0},_append:function(n){if(typeof n==\"string\"){n=c.parse(n)}this._data.concat(n);this._nDataBytes+=n.sigBytes},_process:function(w){var q=this._data;var x=q.words;var n=q.sigBytes;var t=this.blockSize;var v=t*4;var u=n/v;if(w){u=e.ceil(u)}else{u=e.max((u|0)-this._minBufferSize,0)}var s=u*t;var r=e.min(s*4,n);if(s){for(var p=0;p<s;p+=t){this._doProcessBlock(x,p)}var o=x.splice(0,s);q.sigBytes-=r}return new l.init(o,r)},clone:function(){var n=j.clone.call(this);n._data=this._data.clone();return n},_minBufferSize:0});var f=b.Hasher=i.extend({cfg:j.extend(),init:function(n){this.cfg=this.cfg.extend(n);this.reset()},reset:function(){i.reset.call(this);this._doReset()},update:function(n){this._append(n);this._process();return this},finalize:function(n){if(n){this._append(n)}var o=this._doFinalize();return o},blockSize:512/32,_createHelper:function(n){return function(p,o){return new n.init(o).finalize(p)}},_createHmacHelper:function(n){return function(p,o){return new k.HMAC.init(n,o).finalize(p)}}});var k=a.algo={};return a}(Math));\n/*\nCryptoJS v3.1.2 x64-core-min.js\ncode.google.com/p/crypto-js\n(c) 2009-2013 by Jeff Mott. All rights reserved.\ncode.google.com/p/crypto-js/wiki/License\n*/\n(function(g){var a=CryptoJS,f=a.lib,e=f.Base,h=f.WordArray,a=a.x64={};a.Word=e.extend({init:function(b,c){this.high=b;this.low=c}});a.WordArray=e.extend({init:function(b,c){b=this.words=b||[];this.sigBytes=c!=g?c:8*b.length},toX32:function(){for(var b=this.words,c=b.length,a=[],d=0;d<c;d++){var e=b[d];a.push(e.high);a.push(e.low)}return h.create(a,this.sigBytes)},clone:function(){for(var b=e.clone.call(this),c=b.words=this.words.slice(0),a=c.length,d=0;d<a;d++)c[d]=c[d].clone();return b}})})();\n\n/*\nCryptoJS v3.1.2 cipher-core.js\ncode.google.com/p/crypto-js\n(c) 2009-2013 by Jeff Mott. All rights reserved.\ncode.google.com/p/crypto-js/wiki/License\n*/\nCryptoJS.lib.Cipher||function(u){var g=CryptoJS,f=g.lib,k=f.Base,l=f.WordArray,q=f.BufferedBlockAlgorithm,r=g.enc.Base64,v=g.algo.EvpKDF,n=f.Cipher=q.extend({cfg:k.extend(),createEncryptor:function(a,b){return this.create(this._ENC_XFORM_MODE,a,b)},createDecryptor:function(a,b){return this.create(this._DEC_XFORM_MODE,a,b)},init:function(a,b,c){this.cfg=this.cfg.extend(c);this._xformMode=a;this._key=b;this.reset()},reset:function(){q.reset.call(this);this._doReset()},process:function(a){this._append(a);\nreturn this._process()},finalize:function(a){a&&this._append(a);return this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(a){return{encrypt:function(b,c,d){return(\"string\"==typeof c?s:j).encrypt(a,b,c,d)},decrypt:function(b,c,d){return(\"string\"==typeof c?s:j).decrypt(a,b,c,d)}}}});f.StreamCipher=n.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var m=g.mode={},t=function(a,b,c){var d=this._iv;d?this._iv=u:d=this._prevBlock;for(var e=\n0;e<c;e++)a[b+e]^=d[e]},h=(f.BlockCipherMode=k.extend({createEncryptor:function(a,b){return this.Encryptor.create(a,b)},createDecryptor:function(a,b){return this.Decryptor.create(a,b)},init:function(a,b){this._cipher=a;this._iv=b}})).extend();h.Encryptor=h.extend({processBlock:function(a,b){var c=this._cipher,d=c.blockSize;t.call(this,a,b,d);c.encryptBlock(a,b);this._prevBlock=a.slice(b,b+d)}});h.Decryptor=h.extend({processBlock:function(a,b){var c=this._cipher,d=c.blockSize,e=a.slice(b,b+d);c.decryptBlock(a,\nb);t.call(this,a,b,d);this._prevBlock=e}});m=m.CBC=h;h=(g.pad={}).Pkcs7={pad:function(a,b){for(var c=4*b,c=c-a.sigBytes%c,d=c<<24|c<<16|c<<8|c,e=[],f=0;f<c;f+=4)e.push(d);c=l.create(e,c);a.concat(c)},unpad:function(a){a.sigBytes-=a.words[a.sigBytes-1>>>2]&255}};f.BlockCipher=n.extend({cfg:n.cfg.extend({mode:m,padding:h}),reset:function(){n.reset.call(this);var a=this.cfg,b=a.iv,a=a.mode;if(this._xformMode==this._ENC_XFORM_MODE)var c=a.createEncryptor;else c=a.createDecryptor,this._minBufferSize=1;\nthis._mode=c.call(a,this,b&&b.words)},_doProcessBlock:function(a,b){this._mode.processBlock(a,b)},_doFinalize:function(){var a=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){a.pad(this._data,this.blockSize);var b=this._process(!0)}else b=this._process(!0),a.unpad(b);return b},blockSize:4});var p=f.CipherParams=k.extend({init:function(a){this.mixIn(a)},toString:function(a){return(a||this.formatter).stringify(this)}}),m=(g.format={}).OpenSSL={stringify:function(a){var b=a.ciphertext;a=a.salt;\nreturn(a?l.create([1398893684,1701076831]).concat(a).concat(b):b).toString(r)},parse:function(a){a=r.parse(a);var b=a.words;if(1398893684==b[0]&&1701076831==b[1]){var c=l.create(b.slice(2,4));b.splice(0,4);a.sigBytes-=16}return p.create({ciphertext:a,salt:c})}},j=f.SerializableCipher=k.extend({cfg:k.extend({format:m}),encrypt:function(a,b,c,d){d=this.cfg.extend(d);var e=a.createEncryptor(c,d);b=e.finalize(b);e=e.cfg;return p.create({ciphertext:b,key:c,iv:e.iv,algorithm:a,mode:e.mode,padding:e.padding,\nblockSize:a.blockSize,formatter:d.format})},decrypt:function(a,b,c,d){d=this.cfg.extend(d);b=this._parse(b,d.format);return a.createDecryptor(c,d).finalize(b.ciphertext)},_parse:function(a,b){return\"string\"==typeof a?b.parse(a,this):a}}),g=(g.kdf={}).OpenSSL={execute:function(a,b,c,d){d||(d=l.random(8));a=v.create({keySize:b+c}).compute(a,d);c=l.create(a.words.slice(b),4*c);a.sigBytes=4*b;return p.create({key:a,iv:c,salt:d})}},s=f.PasswordBasedCipher=j.extend({cfg:j.cfg.extend({kdf:g}),encrypt:function(a,\nb,c,d){d=this.cfg.extend(d);c=d.kdf.execute(c,a.keySize,a.ivSize);d.iv=c.iv;a=j.encrypt.call(this,a,b,c.key,d);a.mixIn(c);return a},decrypt:function(a,b,c,d){d=this.cfg.extend(d);b=this._parse(b,d.format);c=d.kdf.execute(c,a.keySize,a.ivSize,b.salt);d.iv=c.iv;return j.decrypt.call(this,a,b,c.key,d)}})}();\n\n/*\nCryptoJS v3.1.2 aes.js\ncode.google.com/p/crypto-js\n(c) 2009-2013 by Jeff Mott. All rights reserved.\ncode.google.com/p/crypto-js/wiki/License\n*/\n(function(){for(var q=CryptoJS,x=q.lib.BlockCipher,r=q.algo,j=[],y=[],z=[],A=[],B=[],C=[],s=[],u=[],v=[],w=[],g=[],k=0;256>k;k++)g[k]=128>k?k<<1:k<<1^283;for(var n=0,l=0,k=0;256>k;k++){var f=l^l<<1^l<<2^l<<3^l<<4,f=f>>>8^f&255^99;j[n]=f;y[f]=n;var t=g[n],D=g[t],E=g[D],b=257*g[f]^16843008*f;z[n]=b<<24|b>>>8;A[n]=b<<16|b>>>16;B[n]=b<<8|b>>>24;C[n]=b;b=16843009*E^65537*D^257*t^16843008*n;s[f]=b<<24|b>>>8;u[f]=b<<16|b>>>16;v[f]=b<<8|b>>>24;w[f]=b;n?(n=t^g[g[g[E^t]]],l^=g[g[l]]):n=l=1}var F=[0,1,2,4,8,\n16,32,64,128,27,54],r=r.AES=x.extend({_doReset:function(){for(var c=this._key,e=c.words,a=c.sigBytes/4,c=4*((this._nRounds=a+6)+1),b=this._keySchedule=[],h=0;h<c;h++)if(h<a)b[h]=e[h];else{var d=b[h-1];h%a?6<a&&4==h%a&&(d=j[d>>>24]<<24|j[d>>>16&255]<<16|j[d>>>8&255]<<8|j[d&255]):(d=d<<8|d>>>24,d=j[d>>>24]<<24|j[d>>>16&255]<<16|j[d>>>8&255]<<8|j[d&255],d^=F[h/a|0]<<24);b[h]=b[h-a]^d}e=this._invKeySchedule=[];for(a=0;a<c;a++)h=c-a,d=a%4?b[h]:b[h-4],e[a]=4>a||4>=h?d:s[j[d>>>24]]^u[j[d>>>16&255]]^v[j[d>>>\n8&255]]^w[j[d&255]]},encryptBlock:function(c,e){this._doCryptBlock(c,e,this._keySchedule,z,A,B,C,j)},decryptBlock:function(c,e){var a=c[e+1];c[e+1]=c[e+3];c[e+3]=a;this._doCryptBlock(c,e,this._invKeySchedule,s,u,v,w,y);a=c[e+1];c[e+1]=c[e+3];c[e+3]=a},_doCryptBlock:function(c,e,a,b,h,d,j,m){for(var n=this._nRounds,f=c[e]^a[0],g=c[e+1]^a[1],k=c[e+2]^a[2],p=c[e+3]^a[3],l=4,t=1;t<n;t++)var q=b[f>>>24]^h[g>>>16&255]^d[k>>>8&255]^j[p&255]^a[l++],r=b[g>>>24]^h[k>>>16&255]^d[p>>>8&255]^j[f&255]^a[l++],s=\nb[k>>>24]^h[p>>>16&255]^d[f>>>8&255]^j[g&255]^a[l++],p=b[p>>>24]^h[f>>>16&255]^d[g>>>8&255]^j[k&255]^a[l++],f=q,g=r,k=s;q=(m[f>>>24]<<24|m[g>>>16&255]<<16|m[k>>>8&255]<<8|m[p&255])^a[l++];r=(m[g>>>24]<<24|m[k>>>16&255]<<16|m[p>>>8&255]<<8|m[f&255])^a[l++];s=(m[k>>>24]<<24|m[p>>>16&255]<<16|m[f>>>8&255]<<8|m[g&255])^a[l++];p=(m[p>>>24]<<24|m[f>>>16&255]<<16|m[g>>>8&255]<<8|m[k&255])^a[l++];c[e]=q;c[e+1]=r;c[e+2]=s;c[e+3]=p},keySize:8});q.AES=x._createHelper(r)})();\n\n/*\nCryptoJS v3.1.2 tripledes-min.js\ncode.google.com/p/crypto-js\n(c) 2009-2013 by Jeff Mott. All rights reserved.\ncode.google.com/p/crypto-js/wiki/License\n*/\n(function(){function j(b,c){var a=(this._lBlock>>>b^this._rBlock)&c;this._rBlock^=a;this._lBlock^=a<<b}function l(b,c){var a=(this._rBlock>>>b^this._lBlock)&c;this._lBlock^=a;this._rBlock^=a<<b}var h=CryptoJS,e=h.lib,n=e.WordArray,e=e.BlockCipher,g=h.algo,q=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],p=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,\n55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],r=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],s=[{\"0\":8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,\n2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,\n1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{\"0\":1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,\n75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,\n276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{\"0\":260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,\n14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,\n17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{\"0\":2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,\n98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,\n1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{\"0\":128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,\n10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,\n83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{\"0\":268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,\n2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{\"0\":1048576,\n16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,\n496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{\"0\":134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,\n2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,\n2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],t=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],m=g.DES=e.extend({_doReset:function(){for(var b=this._key.words,c=[],a=0;56>a;a++){var f=q[a]-1;c[a]=b[f>>>5]>>>31-f%32&1}b=this._subKeys=[];for(f=0;16>f;f++){for(var d=b[f]=[],e=r[f],a=0;24>a;a++)d[a/6|0]|=c[(p[a]-1+e)%28]<<31-a%6,d[4+(a/6|0)]|=c[28+(p[a+24]-1+e)%28]<<31-a%6;d[0]=d[0]<<1|d[0]>>>31;for(a=1;7>a;a++)d[a]>>>=\n4*(a-1)+3;d[7]=d[7]<<5|d[7]>>>27}c=this._invSubKeys=[];for(a=0;16>a;a++)c[a]=b[15-a]},encryptBlock:function(b,c){this._doCryptBlock(b,c,this._subKeys)},decryptBlock:function(b,c){this._doCryptBlock(b,c,this._invSubKeys)},_doCryptBlock:function(b,c,a){this._lBlock=b[c];this._rBlock=b[c+1];j.call(this,4,252645135);j.call(this,16,65535);l.call(this,2,858993459);l.call(this,8,16711935);j.call(this,1,1431655765);for(var f=0;16>f;f++){for(var d=a[f],e=this._lBlock,h=this._rBlock,g=0,k=0;8>k;k++)g|=s[k][((h^\nd[k])&t[k])>>>0];this._lBlock=h;this._rBlock=e^g}a=this._lBlock;this._lBlock=this._rBlock;this._rBlock=a;j.call(this,1,1431655765);l.call(this,8,16711935);l.call(this,2,858993459);j.call(this,16,65535);j.call(this,4,252645135);b[c]=this._lBlock;b[c+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});h.DES=e._createHelper(m);g=g.TripleDES=e.extend({_doReset:function(){var b=this._key.words;this._des1=m.createEncryptor(n.create(b.slice(0,2)));this._des2=m.createEncryptor(n.create(b.slice(2,4)));this._des3=\nm.createEncryptor(n.create(b.slice(4,6)))},encryptBlock:function(b,c){this._des1.encryptBlock(b,c);this._des2.decryptBlock(b,c);this._des3.encryptBlock(b,c)},decryptBlock:function(b,c){this._des3.decryptBlock(b,c);this._des2.encryptBlock(b,c);this._des1.decryptBlock(b,c)},keySize:6,ivSize:2,blockSize:2});h.TripleDES=e._createHelper(g)})();\n\n/*\nCryptoJS v3.1.2 enc-base64.js\ncode.google.com/p/crypto-js\n(c) 2009-2013 by Jeff Mott. All rights reserved.\ncode.google.com/p/crypto-js/wiki/License\n*/\n(function(){var h=CryptoJS,j=h.lib.WordArray;h.enc.Base64={stringify:function(b){var e=b.words,f=b.sigBytes,c=this._map;b.clamp();b=[];for(var a=0;a<f;a+=3)for(var d=(e[a>>>2]>>>24-8*(a%4)&255)<<16|(e[a+1>>>2]>>>24-8*((a+1)%4)&255)<<8|e[a+2>>>2]>>>24-8*((a+2)%4)&255,g=0;4>g&&a+0.75*g<f;g++)b.push(c.charAt(d>>>6*(3-g)&63));if(e=c.charAt(64))for(;b.length%4;)b.push(e);return b.join(\"\")},parse:function(b){var e=b.length,f=this._map,c=f.charAt(64);c&&(c=b.indexOf(c),-1!=c&&(e=c));for(var c=[],a=0,d=0;d<\ne;d++)if(d%4){var g=f.indexOf(b.charAt(d-1))<<2*(d%4),h=f.indexOf(b.charAt(d))>>>6-2*(d%4);c[a>>>2]|=(g|h)<<24-8*(a%4);a++}return j.create(c,a)},_map:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\"}})();\n\n/*\nCryptoJS v3.1.2 md5.js\ncode.google.com/p/crypto-js\n(c) 2009-2013 by Jeff Mott. All rights reserved.\ncode.google.com/p/crypto-js/wiki/License\n*/\n(function(E){function h(a,f,g,j,p,h,k){a=a+(f&g|~f&j)+p+k;return(a<<h|a>>>32-h)+f}function k(a,f,g,j,p,h,k){a=a+(f&j|g&~j)+p+k;return(a<<h|a>>>32-h)+f}function l(a,f,g,j,h,k,l){a=a+(f^g^j)+h+l;return(a<<k|a>>>32-k)+f}function n(a,f,g,j,h,k,l){a=a+(g^(f|~j))+h+l;return(a<<k|a>>>32-k)+f}for(var r=CryptoJS,q=r.lib,F=q.WordArray,s=q.Hasher,q=r.algo,a=[],t=0;64>t;t++)a[t]=4294967296*E.abs(E.sin(t+1))|0;q=q.MD5=s.extend({_doReset:function(){this._hash=new F.init([1732584193,4023233417,2562383102,271733878])},\n_doProcessBlock:function(m,f){for(var g=0;16>g;g++){var j=f+g,p=m[j];m[j]=(p<<8|p>>>24)&16711935|(p<<24|p>>>8)&4278255360}var g=this._hash.words,j=m[f+0],p=m[f+1],q=m[f+2],r=m[f+3],s=m[f+4],t=m[f+5],u=m[f+6],v=m[f+7],w=m[f+8],x=m[f+9],y=m[f+10],z=m[f+11],A=m[f+12],B=m[f+13],C=m[f+14],D=m[f+15],b=g[0],c=g[1],d=g[2],e=g[3],b=h(b,c,d,e,j,7,a[0]),e=h(e,b,c,d,p,12,a[1]),d=h(d,e,b,c,q,17,a[2]),c=h(c,d,e,b,r,22,a[3]),b=h(b,c,d,e,s,7,a[4]),e=h(e,b,c,d,t,12,a[5]),d=h(d,e,b,c,u,17,a[6]),c=h(c,d,e,b,v,22,a[7]),\nb=h(b,c,d,e,w,7,a[8]),e=h(e,b,c,d,x,12,a[9]),d=h(d,e,b,c,y,17,a[10]),c=h(c,d,e,b,z,22,a[11]),b=h(b,c,d,e,A,7,a[12]),e=h(e,b,c,d,B,12,a[13]),d=h(d,e,b,c,C,17,a[14]),c=h(c,d,e,b,D,22,a[15]),b=k(b,c,d,e,p,5,a[16]),e=k(e,b,c,d,u,9,a[17]),d=k(d,e,b,c,z,14,a[18]),c=k(c,d,e,b,j,20,a[19]),b=k(b,c,d,e,t,5,a[20]),e=k(e,b,c,d,y,9,a[21]),d=k(d,e,b,c,D,14,a[22]),c=k(c,d,e,b,s,20,a[23]),b=k(b,c,d,e,x,5,a[24]),e=k(e,b,c,d,C,9,a[25]),d=k(d,e,b,c,r,14,a[26]),c=k(c,d,e,b,w,20,a[27]),b=k(b,c,d,e,B,5,a[28]),e=k(e,b,\nc,d,q,9,a[29]),d=k(d,e,b,c,v,14,a[30]),c=k(c,d,e,b,A,20,a[31]),b=l(b,c,d,e,t,4,a[32]),e=l(e,b,c,d,w,11,a[33]),d=l(d,e,b,c,z,16,a[34]),c=l(c,d,e,b,C,23,a[35]),b=l(b,c,d,e,p,4,a[36]),e=l(e,b,c,d,s,11,a[37]),d=l(d,e,b,c,v,16,a[38]),c=l(c,d,e,b,y,23,a[39]),b=l(b,c,d,e,B,4,a[40]),e=l(e,b,c,d,j,11,a[41]),d=l(d,e,b,c,r,16,a[42]),c=l(c,d,e,b,u,23,a[43]),b=l(b,c,d,e,x,4,a[44]),e=l(e,b,c,d,A,11,a[45]),d=l(d,e,b,c,D,16,a[46]),c=l(c,d,e,b,q,23,a[47]),b=n(b,c,d,e,j,6,a[48]),e=n(e,b,c,d,v,10,a[49]),d=n(d,e,b,c,\nC,15,a[50]),c=n(c,d,e,b,t,21,a[51]),b=n(b,c,d,e,A,6,a[52]),e=n(e,b,c,d,r,10,a[53]),d=n(d,e,b,c,y,15,a[54]),c=n(c,d,e,b,p,21,a[55]),b=n(b,c,d,e,w,6,a[56]),e=n(e,b,c,d,D,10,a[57]),d=n(d,e,b,c,u,15,a[58]),c=n(c,d,e,b,B,21,a[59]),b=n(b,c,d,e,s,6,a[60]),e=n(e,b,c,d,z,10,a[61]),d=n(d,e,b,c,q,15,a[62]),c=n(c,d,e,b,x,21,a[63]);g[0]=g[0]+b|0;g[1]=g[1]+c|0;g[2]=g[2]+d|0;g[3]=g[3]+e|0},_doFinalize:function(){var a=this._data,f=a.words,g=8*this._nDataBytes,j=8*a.sigBytes;f[j>>>5]|=128<<24-j%32;var h=E.floor(g/\n4294967296);f[(j+64>>>9<<4)+15]=(h<<8|h>>>24)&16711935|(h<<24|h>>>8)&4278255360;f[(j+64>>>9<<4)+14]=(g<<8|g>>>24)&16711935|(g<<24|g>>>8)&4278255360;a.sigBytes=4*(f.length+1);this._process();a=this._hash;f=a.words;for(g=0;4>g;g++)j=f[g],f[g]=(j<<8|j>>>24)&16711935|(j<<24|j>>>8)&4278255360;return a},clone:function(){var a=s.clone.call(this);a._hash=this._hash.clone();return a}});r.MD5=s._createHelper(q);r.HmacMD5=s._createHmacHelper(q)})(Math);\n\n/*\nCryptoJS v3.1.2 sha1-min.js\ncode.google.com/p/crypto-js\n(c) 2009-2013 by Jeff Mott. All rights reserved.\ncode.google.com/p/crypto-js/wiki/License\n*/\n(function(){var k=CryptoJS,b=k.lib,m=b.WordArray,l=b.Hasher,d=[],b=k.algo.SHA1=l.extend({_doReset:function(){this._hash=new m.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(n,p){for(var a=this._hash.words,e=a[0],f=a[1],h=a[2],j=a[3],b=a[4],c=0;80>c;c++){if(16>c)d[c]=n[p+c]|0;else{var g=d[c-3]^d[c-8]^d[c-14]^d[c-16];d[c]=g<<1|g>>>31}g=(e<<5|e>>>27)+b+d[c];g=20>c?g+((f&h|~f&j)+1518500249):40>c?g+((f^h^j)+1859775393):60>c?g+((f&h|f&j|h&j)-1894007588):g+((f^h^\nj)-899497514);b=j;j=h;h=f<<30|f>>>2;f=e;e=g}a[0]=a[0]+e|0;a[1]=a[1]+f|0;a[2]=a[2]+h|0;a[3]=a[3]+j|0;a[4]=a[4]+b|0},_doFinalize:function(){var b=this._data,d=b.words,a=8*this._nDataBytes,e=8*b.sigBytes;d[e>>>5]|=128<<24-e%32;d[(e+64>>>9<<4)+14]=Math.floor(a/4294967296);d[(e+64>>>9<<4)+15]=a;b.sigBytes=4*d.length;this._process();return this._hash},clone:function(){var b=l.clone.call(this);b._hash=this._hash.clone();return b}});k.SHA1=l._createHelper(b);k.HmacSHA1=l._createHmacHelper(b)})();\n\n/*\nCryptoJS v3.1.2 sha256-min.js\ncode.google.com/p/crypto-js\n(c) 2009-2013 by Jeff Mott. All rights reserved.\ncode.google.com/p/crypto-js/wiki/License\n*/\n(function(k){for(var g=CryptoJS,h=g.lib,v=h.WordArray,j=h.Hasher,h=g.algo,s=[],t=[],u=function(q){return 4294967296*(q-(q|0))|0},l=2,b=0;64>b;){var d;a:{d=l;for(var w=k.sqrt(d),r=2;r<=w;r++)if(!(d%r)){d=!1;break a}d=!0}d&&(8>b&&(s[b]=u(k.pow(l,0.5))),t[b]=u(k.pow(l,1/3)),b++);l++}var n=[],h=h.SHA256=j.extend({_doReset:function(){this._hash=new v.init(s.slice(0))},_doProcessBlock:function(q,h){for(var a=this._hash.words,c=a[0],d=a[1],b=a[2],k=a[3],f=a[4],g=a[5],j=a[6],l=a[7],e=0;64>e;e++){if(16>e)n[e]=\nq[h+e]|0;else{var m=n[e-15],p=n[e-2];n[e]=((m<<25|m>>>7)^(m<<14|m>>>18)^m>>>3)+n[e-7]+((p<<15|p>>>17)^(p<<13|p>>>19)^p>>>10)+n[e-16]}m=l+((f<<26|f>>>6)^(f<<21|f>>>11)^(f<<7|f>>>25))+(f&g^~f&j)+t[e]+n[e];p=((c<<30|c>>>2)^(c<<19|c>>>13)^(c<<10|c>>>22))+(c&d^c&b^d&b);l=j;j=g;g=f;f=k+m|0;k=b;b=d;d=c;c=m+p|0}a[0]=a[0]+c|0;a[1]=a[1]+d|0;a[2]=a[2]+b|0;a[3]=a[3]+k|0;a[4]=a[4]+f|0;a[5]=a[5]+g|0;a[6]=a[6]+j|0;a[7]=a[7]+l|0},_doFinalize:function(){var d=this._data,b=d.words,a=8*this._nDataBytes,c=8*d.sigBytes;\nb[c>>>5]|=128<<24-c%32;b[(c+64>>>9<<4)+14]=k.floor(a/4294967296);b[(c+64>>>9<<4)+15]=a;d.sigBytes=4*b.length;this._process();return this._hash},clone:function(){var b=j.clone.call(this);b._hash=this._hash.clone();return b}});g.SHA256=j._createHelper(h);g.HmacSHA256=j._createHmacHelper(h)})(Math);\n\n/*\nCryptoJS v3.1.2 sha224-min.js\ncode.google.com/p/crypto-js\n(c) 2009-2013 by Jeff Mott. All rights reserved.\ncode.google.com/p/crypto-js/wiki/License\n*/\n(function(){var b=CryptoJS,d=b.lib.WordArray,a=b.algo,c=a.SHA256,a=a.SHA224=c.extend({_doReset:function(){this._hash=new d.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var a=c._doFinalize.call(this);a.sigBytes-=4;return a}});b.SHA224=c._createHelper(a);b.HmacSHA224=c._createHmacHelper(a)})();\n\n/*\nCryptoJS v3.1.2 sha512-min.js\ncode.google.com/p/crypto-js\n(c) 2009-2013 by Jeff Mott. All rights reserved.\ncode.google.com/p/crypto-js/wiki/License\n*/\n(function(){function a(){return d.create.apply(d,arguments)}for(var n=CryptoJS,r=n.lib.Hasher,e=n.x64,d=e.Word,T=e.WordArray,e=n.algo,ea=[a(1116352408,3609767458),a(1899447441,602891725),a(3049323471,3964484399),a(3921009573,2173295548),a(961987163,4081628472),a(1508970993,3053834265),a(2453635748,2937671579),a(2870763221,3664609560),a(3624381080,2734883394),a(310598401,1164996542),a(607225278,1323610764),a(1426881987,3590304994),a(1925078388,4068182383),a(2162078206,991336113),a(2614888103,633803317),\na(3248222580,3479774868),a(3835390401,2666613458),a(4022224774,944711139),a(264347078,2341262773),a(604807628,2007800933),a(770255983,1495990901),a(1249150122,1856431235),a(1555081692,3175218132),a(1996064986,2198950837),a(2554220882,3999719339),a(2821834349,766784016),a(2952996808,2566594879),a(3210313671,3203337956),a(3336571891,1034457026),a(3584528711,2466948901),a(113926993,3758326383),a(338241895,168717936),a(666307205,1188179964),a(773529912,1546045734),a(1294757372,1522805485),a(1396182291,\n2643833823),a(1695183700,2343527390),a(1986661051,1014477480),a(2177026350,1206759142),a(2456956037,344077627),a(2730485921,1290863460),a(2820302411,3158454273),a(3259730800,3505952657),a(3345764771,106217008),a(3516065817,3606008344),a(3600352804,1432725776),a(4094571909,1467031594),a(275423344,851169720),a(430227734,3100823752),a(506948616,1363258195),a(659060556,3750685593),a(883997877,3785050280),a(958139571,3318307427),a(1322822218,3812723403),a(1537002063,2003034995),a(1747873779,3602036899),\na(1955562222,1575990012),a(2024104815,1125592928),a(2227730452,2716904306),a(2361852424,442776044),a(2428436474,593698344),a(2756734187,3733110249),a(3204031479,2999351573),a(3329325298,3815920427),a(3391569614,3928383900),a(3515267271,566280711),a(3940187606,3454069534),a(4118630271,4000239992),a(116418474,1914138554),a(174292421,2731055270),a(289380356,3203993006),a(460393269,320620315),a(685471733,587496836),a(852142971,1086792851),a(1017036298,365543100),a(1126000580,2618297676),a(1288033470,\n3409855158),a(1501505948,4234509866),a(1607167915,987167468),a(1816402316,1246189591)],v=[],w=0;80>w;w++)v[w]=a();e=e.SHA512=r.extend({_doReset:function(){this._hash=new T.init([new d.init(1779033703,4089235720),new d.init(3144134277,2227873595),new d.init(1013904242,4271175723),new d.init(2773480762,1595750129),new d.init(1359893119,2917565137),new d.init(2600822924,725511199),new d.init(528734635,4215389547),new d.init(1541459225,327033209)])},_doProcessBlock:function(a,d){for(var f=this._hash.words,\nF=f[0],e=f[1],n=f[2],r=f[3],G=f[4],H=f[5],I=f[6],f=f[7],w=F.high,J=F.low,X=e.high,K=e.low,Y=n.high,L=n.low,Z=r.high,M=r.low,$=G.high,N=G.low,aa=H.high,O=H.low,ba=I.high,P=I.low,ca=f.high,Q=f.low,k=w,g=J,z=X,x=K,A=Y,y=L,U=Z,B=M,l=$,h=N,R=aa,C=O,S=ba,D=P,V=ca,E=Q,m=0;80>m;m++){var s=v[m];if(16>m)var j=s.high=a[d+2*m]|0,b=s.low=a[d+2*m+1]|0;else{var j=v[m-15],b=j.high,p=j.low,j=(b>>>1|p<<31)^(b>>>8|p<<24)^b>>>7,p=(p>>>1|b<<31)^(p>>>8|b<<24)^(p>>>7|b<<25),u=v[m-2],b=u.high,c=u.low,u=(b>>>19|c<<13)^(b<<\n3|c>>>29)^b>>>6,c=(c>>>19|b<<13)^(c<<3|b>>>29)^(c>>>6|b<<26),b=v[m-7],W=b.high,t=v[m-16],q=t.high,t=t.low,b=p+b.low,j=j+W+(b>>>0<p>>>0?1:0),b=b+c,j=j+u+(b>>>0<c>>>0?1:0),b=b+t,j=j+q+(b>>>0<t>>>0?1:0);s.high=j;s.low=b}var W=l&R^~l&S,t=h&C^~h&D,s=k&z^k&A^z&A,T=g&x^g&y^x&y,p=(k>>>28|g<<4)^(k<<30|g>>>2)^(k<<25|g>>>7),u=(g>>>28|k<<4)^(g<<30|k>>>2)^(g<<25|k>>>7),c=ea[m],fa=c.high,da=c.low,c=E+((h>>>14|l<<18)^(h>>>18|l<<14)^(h<<23|l>>>9)),q=V+((l>>>14|h<<18)^(l>>>18|h<<14)^(l<<23|h>>>9))+(c>>>0<E>>>0?1:\n0),c=c+t,q=q+W+(c>>>0<t>>>0?1:0),c=c+da,q=q+fa+(c>>>0<da>>>0?1:0),c=c+b,q=q+j+(c>>>0<b>>>0?1:0),b=u+T,s=p+s+(b>>>0<u>>>0?1:0),V=S,E=D,S=R,D=C,R=l,C=h,h=B+c|0,l=U+q+(h>>>0<B>>>0?1:0)|0,U=A,B=y,A=z,y=x,z=k,x=g,g=c+b|0,k=q+s+(g>>>0<c>>>0?1:0)|0}J=F.low=J+g;F.high=w+k+(J>>>0<g>>>0?1:0);K=e.low=K+x;e.high=X+z+(K>>>0<x>>>0?1:0);L=n.low=L+y;n.high=Y+A+(L>>>0<y>>>0?1:0);M=r.low=M+B;r.high=Z+U+(M>>>0<B>>>0?1:0);N=G.low=N+h;G.high=$+l+(N>>>0<h>>>0?1:0);O=H.low=O+C;H.high=aa+R+(O>>>0<C>>>0?1:0);P=I.low=P+D;\nI.high=ba+S+(P>>>0<D>>>0?1:0);Q=f.low=Q+E;f.high=ca+V+(Q>>>0<E>>>0?1:0)},_doFinalize:function(){var a=this._data,d=a.words,f=8*this._nDataBytes,e=8*a.sigBytes;d[e>>>5]|=128<<24-e%32;d[(e+128>>>10<<5)+30]=Math.floor(f/4294967296);d[(e+128>>>10<<5)+31]=f;a.sigBytes=4*d.length;this._process();return this._hash.toX32()},clone:function(){var a=r.clone.call(this);a._hash=this._hash.clone();return a},blockSize:32});n.SHA512=r._createHelper(e);n.HmacSHA512=r._createHmacHelper(e)})();\n\n/*\nCryptoJS v3.1.2 sha384-min.js\ncode.google.com/p/crypto-js\n(c) 2009-2013 by Jeff Mott. All rights reserved.\ncode.google.com/p/crypto-js/wiki/License\n*/\n(function(){var c=CryptoJS,a=c.x64,b=a.Word,e=a.WordArray,a=c.algo,d=a.SHA512,a=a.SHA384=d.extend({_doReset:function(){this._hash=new e.init([new b.init(3418070365,3238371032),new b.init(1654270250,914150663),new b.init(2438529370,812702999),new b.init(355462360,4144912697),new b.init(1731405415,4290775857),new b.init(2394180231,1750603025),new b.init(3675008525,1694076839),new b.init(1203062813,3204075428)])},_doFinalize:function(){var a=d._doFinalize.call(this);a.sigBytes-=16;return a}});c.SHA384=\nd._createHelper(a);c.HmacSHA384=d._createHmacHelper(a)})();\n\n/*\nCryptoJS v3.1.2 ripemd160-min.js\ncode.google.com/p/crypto-js\n(c) 2009-2013 by Jeff Mott. All rights reserved.\ncode.google.com/p/crypto-js/wiki/License\n*/\n/*\n\n(c) 2012 by Cedric Mesnil. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n\n - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n(function(){var q=CryptoJS,d=q.lib,n=d.WordArray,p=d.Hasher,d=q.algo,x=n.create([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]),y=n.create([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]),z=n.create([11,14,15,12,\n5,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]),A=n.create([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]),B=n.create([0,1518500249,1859775393,2400959708,2840853838]),C=n.create([1352829926,1548603684,1836072691,\n2053994217,0]),d=d.RIPEMD160=p.extend({_doReset:function(){this._hash=n.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,v){for(var b=0;16>b;b++){var c=v+b,f=e[c];e[c]=(f<<8|f>>>24)&16711935|(f<<24|f>>>8)&4278255360}var c=this._hash.words,f=B.words,d=C.words,n=x.words,q=y.words,p=z.words,w=A.words,t,g,h,j,r,u,k,l,m,s;u=t=c[0];k=g=c[1];l=h=c[2];m=j=c[3];s=r=c[4];for(var a,b=0;80>b;b+=1)a=t+e[v+n[b]]|0,a=16>b?a+((g^h^j)+f[0]):32>b?a+((g&h|~g&j)+f[1]):48>b?\na+(((g|~h)^j)+f[2]):64>b?a+((g&j|h&~j)+f[3]):a+((g^(h|~j))+f[4]),a|=0,a=a<<p[b]|a>>>32-p[b],a=a+r|0,t=r,r=j,j=h<<10|h>>>22,h=g,g=a,a=u+e[v+q[b]]|0,a=16>b?a+((k^(l|~m))+d[0]):32>b?a+((k&m|l&~m)+d[1]):48>b?a+(((k|~l)^m)+d[2]):64>b?a+((k&l|~k&m)+d[3]):a+((k^l^m)+d[4]),a|=0,a=a<<w[b]|a>>>32-w[b],a=a+s|0,u=s,s=m,m=l<<10|l>>>22,l=k,k=a;a=c[1]+h+m|0;c[1]=c[2]+j+s|0;c[2]=c[3]+r+u|0;c[3]=c[4]+t+k|0;c[4]=c[0]+g+l|0;c[0]=a},_doFinalize:function(){var e=this._data,d=e.words,b=8*this._nDataBytes,c=8*e.sigBytes;\nd[c>>>5]|=128<<24-c%32;d[(c+64>>>9<<4)+14]=(b<<8|b>>>24)&16711935|(b<<24|b>>>8)&4278255360;e.sigBytes=4*(d.length+1);this._process();e=this._hash;d=e.words;for(b=0;5>b;b++)c=d[b],d[b]=(c<<8|c>>>24)&16711935|(c<<24|c>>>8)&4278255360;return e},clone:function(){var d=p.clone.call(this);d._hash=this._hash.clone();return d}});q.RIPEMD160=p._createHelper(d);q.HmacRIPEMD160=p._createHmacHelper(d)})(Math);\n\n/*\nCryptoJS v3.1.2 hmac.js\ncode.google.com/p/crypto-js\n(c) 2009-2013 by Jeff Mott. All rights reserved.\ncode.google.com/p/crypto-js/wiki/License\n*/\n(function(){var c=CryptoJS,k=c.enc.Utf8;c.algo.HMAC=c.lib.Base.extend({init:function(a,b){a=this._hasher=new a.init;\"string\"==typeof b&&(b=k.parse(b));var c=a.blockSize,e=4*c;b.sigBytes>e&&(b=a.finalize(b));b.clamp();for(var f=this._oKey=b.clone(),g=this._iKey=b.clone(),h=f.words,j=g.words,d=0;d<c;d++)h[d]^=1549556828,j[d]^=909522486;f.sigBytes=g.sigBytes=e;this.reset()},reset:function(){var a=this._hasher;a.reset();a.update(this._iKey)},update:function(a){this._hasher.update(a);return this},finalize:function(a){var b=\nthis._hasher;a=b.finalize(a);b.reset();return b.finalize(this._oKey.clone().concat(a))}})})();\n\n/*\nCryptoJS v3.1.2 pbkdf2-min.js\ncode.google.com/p/crypto-js\n(c) 2009-2013 by Jeff Mott. All rights reserved.\ncode.google.com/p/crypto-js/wiki/License\n*/\n(function(){var b=CryptoJS,a=b.lib,d=a.Base,m=a.WordArray,a=b.algo,q=a.HMAC,l=a.PBKDF2=d.extend({cfg:d.extend({keySize:4,hasher:a.SHA1,iterations:1}),init:function(a){this.cfg=this.cfg.extend(a)},compute:function(a,b){for(var c=this.cfg,f=q.create(c.hasher,a),g=m.create(),d=m.create([1]),l=g.words,r=d.words,n=c.keySize,c=c.iterations;l.length<n;){var h=f.update(b).finalize(d);f.reset();for(var j=h.words,s=j.length,k=h,p=1;p<c;p++){k=f.finalize(k);f.reset();for(var t=k.words,e=0;e<s;e++)j[e]^=t[e]}g.concat(h);\nr[0]++}g.sigBytes=4*n;return g}});b.PBKDF2=function(a,b,c){return l.create(c).compute(a,b)}})();\n\n/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/\n */\nvar b64map=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";var b64pad=\"=\";function hex2b64(d){var b;var e;var a=\"\";for(b=0;b+3<=d.length;b+=3){e=parseInt(d.substring(b,b+3),16);a+=b64map.charAt(e>>6)+b64map.charAt(e&63)}if(b+1==d.length){e=parseInt(d.substring(b,b+1),16);a+=b64map.charAt(e<<2)}else{if(b+2==d.length){e=parseInt(d.substring(b,b+2),16);a+=b64map.charAt(e>>2)+b64map.charAt((e&3)<<4)}}if(b64pad){while((a.length&3)>0){a+=b64pad}}return a}function b64tohex(f){var d=\"\";var e;var b=0;var c;var a;for(e=0;e<f.length;++e){if(f.charAt(e)==b64pad){break}a=b64map.indexOf(f.charAt(e));if(a<0){continue}if(b==0){d+=int2char(a>>2);c=a&3;b=1}else{if(b==1){d+=int2char((c<<2)|(a>>4));c=a&15;b=2}else{if(b==2){d+=int2char(c);d+=int2char(a>>2);c=a&3;b=3}else{d+=int2char((c<<2)|(a>>4));d+=int2char(a&15);b=0}}}}if(b==1){d+=int2char(c<<2)}return d}function b64toBA(e){var d=b64tohex(e);var c;var b=new Array();for(c=0;2*c<d.length;++c){b[c]=parseInt(d.substring(2*c,2*c+2),16)}return b};\n/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/\n */\nvar dbits;var canary=244837814094590;var j_lm=((canary&16777215)==15715070);function BigInteger(e,d,f){if(e!=null){if(\"number\"==typeof e){this.fromNumber(e,d,f)}else{if(d==null&&\"string\"!=typeof e){this.fromString(e,256)}else{this.fromString(e,d)}}}}function nbi(){return new BigInteger(null)}function am1(f,a,b,e,h,g){while(--g>=0){var d=a*this[f++]+b[e]+h;h=Math.floor(d/67108864);b[e++]=d&67108863}return h}function am2(f,q,r,e,o,a){var k=q&32767,p=q>>15;while(--a>=0){var d=this[f]&32767;var g=this[f++]>>15;var b=p*d+g*k;d=k*d+((b&32767)<<15)+r[e]+(o&1073741823);o=(d>>>30)+(b>>>15)+p*g+(o>>>30);r[e++]=d&1073741823}return o}function am3(f,q,r,e,o,a){var k=q&16383,p=q>>14;while(--a>=0){var d=this[f]&16383;var g=this[f++]>>14;var b=p*d+g*k;d=k*d+((b&16383)<<14)+r[e]+o;o=(d>>28)+(b>>14)+p*g;r[e++]=d&268435455}return o}if(j_lm&&(navigator.appName==\"Microsoft Internet Explorer\")){BigInteger.prototype.am=am2;dbits=30}else{if(j_lm&&(navigator.appName!=\"Netscape\")){BigInteger.prototype.am=am1;dbits=26}else{BigInteger.prototype.am=am3;dbits=28}}BigInteger.prototype.DB=dbits;BigInteger.prototype.DM=((1<<dbits)-1);BigInteger.prototype.DV=(1<<dbits);var BI_FP=52;BigInteger.prototype.FV=Math.pow(2,BI_FP);BigInteger.prototype.F1=BI_FP-dbits;BigInteger.prototype.F2=2*dbits-BI_FP;var BI_RM=\"0123456789abcdefghijklmnopqrstuvwxyz\";var BI_RC=new Array();var rr,vv;rr=\"0\".charCodeAt(0);for(vv=0;vv<=9;++vv){BI_RC[rr++]=vv}rr=\"a\".charCodeAt(0);for(vv=10;vv<36;++vv){BI_RC[rr++]=vv}rr=\"A\".charCodeAt(0);for(vv=10;vv<36;++vv){BI_RC[rr++]=vv}function int2char(a){return BI_RM.charAt(a)}function intAt(b,a){var d=BI_RC[b.charCodeAt(a)];return(d==null)?-1:d}function bnpCopyTo(b){for(var a=this.t-1;a>=0;--a){b[a]=this[a]}b.t=this.t;b.s=this.s}function bnpFromInt(a){this.t=1;this.s=(a<0)?-1:0;if(a>0){this[0]=a}else{if(a<-1){this[0]=a+this.DV}else{this.t=0}}}function nbv(a){var b=nbi();b.fromInt(a);return b}function bnpFromString(h,c){var e;if(c==16){e=4}else{if(c==8){e=3}else{if(c==256){e=8}else{if(c==2){e=1}else{if(c==32){e=5}else{if(c==4){e=2}else{this.fromRadix(h,c);return}}}}}}this.t=0;this.s=0;var g=h.length,d=false,f=0;while(--g>=0){var a=(e==8)?h[g]&255:intAt(h,g);if(a<0){if(h.charAt(g)==\"-\"){d=true}continue}d=false;if(f==0){this[this.t++]=a}else{if(f+e>this.DB){this[this.t-1]|=(a&((1<<(this.DB-f))-1))<<f;this[this.t++]=(a>>(this.DB-f))}else{this[this.t-1]|=a<<f}}f+=e;if(f>=this.DB){f-=this.DB}}if(e==8&&(h[0]&128)!=0){this.s=-1;if(f>0){this[this.t-1]|=((1<<(this.DB-f))-1)<<f}}this.clamp();if(d){BigInteger.ZERO.subTo(this,this)}}function bnpClamp(){var a=this.s&this.DM;while(this.t>0&&this[this.t-1]==a){--this.t}}function bnToString(c){if(this.s<0){return\"-\"+this.negate().toString(c)}var e;if(c==16){e=4}else{if(c==8){e=3}else{if(c==2){e=1}else{if(c==32){e=5}else{if(c==4){e=2}else{return this.toRadix(c)}}}}}var g=(1<<e)-1,l,a=false,h=\"\",f=this.t;var j=this.DB-(f*this.DB)%e;if(f-->0){if(j<this.DB&&(l=this[f]>>j)>0){a=true;h=int2char(l)}while(f>=0){if(j<e){l=(this[f]&((1<<j)-1))<<(e-j);l|=this[--f]>>(j+=this.DB-e)}else{l=(this[f]>>(j-=e))&g;if(j<=0){j+=this.DB;--f}}if(l>0){a=true}if(a){h+=int2char(l)}}}return a?h:\"0\"}function bnNegate(){var a=nbi();BigInteger.ZERO.subTo(this,a);return a}function bnAbs(){return(this.s<0)?this.negate():this}function bnCompareTo(b){var d=this.s-b.s;if(d!=0){return d}var c=this.t;d=c-b.t;if(d!=0){return(this.s<0)?-d:d}while(--c>=0){if((d=this[c]-b[c])!=0){return d}}return 0}function nbits(a){var c=1,b;if((b=a>>>16)!=0){a=b;c+=16}if((b=a>>8)!=0){a=b;c+=8}if((b=a>>4)!=0){a=b;c+=4}if((b=a>>2)!=0){a=b;c+=2}if((b=a>>1)!=0){a=b;c+=1}return c}function bnBitLength(){if(this.t<=0){return 0}return this.DB*(this.t-1)+nbits(this[this.t-1]^(this.s&this.DM))}function bnpDLShiftTo(c,b){var a;for(a=this.t-1;a>=0;--a){b[a+c]=this[a]}for(a=c-1;a>=0;--a){b[a]=0}b.t=this.t+c;b.s=this.s}function bnpDRShiftTo(c,b){for(var a=c;a<this.t;++a){b[a-c]=this[a]}b.t=Math.max(this.t-c,0);b.s=this.s}function bnpLShiftTo(j,e){var b=j%this.DB;var a=this.DB-b;var g=(1<<a)-1;var f=Math.floor(j/this.DB),h=(this.s<<b)&this.DM,d;for(d=this.t-1;d>=0;--d){e[d+f+1]=(this[d]>>a)|h;h=(this[d]&g)<<b}for(d=f-1;d>=0;--d){e[d]=0}e[f]=h;e.t=this.t+f+1;e.s=this.s;e.clamp()}function bnpRShiftTo(g,d){d.s=this.s;var e=Math.floor(g/this.DB);if(e>=this.t){d.t=0;return}var b=g%this.DB;var a=this.DB-b;var f=(1<<b)-1;d[0]=this[e]>>b;for(var c=e+1;c<this.t;++c){d[c-e-1]|=(this[c]&f)<<a;d[c-e]=this[c]>>b}if(b>0){d[this.t-e-1]|=(this.s&f)<<a}d.t=this.t-e;d.clamp()}function bnpSubTo(d,f){var e=0,g=0,b=Math.min(d.t,this.t);while(e<b){g+=this[e]-d[e];f[e++]=g&this.DM;g>>=this.DB}if(d.t<this.t){g-=d.s;while(e<this.t){g+=this[e];f[e++]=g&this.DM;g>>=this.DB}g+=this.s}else{g+=this.s;while(e<d.t){g-=d[e];f[e++]=g&this.DM;g>>=this.DB}g-=d.s}f.s=(g<0)?-1:0;if(g<-1){f[e++]=this.DV+g}else{if(g>0){f[e++]=g}}f.t=e;f.clamp()}function bnpMultiplyTo(c,e){var b=this.abs(),f=c.abs();var d=b.t;e.t=d+f.t;while(--d>=0){e[d]=0}for(d=0;d<f.t;++d){e[d+b.t]=b.am(0,f[d],e,d,0,b.t)}e.s=0;e.clamp();if(this.s!=c.s){BigInteger.ZERO.subTo(e,e)}}function bnpSquareTo(d){var a=this.abs();var b=d.t=2*a.t;while(--b>=0){d[b]=0}for(b=0;b<a.t-1;++b){var e=a.am(b,a[b],d,2*b,0,1);if((d[b+a.t]+=a.am(b+1,2*a[b],d,2*b+1,e,a.t-b-1))>=a.DV){d[b+a.t]-=a.DV;d[b+a.t+1]=1}}if(d.t>0){d[d.t-1]+=a.am(b,a[b],d,2*b,0,1)}d.s=0;d.clamp()}function bnpDivRemTo(n,h,g){var w=n.abs();if(w.t<=0){throw\"BigInteger divide by zero\"}var k=this.abs();if(k.t<w.t){if(h!=null){h.fromInt(0)}if(g!=null){this.copyTo(g)}return}if(g==null){g=nbi()}var d=nbi(),a=this.s,l=n.s;var v=this.DB-nbits(w[w.t-1]);if(v>0){w.lShiftTo(v,d);k.lShiftTo(v,g)}else{w.copyTo(d);k.copyTo(g)}var p=d.t;var b=d[p-1];if(b==0){return}var o=b*(1<<this.F1)+((p>1)?d[p-2]>>this.F2:0);var A=this.FV/o,z=(1<<this.F1)/o,x=1<<this.F2;var u=g.t,s=u-p,f=(h==null)?nbi():h;d.dlShiftTo(s,f);if(g.compareTo(f)>=0){g[g.t++]=1;g.subTo(f,g)}BigInteger.ONE.dlShiftTo(p,f);f.subTo(d,d);while(d.t<p){d[d.t++]=0}while(--s>=0){var c=(g[--u]==b)?this.DM:Math.floor(g[u]*A+(g[u-1]+x)*z);if((g[u]+=d.am(0,c,g,s,0,p))<c){d.dlShiftTo(s,f);g.subTo(f,g);while(g[u]<--c){g.subTo(f,g)}}}if(h!=null){g.drShiftTo(p,h);if(a!=l){BigInteger.ZERO.subTo(h,h)}}g.t=p;g.clamp();if(v>0){g.rShiftTo(v,g)}if(a<0){BigInteger.ZERO.subTo(g,g)}}function bnMod(b){var c=nbi();this.abs().divRemTo(b,null,c);if(this.s<0&&c.compareTo(BigInteger.ZERO)>0){b.subTo(c,c)}return c}function Classic(a){this.m=a}function cConvert(a){if(a.s<0||a.compareTo(this.m)>=0){return a.mod(this.m)}else{return a}}function cRevert(a){return a}function cReduce(a){a.divRemTo(this.m,null,a)}function cMulTo(a,c,b){a.multiplyTo(c,b);this.reduce(b)}function cSqrTo(a,b){a.squareTo(b);this.reduce(b)}Classic.prototype.convert=cConvert;Classic.prototype.revert=cRevert;Classic.prototype.reduce=cReduce;Classic.prototype.mulTo=cMulTo;Classic.prototype.sqrTo=cSqrTo;function bnpInvDigit(){if(this.t<1){return 0}var a=this[0];if((a&1)==0){return 0}var b=a&3;b=(b*(2-(a&15)*b))&15;b=(b*(2-(a&255)*b))&255;b=(b*(2-(((a&65535)*b)&65535)))&65535;b=(b*(2-a*b%this.DV))%this.DV;return(b>0)?this.DV-b:-b}function Montgomery(a){this.m=a;this.mp=a.invDigit();this.mpl=this.mp&32767;this.mph=this.mp>>15;this.um=(1<<(a.DB-15))-1;this.mt2=2*a.t}function montConvert(a){var b=nbi();a.abs().dlShiftTo(this.m.t,b);b.divRemTo(this.m,null,b);if(a.s<0&&b.compareTo(BigInteger.ZERO)>0){this.m.subTo(b,b)}return b}function montRevert(a){var b=nbi();a.copyTo(b);this.reduce(b);return b}function montReduce(a){while(a.t<=this.mt2){a[a.t++]=0}for(var c=0;c<this.m.t;++c){var b=a[c]&32767;var d=(b*this.mpl+(((b*this.mph+(a[c]>>15)*this.mpl)&this.um)<<15))&a.DM;b=c+this.m.t;a[b]+=this.m.am(0,d,a,c,0,this.m.t);while(a[b]>=a.DV){a[b]-=a.DV;a[++b]++}}a.clamp();a.drShiftTo(this.m.t,a);if(a.compareTo(this.m)>=0){a.subTo(this.m,a)}}function montSqrTo(a,b){a.squareTo(b);this.reduce(b)}function montMulTo(a,c,b){a.multiplyTo(c,b);this.reduce(b)}Montgomery.prototype.convert=montConvert;Montgomery.prototype.revert=montRevert;Montgomery.prototype.reduce=montReduce;Montgomery.prototype.mulTo=montMulTo;Montgomery.prototype.sqrTo=montSqrTo;function bnpIsEven(){return((this.t>0)?(this[0]&1):this.s)==0}function bnpExp(h,j){if(h>4294967295||h<1){return BigInteger.ONE}var f=nbi(),a=nbi(),d=j.convert(this),c=nbits(h)-1;d.copyTo(f);while(--c>=0){j.sqrTo(f,a);if((h&(1<<c))>0){j.mulTo(a,d,f)}else{var b=f;f=a;a=b}}return j.revert(f)}function bnModPowInt(b,a){var c;if(b<256||a.isEven()){c=new Classic(a)}else{c=new Montgomery(a)}return this.exp(b,c)}BigInteger.prototype.copyTo=bnpCopyTo;BigInteger.prototype.fromInt=bnpFromInt;BigInteger.prototype.fromString=bnpFromString;BigInteger.prototype.clamp=bnpClamp;BigInteger.prototype.dlShiftTo=bnpDLShiftTo;BigInteger.prototype.drShiftTo=bnpDRShiftTo;BigInteger.prototype.lShiftTo=bnpLShiftTo;BigInteger.prototype.rShiftTo=bnpRShiftTo;BigInteger.prototype.subTo=bnpSubTo;BigInteger.prototype.multiplyTo=bnpMultiplyTo;BigInteger.prototype.squareTo=bnpSquareTo;BigInteger.prototype.divRemTo=bnpDivRemTo;BigInteger.prototype.invDigit=bnpInvDigit;BigInteger.prototype.isEven=bnpIsEven;BigInteger.prototype.exp=bnpExp;BigInteger.prototype.toString=bnToString;BigInteger.prototype.negate=bnNegate;BigInteger.prototype.abs=bnAbs;BigInteger.prototype.compareTo=bnCompareTo;BigInteger.prototype.bitLength=bnBitLength;BigInteger.prototype.mod=bnMod;BigInteger.prototype.modPowInt=bnModPowInt;BigInteger.ZERO=nbv(0);BigInteger.ONE=nbv(1);\n/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/\n */\nfunction bnClone(){var a=nbi();this.copyTo(a);return a}function bnIntValue(){if(this.s<0){if(this.t==1){return this[0]-this.DV}else{if(this.t==0){return -1}}}else{if(this.t==1){return this[0]}else{if(this.t==0){return 0}}}return((this[1]&((1<<(32-this.DB))-1))<<this.DB)|this[0]}function bnByteValue(){return(this.t==0)?this.s:(this[0]<<24)>>24}function bnShortValue(){return(this.t==0)?this.s:(this[0]<<16)>>16}function bnpChunkSize(a){return Math.floor(Math.LN2*this.DB/Math.log(a))}function bnSigNum(){if(this.s<0){return -1}else{if(this.t<=0||(this.t==1&&this[0]<=0)){return 0}else{return 1}}}function bnpToRadix(c){if(c==null){c=10}if(this.signum()==0||c<2||c>36){return\"0\"}var f=this.chunkSize(c);var e=Math.pow(c,f);var i=nbv(e),j=nbi(),h=nbi(),g=\"\";this.divRemTo(i,j,h);while(j.signum()>0){g=(e+h.intValue()).toString(c).substr(1)+g;j.divRemTo(i,j,h)}return h.intValue().toString(c)+g}function bnpFromRadix(m,h){this.fromInt(0);if(h==null){h=10}var f=this.chunkSize(h);var g=Math.pow(h,f),e=false,a=0,l=0;for(var c=0;c<m.length;++c){var k=intAt(m,c);if(k<0){if(m.charAt(c)==\"-\"&&this.signum()==0){e=true}continue}l=h*l+k;if(++a>=f){this.dMultiply(g);this.dAddOffset(l,0);a=0;l=0}}if(a>0){this.dMultiply(Math.pow(h,a));this.dAddOffset(l,0)}if(e){BigInteger.ZERO.subTo(this,this)}}function bnpFromNumber(f,e,h){if(\"number\"==typeof e){if(f<2){this.fromInt(1)}else{this.fromNumber(f,h);if(!this.testBit(f-1)){this.bitwiseTo(BigInteger.ONE.shiftLeft(f-1),op_or,this)}if(this.isEven()){this.dAddOffset(1,0)}while(!this.isProbablePrime(e)){this.dAddOffset(2,0);if(this.bitLength()>f){this.subTo(BigInteger.ONE.shiftLeft(f-1),this)}}}}else{var d=new Array(),g=f&7;d.length=(f>>3)+1;e.nextBytes(d);if(g>0){d[0]&=((1<<g)-1)}else{d[0]=0}this.fromString(d,256)}}function bnToByteArray(){var b=this.t,c=new Array();c[0]=this.s;var e=this.DB-(b*this.DB)%8,f,a=0;if(b-->0){if(e<this.DB&&(f=this[b]>>e)!=(this.s&this.DM)>>e){c[a++]=f|(this.s<<(this.DB-e))}while(b>=0){if(e<8){f=(this[b]&((1<<e)-1))<<(8-e);f|=this[--b]>>(e+=this.DB-8)}else{f=(this[b]>>(e-=8))&255;if(e<=0){e+=this.DB;--b}}if((f&128)!=0){f|=-256}if(a==0&&(this.s&128)!=(f&128)){++a}if(a>0||f!=this.s){c[a++]=f}}}return c}function bnEquals(b){return(this.compareTo(b)==0)}function bnMin(b){return(this.compareTo(b)<0)?this:b}function bnMax(b){return(this.compareTo(b)>0)?this:b}function bnpBitwiseTo(c,h,e){var d,g,b=Math.min(c.t,this.t);for(d=0;d<b;++d){e[d]=h(this[d],c[d])}if(c.t<this.t){g=c.s&this.DM;for(d=b;d<this.t;++d){e[d]=h(this[d],g)}e.t=this.t}else{g=this.s&this.DM;for(d=b;d<c.t;++d){e[d]=h(g,c[d])}e.t=c.t}e.s=h(this.s,c.s);e.clamp()}function op_and(a,b){return a&b}function bnAnd(b){var c=nbi();this.bitwiseTo(b,op_and,c);return c}function op_or(a,b){return a|b}function bnOr(b){var c=nbi();this.bitwiseTo(b,op_or,c);return c}function op_xor(a,b){return a^b}function bnXor(b){var c=nbi();this.bitwiseTo(b,op_xor,c);return c}function op_andnot(a,b){return a&~b}function bnAndNot(b){var c=nbi();this.bitwiseTo(b,op_andnot,c);return c}function bnNot(){var b=nbi();for(var a=0;a<this.t;++a){b[a]=this.DM&~this[a]}b.t=this.t;b.s=~this.s;return b}function bnShiftLeft(b){var a=nbi();if(b<0){this.rShiftTo(-b,a)}else{this.lShiftTo(b,a)}return a}function bnShiftRight(b){var a=nbi();if(b<0){this.lShiftTo(-b,a)}else{this.rShiftTo(b,a)}return a}function lbit(a){if(a==0){return -1}var b=0;if((a&65535)==0){a>>=16;b+=16}if((a&255)==0){a>>=8;b+=8}if((a&15)==0){a>>=4;b+=4}if((a&3)==0){a>>=2;b+=2}if((a&1)==0){++b}return b}function bnGetLowestSetBit(){for(var a=0;a<this.t;++a){if(this[a]!=0){return a*this.DB+lbit(this[a])}}if(this.s<0){return this.t*this.DB}return -1}function cbit(a){var b=0;while(a!=0){a&=a-1;++b}return b}function bnBitCount(){var c=0,a=this.s&this.DM;for(var b=0;b<this.t;++b){c+=cbit(this[b]^a)}return c}function bnTestBit(b){var a=Math.floor(b/this.DB);if(a>=this.t){return(this.s!=0)}return((this[a]&(1<<(b%this.DB)))!=0)}function bnpChangeBit(c,b){var a=BigInteger.ONE.shiftLeft(c);this.bitwiseTo(a,b,a);return a}function bnSetBit(a){return this.changeBit(a,op_or)}function bnClearBit(a){return this.changeBit(a,op_andnot)}function bnFlipBit(a){return this.changeBit(a,op_xor)}function bnpAddTo(d,f){var e=0,g=0,b=Math.min(d.t,this.t);while(e<b){g+=this[e]+d[e];f[e++]=g&this.DM;g>>=this.DB}if(d.t<this.t){g+=d.s;while(e<this.t){g+=this[e];f[e++]=g&this.DM;g>>=this.DB}g+=this.s}else{g+=this.s;while(e<d.t){g+=d[e];f[e++]=g&this.DM;g>>=this.DB}g+=d.s}f.s=(g<0)?-1:0;if(g>0){f[e++]=g}else{if(g<-1){f[e++]=this.DV+g}}f.t=e;f.clamp()}function bnAdd(b){var c=nbi();this.addTo(b,c);return c}function bnSubtract(b){var c=nbi();this.subTo(b,c);return c}function bnMultiply(b){var c=nbi();this.multiplyTo(b,c);return c}function bnSquare(){var a=nbi();this.squareTo(a);return a}function bnDivide(b){var c=nbi();this.divRemTo(b,c,null);return c}function bnRemainder(b){var c=nbi();this.divRemTo(b,null,c);return c}function bnDivideAndRemainder(b){var d=nbi(),c=nbi();this.divRemTo(b,d,c);return new Array(d,c)}function bnpDMultiply(a){this[this.t]=this.am(0,a-1,this,0,0,this.t);++this.t;this.clamp()}function bnpDAddOffset(b,a){if(b==0){return}while(this.t<=a){this[this.t++]=0}this[a]+=b;while(this[a]>=this.DV){this[a]-=this.DV;if(++a>=this.t){this[this.t++]=0}++this[a]}}function NullExp(){}function nNop(a){return a}function nMulTo(a,c,b){a.multiplyTo(c,b)}function nSqrTo(a,b){a.squareTo(b)}NullExp.prototype.convert=nNop;NullExp.prototype.revert=nNop;NullExp.prototype.mulTo=nMulTo;NullExp.prototype.sqrTo=nSqrTo;function bnPow(a){return this.exp(a,new NullExp())}function bnpMultiplyLowerTo(b,f,e){var d=Math.min(this.t+b.t,f);e.s=0;e.t=d;while(d>0){e[--d]=0}var c;for(c=e.t-this.t;d<c;++d){e[d+this.t]=this.am(0,b[d],e,d,0,this.t)}for(c=Math.min(b.t,f);d<c;++d){this.am(0,b[d],e,d,0,f-d)}e.clamp()}function bnpMultiplyUpperTo(b,e,d){--e;var c=d.t=this.t+b.t-e;d.s=0;while(--c>=0){d[c]=0}for(c=Math.max(e-this.t,0);c<b.t;++c){d[this.t+c-e]=this.am(e-c,b[c],d,0,0,this.t+c-e)}d.clamp();d.drShiftTo(1,d)}function Barrett(a){this.r2=nbi();this.q3=nbi();BigInteger.ONE.dlShiftTo(2*a.t,this.r2);this.mu=this.r2.divide(a);this.m=a}function barrettConvert(a){if(a.s<0||a.t>2*this.m.t){return a.mod(this.m)}else{if(a.compareTo(this.m)<0){return a}else{var b=nbi();a.copyTo(b);this.reduce(b);return b}}}function barrettRevert(a){return a}function barrettReduce(a){a.drShiftTo(this.m.t-1,this.r2);if(a.t>this.m.t+1){a.t=this.m.t+1;a.clamp()}this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3);this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);while(a.compareTo(this.r2)<0){a.dAddOffset(1,this.m.t+1)}a.subTo(this.r2,a);while(a.compareTo(this.m)>=0){a.subTo(this.m,a)}}function barrettSqrTo(a,b){a.squareTo(b);this.reduce(b)}function barrettMulTo(a,c,b){a.multiplyTo(c,b);this.reduce(b)}Barrett.prototype.convert=barrettConvert;Barrett.prototype.revert=barrettRevert;Barrett.prototype.reduce=barrettReduce;Barrett.prototype.mulTo=barrettMulTo;Barrett.prototype.sqrTo=barrettSqrTo;function bnModPow(q,f){if(q.signum()<0){return this.modInverse(f).modPow(q.negate(),f)}var o=q.bitLength(),h,b=nbv(1),v;if(o<=0){return b}else{if(o<18){h=1}else{if(o<48){h=3}else{if(o<144){h=4}else{if(o<768){h=5}else{h=6}}}}}if(o<8){v=new Classic(f)}else{if(f.isEven()){v=new Barrett(f)}else{v=new Montgomery(f)}}var p=new Array(),d=3,s=h-1,a=(1<<h)-1;p[1]=v.convert(this);if(h>1){var A=nbi();v.sqrTo(p[1],A);while(d<=a){p[d]=nbi();v.mulTo(A,p[d-2],p[d]);d+=2}}var l=q.t-1,x,u=true,c=nbi(),y;o=nbits(q[l])-1;while(l>=0){if(o>=s){x=(q[l]>>(o-s))&a}else{x=(q[l]&((1<<(o+1))-1))<<(s-o);if(l>0){x|=q[l-1]>>(this.DB+o-s)}}d=h;while((x&1)==0){x>>=1;--d}if((o-=d)<0){o+=this.DB;--l}if(u){p[x].copyTo(b);u=false}else{while(d>1){v.sqrTo(b,c);v.sqrTo(c,b);d-=2}if(d>0){v.sqrTo(b,c)}else{y=b;b=c;c=y}v.mulTo(c,p[x],b)}while(l>=0&&(q[l]&(1<<o))==0){v.sqrTo(b,c);y=b;b=c;c=y;if(--o<0){o=this.DB-1;--l}}}return v.revert(b)}function bnGCD(c){var b=(this.s<0)?this.negate():this.clone();var h=(c.s<0)?c.negate():c.clone();if(b.compareTo(h)<0){var e=b;b=h;h=e}var d=b.getLowestSetBit(),f=h.getLowestSetBit();if(f<0){return b}if(d<f){f=d}if(f>0){b.rShiftTo(f,b);h.rShiftTo(f,h)}while(b.signum()>0){if((d=b.getLowestSetBit())>0){b.rShiftTo(d,b)}if((d=h.getLowestSetBit())>0){h.rShiftTo(d,h)}if(b.compareTo(h)>=0){b.subTo(h,b);b.rShiftTo(1,b)}else{h.subTo(b,h);h.rShiftTo(1,h)}}if(f>0){h.lShiftTo(f,h)}return h}function bnpModInt(e){if(e<=0){return 0}var c=this.DV%e,b=(this.s<0)?e-1:0;if(this.t>0){if(c==0){b=this[0]%e}else{for(var a=this.t-1;a>=0;--a){b=(c*b+this[a])%e}}}return b}function bnModInverse(e){if(e.signum()==0){return BigInteger.ZERO}var j=this.mod(e);var n=e.isEven();if((j.isEven()&&n)||j.signum()==0){return BigInteger.ZERO}var l=e.clone(),k=j.clone();var i=nbv(1),h=nbv(0),g=nbv(0),f=nbv(1);while(l.signum()!=0){while(l.isEven()){l.rShiftTo(1,l);if(n){if(!i.isEven()||!h.isEven()){i.addTo(j,i);h.subTo(e,h)}i.rShiftTo(1,i)}else{if(!h.isEven()){h.subTo(e,h)}}h.rShiftTo(1,h)}while(k.isEven()){k.rShiftTo(1,k);if(n){if(!g.isEven()||!f.isEven()){g.addTo(j,g);f.subTo(e,f)}g.rShiftTo(1,g)}else{if(!f.isEven()){f.subTo(e,f)}}f.rShiftTo(1,f)}if(l.compareTo(k)>=0){l.subTo(k,l);if(n){i.subTo(g,i)}h.subTo(f,h)}else{k.subTo(l,k);if(n){g.subTo(i,g)}f.subTo(h,f)}}if(k.compareTo(BigInteger.ONE)!=0){return BigInteger.ZERO}if(f.compareTo(e)>=0){return f.subtract(e)}if(f.signum()<0){f.addTo(e,f)}else{return f}if(f.signum()<0){return f.add(e)}else{return f}}var lowprimes=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997];var lplim=(1<<26)/lowprimes[lowprimes.length-1];function bnIsProbablePrime(e){if(this.signum()<=0){return false}var d,b=this.abs();if(b.t==1&&b[0]<=lowprimes[lowprimes.length-1]){for(d=0;d<lowprimes.length;++d){if(b[0]==lowprimes[d]){return true}}return false}if(b.isEven()){return false}d=1;while(d<lowprimes.length){var a=lowprimes[d],c=d+1;while(c<lowprimes.length&&a<lplim){a*=lowprimes[c++]}a=b.modInt(a);while(d<c){if(a%lowprimes[d++]==0){return false}}}return b.millerRabin(e)}function bnpMillerRabin(f){if(this.signum()<=0){return false}var g=this.subtract(BigInteger.ONE);var c=g.getLowestSetBit();if(c<=0){return false}var h=g.shiftRight(c);f=(f+1)>>1;if(f>lowprimes.length){f=lowprimes.length}var b=nbi();for(var e=0;e<f;++e){b.fromInt(lowprimes[Math.floor(Math.random()*lowprimes.length)]);var l=b.modPow(h,this);if(l.compareTo(BigInteger.ONE)!=0&&l.compareTo(g)!=0){var d=1;while(d++<c&&l.compareTo(g)!=0){l=l.modPowInt(2,this);if(l.compareTo(BigInteger.ONE)==0){return false}}if(l.compareTo(g)!=0){return false}}}return true}BigInteger.prototype.chunkSize=bnpChunkSize;BigInteger.prototype.toRadix=bnpToRadix;BigInteger.prototype.fromRadix=bnpFromRadix;BigInteger.prototype.fromNumber=bnpFromNumber;BigInteger.prototype.bitwiseTo=bnpBitwiseTo;BigInteger.prototype.changeBit=bnpChangeBit;BigInteger.prototype.addTo=bnpAddTo;BigInteger.prototype.dMultiply=bnpDMultiply;BigInteger.prototype.dAddOffset=bnpDAddOffset;BigInteger.prototype.multiplyLowerTo=bnpMultiplyLowerTo;BigInteger.prototype.multiplyUpperTo=bnpMultiplyUpperTo;BigInteger.prototype.modInt=bnpModInt;BigInteger.prototype.millerRabin=bnpMillerRabin;BigInteger.prototype.clone=bnClone;BigInteger.prototype.intValue=bnIntValue;BigInteger.prototype.byteValue=bnByteValue;BigInteger.prototype.shortValue=bnShortValue;BigInteger.prototype.signum=bnSigNum;BigInteger.prototype.toByteArray=bnToByteArray;BigInteger.prototype.equals=bnEquals;BigInteger.prototype.min=bnMin;BigInteger.prototype.max=bnMax;BigInteger.prototype.and=bnAnd;BigInteger.prototype.or=bnOr;BigInteger.prototype.xor=bnXor;BigInteger.prototype.andNot=bnAndNot;BigInteger.prototype.not=bnNot;BigInteger.prototype.shiftLeft=bnShiftLeft;BigInteger.prototype.shiftRight=bnShiftRight;BigInteger.prototype.getLowestSetBit=bnGetLowestSetBit;BigInteger.prototype.bitCount=bnBitCount;BigInteger.prototype.testBit=bnTestBit;BigInteger.prototype.setBit=bnSetBit;BigInteger.prototype.clearBit=bnClearBit;BigInteger.prototype.flipBit=bnFlipBit;BigInteger.prototype.add=bnAdd;BigInteger.prototype.subtract=bnSubtract;BigInteger.prototype.multiply=bnMultiply;BigInteger.prototype.divide=bnDivide;BigInteger.prototype.remainder=bnRemainder;BigInteger.prototype.divideAndRemainder=bnDivideAndRemainder;BigInteger.prototype.modPow=bnModPow;BigInteger.prototype.modInverse=bnModInverse;BigInteger.prototype.pow=bnPow;BigInteger.prototype.gcd=bnGCD;BigInteger.prototype.isProbablePrime=bnIsProbablePrime;BigInteger.prototype.square=bnSquare;BigInteger.prototype.sqrt=function(){var c=BigInteger.ZERO.setBit(this.bitLength()/2);var a=c;for(;;){var b=c.add(this.divide(c)).shiftRight(1);if(b.equals(c)||b.equals(a)){return b}a=c;c=b}};\n/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/\n */\nfunction Arcfour(){this.i=0;this.j=0;this.S=new Array()}function ARC4init(d){var c,a,b;for(c=0;c<256;++c){this.S[c]=c}a=0;for(c=0;c<256;++c){a=(a+this.S[c]+d[c%d.length])&255;b=this.S[c];this.S[c]=this.S[a];this.S[a]=b}this.i=0;this.j=0}function ARC4next(){var a;this.i=(this.i+1)&255;this.j=(this.j+this.S[this.i])&255;a=this.S[this.i];this.S[this.i]=this.S[this.j];this.S[this.j]=a;return this.S[(a+this.S[this.i])&255]}Arcfour.prototype.init=ARC4init;Arcfour.prototype.next=ARC4next;function prng_newstate(){return new Arcfour()}var rng_psize=256;\n/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/\n */\nvar rng_state;var rng_pool;var rng_pptr;function rng_seed_int(a){rng_pool[rng_pptr++]^=a&255;rng_pool[rng_pptr++]^=(a>>8)&255;rng_pool[rng_pptr++]^=(a>>16)&255;rng_pool[rng_pptr++]^=(a>>24)&255;if(rng_pptr>=rng_psize){rng_pptr-=rng_psize}}function rng_seed_time(){rng_seed_int(new Date().getTime())}if(rng_pool==null){rng_pool=new Array();rng_pptr=0;var t;if(typeof window!==\"undefined\"&&(window.crypto!==undefined||window.msCrypto!==undefined)){var crypto=window.crypto||window.msCrypto;if(crypto.getRandomValues){var ua=new Uint8Array(32);crypto.getRandomValues(ua);for(t=0;t<32;++t){rng_pool[rng_pptr++]=ua[t]}}else{if(navigator.appName==\"Netscape\"&&navigator.appVersion<\"5\"){var z=window.crypto.random(32);for(t=0;t<z.length;++t){rng_pool[rng_pptr++]=z.charCodeAt(t)&255}}}}if(rng_pptr<rng_psize&&typeof globalThis!==\"undefined\"&&globalThis.crypto&&globalThis.crypto.getRandomValues){var ga=new Uint8Array(rng_psize-rng_pptr);globalThis.crypto.getRandomValues(ga);for(t=0;t<ga.length;++t){rng_pool[rng_pptr++]=ga[t]}}while(rng_pptr<rng_psize){t=Math.floor(65536*Math.random());rng_pool[rng_pptr++]=t>>>8;rng_pool[rng_pptr++]=t&255}rng_pptr=0;rng_seed_time()}function rng_get_byte(){if(rng_state==null){rng_seed_time();rng_state=prng_newstate();rng_state.init(rng_pool);for(rng_pptr=0;rng_pptr<rng_pool.length;++rng_pptr){rng_pool[rng_pptr]=0}rng_pptr=0}return rng_state.next()}function rng_get_bytes(b){var a;for(a=0;a<b.length;++a){b[a]=rng_get_byte()}}function SecureRandom(){}SecureRandom.prototype.nextBytes=rng_get_bytes;\n/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/\n */\nfunction parseBigInt(b,a){return new BigInteger(b,a)}function linebrk(c,d){var a=\"\";var b=0;while(b+d<c.length){a+=c.substring(b,b+d)+\"\\n\";b+=d}return a+c.substring(b,c.length)}function byte2Hex(a){if(a<16){return\"0\"+a.toString(16)}else{return a.toString(16)}}function pkcs1pad2(e,h){if(h<e.length+11){throw\"Message too long for RSA\";return null}var g=new Array();var d=e.length-1;while(d>=0&&h>0){var f=e.charCodeAt(d--);if(f<128){g[--h]=f}else{if((f>127)&&(f<2048)){g[--h]=(f&63)|128;g[--h]=(f>>6)|192}else{g[--h]=(f&63)|128;g[--h]=((f>>6)&63)|128;g[--h]=(f>>12)|224}}}g[--h]=0;var b=new SecureRandom();var a=new Array();while(h>2){a[0]=0;while(a[0]==0){b.nextBytes(a)}g[--h]=a[0]}g[--h]=2;g[--h]=0;return new BigInteger(g)}function oaep_mgf1_arr(c,a,e){var b=\"\",d=0;while(b.length<a){b+=e(String.fromCharCode.apply(String,c.concat([(d&4278190080)>>24,(d&16711680)>>16,(d&65280)>>8,d&255])));d+=1}return b}function oaep_pad(q,a,f,l){var c=KJUR.crypto.MessageDigest;var o=KJUR.crypto.Util;var b=null;if(!f){f=\"sha1\"}if(typeof f===\"string\"){b=c.getCanonicalAlgName(f);l=c.getHashLength(b);f=function(i){return hextorstr(o.hashHex(rstrtohex(i),b))}}if(q.length+2*l+2>a){throw\"Message too long for RSA\"}var k=\"\",e;for(e=0;e<a-q.length-2*l-2;e+=1){k+=\"\\x00\"}var h=f(\"\")+k+\"\\x01\"+q;var g=new Array(l);new SecureRandom().nextBytes(g);var j=oaep_mgf1_arr(g,h.length,f);var p=[];for(e=0;e<h.length;e+=1){p[e]=h.charCodeAt(e)^j.charCodeAt(e)}var m=oaep_mgf1_arr(p,g.length,f);var d=[0];for(e=0;e<g.length;e+=1){d[e+1]=g[e]^m.charCodeAt(e)}return new BigInteger(d.concat(p))}function RSAKey(){this.n=null;this.e=0;this.d=null;this.p=null;this.q=null;this.dmp1=null;this.dmq1=null;this.coeff=null}function RSASetPublic(b,a){this.isPublic=true;this.isPrivate=false;if(typeof b!==\"string\"){this.n=b;this.e=a}else{if(b!=null&&a!=null&&b.length>0&&a.length>0){this.n=parseBigInt(b,16);this.e=parseInt(a,16)}else{throw\"Invalid RSA public key\"}}if(this.n==null||typeof this.n.compareTo!==\"function\"||this.n.compareTo(BigInteger.ONE)<=0||this.e==null||isNaN(this.e)||this.e<=0){throw\"Invalid RSA public key\"}}function RSADoPublic(a){return a.modPowInt(this.e,this.n)}RSAKey.prototype.doPublic=RSADoPublic;RSAKey.prototype.setPublic=RSASetPublic;RSAKey.prototype.type=\"RSA\";\n/*! (c) Tom Wu, Kenji Urushima | http://www-cs-students.stanford.edu/~tjw/jsbn/\n */\nfunction pkcs1unpad2(g,j){var a=g.toByteArray();var f=0;while(f<a.length&&a[f]==0){++f}if(a.length-f!=j-1||a[f]!=2){return null}++f;while(a[f]!=0){if(++f>=a.length){return null}}var e=\"\";while(++f<a.length){var h=a[f]&255;if(h<128){e+=String.fromCharCode(h)}else{if((h>191)&&(h<224)){e+=String.fromCharCode(((h&31)<<6)|(a[f+1]&63));++f}else{e+=String.fromCharCode(((h&15)<<12)|((a[f+1]&63)<<6)|(a[f+2]&63));f+=2}}}return e}function oaep_mgf1_str(c,a,e){var b=\"\",d=0;while(b.length<a){b+=e(c+String.fromCharCode.apply(String,[(d&4278190080)>>24,(d&16711680)>>16,(d&65280)>>8,d&255]));d+=1}return b}function oaep_unpad(o,b,g,p){var e=KJUR.crypto.MessageDigest;var r=KJUR.crypto.Util;var c=null;if(!g){g=\"sha1\"}if(typeof g===\"string\"){c=e.getCanonicalAlgName(g);p=e.getHashLength(c);g=function(d){return hextorstr(r.hashHex(rstrtohex(d),c))}}o=o.toByteArray();var h;for(h=0;h<o.length;h+=1){o[h]&=255}while(o.length<b){o.unshift(0)}o=String.fromCharCode.apply(String,o);if(o.length<2*p+2){throw\"Cipher too short\"}var f=o.substr(1,p);var s=o.substr(p+1);var q=oaep_mgf1_str(s,p,g);var k=[],h;for(h=0;h<f.length;h+=1){k[h]=f.charCodeAt(h)^q.charCodeAt(h)}var l=oaep_mgf1_str(String.fromCharCode.apply(String,k),o.length-p,g);var j=[];for(h=0;h<s.length;h+=1){j[h]=s.charCodeAt(h)^l.charCodeAt(h)}j=String.fromCharCode.apply(String,j);if(j.substr(0,p)!==g(\"\")){throw\"Hash mismatch\"}j=j.substr(p);var a=j.indexOf(\"\\x01\");var m=(a!=-1)?j.substr(0,a).lastIndexOf(\"\\x00\"):-1;if(m+1!=a){throw\"Malformed data\"}return j.substr(a+1)}function RSASetPrivate(c,a,b){this.isPrivate=true;if(typeof c!==\"string\"){this.n=c;this.e=a;this.d=b}else{if(c!=null&&a!=null&&c.length>0&&a.length>0){this.n=parseBigInt(c,16);this.e=parseInt(a,16);this.d=parseBigInt(b,16)}else{throw\"Invalid RSA private key\"}}}function RSASetPrivateEx(g,d,e,c,b,a,h,f){this.isPrivate=true;this.isPublic=false;if(g==null){throw\"RSASetPrivateEx N == null\"}if(d==null){throw\"RSASetPrivateEx E == null\"}if(g.length==0){throw\"RSASetPrivateEx N.length == 0\"}if(d.length==0){throw\"RSASetPrivateEx E.length == 0\"}if(g!=null&&d!=null&&g.length>0&&d.length>0){this.n=parseBigInt(g,16);this.e=parseInt(d,16);this.d=parseBigInt(e,16);this.p=parseBigInt(c,16);this.q=parseBigInt(b,16);this.dmp1=parseBigInt(a,16);this.dmq1=parseBigInt(h,16);this.coeff=parseBigInt(f,16)}else{throw\"Invalid RSA private key in RSASetPrivateEx\"}}function RSAGenerate(b,l){var a=new SecureRandom();var g=b>>1;this.e=parseInt(l,16);var c=new BigInteger(l,16);var d=(b/2)-100;var k=BigInteger.ONE.shiftLeft(d);for(;;){for(;;){this.p=new BigInteger(b-g,1,a);if(this.p.subtract(BigInteger.ONE).gcd(c).compareTo(BigInteger.ONE)==0&&this.p.isProbablePrime(10)){break}}for(;;){this.q=new BigInteger(g,1,a);if(this.q.subtract(BigInteger.ONE).gcd(c).compareTo(BigInteger.ONE)==0&&this.q.isProbablePrime(10)){break}}if(this.p.compareTo(this.q)<=0){var j=this.p;this.p=this.q;this.q=j}var h=this.q.subtract(this.p).abs();if(h.bitLength()<d||h.compareTo(k)<=0){continue}var i=this.p.subtract(BigInteger.ONE);var e=this.q.subtract(BigInteger.ONE);var f=i.multiply(e);if(f.gcd(c).compareTo(BigInteger.ONE)==0){this.n=this.p.multiply(this.q);if(this.n.bitLength()==b){this.d=c.modInverse(f);this.dmp1=this.d.mod(i);this.dmq1=this.d.mod(e);this.coeff=this.q.modInverse(this.p);break}}}this.isPrivate=true}function RSADoPrivate(a){if(this.p==null||this.q==null){return a.modPow(this.d,this.n)}var c=a.mod(this.p).modPow(this.dmp1,this.p);var b=a.mod(this.q).modPow(this.dmq1,this.q);while(c.compareTo(b)<0){c=c.add(this.p)}return c.subtract(b).multiply(this.coeff).mod(this.p).multiply(this.q).add(b)}RSAKey.prototype.doPrivate=RSADoPrivate;RSAKey.prototype.setPrivate=RSASetPrivate;RSAKey.prototype.setPrivateEx=RSASetPrivateEx;RSAKey.prototype.generate=RSAGenerate;\n/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/\n */\nfunction ECFieldElementFp(b,a){this.x=a;this.q=b}function feFpEquals(a){if(a==this){return true}return(this.q.equals(a.q)&&this.x.equals(a.x))}function feFpToBigInteger(){return this.x}function feFpNegate(){return new ECFieldElementFp(this.q,this.x.negate().mod(this.q))}function feFpAdd(a){return new ECFieldElementFp(this.q,this.x.add(a.toBigInteger()).mod(this.q))}function feFpSubtract(a){return new ECFieldElementFp(this.q,this.x.subtract(a.toBigInteger()).mod(this.q))}function feFpMultiply(a){return new ECFieldElementFp(this.q,this.x.multiply(a.toBigInteger()).mod(this.q))}function feFpSquare(){return new ECFieldElementFp(this.q,this.x.square().mod(this.q))}function feFpDivide(a){return new ECFieldElementFp(this.q,this.x.multiply(a.toBigInteger().modInverse(this.q)).mod(this.q))}ECFieldElementFp.prototype.equals=feFpEquals;ECFieldElementFp.prototype.toBigInteger=feFpToBigInteger;ECFieldElementFp.prototype.negate=feFpNegate;ECFieldElementFp.prototype.add=feFpAdd;ECFieldElementFp.prototype.subtract=feFpSubtract;ECFieldElementFp.prototype.multiply=feFpMultiply;ECFieldElementFp.prototype.square=feFpSquare;ECFieldElementFp.prototype.divide=feFpDivide;ECFieldElementFp.prototype.sqrt=function(){return new ECFieldElementFp(this.q,this.x.sqrt().mod(this.q))};function ECPointFp(c,a,d,b){this.curve=c;this.x=a;this.y=d;if(b==null){this.z=BigInteger.ONE}else{this.z=b}this.zinv=null}function pointFpGetX(){if(this.zinv==null){this.zinv=this.z.modInverse(this.curve.q)}return this.curve.fromBigInteger(this.x.toBigInteger().multiply(this.zinv).mod(this.curve.q))}function pointFpGetY(){if(this.zinv==null){this.zinv=this.z.modInverse(this.curve.q)}return this.curve.fromBigInteger(this.y.toBigInteger().multiply(this.zinv).mod(this.curve.q))}function pointFpEquals(a){if(a==this){return true}if(this.isInfinity()){return a.isInfinity()}if(a.isInfinity()){return this.isInfinity()}var c,b;c=a.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(a.z)).mod(this.curve.q);if(!c.equals(BigInteger.ZERO)){return false}b=a.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(a.z)).mod(this.curve.q);return b.equals(BigInteger.ZERO)}function pointFpIsInfinity(){if((this.x==null)&&(this.y==null)){return true}return this.z.equals(BigInteger.ZERO)&&!this.y.toBigInteger().equals(BigInteger.ZERO)}function pointFpNegate(){return new ECPointFp(this.curve,this.x,this.y.negate(),this.z)}function pointFpAdd(l){if(this.isInfinity()){return l}if(l.isInfinity()){return this}var p=l.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(l.z)).mod(this.curve.q);var o=l.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(l.z)).mod(this.curve.q);if(BigInteger.ZERO.equals(o)){if(BigInteger.ZERO.equals(p)){return this.twice()}return this.curve.getInfinity()}var j=new BigInteger(\"3\");var e=this.x.toBigInteger();var n=this.y.toBigInteger();var c=l.x.toBigInteger();var k=l.y.toBigInteger();var m=o.square();var i=m.multiply(o);var d=e.multiply(m);var g=p.square().multiply(this.z);var a=g.subtract(d.shiftLeft(1)).multiply(l.z).subtract(i).multiply(o).mod(this.curve.q);var h=d.multiply(j).multiply(p).subtract(n.multiply(i)).subtract(g.multiply(p)).multiply(l.z).add(p.multiply(i)).mod(this.curve.q);var f=i.multiply(this.z).multiply(l.z).mod(this.curve.q);return new ECPointFp(this.curve,this.curve.fromBigInteger(a),this.curve.fromBigInteger(h),f)}function pointFpTwice(){if(this.isInfinity()){return this}if(this.y.toBigInteger().signum()==0){return this.curve.getInfinity()}var g=new BigInteger(\"3\");var c=this.x.toBigInteger();var h=this.y.toBigInteger();var e=h.multiply(this.z);var j=e.multiply(h).mod(this.curve.q);var i=this.curve.a.toBigInteger();var k=c.square().multiply(g);if(!BigInteger.ZERO.equals(i)){k=k.add(this.z.square().multiply(i))}k=k.mod(this.curve.q);var b=k.square().subtract(c.shiftLeft(3).multiply(j)).shiftLeft(1).multiply(e).mod(this.curve.q);var f=k.multiply(g).multiply(c).subtract(j.shiftLeft(1)).shiftLeft(2).multiply(j).subtract(k.square().multiply(k)).mod(this.curve.q);var d=e.square().multiply(e).shiftLeft(3).mod(this.curve.q);return new ECPointFp(this.curve,this.curve.fromBigInteger(b),this.curve.fromBigInteger(f),d)}function pointFpMultiply(d){if(this.isInfinity()){return this}if(d.signum()==0){return this.curve.getInfinity()}var m=d;var l=m.multiply(new BigInteger(\"3\"));var b=this.negate();var j=this;var q=this.curve.q.subtract(d);var o=q.multiply(new BigInteger(\"3\"));var c=new ECPointFp(this.curve,this.x,this.y);var a=c.negate();var g;for(g=l.bitLength()-2;g>0;--g){j=j.twice();var n=l.testBit(g);var f=m.testBit(g);if(n!=f){j=j.add(n?this:b)}}for(g=o.bitLength()-2;g>0;--g){c=c.twice();var p=o.testBit(g);var r=q.testBit(g);if(p!=r){c=c.add(p?c:a)}}return j}function pointFpMultiplyTwo(c,a,b){var d;if(c.bitLength()>b.bitLength()){d=c.bitLength()-1}else{d=b.bitLength()-1}var f=this.curve.getInfinity();var e=this.add(a);while(d>=0){f=f.twice();if(c.testBit(d)){if(b.testBit(d)){f=f.add(e)}else{f=f.add(this)}}else{if(b.testBit(d)){f=f.add(a)}}--d}return f}ECPointFp.prototype.getX=pointFpGetX;ECPointFp.prototype.getY=pointFpGetY;ECPointFp.prototype.equals=pointFpEquals;ECPointFp.prototype.isInfinity=pointFpIsInfinity;ECPointFp.prototype.negate=pointFpNegate;ECPointFp.prototype.add=pointFpAdd;ECPointFp.prototype.twice=pointFpTwice;ECPointFp.prototype.multiply=pointFpMultiply;ECPointFp.prototype.multiplyTwo=pointFpMultiplyTwo;function ECCurveFp(e,d,c){this.q=e;this.a=this.fromBigInteger(d);this.b=this.fromBigInteger(c);this.infinity=new ECPointFp(this,null,null)}function curveFpGetQ(){return this.q}function curveFpGetA(){return this.a}function curveFpGetB(){return this.b}function curveFpEquals(a){if(a==this){return true}return(this.q.equals(a.q)&&this.a.equals(a.a)&&this.b.equals(a.b))}function curveFpGetInfinity(){return this.infinity}function curveFpFromBigInteger(a){return new ECFieldElementFp(this.q,a)}function curveFpDecodePointHex(m){switch(parseInt(m.substr(0,2),16)){case 0:return this.infinity;case 2:case 3:var c=m.substr(0,2);var l=m.substr(2);var j=this.fromBigInteger(new BigInteger(k,16));var i=this.getA();var h=this.getB();var e=j.square().add(i).multiply(j).add(h);var g=e.sqrt();if(c==\"03\"){g=g.negate()}return new ECPointFp(this,j,g);case 4:case 6:case 7:var d=(m.length-2)/2;var k=m.substr(2,d);var f=m.substr(d+2,d);return new ECPointFp(this,this.fromBigInteger(new BigInteger(k,16)),this.fromBigInteger(new BigInteger(f,16)));default:return null}}ECCurveFp.prototype.getQ=curveFpGetQ;ECCurveFp.prototype.getA=curveFpGetA;ECCurveFp.prototype.getB=curveFpGetB;ECCurveFp.prototype.equals=curveFpEquals;ECCurveFp.prototype.getInfinity=curveFpGetInfinity;ECCurveFp.prototype.fromBigInteger=curveFpFromBigInteger;ECCurveFp.prototype.decodePointHex=curveFpDecodePointHex;\n/*! (c) Stefan Thomas | https://github.com/bitcoinjs/bitcoinjs-lib\n */\nECFieldElementFp.prototype.getByteLength=function(){return Math.floor((this.toBigInteger().bitLength()+7)/8)};ECPointFp.prototype.getEncoded=function(c){var d=function(h,f){var g=h.toByteArrayUnsigned();if(f<g.length){g=g.slice(g.length-f)}else{while(f>g.length){g.unshift(0)}}return g};var a=this.getX().toBigInteger();var e=this.getY().toBigInteger();var b=d(a,32);if(c){if(e.isEven()){b.unshift(2)}else{b.unshift(3)}}else{b.unshift(4);b=b.concat(d(e,32))}return b};ECPointFp.decodeFrom=function(g,c){var f=c[0];var e=c.length-1;var d=c.slice(1,1+e/2);var b=c.slice(1+e/2,1+e);d.unshift(0);b.unshift(0);var a=new BigInteger(d);var h=new BigInteger(b);return new ECPointFp(g,g.fromBigInteger(a),g.fromBigInteger(h))};ECPointFp.decodeFromHex=function(g,c){var f=c.substr(0,2);var e=c.length-2;var d=c.substr(2,e/2);var b=c.substr(2+e/2,e/2);var a=new BigInteger(d,16);var h=new BigInteger(b,16);return new ECPointFp(g,g.fromBigInteger(a),g.fromBigInteger(h))};ECPointFp.prototype.add2D=function(c){if(this.isInfinity()){return c}if(c.isInfinity()){return this}if(this.x.equals(c.x)){if(this.y.equals(c.y)){return this.twice()}return this.curve.getInfinity()}var g=c.x.subtract(this.x);var e=c.y.subtract(this.y);var a=e.divide(g);var d=a.square().subtract(this.x).subtract(c.x);var f=a.multiply(this.x.subtract(d)).subtract(this.y);return new ECPointFp(this.curve,d,f)};ECPointFp.prototype.twice2D=function(){if(this.isInfinity()){return this}if(this.y.toBigInteger().signum()==0){return this.curve.getInfinity()}var b=this.curve.fromBigInteger(BigInteger.valueOf(2));var e=this.curve.fromBigInteger(BigInteger.valueOf(3));var a=this.x.square().multiply(e).add(this.curve.a).divide(this.y.multiply(b));var c=a.square().subtract(this.x.multiply(b));var d=a.multiply(this.x.subtract(c)).subtract(this.y);return new ECPointFp(this.curve,c,d)};ECPointFp.prototype.multiply2D=function(b){if(this.isInfinity()){return this}if(b.signum()==0){return this.curve.getInfinity()}var g=b;var f=g.multiply(new BigInteger(\"3\"));var l=this.negate();var d=this;var c;for(c=f.bitLength()-2;c>0;--c){d=d.twice();var a=f.testBit(c);var j=g.testBit(c);if(a!=j){d=d.add2D(a?this:l)}}return d};ECPointFp.prototype.isOnCurve=function(){var d=this.getX().toBigInteger();var i=this.getY().toBigInteger();var f=this.curve.getA().toBigInteger();var c=this.curve.getB().toBigInteger();var h=this.curve.getQ();var e=i.multiply(i).mod(h);var g=d.multiply(d).multiply(d).add(f.multiply(d)).add(c).mod(h);return e.equals(g)};ECPointFp.prototype.toString=function(){return\"(\"+this.getX().toBigInteger().toString()+\",\"+this.getY().toBigInteger().toString()+\")\"};ECPointFp.prototype.validate=function(){var c=this.curve.getQ();if(this.isInfinity()){throw new Error(\"Point is at infinity.\")}var a=this.getX().toBigInteger();var b=this.getY().toBigInteger();if(a.compareTo(BigInteger.ONE)<0||a.compareTo(c.subtract(BigInteger.ONE))>0){throw new Error(\"x coordinate out of bounds\")}if(b.compareTo(BigInteger.ONE)<0||b.compareTo(c.subtract(BigInteger.ONE))>0){throw new Error(\"y coordinate out of bounds\")}if(!this.isOnCurve()){throw new Error(\"Point is not on the curve.\")}if(this.multiply(c).isInfinity()){throw new Error(\"Point is not a scalar multiple of G.\")}return true};\n/*! Mike Samuel (c) 2009 | code.google.com/p/json-sans-eval\n */\nvar jsonParse=(function(){var e=\"(?:-?\\\\b(?:0|[1-9][0-9]*)(?:\\\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?\\\\b)\";var j='(?:[^\\\\0-\\\\x08\\\\x0a-\\\\x1f\"\\\\\\\\]|\\\\\\\\(?:[\"/\\\\\\\\bfnrt]|u[0-9A-Fa-f]{4}))';var i='(?:\"'+j+'*\")';var d=new RegExp(\"(?:false|true|null|[\\\\{\\\\}\\\\[\\\\]]|\"+e+\"|\"+i+\")\",\"g\");var k=new RegExp(\"\\\\\\\\(?:([^u])|u(.{4}))\",\"g\");var g={'\"':'\"',\"/\":\"/\",\"\\\\\":\"\\\\\",b:\"\\b\",f:\"\\f\",n:\"\\n\",r:\"\\r\",t:\"\\t\"};function h(l,m,n){return m?g[m]:String.fromCharCode(parseInt(n,16))}var c=new String(\"\");var a=\"\\\\\";var f={\"{\":Object,\"[\":Array};var b=Object.hasOwnProperty;return function(u,q){var p=u.match(d);var x;var v=p[0];var l=false;if(\"{\"===v){x={}}else{if(\"[\"===v){x=[]}else{x=[];l=true}}var t;var r=[x];for(var o=1-l,m=p.length;o<m;++o){v=p[o];var w;switch(v.charCodeAt(0)){default:w=r[0];w[t||w.length]=+(v);t=void 0;break;case 34:v=v.substring(1,v.length-1);if(v.indexOf(a)!==-1){v=v.replace(k,h)}w=r[0];if(!t){if(w instanceof Array){t=w.length}else{t=v||c;break}}w[t]=v;t=void 0;break;case 91:w=r[0];r.unshift(w[t||w.length]=[]);t=void 0;break;case 93:r.shift();break;case 102:w=r[0];w[t||w.length]=false;t=void 0;break;case 110:w=r[0];w[t||w.length]=null;t=void 0;break;case 116:w=r[0];w[t||w.length]=true;t=void 0;break;case 123:w=r[0];r.unshift(w[t||w.length]={});t=void 0;break;case 125:r.shift();break}}if(l){if(r.length!==1){throw new Error()}x=x[0]}else{if(r.length){throw new Error()}}if(q){var s=function(C,B){var D=C[B];if(D&&typeof D===\"object\"){var n=null;for(var z in D){if(b.call(D,z)&&D!==C){var y=s(D,z);if(y!==void 0){D[z]=y}else{if(!n){n=[]}n.push(z)}}}if(n){for(var A=n.length;--A>=0;){delete D[n[A]]}}}return q.call(C,B,D)};x=s({\"\":x},\"\")}return x}})();\nif(typeof KJUR==\"undefined\"||!KJUR){KJUR={}}if(typeof KJUR.asn1==\"undefined\"||!KJUR.asn1){KJUR.asn1={}}KJUR.asn1.ASN1Util=new function(){this.integerToByteHex=function(a){var b=a.toString(16);if((b.length%2)==1){b=\"0\"+b}return b};this.bigIntToMinTwosComplementsHex=function(a){return twoscompl(a)};this.getPEMStringFromHex=function(a,b){return hextopem(a,b)};this.newObject=function(k){var F=KJUR,o=F.asn1,v=o.ASN1Object,B=o.DERBoolean,e=o.DERInteger,t=o.DERBitString,h=o.DEROctetString,x=o.DERNull,y=o.DERObjectIdentifier,m=o.DEREnumerated,g=o.DERUTF8String,f=o.DERNumericString,A=o.DERPrintableString,w=o.DERTeletexString,q=o.DERIA5String,E=o.DERUTCTime,j=o.DERGeneralizedTime,b=o.DERVisibleString,l=o.DERBMPString,n=o.DERSequence,c=o.DERSet,s=o.DERTaggedObject,p=o.ASN1Util.newObject;if(k instanceof o.ASN1Object){return k}var u=Object.keys(k);if(u.length!=1){throw new Error(\"key of param shall be only one.\")}var H=u[0];if(\":asn1:bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:visstr:bmpstr:seq:set:tag:\".indexOf(\":\"+H+\":\")==-1){throw new Error(\"undefined key: \"+H)}if(H==\"bool\"){return new B(k[H])}if(H==\"int\"){return new e(k[H])}if(H==\"bitstr\"){return new t(k[H])}if(H==\"octstr\"){return new h(k[H])}if(H==\"null\"){return new x(k[H])}if(H==\"oid\"){return new y(k[H])}if(H==\"enum\"){return new m(k[H])}if(H==\"utf8str\"){return new g(k[H])}if(H==\"numstr\"){return new f(k[H])}if(H==\"prnstr\"){return new A(k[H])}if(H==\"telstr\"){return new w(k[H])}if(H==\"ia5str\"){return new q(k[H])}if(H==\"utctime\"){return new E(k[H])}if(H==\"gentime\"){return new j(k[H])}if(H==\"visstr\"){return new b(k[H])}if(H==\"bmpstr\"){return new l(k[H])}if(H==\"asn1\"){return new v(k[H])}if(H==\"seq\"){var d=k[H];var G=[];for(var z=0;z<d.length;z++){var D=p(d[z]);G.push(D)}return new n({array:G})}if(H==\"set\"){var d=k[H];var G=[];for(var z=0;z<d.length;z++){var D=p(d[z]);G.push(D)}return new c({array:G})}if(H==\"tag\"){var C=k[H];if(Object.prototype.toString.call(C)===\"[object Array]\"&&C.length==3){var r=p(C[2]);return new s({tag:C[0],explicit:C[1],obj:r})}else{return new s(C)}}};this.jsonToASN1HEX=function(b){var a=this.newObject(b);return a.tohex()}};KJUR.asn1.ASN1Util.oidHexToInt=function(a){var j=\"\";var k=parseInt(a.substr(0,2),16);var d=Math.floor(k/40);var c=k%40;var j=d+\".\"+c;var e=\"\";for(var f=2;f<a.length;f+=2){var g=parseInt(a.substr(f,2),16);var h=(\"00000000\"+g.toString(2)).slice(-8);e=e+h.substr(1,7);if(h.substr(0,1)==\"0\"){var b=new BigInteger(e,2);j=j+\".\"+b.toString(10);e=\"\"}}return j};KJUR.asn1.ASN1Util.oidIntToHex=function(f){var e=function(a){var k=a.toString(16);if(k.length==1){k=\"0\"+k}return k};var d=function(o){var n=\"\";var k=new BigInteger(o,10);var a=k.toString(2);var l=7-a.length%7;if(l==7){l=0}var q=\"\";for(var m=0;m<l;m++){q+=\"0\"}a=q+a;for(var m=0;m<a.length-1;m+=7){var p=a.substr(m,7);if(m!=a.length-7){p=\"1\"+p}n+=e(parseInt(p,2))}return n};if(!f.match(/^[0-9.]+$/)){throw\"malformed oid string: \"+f}var g=\"\";var b=f.split(\".\");var j=parseInt(b[0])*40+parseInt(b[1]);g+=e(j);b.splice(0,2);for(var c=0;c<b.length;c++){g+=d(b[c])}return g};KJUR.asn1.ASN1Object=function(e){var c=true;var b=null;var d=\"00\";var f=\"00\";var a=\"\";this.params=null;this.getLengthHexFromValue=function(){if(typeof this.hV==\"undefined\"||this.hV==null){throw new Error(\"this.hV is null or undefined\")}if(this.hV.length%2==1){throw new Error(\"value hex must be even length: n=\"+a.length+\",v=\"+this.hV)}var j=this.hV.length/2;var i=j.toString(16);if(i.length%2==1){i=\"0\"+i}if(j<128){return i}else{var h=i.length/2;if(h>15){throw new Error(\"ASN.1 length too long to represent by 8x: n = \"+j.toString(16))}var g=128+h;return g.toString(16)+i}};this.tohex=function(){if(this.hTLV==null||this.isModified){this.hV=this.getFreshValueHex();this.hL=this.getLengthHexFromValue();this.hTLV=this.hT+this.hL+this.hV;this.isModified=false}return this.hTLV};this.getEncodedHex=function(){return this.tohex()};this.getValueHex=function(){this.tohex();return this.hV};this.getFreshValueHex=function(){return\"\"};this.setByParam=function(g){this.params=g};if(e!=undefined){if(e.tlv!=undefined){this.hTLV=e.tlv;this.isModified=false}}};KJUR.asn1.DERAbstractString=function(c){KJUR.asn1.DERAbstractString.superclass.constructor.call(this);var b=null;var a=null;this.getString=function(){return this.s};this.setString=function(d){this.hTLV=null;this.isModified=true;this.s=d;this.hV=utf8tohex(this.s).toLowerCase()};this.setStringHex=function(d){this.hTLV=null;this.isModified=true;this.s=null;this.hV=d};this.getFreshValueHex=function(){return this.hV};if(typeof c!=\"undefined\"){if(typeof c==\"string\"){this.setString(c)}else{if(typeof c.str!=\"undefined\"){this.setString(c.str)}else{if(typeof c.hex!=\"undefined\"){this.setStringHex(c.hex)}}}}};extendClass(KJUR.asn1.DERAbstractString,KJUR.asn1.ASN1Object);KJUR.asn1.DERAbstractTime=function(c){KJUR.asn1.DERAbstractTime.superclass.constructor.call(this);var b=null;var a=null;this.localDateToUTC=function(g){var e=g.getTime()+(g.getTimezoneOffset()*60000);var f=new Date(e);return f};this.formatDate=function(m,o,e){var g=this.zeroPadding;var n=this.localDateToUTC(m);var p=String(n.getFullYear());if(o==\"utc\"){p=p.substr(2,2)}var l=g(String(n.getMonth()+1),2);var q=g(String(n.getDate()),2);var h=g(String(n.getHours()),2);var i=g(String(n.getMinutes()),2);var j=g(String(n.getSeconds()),2);var r=p+l+q+h+i+j;if(e===true){var f=n.getMilliseconds();if(f!=0){var k=g(String(f),3);k=k.replace(/[0]+$/,\"\");r=r+\".\"+k}}return r+\"Z\"};this.zeroPadding=function(e,d){if(e.length>=d){return e}return new Array(d-e.length+1).join(\"0\")+e};this.setByParam=function(d){this.hV=null;this.hTLV=null;this.params=d};this.getString=function(){return undefined};this.setString=function(d){this.hTLV=null;this.isModified=true;if(this.params==undefined){this.params={}}this.params.str=d};this.setByDate=function(d){this.hTLV=null;this.isModified=true;if(this.params==undefined){this.params={}}this.params.date=d};this.setByDateValue=function(h,j,e,d,f,g){var i=new Date(Date.UTC(h,j-1,e,d,f,g,0));this.setByDate(i)};this.getFreshValueHex=function(){return this.hV}};extendClass(KJUR.asn1.DERAbstractTime,KJUR.asn1.ASN1Object);KJUR.asn1.DERAbstractStructured=function(b){KJUR.asn1.DERAbstractString.superclass.constructor.call(this);var a=null;this.setByASN1ObjectArray=function(c){this.hTLV=null;this.isModified=true;this.asn1Array=c};this.appendASN1Object=function(c){this.hTLV=null;this.isModified=true;this.asn1Array.push(c)};this.asn1Array=new Array();if(typeof b!=\"undefined\"){if(typeof b.array!=\"undefined\"){this.asn1Array=b.array}}};extendClass(KJUR.asn1.DERAbstractStructured,KJUR.asn1.ASN1Object);KJUR.asn1.DERBoolean=function(a){KJUR.asn1.DERBoolean.superclass.constructor.call(this);this.hT=\"01\";if(a==false){this.hTLV=\"010100\"}else{this.hTLV=\"0101ff\"}};extendClass(KJUR.asn1.DERBoolean,KJUR.asn1.ASN1Object);KJUR.asn1.DERInteger=function(b){KJUR.asn1.DERInteger.superclass.constructor.call(this);this.hT=\"02\";this.params=null;var a=twoscompl;this.setByBigInteger=function(c){this.isModified=true;this.params={bigint:c}};this.setByInteger=function(c){this.isModified=true;this.params=c};this.setValueHex=function(c){this.isModified=true;this.params={hex:c}};this.getFreshValueHex=function(){var d=this.params;var c=null;if(d==null){throw new Error(\"value not set\")}if(typeof d==\"object\"&&d.hex!=undefined){this.hV=d.hex;return this.hV}if(typeof d==\"number\"){c=new BigInteger(String(d),10)}else{if(d[\"int\"]!=undefined){c=new BigInteger(String(d[\"int\"]),10)}else{if(d.bigint!=undefined){c=d.bigint}else{throw new Error(\"wrong parameter\")}}}this.hV=a(c);return this.hV};if(b!=undefined){this.params=b}};extendClass(KJUR.asn1.DERInteger,KJUR.asn1.ASN1Object);KJUR.asn1.DERBitString=function(b){if(b!==undefined&&typeof b.obj!==\"undefined\"){var a=KJUR.asn1.ASN1Util.newObject(b.obj);b.hex=\"00\"+a.tohex()}KJUR.asn1.DERBitString.superclass.constructor.call(this);this.hT=\"03\";this.setHexValueIncludingUnusedBits=function(c){this.hTLV=null;this.isModified=true;this.hV=c};this.setUnusedBitsAndHexValue=function(c,e){if(c<0||7<c){throw\"unused bits shall be from 0 to 7: u = \"+c}var d=\"0\"+c;this.hTLV=null;this.isModified=true;this.hV=d+e};this.setByBinaryString=function(e){e=e.replace(/0+$/,\"\");var f=8-e.length%8;if(f==8){f=0}e+=\"0000000\".substr(0,f);var j=\"\";for(var g=0;g<e.length-1;g+=8){var d=e.substr(g,8);var c=parseInt(d,2).toString(16);if(c.length==1){c=\"0\"+c}j+=c}this.hTLV=null;this.isModified=true;this.hV=\"0\"+f+j};this.setByBooleanArray=function(e){var d=\"\";for(var c=0;c<e.length;c++){if(e[c]==true){d+=\"1\"}else{d+=\"0\"}}this.setByBinaryString(d)};this.newFalseArray=function(e){var c=new Array(e);for(var d=0;d<e;d++){c[d]=false}return c};this.getFreshValueHex=function(){return this.hV};if(typeof b!=\"undefined\"){if(typeof b==\"string\"&&b.toLowerCase().match(/^[0-9a-f]+$/)){this.setHexValueIncludingUnusedBits(b)}else{if(typeof b.hex!=\"undefined\"){this.setHexValueIncludingUnusedBits(b.hex)}else{if(typeof b.bin!=\"undefined\"){this.setByBinaryString(b.bin)}else{if(typeof b.array!=\"undefined\"){this.setByBooleanArray(b.array)}}}}}};extendClass(KJUR.asn1.DERBitString,KJUR.asn1.ASN1Object);KJUR.asn1.DEROctetString=function(b){if(b!==undefined&&typeof b.obj!==\"undefined\"){var a=KJUR.asn1.ASN1Util.newObject(b.obj);b.hex=a.tohex()}KJUR.asn1.DEROctetString.superclass.constructor.call(this,b);this.hT=\"04\"};extendClass(KJUR.asn1.DEROctetString,KJUR.asn1.DERAbstractString);KJUR.asn1.DERNull=function(){KJUR.asn1.DERNull.superclass.constructor.call(this);this.hT=\"05\";this.hTLV=\"0500\"};extendClass(KJUR.asn1.DERNull,KJUR.asn1.ASN1Object);KJUR.asn1.DERObjectIdentifier=function(a){KJUR.asn1.DERObjectIdentifier.superclass.constructor.call(this);this.hT=\"06\";this.setValueHex=function(b){this.hTLV=null;this.isModified=true;this.s=null;this.hV=b};this.setValueOidString=function(b){var c=oidtohex(b);if(c==null){throw new Error(\"malformed oid string: \"+b)}this.hTLV=null;this.isModified=true;this.s=null;this.hV=c};this.setValueName=function(c){var b=KJUR.asn1.x509.OID.name2oid(c);if(b!==\"\"){this.setValueOidString(b)}else{throw new Error(\"DERObjectIdentifier oidName undefined: \"+c)}};this.setValueNameOrOid=function(b){if(b.match(/^[0-2].[0-9.]+$/)){this.setValueOidString(b)}else{this.setValueName(b)}};this.getFreshValueHex=function(){return this.hV};this.setByParam=function(b){if(typeof b===\"string\"){this.setValueNameOrOid(b)}else{if(b.oid!==undefined){this.setValueNameOrOid(b.oid)}else{if(b.name!==undefined){this.setValueNameOrOid(b.name)}else{if(b.hex!==undefined){this.setValueHex(b.hex)}}}}};if(a!==undefined){this.setByParam(a)}};extendClass(KJUR.asn1.DERObjectIdentifier,KJUR.asn1.ASN1Object);KJUR.asn1.DEREnumerated=function(a){KJUR.asn1.DEREnumerated.superclass.constructor.call(this);this.hT=\"0a\";this.setByBigInteger=function(b){this.hTLV=null;this.isModified=true;this.hV=twoscompl(b)};this.setByInteger=function(c){var b=new BigInteger(String(c),10);this.setByBigInteger(b)};this.setValueHex=function(b){this.hV=b};this.getFreshValueHex=function(){return this.hV};if(typeof a!=\"undefined\"){if(typeof a[\"int\"]!=\"undefined\"){this.setByInteger(a[\"int\"])}else{if(typeof a==\"number\"){this.setByInteger(a)}else{if(typeof a.hex!=\"undefined\"){this.setValueHex(a.hex)}}}}};extendClass(KJUR.asn1.DEREnumerated,KJUR.asn1.ASN1Object);KJUR.asn1.DERUTF8String=function(a){KJUR.asn1.DERUTF8String.superclass.constructor.call(this,a);this.hT=\"0c\"};extendClass(KJUR.asn1.DERUTF8String,KJUR.asn1.DERAbstractString);KJUR.asn1.DERNumericString=function(a){KJUR.asn1.DERNumericString.superclass.constructor.call(this,a);this.hT=\"12\"};extendClass(KJUR.asn1.DERNumericString,KJUR.asn1.DERAbstractString);KJUR.asn1.DERPrintableString=function(a){KJUR.asn1.DERPrintableString.superclass.constructor.call(this,a);this.hT=\"13\"};extendClass(KJUR.asn1.DERPrintableString,KJUR.asn1.DERAbstractString);KJUR.asn1.DERTeletexString=function(a){KJUR.asn1.DERTeletexString.superclass.constructor.call(this,a);this.hT=\"14\"};extendClass(KJUR.asn1.DERTeletexString,KJUR.asn1.DERAbstractString);KJUR.asn1.DERIA5String=function(a){KJUR.asn1.DERIA5String.superclass.constructor.call(this,a);this.hT=\"16\"};extendClass(KJUR.asn1.DERIA5String,KJUR.asn1.DERAbstractString);KJUR.asn1.DERVisibleString=function(a){KJUR.asn1.DERIA5String.superclass.constructor.call(this,a);this.hT=\"1a\"};extendClass(KJUR.asn1.DERVisibleString,KJUR.asn1.DERAbstractString);KJUR.asn1.DERBMPString=function(a){KJUR.asn1.DERBMPString.superclass.constructor.call(this,a);this.hT=\"1e\"};extendClass(KJUR.asn1.DERBMPString,KJUR.asn1.DERAbstractString);KJUR.asn1.DERUTCTime=function(a){KJUR.asn1.DERUTCTime.superclass.constructor.call(this,a);this.hT=\"17\";this.params=undefined;this.getFreshValueHex=function(){var d=this.params;if(this.params==undefined){d={date:new Date()}}if(typeof d==\"string\"){if(d.match(/^[0-9]{12}Z$/)||d.match(/^[0-9]{12}\\.[0-9]+Z$/)){this.hV=stohex(d)}else{throw new Error(\"malformed string for UTCTime: \"+d)}}else{if(d.str!=undefined){this.hV=stohex(d.str)}else{if(d.date==undefined&&d.millis==true){var c=new Date();this.hV=stohex(this.formatDate(c,\"utc\",true))}else{if(d.date!=undefined&&d.date instanceof Date){var b=(d.millis===true);this.hV=stohex(this.formatDate(d.date,\"utc\",b))}else{if(d instanceof Date){this.hV=stohex(this.formatDate(d,\"utc\"))}}}}}if(this.hV==undefined){throw new Error(\"parameter not specified properly for UTCTime\")}return this.hV};if(a!=undefined){this.setByParam(a)}};extendClass(KJUR.asn1.DERUTCTime,KJUR.asn1.DERAbstractTime);KJUR.asn1.DERGeneralizedTime=function(a){KJUR.asn1.DERGeneralizedTime.superclass.constructor.call(this,a);this.hT=\"18\";this.params=a;this.getFreshValueHex=function(){var d=this.params;if(this.params==undefined){d={date:new Date()}}if(typeof d==\"string\"){if(d.match(/^[0-9]{14}Z$/)||d.match(/^[0-9]{14}\\.[0-9]+Z$/)){this.hV=stohex(d)}else{throw new Error(\"malformed string for GeneralizedTime: \"+d)}}else{if(d.str!=undefined){this.hV=stohex(d.str)}else{if(d.date==undefined&&d.millis==true){var c=new Date();this.hV=stohex(this.formatDate(c,\"gen\",true))}else{if(d.date!=undefined&&d.date instanceof Date){var b=(d.millis===true);this.hV=stohex(this.formatDate(d.date,\"gen\",b))}else{if(d instanceof Date){this.hV=stohex(this.formatDate(d,\"gen\"))}}}}}if(this.hV==undefined){throw new Error(\"parameter not specified properly for GeneralizedTime\")}return this.hV};if(a!=undefined){this.setByParam(a)}};extendClass(KJUR.asn1.DERGeneralizedTime,KJUR.asn1.DERAbstractTime);KJUR.asn1.DERSequence=function(a){KJUR.asn1.DERSequence.superclass.constructor.call(this,a);this.hT=\"30\";this.getFreshValueHex=function(){var c=\"\";for(var b=0;b<this.asn1Array.length;b++){var d=this.asn1Array[b];c+=d.tohex()}this.hV=c;return this.hV}};extendClass(KJUR.asn1.DERSequence,KJUR.asn1.DERAbstractStructured);KJUR.asn1.DERSet=function(a){KJUR.asn1.DERSet.superclass.constructor.call(this,a);this.hT=\"31\";this.sortFlag=true;this.getFreshValueHex=function(){var b=new Array();for(var c=0;c<this.asn1Array.length;c++){var d=this.asn1Array[c];b.push(d.tohex())}if(this.sortFlag==true){b.sort()}this.hV=b.join(\"\");return this.hV};if(typeof a!=\"undefined\"){if(typeof a.sortflag!=\"undefined\"&&a.sortflag==false){this.sortFlag=false}}};extendClass(KJUR.asn1.DERSet,KJUR.asn1.DERAbstractStructured);KJUR.asn1.DERTaggedObject=function(f){KJUR.asn1.DERTaggedObject.superclass.constructor.call(this);var d=KJUR.asn1,e=ASN1HEX,a=e.getV,c=e.isASN1HEX,b=d.ASN1Util.newObject;this.hT=\"a0\";this.hV=\"\";this.isExplicit=true;this.asn1Object=null;this.params={tag:\"a0\",explicit:true};this.setASN1Object=function(g,h,i){this.params={tag:h,explicit:g,obj:i}};this.getFreshValueHex=function(){var h=this.params;if(h.explicit==undefined){h.explicit=true}if(h.tage!=undefined){h.tag=h.tage;h.explicit=true}if(h.tagi!=undefined){h.tag=h.tagi;h.explicit=false}if(h.str!=undefined){this.hV=utf8tohex(h.str)}else{if(h.hex!=undefined){this.hV=h.hex}else{if(h.obj!=undefined){var g;if(h.obj instanceof d.ASN1Object){g=h.obj.tohex()}else{if(typeof h.obj==\"object\"){g=b(h.obj).tohex()}}if(h.explicit){this.hV=g}else{this.hV=a(g,0)}}else{throw new Error(\"str, hex nor obj not specified\")}}}if(h.tag==undefined){h.tag=\"a0\"}this.hT=h.tag;this.hTLV=null;this.isModified=true;return this.hV};this.setByParam=function(g){this.params=g};if(f!==undefined){this.setByParam(f)}};extendClass(KJUR.asn1.DERTaggedObject,KJUR.asn1.ASN1Object);\nvar ASN1HEX=new function(){};ASN1HEX.getLblen=function(c,a){if(c.substr(a+2,1)!=\"8\"){return 1}var b=parseInt(c.substr(a+3,1));if(b==0){return -1}if(0<b&&b<10){return b+1}return -2};ASN1HEX.getL=function(c,b){var a=ASN1HEX.getLblen(c,b);if(a<1){return\"\"}return c.substr(b+2,a*2)};ASN1HEX.getVblen=function(d,a){var c,b;c=ASN1HEX.getL(d,a);if(c==\"\"){return -1}if(c.substr(0,1)===\"8\"){b=new BigInteger(c.substr(2),16)}else{b=new BigInteger(c,16)}return b.intValue()};ASN1HEX.getVidx=function(c,b){var a=ASN1HEX.getLblen(c,b);if(a<0){return a}return b+(a+1)*2};ASN1HEX.getV=function(d,a){var c=ASN1HEX.getVidx(d,a);var b=ASN1HEX.getVblen(d,a);return d.substr(c,b*2)};ASN1HEX.getTLV=function(b,a){return b.substr(a,2)+ASN1HEX.getL(b,a)+ASN1HEX.getV(b,a)};ASN1HEX.getTLVblen=function(b,a){return 2+ASN1HEX.getLblen(b,a)*2+ASN1HEX.getVblen(b,a)*2};ASN1HEX.getNextSiblingIdx=function(d,a){var c=ASN1HEX.getVidx(d,a);var b=ASN1HEX.getVblen(d,a);return c+b*2};ASN1HEX.getChildIdx=function(e,k){var l=ASN1HEX;var j=[];var c,f,g;c=l.getVidx(e,k);f=l.getVblen(e,k)*2;if(c+f>e.length){throw new Error(\"too short ASN.1 value\")}if(e.substr(k,2)==\"03\"){c+=2;f-=2}g=0;var d=c;while(g<=f){var b=l.getTLVblen(e,d);if(b<=0){throw new Error(\"malformed ASN.1: invalid TLV length\")}g+=b;if(g<=f){j.push(d)}d+=b;if(g>=f){break}}return j};ASN1HEX.getNthChildIdx=function(d,b,e){var c=ASN1HEX.getChildIdx(d,b);return c[e]};ASN1HEX.getIdxbyList=function(e,d,c,i){var g=ASN1HEX;var f,b;if(c.length==0){if(i!==undefined){if(e.substr(d,2)!==i){return -1}}return d}f=c.shift();b=g.getChildIdx(e,d);if(f>=b.length){return -1}return g.getIdxbyList(e,b[f],c,i)};ASN1HEX.getIdxbyListEx=function(f,k,b,g){var m=ASN1HEX;var d,l;if(b.length==0){if(g!==undefined){if(f.substr(k,2)!==g){return -1}}return k}d=b.shift();l=m.getChildIdx(f,k);var j=0;for(var e=0;e<l.length;e++){var c=f.substr(l[e],2);if((typeof d==\"number\"&&(!m.isContextTag(c))&&j==d)||(typeof d==\"string\"&&m.isContextTag(c,d))){return m.getIdxbyListEx(f,l[e],b,g)}if(!m.isContextTag(c)){j++}}return -1};ASN1HEX.getTLVbyList=function(d,c,b,f){var e=ASN1HEX;var a=e.getIdxbyList(d,c,b,f);if(a==-1){return null}if(a>=d.length){return null}return e.getTLV(d,a)};ASN1HEX.getTLVbyListEx=function(d,c,b,f){var e=ASN1HEX;var a=e.getIdxbyListEx(d,c,b,f);if(a==-1){return null}return e.getTLV(d,a)};ASN1HEX.getVbyList=function(e,c,b,g,i){var f=ASN1HEX;var a,d;a=f.getIdxbyList(e,c,b,g);if(a==-1){return null}if(a>=e.length){return null}d=f.getV(e,a);if(i===true){d=d.substr(2)}return d};ASN1HEX.getVbyListEx=function(b,e,a,d,f){var j=ASN1HEX;var g,c,i;g=j.getIdxbyListEx(b,e,a,d);if(g==-1){return null}i=j.getV(b,g);if(b.substr(g,2)==\"03\"&&f!==false){i=i.substr(2)}return i};ASN1HEX.getInt=function(e,b,f){if(f==undefined){f=-1}try{var c=e.substr(b,2);if(c!=\"02\"&&c!=\"03\"){return f}var a=ASN1HEX.getV(e,b);if(c==\"02\"){return parseInt(a,16)}else{return bitstrtoint(a)}}catch(d){return f}};ASN1HEX.getOID=function(c,a,d){if(d==undefined){d=null}try{if(c.substr(a,2)!=\"06\"){return d}var e=ASN1HEX.getV(c,a);return hextooid(e)}catch(b){return d}};ASN1HEX.getOIDName=function(d,a,f){if(f==undefined){f=null}try{var e=ASN1HEX.getOID(d,a,f);if(e==f){return f}var b=KJUR.asn1.x509.OID.oid2name(e);if(b==\"\"){return e}return b}catch(c){return f}};ASN1HEX.getString=function(d,b,e){if(e==undefined){e=null}try{var a=ASN1HEX.getV(d,b);return hextorstr(a)}catch(c){return e}};ASN1HEX.hextooidstr=function(e){var h=function(b,a){if(b.length>=a){return b}return new Array(a-b.length+1).join(\"0\")+b};var l=[];var o=e.substr(0,2);var f=parseInt(o,16);l[0]=new String(Math.floor(f/40));l[1]=new String(f%40);var m=e.substr(2);var k=[];for(var g=0;g<m.length/2;g++){k.push(parseInt(m.substr(g*2,2),16))}var j=[];var d=\"\";for(var g=0;g<k.length;g++){if(k[g]&128){d=d+h((k[g]&127).toString(2),7)}else{d=d+h((k[g]&127).toString(2),7);j.push(new String(parseInt(d,2)));d=\"\"}}var n=l.join(\".\");if(j.length>0){n=n+\".\"+j.join(\".\")}return n};ASN1HEX.dump=function(t,c,l,g){var p=ASN1HEX;var j=p.getV;var y=p.dump;var w=p.getChildIdx;var e=t;if(t instanceof KJUR.asn1.ASN1Object){e=t.tohex()}var q=function(A,i){if(A.length<=i*2){return A}else{var v=A.substr(0,i)+\"..(total \"+A.length/2+\"bytes)..\"+A.substr(A.length-i,i);return v}};if(c===undefined){c={ommit_long_octet:32}}if(l===undefined){l=0}if(g===undefined){g=\"\"}var x=c.ommit_long_octet;var z=e.substr(l,2);if(z==\"01\"){var h=j(e,l);if(h==\"00\"){return g+\"BOOLEAN FALSE\\n\"}else{return g+\"BOOLEAN TRUE\\n\"}}if(z==\"02\"){var h=j(e,l);return g+\"INTEGER \"+q(h,x)+\"\\n\"}if(z==\"03\"){var h=j(e,l);if(p.isASN1HEX(h.substr(2))){var k=g+\"BITSTRING, encapsulates\\n\";k=k+y(h.substr(2),c,0,g+\" \");return k}else{return g+\"BITSTRING \"+q(h,x)+\"\\n\"}}if(z==\"04\"){var h=j(e,l);if(p.isASN1HEX(h)){var k=g+\"OCTETSTRING, encapsulates\\n\";k=k+y(h,c,0,g+\" \");return k}else{return g+\"OCTETSTRING \"+q(h,x)+\"\\n\"}}if(z==\"05\"){return g+\"NULL\\n\"}if(z==\"06\"){var m=j(e,l);var b=KJUR.asn1.ASN1Util.oidHexToInt(m);var o=KJUR.asn1.x509.OID.oid2name(b);var a=b.replace(/\\./g,\" \");if(o!=\"\"){return g+\"ObjectIdentifier \"+o+\" (\"+a+\")\\n\"}else{return g+\"ObjectIdentifier (\"+a+\")\\n\"}}if(z==\"0a\"){return g+\"ENUMERATED \"+parseInt(j(e,l))+\"\\n\"}if(z==\"0c\"){return g+\"UTF8String '\"+hextoutf8(j(e,l))+\"'\\n\"}if(z==\"13\"){return g+\"PrintableString '\"+hextoutf8(j(e,l))+\"'\\n\"}if(z==\"14\"){return g+\"TeletexString '\"+hextoutf8(j(e,l))+\"'\\n\"}if(z==\"16\"){return g+\"IA5String '\"+hextoutf8(j(e,l))+\"'\\n\"}if(z==\"17\"){return g+\"UTCTime \"+hextoutf8(j(e,l))+\"\\n\"}if(z==\"18\"){return g+\"GeneralizedTime \"+hextoutf8(j(e,l))+\"\\n\"}if(z==\"1a\"){return g+\"VisualString '\"+hextoutf8(j(e,l))+\"'\\n\"}if(z==\"1e\"){return g+\"BMPString '\"+ucs2hextoutf8(j(e,l))+\"'\\n\"}if(z==\"30\"){if(e.substr(l,4)==\"3000\"){return g+\"SEQUENCE {}\\n\"}var k=g+\"SEQUENCE\\n\";var d=w(e,l);var f=c;if((d.length==2||d.length==3)&&e.substr(d[0],2)==\"06\"&&e.substr(d[d.length-1],2)==\"04\"){var o=p.oidname(j(e,d[0]));var r=JSON.parse(JSON.stringify(c));r.x509ExtName=o;f=r}for(var u=0;u<d.length;u++){k=k+y(e,f,d[u],g+\" \")}return k}if(z==\"31\"){var k=g+\"SET\\n\";var d=w(e,l);for(var u=0;u<d.length;u++){k=k+y(e,c,d[u],g+\" \")}return k}var z=parseInt(z,16);if((z&128)!=0){var n=z&31;if((z&32)!=0){var k=g+\"[\"+n+\"]\\n\";var d=w(e,l);for(var u=0;u<d.length;u++){k=k+y(e,c,d[u],g+\" \")}return k}else{var h=j(e,l);if(ASN1HEX.isASN1HEX(h)){var k=g+\"[\"+n+\"]\\n\";k=k+y(h,c,0,g+\" \");return k}else{if(h.substr(0,8)==\"68747470\"){h=hextoutf8(h)}else{if(c.x509ExtName===\"subjectAltName\"&&n==2){h=hextoutf8(h)}}}var k=g+\"[\"+n+\"] \"+h+\"\\n\";return k}}return g+\"UNKNOWN(\"+z+\") \"+j(e,l)+\"\\n\"};ASN1HEX.parse=function(x){var t=ASN1HEX,f=t.parse,a=t.isASN1HEX,l=t.getV,b=t.getTLV,y=t.getChildIdx,i=KJUR.asn1,e=i.ASN1Util.oidHexToInt,B=i.x509.OID.oid2name,k=hextoutf8,n=ucs2hextoutf8,q=iso88591hextoutf8;var c={\"0c\":\"utf8str\",\"12\":\"numstr\",\"13\":\"prnstr\",\"14\":\"telstr\",\"16\":\"ia5str\",\"17\":\"utctime\",\"18\":\"gentime\",\"1a\":\"visstr\",\"1e\":\"bmpstr\",\"30\":\"seq\",\"31\":\"set\"};var u=function(H){var D=[];var E=y(H,0);for(var G=0;G<E.length;G++){var s=E[G];var d=b(H,s);var F=f(d);D.push(F)}return D};var C=x.substr(0,2);var j={};var p=l(x,0);if(C==\"01\"){if(x==\"0101ff\"){return{bool:true}}return{bool:false}}else{if(C==\"02\"){return{\"int\":{hex:p}}}else{if(C==\"03\"){try{if(p.substr(0,2)!=\"00\"){throw\"not encap\"}var v=p.substr(2);if(!a(v)){throw\"not encap\"}return{bitstr:{obj:f(v)}}}catch(z){var m=null;if(p.length<=10){m=bitstrtobinstr(p)}if(m==null){return{bitstr:{hex:p}}}else{return{bitstr:{bin:m}}}}}else{if(C==\"04\"){try{if(!a(p)){throw\"not encap\"}return{octstr:{obj:f(p)}}}catch(z){return{octstr:{hex:p}}}}else{if(C==\"05\"){return{\"null\":\"\"}}else{if(C==\"06\"){var g=e(p);var r=B(g);if(r==\"\"){return{oid:g}}else{return{oid:r}}}else{if(C==\"0a\"){if(p.length>4){return{\"enum\":{hex:p}}}else{return{\"enum\":parseInt(p,16)}}}else{if(C==\"30\"||C==\"31\"){j[c[C]]=u(x);return j}else{if(C==\"14\"){var o=q(p);j[c[C]]={str:o};return j}else{if(C==\"1e\"){var o=n(p);j[c[C]]={str:o};return j}else{if(\":0c:12:13:16:17:18:1a:\".indexOf(C)!=-1){var o=k(p);j[c[C]]={str:o};return j}else{if(C.match(/^8[0-9]$/)){var o=k(p);if(o==null|o==\"\"){return{tag:{tag:C,explicit:false,hex:p}}}else{if(o.match(/[\\x00-\\x1F\\x7F-\\x9F]/)!=null||o.match(/[\\u0000-\\u001F\\u0080–\\u009F]/)!=null){return{tag:{tag:C,explicit:false,hex:p}}}else{return{tag:{tag:C,explicit:false,str:o}}}}}else{if(C.match(/^a[0-9]$/)){try{if(!a(p)){throw new Error(\"not encap\")}return{tag:{tag:C,explicit:true,obj:f(p)}}}catch(z){return{tag:{tag:C,explicit:true,hex:p}}}}else{var A=new KJUR.asn1.ASN1Object();A.hV=p;var w=A.getLengthHexFromValue();return{asn1:{tlv:C+w+p}}}}}}}}}}}}}}}};ASN1HEX.isContextTag=function(c,b){c=c.toLowerCase();var f,e;try{f=parseInt(c,16)}catch(d){return -1}if(b===undefined){if((f&192)==128){return true}else{return false}}try{var a=b.match(/^\\[[0-9]+\\]$/);if(a==null){return false}e=parseInt(b.substr(1,b.length-1),10);if(e>31){return false}if(((f&192)==128)&&((f&31)==e)){return true}return false}catch(d){return false}};ASN1HEX.isASN1HEX=function(e){var d=ASN1HEX;if(e.length%2==1){return false}var c=d.getVblen(e,0);var b=e.substr(0,2);var f=d.getL(e,0);var a=e.length-b.length-f.length;if(a==c*2){return true}return false};ASN1HEX.checkStrictDER=function(g,o,d,c,r){var s=ASN1HEX;if(d===undefined){if(typeof g!=\"string\"){throw new Error(\"not hex string\")}g=g.toLowerCase();if(!KJUR.lang.String.isHex(g)){throw new Error(\"not hex string\")}d=g.length;c=g.length/2;if(c<128){r=1}else{r=Math.ceil(c.toString(16))+1}}var k=s.getL(g,o);if(k.length>r*2){throw new Error(\"L of TLV too long: idx=\"+o)}var n=s.getVblen(g,o);if(n>c){throw new Error(\"value of L too long than hex: idx=\"+o)}var q=s.getTLV(g,o);var f=q.length-2-s.getL(g,o).length;if(f!==(n*2)){throw new Error(\"V string length and L's value not the same:\"+f+\"/\"+(n*2))}if(o===0){if(g.length!=q.length){throw new Error(\"total length and TLV length unmatch:\"+g.length+\"!=\"+q.length)}}var b=g.substr(o,2);if(b===\"02\"){var a=s.getVidx(g,o);if(g.substr(a,2)==\"00\"&&g.charCodeAt(a+2)<56){throw new Error(\"not least zeros for DER INTEGER\")}}if(parseInt(b,16)&32){var p=s.getVblen(g,o);var m=0;var l=s.getChildIdx(g,o);for(var e=0;e<l.length;e++){var j=s.getTLV(g,l[e]);m+=j.length;s.checkStrictDER(g,l[e],d,c,r)}if((p*2)!=m){throw new Error(\"sum of children's TLV length and L unmatch: \"+(p*2)+\"!=\"+m)}}};ASN1HEX.oidname=function(a){var c=KJUR.asn1;if(KJUR.lang.String.isHex(a)){a=c.ASN1Util.oidHexToInt(a)}var b=c.x509.OID.oid2name(a);if(b===\"\"){b=a}return b};\nif(typeof KJUR==\"undefined\"||!KJUR){KJUR={}}if(typeof KJUR.asn1==\"undefined\"||!KJUR.asn1){KJUR.asn1={}}if(typeof KJUR.asn1.x509==\"undefined\"||!KJUR.asn1.x509){KJUR.asn1.x509={}}KJUR.asn1.x509.Certificate=function(h){KJUR.asn1.x509.Certificate.superclass.constructor.call(this);var d=KJUR,c=d.asn1,f=c.DERBitString,b=c.DERSequence,g=c.x509,a=g.TBSCertificate,e=g.AlgorithmIdentifier;this.params=undefined;this.setByParam=function(i){this.params=i};this.sign=function(){var l=this.params;var k=l.sigalg;if(l.sigalg.name!=undefined){k=l.sigalg.name}var i=l.tbsobj.tohex();var j=new KJUR.crypto.Signature({alg:k});j.init(l.cakey);j.updateHex(i);l.sighex=j.sign()};this.getPEM=function(){return hextopem(this.tohex(),\"CERTIFICATE\")};this.tohex=function(){var k=this.params;if(k.tbsobj==undefined||k.tbsobj==null){k.tbsobj=new a(k)}if(k.sighex==undefined&&k.cakey!=undefined){this.sign()}if(k.sighex==undefined){throw new Error(\"sighex or cakey parameter not defined\")}var i=[];i.push(k.tbsobj);i.push(new e({name:k.sigalg}));i.push(new f({hex:\"00\"+k.sighex}));var j=new b({array:i});return j.tohex()};this.getEncodedHex=function(){return this.tohex()};if(h!=undefined){this.params=h}};extendClass(KJUR.asn1.x509.Certificate,KJUR.asn1.ASN1Object);KJUR.asn1.x509.TBSCertificate=function(f){KJUR.asn1.x509.TBSCertificate.superclass.constructor.call(this);var b=KJUR,i=b.asn1,d=i.x509,c=i.DERTaggedObject,h=i.DERInteger,g=i.DERSequence,l=d.AlgorithmIdentifier,e=d.Time,a=d.X500Name,j=d.Extensions,k=d.SubjectPublicKeyInfo;this.params=null;this.setByParam=function(m){this.params=m};this.tohex=function(){var n=[];var q=this.params;if(q.version!=undefined||q.version!=1){var m=2;if(q.version!=undefined){m=q.version-1}var p=new c({obj:new h({\"int\":m})});n.push(p)}n.push(new h(q.serial));n.push(new l({name:q.sigalg}));n.push(new a(q.issuer));n.push(new g({array:[new e(q.notbefore),new e(q.notafter)]}));n.push(new a(q.subject));n.push(new k(KEYUTIL.getKey(q.sbjpubkey)));if(q.ext!==undefined&&q.ext.length>0){n.push(new c({tag:\"a3\",obj:new j(q.ext)}))}var o=new KJUR.asn1.DERSequence({array:n});return o.tohex()};this.getEncodedHex=function(){return this.tohex()};if(f!==undefined){this.setByParam(f)}};extendClass(KJUR.asn1.x509.TBSCertificate,KJUR.asn1.ASN1Object);KJUR.asn1.x509.Extensions=function(d){KJUR.asn1.x509.Extensions.superclass.constructor.call(this);var c=KJUR,b=c.asn1,a=b.DERSequence,e=b.x509;this.aParam=[];this.setByParam=function(f){this.aParam=f};this.tohex=function(){var f=[];for(var h=0;h<this.aParam.length;h++){var l=this.aParam[h];var k=l.extname;var j=null;if(l.extn!=undefined){j=new e.PrivateExtension(l)}else{if(k==\"subjectKeyIdentifier\"){j=new e.SubjectKeyIdentifier(l)}else{if(k==\"keyUsage\"){j=new e.KeyUsage(l)}else{if(k==\"subjectAltName\"){j=new e.SubjectAltName(l)}else{if(k==\"issuerAltName\"){j=new e.IssuerAltName(l)}else{if(k==\"basicConstraints\"){j=new e.BasicConstraints(l)}else{if(k==\"nameConstraints\"){j=new e.NameConstraints(l)}else{if(k==\"cRLDistributionPoints\"){j=new e.CRLDistributionPoints(l)}else{if(k==\"certificatePolicies\"){j=new e.CertificatePolicies(l)}else{if(k==\"policyMappings\"){j=new e.PolicyMappings(l)}else{if(k==\"policyConstraints\"){j=new e.PolicyConstraints(l)}else{if(k==\"inhibitAnyPolicy\"){j=new e.InhibitAnyPolicy(l)}else{if(k==\"authorityKeyIdentifier\"){j=new e.AuthorityKeyIdentifier(l)}else{if(k==\"extKeyUsage\"){j=new e.ExtKeyUsage(l)}else{if(k==\"authorityInfoAccess\"){j=new e.AuthorityInfoAccess(l)}else{if(k==\"cRLNumber\"){j=new e.CRLNumber(l)}else{if(k==\"cRLReason\"){j=new e.CRLReason(l)}else{if(k==\"ocspNonce\"){j=new e.OCSPNonce(l)}else{if(k==\"ocspNoCheck\"){j=new e.OCSPNoCheck(l)}else{if(k==\"adobeTimeStamp\"){j=new e.AdobeTimeStamp(l)}else{if(k==\"subjectDirectoryAttributes\"){j=new e.SubjectDirectoryAttributes(l)}else{throw new Error(\"extension not supported:\"+JSON.stringify(l))}}}}}}}}}}}}}}}}}}}}}if(j!=null){f.push(j)}}var g=new a({array:f});return g.tohex()};this.getEncodedHex=function(){return this.tohex()};if(d!=undefined){this.setByParam(d)}};extendClass(KJUR.asn1.x509.Extensions,KJUR.asn1.ASN1Object);KJUR.asn1.x509.Extension=function(d){KJUR.asn1.x509.Extension.superclass.constructor.call(this);var f=null,a=KJUR,e=a.asn1,h=e.DERObjectIdentifier,i=e.DEROctetString,b=e.DERBitString,g=e.DERBoolean,c=e.DERSequence;this.tohex=function(){var m=new h({oid:this.oid});var l=new i({hex:this.getExtnValueHex()});var k=new Array();k.push(m);if(this.critical){k.push(new g())}k.push(l);var j=new c({array:k});return j.tohex()};this.getEncodedHex=function(){return this.tohex()};this.critical=false;if(d!==undefined){if(d.critical!==undefined){this.critical=d.critical}}};extendClass(KJUR.asn1.x509.Extension,KJUR.asn1.ASN1Object);KJUR.asn1.x509.KeyUsage=function(c){KJUR.asn1.x509.KeyUsage.superclass.constructor.call(this,c);var b=Error;var a={digitalSignature:0,nonRepudiation:1,keyEncipherment:2,dataEncipherment:3,keyAgreement:4,keyCertSign:5,cRLSign:6,encipherOnly:7,decipherOnly:8};this.getExtnValueHex=function(){var d=this.getBinValue();this.asn1ExtnValue=new KJUR.asn1.DERBitString({bin:d});return this.asn1ExtnValue.tohex()};this.getBinValue=function(){var d=this.params;if(typeof d!=\"object\"||(typeof d.names!=\"object\"&&typeof d.bin!=\"string\")){throw new b(\"parameter not yet set\")}if(d.names!=undefined){return namearraytobinstr(d.names,a)}else{if(d.bin!=undefined){return d.bin}else{throw new b(\"parameter not set properly\")}}};this.oid=\"2.5.29.15\";if(c!==undefined){this.params=c}};extendClass(KJUR.asn1.x509.KeyUsage,KJUR.asn1.x509.Extension);KJUR.asn1.x509.BasicConstraints=function(g){KJUR.asn1.x509.BasicConstraints.superclass.constructor.call(this,g);var c=KJUR.asn1,e=c.DERBoolean,f=c.DERInteger,b=c.DERSequence;var a=false;var d=-1;this.getExtnValueHex=function(){var i=new Array();if(this.cA){i.push(new e())}if(this.pathLen>-1){i.push(new f({\"int\":this.pathLen}))}var h=new b({array:i});this.asn1ExtnValue=h;return this.asn1ExtnValue.tohex()};this.oid=\"2.5.29.19\";this.cA=false;this.pathLen=-1;if(g!==undefined){if(g.cA!==undefined){this.cA=g.cA}if(g.pathLen!==undefined){this.pathLen=g.pathLen}}};extendClass(KJUR.asn1.x509.BasicConstraints,KJUR.asn1.x509.Extension);KJUR.asn1.x509.CRLDistributionPoints=function(d){KJUR.asn1.x509.CRLDistributionPoints.superclass.constructor.call(this,d);var b=KJUR,a=b.asn1,c=a.x509;this.getExtnValueHex=function(){return this.asn1ExtnValue.tohex()};this.setByDPArray=function(e){var f=[];for(var g=0;g<e.length;g++){if(e[g] instanceof KJUR.asn1.ASN1Object){f.push(e[g])}else{var h=new c.DistributionPoint(e[g]);f.push(h)}}this.asn1ExtnValue=new a.DERSequence({array:f})};this.setByOneURI=function(f){var e=new c.DistributionPoint({fulluri:f});this.setByDPArray([e])};this.oid=\"2.5.29.31\";if(d!==undefined){if(d.array!==undefined){this.setByDPArray(d.array)}else{if(d.uri!==undefined){this.setByOneURI(d.uri)}}}};extendClass(KJUR.asn1.x509.CRLDistributionPoints,KJUR.asn1.x509.Extension);KJUR.asn1.x509.DistributionPoint=function(e){KJUR.asn1.x509.DistributionPoint.superclass.constructor.call(this);var a=null,c=KJUR,b=c.asn1,d=b.x509.DistributionPointName;this.tohex=function(){var f=new b.DERSequence();if(this.asn1DP!=null){var g=new b.DERTaggedObject({explicit:true,tag:\"a0\",obj:this.asn1DP});f.appendASN1Object(g)}this.hTLV=f.tohex();return this.hTLV};this.getEncodedHex=function(){return this.tohex()};if(e!==undefined){if(e.dpobj!==undefined){this.asn1DP=e.dpobj}else{if(e.dpname!==undefined){this.asn1DP=new d(e.dpname)}else{if(e.fulluri!==undefined){this.asn1DP=new d({full:[{uri:e.fulluri}]})}}}}};extendClass(KJUR.asn1.x509.DistributionPoint,KJUR.asn1.ASN1Object);KJUR.asn1.x509.DistributionPointName=function(h){KJUR.asn1.x509.DistributionPointName.superclass.constructor.call(this);var g=null,d=null,a=null,f=null,c=KJUR,b=c.asn1,e=b.DERTaggedObject;this.tohex=function(){if(this.type!=\"full\"){throw new Error(\"currently type shall be 'full': \"+this.type)}this.asn1Obj=new e({explicit:false,tag:this.tag,obj:this.asn1V});this.hTLV=this.asn1Obj.tohex();return this.hTLV};this.getEncodedHex=function(){return this.tohex()};if(h!==undefined){if(b.x509.GeneralNames.prototype.isPrototypeOf(h)){this.type=\"full\";this.tag=\"a0\";this.asn1V=h}else{if(h.full!==undefined){this.type=\"full\";this.tag=\"a0\";this.asn1V=new b.x509.GeneralNames(h.full)}else{throw new Error(\"This class supports GeneralNames only as argument\")}}}};extendClass(KJUR.asn1.x509.DistributionPointName,KJUR.asn1.ASN1Object);KJUR.asn1.x509.CertificatePolicies=function(f){KJUR.asn1.x509.CertificatePolicies.superclass.constructor.call(this,f);var c=KJUR,b=c.asn1,e=b.x509,a=b.DERSequence,d=e.PolicyInformation;this.params=null;this.getExtnValueHex=function(){var j=[];for(var h=0;h<this.params.array.length;h++){j.push(new d(this.params.array[h]))}var g=new a({array:j});this.asn1ExtnValue=g;return this.asn1ExtnValue.tohex()};this.oid=\"2.5.29.32\";if(f!==undefined){this.params=f}};extendClass(KJUR.asn1.x509.CertificatePolicies,KJUR.asn1.x509.Extension);KJUR.asn1.x509.PolicyInformation=function(d){KJUR.asn1.x509.PolicyInformation.superclass.constructor.call(this,d);var c=KJUR.asn1,b=c.DERSequence,e=c.DERObjectIdentifier,a=c.x509.PolicyQualifierInfo;this.params=null;this.tohex=function(){if(this.params.policyoid===undefined&&this.params.array===undefined){throw new Error(\"parameter oid and array missing\")}var f=[new e(this.params.policyoid)];if(this.params.array!==undefined){var j=[];for(var h=0;h<this.params.array.length;h++){j.push(new a(this.params.array[h]))}if(j.length>0){f.push(new b({array:j}))}}var g=new b({array:f});return g.tohex()};this.getEncodedHex=function(){return this.tohex()};if(d!==undefined){this.params=d}};extendClass(KJUR.asn1.x509.PolicyInformation,KJUR.asn1.ASN1Object);KJUR.asn1.x509.PolicyQualifierInfo=function(e){KJUR.asn1.x509.PolicyQualifierInfo.superclass.constructor.call(this,e);var c=KJUR.asn1,b=c.DERSequence,d=c.DERIA5String,f=c.DERObjectIdentifier,a=c.x509.UserNotice;this.params=null;this.tohex=function(){if(this.params.cps!==undefined){var g=new b({array:[new f({oid:\"1.3.6.1.5.5.7.2.1\"}),new d({str:this.params.cps})]});return g.tohex()}if(this.params.unotice!=undefined){var g=new b({array:[new f({oid:\"1.3.6.1.5.5.7.2.2\"}),new a(this.params.unotice)]});return g.tohex()}};this.getEncodedHex=function(){return this.tohex()};if(e!==undefined){this.params=e}};extendClass(KJUR.asn1.x509.PolicyQualifierInfo,KJUR.asn1.ASN1Object);KJUR.asn1.x509.UserNotice=function(e){KJUR.asn1.x509.UserNotice.superclass.constructor.call(this,e);var a=KJUR.asn1.DERSequence,d=KJUR.asn1.DERInteger,c=KJUR.asn1.x509.DisplayText,b=KJUR.asn1.x509.NoticeReference;this.params=null;this.tohex=function(){var f=[];if(this.params.noticeref!==undefined){f.push(new b(this.params.noticeref))}if(this.params.exptext!==undefined){f.push(new c(this.params.exptext))}var g=new a({array:f});return g.tohex()};this.getEncodedHex=function(){return this.tohex()};if(e!==undefined){this.params=e}};extendClass(KJUR.asn1.x509.UserNotice,KJUR.asn1.ASN1Object);KJUR.asn1.x509.NoticeReference=function(d){KJUR.asn1.x509.NoticeReference.superclass.constructor.call(this,d);var a=KJUR.asn1.DERSequence,c=KJUR.asn1.DERInteger,b=KJUR.asn1.x509.DisplayText;this.params=null;this.tohex=function(){var f=[];if(this.params.org!==undefined){f.push(new b(this.params.org))}if(this.params.noticenum!==undefined){var h=[];var e=this.params.noticenum;for(var j=0;j<e.length;j++){h.push(new c(e[j]))}f.push(new a({array:h}))}if(f.length==0){throw new Error(\"parameter is empty\")}var g=new a({array:f});return g.tohex()};this.getEncodedHex=function(){return this.tohex()};if(d!==undefined){this.params=d}};extendClass(KJUR.asn1.x509.NoticeReference,KJUR.asn1.ASN1Object);KJUR.asn1.x509.DisplayText=function(a){KJUR.asn1.x509.DisplayText.superclass.constructor.call(this,a);this.hT=\"0c\";if(a!==undefined){if(a.type===\"ia5\"){this.hT=\"16\"}else{if(a.type===\"vis\"){this.hT=\"1a\"}else{if(a.type===\"bmp\"){this.hT=\"1e\"}}}}};extendClass(KJUR.asn1.x509.DisplayText,KJUR.asn1.DERAbstractString);KJUR.asn1.x509.PolicyMappings=function(e){KJUR.asn1.x509.PolicyMappings.superclass.constructor.call(this,e);var c=KJUR,b=c.asn1,d=b.x509,a=b.ASN1Util.newObject;this.params=null;this.getExtnValueHex=function(){var j=this.params;var f=[];for(var g=0;g<j.array.length;g++){var h=j.array[g];f.push({seq:[{oid:h[0]},{oid:h[1]}]})}this.asn1ExtnValue=a({seq:f});return this.asn1ExtnValue.tohex()};this.oid=\"2.5.29.33\";if(e!==undefined){this.params=e}};extendClass(KJUR.asn1.x509.PolicyMappings,KJUR.asn1.x509.Extension);KJUR.asn1.x509.PolicyConstraints=function(e){KJUR.asn1.x509.PolicyConstraints.superclass.constructor.call(this,e);var c=KJUR,b=c.asn1,d=b.x509,a=b.ASN1Util.newObject;this.params=null;this.getExtnValueHex=function(){var g=this.params;var f=[];if(g.reqexp!=undefined){f.push({tag:{tagi:\"80\",obj:{\"int\":g.reqexp}}})}if(g.inhibit!=undefined){f.push({tag:{tagi:\"81\",obj:{\"int\":g.inhibit}}})}this.asn1ExtnValue=a({seq:f});return this.asn1ExtnValue.tohex()};this.oid=\"2.5.29.36\";if(e!==undefined){this.params=e}};extendClass(KJUR.asn1.x509.PolicyConstraints,KJUR.asn1.x509.Extension);KJUR.asn1.x509.InhibitAnyPolicy=function(e){KJUR.asn1.x509.InhibitAnyPolicy.superclass.constructor.call(this,e);var c=KJUR,b=c.asn1,d=b.x509,a=b.ASN1Util.newObject;this.params=null;this.getExtnValueHex=function(){this.asn1ExtnValue=a({\"int\":this.params.skip});return this.asn1ExtnValue.tohex()};this.oid=\"2.5.29.54\";if(e!==undefined){this.params=e}};extendClass(KJUR.asn1.x509.InhibitAnyPolicy,KJUR.asn1.x509.Extension);KJUR.asn1.x509.NameConstraints=function(f){KJUR.asn1.x509.NameConstraints.superclass.constructor.call(this,f);var c=KJUR,b=c.asn1,e=b.x509,a=b.ASN1Util.newObject,d=e.GeneralSubtree;this.params=null;this.getExtnValueHex=function(){var l=this.params;var g=[];if(l.permit!=undefined&&l.permit.length!=undefined){var k=[];for(var h=0;h<l.permit.length;h++){k.push(new d(l.permit[h]))}g.push({tag:{tagi:\"a0\",obj:{seq:k}}})}if(l.exclude!=undefined&&l.exclude.length!=undefined){var j=[];for(var h=0;h<l.exclude.length;h++){j.push(new d(l.exclude[h]))}g.push({tag:{tagi:\"a1\",obj:{seq:j}}})}this.asn1ExtnValue=a({seq:g});return this.asn1ExtnValue.tohex()};this.oid=\"2.5.29.30\";if(f!==undefined){this.params=f}};extendClass(KJUR.asn1.x509.NameConstraints,KJUR.asn1.x509.Extension);KJUR.asn1.x509.GeneralSubtree=function(e){KJUR.asn1.x509.GeneralSubtree.superclass.constructor.call(this);var b=KJUR.asn1,d=b.x509,c=d.GeneralName,a=b.ASN1Util.newObject;this.params=null;this.setByParam=function(f){this.params=f};this.tohex=function(){var h=this.params;var f=[new c(h)];if(h.min!=undefined){f.push({tag:{tagi:\"80\",obj:{\"int\":h.min}}})}if(h.max!=undefined){f.push({tag:{tagi:\"81\",obj:{\"int\":h.max}}})}var g=a({seq:f});return g.tohex()};this.getEncodedHex=function(){return this.tohex()};if(e!==undefined){this.setByParam(e)}};extendClass(KJUR.asn1.x509.GeneralSubtree,KJUR.asn1.ASN1Object);KJUR.asn1.x509.ExtKeyUsage=function(c){KJUR.asn1.x509.ExtKeyUsage.superclass.constructor.call(this,c);var b=KJUR,a=b.asn1;this.setPurposeArray=function(d){this.asn1ExtnValue=new a.DERSequence();for(var e=0;e<d.length;e++){var f=new a.DERObjectIdentifier(d[e]);this.asn1ExtnValue.appendASN1Object(f)}};this.getExtnValueHex=function(){return this.asn1ExtnValue.tohex()};this.oid=\"2.5.29.37\";if(c!==undefined){if(c.array!==undefined){this.setPurposeArray(c.array)}}};extendClass(KJUR.asn1.x509.ExtKeyUsage,KJUR.asn1.x509.Extension);KJUR.asn1.x509.AuthorityKeyIdentifier=function(f){KJUR.asn1.x509.AuthorityKeyIdentifier.superclass.constructor.call(this,f);var b=KJUR,a=b.asn1,d=a.DERTaggedObject,e=a.x509.GeneralNames,c=b.crypto.Util.isKey;this.asn1KID=null;this.asn1CertIssuer=null;this.asn1CertSN=null;this.getExtnValueHex=function(){var h=new Array();if(this.asn1KID){h.push(new d({explicit:false,tag:\"80\",obj:this.asn1KID}))}if(this.asn1CertIssuer){h.push(new d({explicit:false,tag:\"a1\",obj:new e([{dn:this.asn1CertIssuer}])}))}if(this.asn1CertSN){h.push(new d({explicit:false,tag:\"82\",obj:this.asn1CertSN}))}var g=new a.DERSequence({array:h});this.asn1ExtnValue=g;return this.asn1ExtnValue.tohex()};this.setKIDByParam=function(i){if(i.str!==undefined||i.hex!==undefined){this.asn1KID=new KJUR.asn1.DEROctetString(i)}else{if((typeof i===\"object\"&&KJUR.crypto.Util.isKey(i))||(typeof i===\"string\"&&i.indexOf(\"BEGIN \")!=-1)){var h=i;if(typeof i===\"string\"){h=KEYUTIL.getKey(i)}var g=KEYUTIL.getKeyID(h);this.asn1KID=new KJUR.asn1.DEROctetString({hex:g})}}};this.setCertIssuerByParam=function(g){if(g.str!==undefined||g.ldapstr!==undefined||g.hex!==undefined||g.certsubject!==undefined||g.certissuer!==undefined){this.asn1CertIssuer=new KJUR.asn1.x509.X500Name(g)}else{if(typeof g===\"string\"&&g.indexOf(\"BEGIN \")!=-1&&g.indexOf(\"CERTIFICATE\")!=-1){this.asn1CertIssuer=new KJUR.asn1.x509.X500Name({certissuer:g})}}};this.setCertSNByParam=function(i){if(i.str!==undefined||i.bigint!==undefined||i.hex!==undefined){this.asn1CertSN=new KJUR.asn1.DERInteger(i)}else{if(typeof i===\"string\"&&i.indexOf(\"BEGIN \")!=-1&&i.indexOf(\"CERTIFICATE\")){var g=new X509();g.readCertPEM(i);var h=g.getSerialNumberHex();this.asn1CertSN=new KJUR.asn1.DERInteger({hex:h})}}};this.oid=\"2.5.29.35\";if(f!==undefined){if(f.kid!==undefined){this.setKIDByParam(f.kid)}if(f.issuer!==undefined){this.setCertIssuerByParam(f.issuer)}if(f.sn!==undefined){this.setCertSNByParam(f.sn)}if(f.issuersn!==undefined&&typeof f.issuersn===\"string\"&&f.issuersn.indexOf(\"BEGIN \")!=-1&&f.issuersn.indexOf(\"CERTIFICATE\")){this.setCertSNByParam(f.issuersn);this.setCertIssuerByParam(f.issuersn)}}};extendClass(KJUR.asn1.x509.AuthorityKeyIdentifier,KJUR.asn1.x509.Extension);KJUR.asn1.x509.SubjectKeyIdentifier=function(d){KJUR.asn1.x509.SubjectKeyIdentifier.superclass.constructor.call(this,d);var b=KJUR,a=b.asn1,c=a.DEROctetString;this.asn1KID=null;this.getExtnValueHex=function(){this.asn1ExtnValue=this.asn1KID;return this.asn1ExtnValue.tohex()};this.setKIDByParam=function(g){if(g.str!==undefined||g.hex!==undefined){this.asn1KID=new c(g)}else{if((typeof g===\"object\"&&KJUR.crypto.Util.isKey(g))||(typeof g===\"string\"&&g.indexOf(\"BEGIN\")!=-1)){var f=g;if(typeof g===\"string\"){f=KEYUTIL.getKey(g)}var e=KEYUTIL.getKeyID(f);this.asn1KID=new KJUR.asn1.DEROctetString({hex:e})}}};this.oid=\"2.5.29.14\";if(d!==undefined){if(d.kid!==undefined){this.setKIDByParam(d.kid)}}};extendClass(KJUR.asn1.x509.SubjectKeyIdentifier,KJUR.asn1.x509.Extension);KJUR.asn1.x509.AuthorityInfoAccess=function(a){KJUR.asn1.x509.AuthorityInfoAccess.superclass.constructor.call(this,a);this.setAccessDescriptionArray=function(k){var d=new Array(),b=KJUR,g=b.asn1,c=g.DERSequence,j=g.DERObjectIdentifier,l=g.x509.GeneralName;for(var f=0;f<k.length;f++){var e;var h=k[f];if(h.ocsp!==undefined){e=new c({array:[new j({oid:\"1.3.6.1.5.5.7.48.1\"}),new l({uri:h.ocsp})]})}else{if(h.caissuer!==undefined){e=new c({array:[new j({oid:\"1.3.6.1.5.5.7.48.2\"}),new l({uri:h.caissuer})]})}else{throw new Error(\"unknown AccessMethod parameter: \"+JSON.stringify(h))}}d.push(e)}this.asn1ExtnValue=new c({array:d})};this.getExtnValueHex=function(){return this.asn1ExtnValue.tohex()};this.oid=\"1.3.6.1.5.5.7.1.1\";if(a!==undefined){if(a.array!==undefined){this.setAccessDescriptionArray(a.array)}}};extendClass(KJUR.asn1.x509.AuthorityInfoAccess,KJUR.asn1.x509.Extension);KJUR.asn1.x509.SubjectAltName=function(a){KJUR.asn1.x509.SubjectAltName.superclass.constructor.call(this,a);this.setNameArray=function(b){this.asn1ExtnValue=new KJUR.asn1.x509.GeneralNames(b)};this.getExtnValueHex=function(){return this.asn1ExtnValue.tohex()};this.oid=\"2.5.29.17\";if(a!==undefined){if(a.array!==undefined){this.setNameArray(a.array)}}};extendClass(KJUR.asn1.x509.SubjectAltName,KJUR.asn1.x509.Extension);KJUR.asn1.x509.IssuerAltName=function(a){KJUR.asn1.x509.IssuerAltName.superclass.constructor.call(this,a);this.setNameArray=function(b){this.asn1ExtnValue=new KJUR.asn1.x509.GeneralNames(b)};this.getExtnValueHex=function(){return this.asn1ExtnValue.tohex()};this.oid=\"2.5.29.18\";if(a!==undefined){if(a.array!==undefined){this.setNameArray(a.array)}}};extendClass(KJUR.asn1.x509.IssuerAltName,KJUR.asn1.x509.Extension);KJUR.asn1.x509.SubjectDirectoryAttributes=function(e){KJUR.asn1.x509.SubjectDirectoryAttributes.superclass.constructor.call(this,e);var c=KJUR.asn1,a=c.DERSequence,b=c.ASN1Util.newObject,d=c.x509.OID.name2oid;this.params=null;this.getExtnValueHex=function(){var f=[];for(var j=0;j<this.params.array.length;j++){var l=this.params.array[j];if(l.attr!=undefined&&l.array!=undefined){var k={seq:[{oid:l.attr},{set:l.array}]};f.push(b(k));continue}var h={seq:[{oid:\"1.2.3.4\"},{set:[{utf8str:\"DE\"}]}]};if(l.attr==\"dateOfBirth\"){h.seq[0].oid=d(l.attr);h.seq[1].set[0]={gentime:l.str}}else{if(l.attr==\"placeOfBirth\"){h.seq[0].oid=d(l.attr);h.seq[1].set[0]={utf8str:l.str}}else{if(l.attr==\"gender\"){h.seq[0].oid=d(l.attr);h.seq[1].set[0]={prnstr:l.str}}else{if(l.attr==\"countryOfCitizenship\"){h.seq[0].oid=d(l.attr);h.seq[1].set[0]={prnstr:l.str}}else{if(l.attr==\"countryOfResidence\"){h.seq[0].oid=d(l.attr);h.seq[1].set[0]={prnstr:l.str}}else{throw new Error(\"unsupported attribute: \"+l.attr)}}}}}f.push(new b(h))}var g=new a({array:f});this.asn1ExtnValue=g;return this.asn1ExtnValue.tohex()};this.oid=\"2.5.29.9\";if(e!==undefined){this.params=e}};extendClass(KJUR.asn1.x509.SubjectDirectoryAttributes,KJUR.asn1.x509.Extension);KJUR.asn1.x509.PrivateExtension=function(f){KJUR.asn1.x509.PrivateExtension.superclass.constructor.call(this,f);var c=KJUR,e=c.lang.String.isHex,b=c.asn1,d=b.x509.OID.name2oid,a=b.ASN1Util.newObject;this.params=null;this.setByParam=function(g){this.oid=d(g.extname);this.params=g};this.getExtnValueHex=function(){if(this.params.extname==undefined||this.params.extn==undefined){throw new Error(\"extname or extnhex not specified\")}var h=this.params.extn;if(typeof h==\"string\"&&e(h)){return h}else{if(typeof h==\"object\"){try{return a(h).tohex()}catch(g){}}}throw new Error(\"unsupported extn value\")};if(f!=undefined){this.setByParam(f)}};extendClass(KJUR.asn1.x509.PrivateExtension,KJUR.asn1.x509.Extension);KJUR.asn1.x509.CRL=function(g){KJUR.asn1.x509.CRL.superclass.constructor.call(this);var c=KJUR,b=c.asn1,a=b.DERSequence,e=b.DERBitString,f=b.x509,d=f.AlgorithmIdentifier,h=f.TBSCertList;this.params=undefined;this.setByParam=function(i){this.params=i};this.sign=function(){var j=(new h(this.params)).tohex();var k=new KJUR.crypto.Signature({alg:this.params.sigalg});k.init(this.params.cakey);k.updateHex(j);var i=k.sign();this.params.sighex=i};this.getPEM=function(){return hextopem(this.tohex(),\"X509 CRL\")};this.tohex=function(){var k=this.params;if(k.tbsobj==undefined){k.tbsobj=new h(k)}if(k.sighex==undefined&&k.cakey!=undefined){this.sign()}if(k.sighex==undefined){throw new Error(\"sighex or cakey parameter not defined\")}var i=[];i.push(k.tbsobj);i.push(new d({name:k.sigalg}));i.push(new e({hex:\"00\"+k.sighex}));var j=new a({array:i});return j.tohex()};this.getEncodedHex=function(){return this.tohex()};if(g!=undefined){this.params=g}};extendClass(KJUR.asn1.x509.CRL,KJUR.asn1.ASN1Object);KJUR.asn1.x509.TBSCertList=function(f){KJUR.asn1.x509.TBSCertList.superclass.constructor.call(this);var b=KJUR,i=b.asn1,h=i.DERInteger,g=i.DERSequence,c=i.DERTaggedObject,k=i.DERObjectIdentifier,d=i.x509,l=d.AlgorithmIdentifier,e=d.Time,j=d.Extensions,a=d.X500Name;this.params=null;this.setByParam=function(m){this.params=m};this.getRevCertSequence=function(){var m=[];var n=this.params.revcert;for(var o=0;o<n.length;o++){var p=[new h(n[o].sn),new e(n[o].date)];if(n[o].ext!=undefined){p.push(new j(n[o].ext))}m.push(new g({array:p}))}return new g({array:m})};this.tohex=function(){var n=[];var r=this.params;if(r.version!=undefined){var m=r.version-1;var p=new h({\"int\":m});n.push(p)}n.push(new l({name:r.sigalg}));n.push(new a(r.issuer));n.push(new e(r.thisupdate));if(r.nextupdate!=undefined){n.push(new e(r.nextupdate))}if(r.revcert!=undefined){n.push(this.getRevCertSequence())}if(r.ext!=undefined){var q=new j(r.ext);n.push(new c({tag:\"a0\",explicit:true,obj:q}))}var o=new g({array:n});return o.tohex()};this.getEncodedHex=function(){return this.tohex()};if(f!==undefined){this.setByParam(f)}};extendClass(KJUR.asn1.x509.TBSCertList,KJUR.asn1.ASN1Object);KJUR.asn1.x509.CRLEntry=function(e){KJUR.asn1.x509.CRLEntry.superclass.constructor.call(this);var d=null,c=null,b=KJUR,a=b.asn1;this.setCertSerial=function(f){this.sn=new a.DERInteger(f)};this.setRevocationDate=function(f){this.time=new a.x509.Time(f)};this.tohex=function(){var f=new a.DERSequence({array:[this.sn,this.time]});this.TLV=f.tohex();return this.TLV};this.getEncodedHex=function(){return this.tohex()};if(e!==undefined){if(e.time!==undefined){this.setRevocationDate(e.time)}if(e.sn!==undefined){this.setCertSerial(e.sn)}}};extendClass(KJUR.asn1.x509.CRLEntry,KJUR.asn1.ASN1Object);KJUR.asn1.x509.CRLNumber=function(a){KJUR.asn1.x509.CRLNumber.superclass.constructor.call(this,a);this.params=undefined;this.getExtnValueHex=function(){this.asn1ExtnValue=new KJUR.asn1.DERInteger(this.params.num);return this.asn1ExtnValue.tohex()};this.oid=\"2.5.29.20\";if(a!=undefined){this.params=a}};extendClass(KJUR.asn1.x509.CRLNumber,KJUR.asn1.x509.Extension);KJUR.asn1.x509.CRLReason=function(a){KJUR.asn1.x509.CRLReason.superclass.constructor.call(this,a);this.params=undefined;this.getExtnValueHex=function(){this.asn1ExtnValue=new KJUR.asn1.DEREnumerated(this.params.code);return this.asn1ExtnValue.tohex()};this.oid=\"2.5.29.21\";if(a!=undefined){this.params=a}};extendClass(KJUR.asn1.x509.CRLReason,KJUR.asn1.x509.Extension);KJUR.asn1.x509.OCSPNonce=function(a){KJUR.asn1.x509.OCSPNonce.superclass.constructor.call(this,a);this.params=undefined;this.getExtnValueHex=function(){this.asn1ExtnValue=new KJUR.asn1.DEROctetString(this.params);return this.asn1ExtnValue.tohex()};this.oid=\"1.3.6.1.5.5.7.48.1.2\";if(a!=undefined){this.params=a}};extendClass(KJUR.asn1.x509.OCSPNonce,KJUR.asn1.x509.Extension);KJUR.asn1.x509.OCSPNoCheck=function(a){KJUR.asn1.x509.OCSPNoCheck.superclass.constructor.call(this,a);this.params=undefined;this.getExtnValueHex=function(){this.asn1ExtnValue=new KJUR.asn1.DERNull();return this.asn1ExtnValue.tohex()};this.oid=\"1.3.6.1.5.5.7.48.1.5\";if(a!=undefined){this.params=a}};extendClass(KJUR.asn1.x509.OCSPNoCheck,KJUR.asn1.x509.Extension);KJUR.asn1.x509.AdobeTimeStamp=function(g){KJUR.asn1.x509.AdobeTimeStamp.superclass.constructor.call(this,g);var c=KJUR,b=c.asn1,f=b.DERInteger,d=b.DERBoolean,a=b.DERSequence,e=b.x509.GeneralName;this.params=null;this.getExtnValueHex=function(){var i=this.params;var h=[new f(1)];h.push(new e({uri:i.uri}));if(i.reqauth!=undefined){h.push(new d(i.reqauth))}this.asn1ExtnValue=new a({array:h});return this.asn1ExtnValue.tohex()};this.oid=\"1.2.840.113583.1.1.9.1\";if(g!==undefined){this.setByParam(g)}};extendClass(KJUR.asn1.x509.AdobeTimeStamp,KJUR.asn1.x509.Extension);KJUR.asn1.x509.X500Name=function(f){KJUR.asn1.x509.X500Name.superclass.constructor.call(this);this.asn1Array=[];this.paramArray=[];this.sRule=\"utf8\";var c=KJUR,b=c.asn1,e=b.x509,d=e.RDN,a=pemtohex;this.setByString=function(g,l){if(l!==undefined){this.sRule=l}var k=g.split(\"/\");k.shift();var j=[];for(var m=0;m<k.length;m++){if(k[m].match(/^[^=]+=.+$/)){j.push(k[m])}else{var h=j.length-1;j[h]=j[h]+\"/\"+k[m]}}for(var m=0;m<j.length;m++){this.asn1Array.push(new d({str:j[m],rule:this.sRule}))}};this.setByLdapString=function(g,h){if(h!==undefined){this.sRule=h}var i=e.X500Name.ldapToCompat(g);this.setByString(i,h)};this.setByObject=function(j,i){if(i!==undefined){this.sRule=i}for(var g in j){if(j.hasOwnProperty(g)){var h=new d({str:g+\"=\"+j[g],rule:this.sRule});this.asn1Array?this.asn1Array.push(h):this.asn1Array=[h]}}};this.setByParam=function(h){if(h.rule!==undefined){this.sRule=h.rule}if(h.array!==undefined){this.paramArray=h.array}else{if(h.str!==undefined){this.setByString(h.str)}else{if(h.ldapstr!==undefined){this.setByLdapString(h.ldapstr)}else{if(h.hex!==undefined){this.hTLV=h.hex}else{if(h.certissuer!==undefined){var g=new X509();g.readCertPEM(h.certissuer);this.hTLV=g.getIssuerHex()}else{if(h.certsubject!==undefined){var g=new X509();g.readCertPEM(h.certsubject);this.hTLV=g.getSubjectHex()}else{if(typeof h===\"object\"&&h.certsubject===undefined&&h.certissuer===undefined){this.setByObject(h)}}}}}}}};this.tohex=function(){if(typeof this.hTLV==\"string\"){return this.hTLV}if(this.asn1Array.length==0&&this.paramArray.length>0){for(var g=0;g<this.paramArray.length;g++){var k={array:this.paramArray[g]};if(this.sRule!=\"utf8\"){k.rule=this.sRule}var h=new d(k);this.asn1Array.push(h)}}var j=new b.DERSequence({array:this.asn1Array});this.hTLV=j.tohex();return this.hTLV};this.getEncodedHex=function(){return this.tohex()};if(f!==undefined){this.setByParam(f)}};extendClass(KJUR.asn1.x509.X500Name,KJUR.asn1.ASN1Object);KJUR.asn1.x509.X500Name.compatToLDAP=function(d){if(d.substr(0,1)!==\"/\"){throw\"malformed input\"}var b=\"\";d=d.substr(1);var c=d.split(\"/\");c.reverse();c=c.map(function(a){return a.replace(/,/,\"\\\\,\")});return c.join(\",\")};KJUR.asn1.x509.X500Name.onelineToLDAP=function(a){return KJUR.asn1.x509.X500Name.compatToLDAP(a)};KJUR.asn1.x509.X500Name.ldapToCompat=function(g){var c=g.split(\",\");var e=false;var b=[];for(var f=0;c.length>0;f++){var h=c.shift();if(e===true){var d=b.pop();var j=(d+\",\"+h).replace(/\\\\,/g,\",\");b.push(j);e=false}else{b.push(h)}if(h.substr(-1,1)===\"\\\\\"){e=true}}b=b.map(function(a){return a.replace(\"/\",\"\\\\/\")});b.reverse();return\"/\"+b.join(\"/\")};KJUR.asn1.x509.X500Name.ldapToOneline=function(a){return KJUR.asn1.x509.X500Name.ldapToCompat(a)};KJUR.asn1.x509.RDN=function(b){KJUR.asn1.x509.RDN.superclass.constructor.call(this);this.asn1Array=[];this.paramArray=[];this.sRule=\"utf8\";var a=KJUR.asn1.x509.AttributeTypeAndValue;this.setByParam=function(c){if(c.rule!==undefined){this.sRule=c.rule}if(c.str!==undefined){this.addByMultiValuedString(c.str)}if(c.array!==undefined){this.paramArray=c.array}};this.addByString=function(c){this.asn1Array.push(new KJUR.asn1.x509.AttributeTypeAndValue({str:c,rule:this.sRule}))};this.addByMultiValuedString=function(e){var c=KJUR.asn1.x509.RDN.parseString(e);for(var d=0;d<c.length;d++){this.addByString(c[d])}};this.tohex=function(){if(this.asn1Array.length==0&&this.paramArray.length>0){for(var d=0;d<this.paramArray.length;d++){var f=this.paramArray[d];if(f.rule!==undefined&&this.sRule!=\"utf8\"){f.rule=this.sRule}var c=new a(f);this.asn1Array.push(c)}}var e=new KJUR.asn1.DERSet({array:this.asn1Array});this.TLV=e.tohex();return this.TLV};this.getEncodedHex=function(){return this.tohex()};if(b!==undefined){this.setByParam(b)}};extendClass(KJUR.asn1.x509.RDN,KJUR.asn1.ASN1Object);KJUR.asn1.x509.RDN.parseString=function(m){var j=m.split(/\\+/);var h=false;var c=[];for(var g=0;j.length>0;g++){var k=j.shift();if(h===true){var f=c.pop();var d=(f+\"+\"+k).replace(/\\\\\\+/g,\"+\");c.push(d);h=false}else{c.push(k)}if(k.substr(-1,1)===\"\\\\\"){h=true}}var l=false;var b=[];for(var g=0;c.length>0;g++){var k=c.shift();if(l===true){var e=b.pop();if(k.match(/\"$/)){var d=(e+\"+\"+k).replace(/^([^=]+)=\"(.*)\"$/,\"$1=$2\");b.push(d);l=false}else{b.push(e+\"+\"+k)}}else{b.push(k)}if(k.match(/^[^=]+=\"/)){l=true}}return b};KJUR.asn1.x509.AttributeTypeAndValue=function(c){KJUR.asn1.x509.AttributeTypeAndValue.superclass.constructor.call(this);this.sRule=\"utf8\";this.sType=null;this.sValue=null;this.dsType=null;var a=KJUR,g=a.asn1,d=g.DERSequence,l=g.DERUTF8String,i=g.DERPrintableString,h=g.DERTeletexString,b=g.DERIA5String,e=g.DERVisibleString,k=g.DERBMPString,f=a.lang.String.isMail,j=a.lang.String.isPrintable;this.setByParam=function(o){if(o.rule!==undefined){this.sRule=o.rule}if(o.ds!==undefined){this.dsType=o.ds}if(o.value===undefined&&o.str!==undefined){var n=o.str;var m=n.match(/^([^=]+)=(.+)$/);if(m){this.sType=m[1];this.sValue=m[2]}else{throw new Error(\"malformed attrTypeAndValueStr: \"+attrTypeAndValueStr)}}else{this.sType=o.type;this.sValue=o.value}};this.setByString=function(n,o){if(o!==undefined){this.sRule=o}var m=n.match(/^([^=]+)=(.+)$/);if(m){this.setByAttrTypeAndValueStr(m[1],m[2])}else{throw new Error(\"malformed attrTypeAndValueStr: \"+attrTypeAndValueStr)}};this._getDsType=function(){var o=this.sType;var n=this.sValue;var m=this.sRule;if(m===\"prn\"){if(o==\"CN\"&&f(n)){return\"ia5\"}if(j(n)){return\"prn\"}return\"utf8\"}else{if(m===\"utf8\"){if(o==\"CN\"&&f(n)){return\"ia5\"}if(o==\"C\"){return\"prn\"}return\"utf8\"}}return\"utf8\"};this.setByAttrTypeAndValueStr=function(o,n,m){if(m!==undefined){this.sRule=m}this.sType=o;this.sValue=n};this.getValueObj=function(n,m){if(n==\"utf8\"){return new l({str:m})}if(n==\"prn\"){return new i({str:m})}if(n==\"tel\"){return new h({str:m})}if(n==\"ia5\"){return new b({str:m})}if(n==\"vis\"){return new e({str:m})}if(n==\"bmp\"){return new k({str:m})}throw new Error(\"unsupported directory string type: type=\"+n+\" value=\"+m)};this.tohex=function(){if(this.dsType==null){this.dsType=this._getDsType()}var n=KJUR.asn1.x509.OID.atype2obj(this.sType);var m=this.getValueObj(this.dsType,this.sValue);var p=new d({array:[n,m]});this.TLV=p.tohex();return this.TLV};this.getEncodedHex=function(){return this.tohex()};if(c!==undefined){this.setByParam(c)}};extendClass(KJUR.asn1.x509.AttributeTypeAndValue,KJUR.asn1.ASN1Object);KJUR.asn1.x509.SubjectPublicKeyInfo=function(f){KJUR.asn1.x509.SubjectPublicKeyInfo.superclass.constructor.call(this);var l=null,k=null,a=KJUR,j=a.asn1,i=j.DERInteger,b=j.DERBitString,m=j.DERObjectIdentifier,e=j.DERSequence,h=j.ASN1Util.newObject,d=j.x509,o=d.AlgorithmIdentifier,g=a.crypto,n=g.ECDSA,c=g.DSA;this.getASN1Object=function(){if(this.asn1AlgId==null||this.asn1SubjPKey==null){throw\"algId and/or subjPubKey not set\"}var p=new e({array:[this.asn1AlgId,this.asn1SubjPKey]});return p};this.tohex=function(){var p=this.getASN1Object();this.hTLV=p.tohex();return this.hTLV};this.getEncodedHex=function(){return this.tohex()};this.setPubKey=function(q){try{if(q instanceof RSAKey){var u=h({seq:[{\"int\":{bigint:q.n}},{\"int\":{\"int\":q.e}}]});var s=u.tohex();this.asn1AlgId=new o({name:\"rsaEncryption\"});this.asn1SubjPKey=new b({hex:\"00\"+s})}}catch(p){}try{if(q instanceof KJUR.crypto.ECDSA){var r=new m({name:q.curveName});this.asn1AlgId=new o({name:\"ecPublicKey\",asn1params:r});this.asn1SubjPKey=new b({hex:\"00\"+q.pubKeyHex})}}catch(p){}try{if(q instanceof KJUR.crypto.DSA){var r=new h({seq:[{\"int\":{bigint:q.p}},{\"int\":{bigint:q.q}},{\"int\":{bigint:q.g}}]});this.asn1AlgId=new o({name:\"dsa\",asn1params:r});var t=new i({bigint:q.y});this.asn1SubjPKey=new b({hex:\"00\"+t.tohex()})}}catch(p){}};if(f!==undefined){this.setPubKey(f)}};extendClass(KJUR.asn1.x509.SubjectPublicKeyInfo,KJUR.asn1.ASN1Object);KJUR.asn1.x509.Time=function(f){KJUR.asn1.x509.Time.superclass.constructor.call(this);var e=null,a=null,d=KJUR,c=d.asn1,b=c.DERUTCTime,g=c.DERGeneralizedTime;this.params=null;this.type=null;this.setTimeParams=function(h){this.timeParams=h};this.setByParam=function(h){this.params=h};this.getType=function(h){if(h.match(/^[0-9]{12}Z$/)){return\"utc\"}if(h.match(/^[0-9]{14}Z$/)){return\"gen\"}if(h.match(/^[0-9]{12}\\.[0-9]+Z$/)){return\"utc\"}if(h.match(/^[0-9]{14}\\.[0-9]+Z$/)){return\"gen\"}return null};this.tohex=function(){var i=this.params;var h=null;if(typeof i==\"string\"){i={str:i}}if(i!=null&&i.str&&(i.type==null||i.type==undefined)){i.type=this.getType(i.str)}if(i!=null&&i.str){if(i.type==\"utc\"){h=new b(i.str)}if(i.type==\"gen\"){h=new g(i.str)}}else{if(this.type==\"gen\"){h=new g()}else{h=new b()}}if(h==null){throw new Error(\"wrong setting for Time\")}this.TLV=h.tohex();return this.TLV};this.getEncodedHex=function(){return this.tohex()};if(f!=undefined){this.setByParam(f)}};KJUR.asn1.x509.Time_bak=function(f){KJUR.asn1.x509.Time_bak.superclass.constructor.call(this);var e=null,a=null,d=KJUR,c=d.asn1,b=c.DERUTCTime,g=c.DERGeneralizedTime;this.setTimeParams=function(h){this.timeParams=h};this.tohex=function(){var h=null;if(this.timeParams!=null){if(this.type==\"utc\"){h=new b(this.timeParams)}else{h=new g(this.timeParams)}}else{if(this.type==\"utc\"){h=new b()}else{h=new g()}}this.TLV=h.tohex();return this.TLV};this.getEncodedHex=function(){return this.tohex()};this.type=\"utc\";if(f!==undefined){if(f.type!==undefined){this.type=f.type}else{if(f.str!==undefined){if(f.str.match(/^[0-9]{12}Z$/)){this.type=\"utc\"}if(f.str.match(/^[0-9]{14}Z$/)){this.type=\"gen\"}}}this.timeParams=f}};extendClass(KJUR.asn1.x509.Time,KJUR.asn1.ASN1Object);KJUR.asn1.x509.AlgorithmIdentifier=function(e){KJUR.asn1.x509.AlgorithmIdentifier.superclass.constructor.call(this);this.nameAlg=null;this.asn1Alg=null;this.asn1Params=null;this.paramEmpty=false;var b=KJUR,a=b.asn1,c=a.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV;this.tohex=function(){if(this.nameAlg===null&&this.asn1Alg===null){throw new Error(\"algorithm not specified\")}if(this.nameAlg!==null){var f=null;for(var h in c){if(h===this.nameAlg){f=c[h]}}if(f!==null){this.hTLV=f;return this.hTLV}}if(this.nameAlg!==null&&this.asn1Alg===null){this.asn1Alg=a.x509.OID.name2obj(this.nameAlg)}var g=[this.asn1Alg];if(this.asn1Params!==null){g.push(this.asn1Params)}var i=new a.DERSequence({array:g});this.hTLV=i.tohex();return this.hTLV};this.getEncodedHex=function(){return this.tohex()};if(e!==undefined){if(e.name!==undefined){this.nameAlg=e.name}if(e.asn1params!==undefined){this.asn1Params=e.asn1params}if(e.paramempty!==undefined){this.paramEmpty=e.paramempty}}if(this.asn1Params===null&&this.paramEmpty===false&&this.nameAlg!==null){if(this.nameAlg.name!==undefined){this.nameAlg=this.nameAlg.name}var d=this.nameAlg.toLowerCase();if(d.substr(-7,7)!==\"withdsa\"&&d.substr(-9,9)!==\"withecdsa\"){this.asn1Params=new a.DERNull()}}};extendClass(KJUR.asn1.x509.AlgorithmIdentifier,KJUR.asn1.ASN1Object);KJUR.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV={SHAwithRSAandMGF1:\"300d06092a864886f70d01010a3000\",SHA256withRSAandMGF1:\"303d06092a864886f70d01010a3030a00d300b0609608648016503040201a11a301806092a864886f70d010108300b0609608648016503040201a203020120\",SHA384withRSAandMGF1:\"303d06092a864886f70d01010a3030a00d300b0609608648016503040202a11a301806092a864886f70d010108300b0609608648016503040202a203020130\",SHA512withRSAandMGF1:\"303d06092a864886f70d01010a3030a00d300b0609608648016503040203a11a301806092a864886f70d010108300b0609608648016503040203a203020140\"};KJUR.asn1.x509.GeneralName=function(f){KJUR.asn1.x509.GeneralName.superclass.constructor.call(this);var l={rfc822:\"81\",dns:\"82\",dn:\"a4\",uri:\"86\",ip:\"87\",otherName:\"a0\"},b=KJUR,h=b.asn1,d=h.x509,a=d.X500Name,g=d.OtherName,e=h.DERIA5String,i=h.DERPrintableString,k=h.DEROctetString,c=h.DERTaggedObject,m=h.ASN1Object,j=Error;this.params=null;this.setByParam=function(n){this.params=n};this.tohex=function(){var p=this.params;var A,y,q;var y=false;if(p.other!==undefined){A=\"a0\",q=new g(p.other)}else{if(p.rfc822!==undefined){A=\"81\";q=new e({str:p.rfc822})}else{if(p.dns!==undefined){A=\"82\";q=new e({str:p.dns})}else{if(p.dn!==undefined){A=\"a4\";y=true;if(typeof p.dn===\"string\"){q=new a({str:p.dn})}else{if(p.dn instanceof KJUR.asn1.x509.X500Name){q=p.dn}else{q=new a(p.dn)}}}else{if(p.ldapdn!==undefined){A=\"a4\";y=true;q=new a({ldapstr:p.ldapdn})}else{if(p.certissuer!==undefined||p.certsubj!==undefined){A=\"a4\";y=true;var n,o;var z=null;if(p.certsubj!==undefined){n=false;o=p.certsubj}else{n=true;o=p.certissuer}if(o.match(/^[0-9A-Fa-f]+$/)){z==o}if(o.indexOf(\"-----BEGIN \")!=-1){z=pemtohex(o)}if(z==null){throw new Error(\"certsubj/certissuer not cert\")}var w=new X509();w.hex=z;var s;if(n){s=w.getIssuerHex()}else{s=w.getSubjectHex()}q=new m();q.hTLV=s}else{if(p.uri!==undefined){A=\"86\";q=new e({str:p.uri})}else{if(p.ip!==undefined){A=\"87\";var v;var t=p.ip;try{if(t.match(/^[0-9a-f]+$/)){var r=t.length;if(r==8||r==16||r==32||r==64){v=t}else{throw\"err\"}}else{v=iptohex(t)}}catch(u){throw new j(\"malformed IP address: \"+p.ip+\":\"+u.message)}q=new k({hex:v})}else{throw new j(\"improper params\")}}}}}}}}var B=new c({tag:A,explicit:y,obj:q});return B.tohex()};this.getEncodedHex=function(){return this.tohex()};if(f!==undefined){this.setByParam(f)}};extendClass(KJUR.asn1.x509.GeneralName,KJUR.asn1.ASN1Object);KJUR.asn1.x509.GeneralNames=function(d){KJUR.asn1.x509.GeneralNames.superclass.constructor.call(this);var a=null,c=KJUR,b=c.asn1;this.setByParamArray=function(g){for(var e=0;e<g.length;e++){var f=new b.x509.GeneralName(g[e]);this.asn1Array.push(f)}};this.tohex=function(){var e=new b.DERSequence({array:this.asn1Array});return e.tohex()};this.getEncodedHex=function(){return this.tohex()};this.asn1Array=new Array();if(typeof d!=\"undefined\"){this.setByParamArray(d)}};extendClass(KJUR.asn1.x509.GeneralNames,KJUR.asn1.ASN1Object);KJUR.asn1.x509.OtherName=function(g){KJUR.asn1.x509.OtherName.superclass.constructor.call(this);var f=null,e=null,d=KJUR,c=d.asn1,h=c.DERObjectIdentifier,a=c.DERSequence,b=c.ASN1Util.newObject;this.params=null;this.setByParam=function(i){this.params=i};this.tohex=function(){var k=this.params;if(k.oid==undefined||k.value==undefined){throw new Error(\"oid or value not specified\")}var l=new h({oid:k.oid});var i=b({tag:{tag:\"a0\",explicit:true,obj:k.value}});var j=new a({array:[l,i]});return j.tohex()};this.getEncodedHex=function(){return this.tohex()};if(g!==undefined){this.setByParam(g)}};extendClass(KJUR.asn1.x509.OtherName,KJUR.asn1.ASN1Object);KJUR.asn1.x509.OID=new function(){var a=KJUR.asn1.DERObjectIdentifier;this.name2oidList={\"aes128-CBC\":\"2.16.840.1.101.3.4.1.2\",\"aes256-CBC\":\"2.16.840.1.101.3.4.1.42\",sha1:\"1.3.14.3.2.26\",sha256:\"2.16.840.1.101.3.4.2.1\",sha384:\"2.16.840.1.101.3.4.2.2\",sha512:\"2.16.840.1.101.3.4.2.3\",sha224:\"2.16.840.1.101.3.4.2.4\",md5:\"1.2.840.113549.2.5\",md2:\"1.3.14.7.2.2.1\",ripemd160:\"1.3.36.3.2.1\",hmacWithSHA1:\"1.2.840.113549.2.7\",hmacWithSHA224:\"1.2.840.113549.2.8\",hmacWithSHA256:\"1.2.840.113549.2.9\",hmacWithSHA384:\"1.2.840.113549.2.10\",hmacWithSHA512:\"1.2.840.113549.2.11\",MD2withRSA:\"1.2.840.113549.1.1.2\",MD4withRSA:\"1.2.840.113549.1.1.3\",MD5withRSA:\"1.2.840.113549.1.1.4\",SHA1withRSA:\"1.2.840.113549.1.1.5\",\"pkcs1-MGF\":\"1.2.840.113549.1.1.8\",rsaPSS:\"1.2.840.113549.1.1.10\",SHA224withRSA:\"1.2.840.113549.1.1.14\",SHA256withRSA:\"1.2.840.113549.1.1.11\",SHA384withRSA:\"1.2.840.113549.1.1.12\",SHA512withRSA:\"1.2.840.113549.1.1.13\",SHA1withECDSA:\"1.2.840.10045.4.1\",SHA224withECDSA:\"1.2.840.10045.4.3.1\",SHA256withECDSA:\"1.2.840.10045.4.3.2\",SHA384withECDSA:\"1.2.840.10045.4.3.3\",SHA512withECDSA:\"1.2.840.10045.4.3.4\",dsa:\"1.2.840.10040.4.1\",SHA1withDSA:\"1.2.840.10040.4.3\",SHA224withDSA:\"2.16.840.1.101.3.4.3.1\",SHA256withDSA:\"2.16.840.1.101.3.4.3.2\",rsaEncryption:\"1.2.840.113549.1.1.1\",commonName:\"2.5.4.3\",countryName:\"2.5.4.6\",localityName:\"2.5.4.7\",stateOrProvinceName:\"2.5.4.8\",streetAddress:\"2.5.4.9\",organizationName:\"2.5.4.10\",organizationalUnitName:\"2.5.4.11\",domainComponent:\"0.9.2342.19200300.100.1.25\",userId:\"0.9.2342.19200300.100.1.1\",surname:\"2.5.4.4\",givenName:\"2.5.4.42\",title:\"2.5.4.12\",distinguishedName:\"2.5.4.49\",emailAddress:\"1.2.840.113549.1.9.1\",description:\"2.5.4.13\",businessCategory:\"2.5.4.15\",postalCode:\"2.5.4.17\",uniqueIdentifier:\"2.5.4.45\",organizationIdentifier:\"2.5.4.97\",jurisdictionOfIncorporationL:\"1.3.6.1.4.1.311.60.2.1.1\",jurisdictionOfIncorporationSP:\"1.3.6.1.4.1.311.60.2.1.2\",jurisdictionOfIncorporationC:\"1.3.6.1.4.1.311.60.2.1.3\",subjectDirectoryAttributes:\"2.5.29.9\",subjectKeyIdentifier:\"2.5.29.14\",keyUsage:\"2.5.29.15\",subjectAltName:\"2.5.29.17\",issuerAltName:\"2.5.29.18\",basicConstraints:\"2.5.29.19\",cRLNumber:\"2.5.29.20\",cRLReason:\"2.5.29.21\",nameConstraints:\"2.5.29.30\",cRLDistributionPoints:\"2.5.29.31\",certificatePolicies:\"2.5.29.32\",anyPolicy:\"2.5.29.32.0\",policyMappings:\"2.5.29.33\",authorityKeyIdentifier:\"2.5.29.35\",policyConstraints:\"2.5.29.36\",extKeyUsage:\"2.5.29.37\",inhibitAnyPolicy:\"2.5.29.54\",authorityInfoAccess:\"1.3.6.1.5.5.7.1.1\",ocsp:\"1.3.6.1.5.5.7.48.1\",ocspBasic:\"1.3.6.1.5.5.7.48.1.1\",ocspNonce:\"1.3.6.1.5.5.7.48.1.2\",ocspNoCheck:\"1.3.6.1.5.5.7.48.1.5\",caIssuers:\"1.3.6.1.5.5.7.48.2\",anyExtendedKeyUsage:\"2.5.29.37.0\",serverAuth:\"1.3.6.1.5.5.7.3.1\",clientAuth:\"1.3.6.1.5.5.7.3.2\",codeSigning:\"1.3.6.1.5.5.7.3.3\",emailProtection:\"1.3.6.1.5.5.7.3.4\",timeStamping:\"1.3.6.1.5.5.7.3.8\",ocspSigning:\"1.3.6.1.5.5.7.3.9\",smtpUTF8Mailbox:\"1.3.6.1.5.5.7.8.9\",dateOfBirth:\"1.3.6.1.5.5.7.9.1\",placeOfBirth:\"1.3.6.1.5.5.7.9.2\",gender:\"1.3.6.1.5.5.7.9.3\",countryOfCitizenship:\"1.3.6.1.5.5.7.9.4\",countryOfResidence:\"1.3.6.1.5.5.7.9.5\",ecPublicKey:\"1.2.840.10045.2.1\",\"P-256\":\"1.2.840.10045.3.1.7\",secp256r1:\"1.2.840.10045.3.1.7\",secp256k1:\"1.3.132.0.10\",secp384r1:\"1.3.132.0.34\",secp521r1:\"1.3.132.0.35\",pkcs5PBES2:\"1.2.840.113549.1.5.13\",pkcs5PBKDF2:\"1.2.840.113549.1.5.12\",\"des-EDE3-CBC\":\"1.2.840.113549.3.7\",data:\"1.2.840.113549.1.7.1\",\"signed-data\":\"1.2.840.113549.1.7.2\",\"enveloped-data\":\"1.2.840.113549.1.7.3\",\"digested-data\":\"1.2.840.113549.1.7.5\",\"encrypted-data\":\"1.2.840.113549.1.7.6\",\"authenticated-data\":\"1.2.840.113549.1.9.16.1.2\",tstinfo:\"1.2.840.113549.1.9.16.1.4\",signingCertificate:\"1.2.840.113549.1.9.16.2.12\",timeStampToken:\"1.2.840.113549.1.9.16.2.14\",signaturePolicyIdentifier:\"1.2.840.113549.1.9.16.2.15\",etsArchiveTimeStamp:\"1.2.840.113549.1.9.16.2.27\",signingCertificateV2:\"1.2.840.113549.1.9.16.2.47\",etsArchiveTimeStampV2:\"1.2.840.113549.1.9.16.2.48\",extensionRequest:\"1.2.840.113549.1.9.14\",contentType:\"1.2.840.113549.1.9.3\",messageDigest:\"1.2.840.113549.1.9.4\",signingTime:\"1.2.840.113549.1.9.5\",counterSignature:\"1.2.840.113549.1.9.6\",archiveTimeStampV3:\"0.4.0.1733.2.4\",pdfRevocationInfoArchival:\"1.2.840.113583.1.1.8\",adobeTimeStamp:\"1.2.840.113583.1.1.9.1\",smimeMailboxLegacy:\"2.23.140.1.5.1.1\",smimeMailboxMulti:\"2.23.140.1.5.1.2\",smimeMailboxStrict:\"2.23.140.1.5.1.3\",smimeOrganizationLegacy:\"2.23.140.1.5.2.1\",smimeOrganizationMulti:\"2.23.140.1.5.2.2\",smimeOrganizationStrict:\"2.23.140.1.5.2.3\",smimeSponsorLegacy:\"2.23.140.1.5.3.1\",smimeSponsorMulti:\"2.23.140.1.5.3.2\",smimeSponsorStrict:\"2.23.140.1.5.3.3\",smimeIndividualLegacy:\"2.23.140.1.5.4.1\",smimeIndividualMulti:\"2.23.140.1.5.4.2\",smimeIndividualStrict:\"2.23.140.1.5.4.3\",};this.atype2oidList={CN:\"2.5.4.3\",L:\"2.5.4.7\",ST:\"2.5.4.8\",O:\"2.5.4.10\",OU:\"2.5.4.11\",C:\"2.5.4.6\",STREET:\"2.5.4.9\",DC:\"0.9.2342.19200300.100.1.25\",UID:\"0.9.2342.19200300.100.1.1\",SN:\"2.5.4.4\",T:\"2.5.4.12\",GN:\"2.5.4.42\",DN:\"2.5.4.49\",E:\"1.2.840.113549.1.9.1\",description:\"2.5.4.13\",businessCategory:\"2.5.4.15\",postalCode:\"2.5.4.17\",serialNumber:\"2.5.4.5\",uniqueIdentifier:\"2.5.4.45\",organizationIdentifier:\"2.5.4.97\",jurisdictionOfIncorporationL:\"1.3.6.1.4.1.311.60.2.1.1\",jurisdictionOfIncorporationSP:\"1.3.6.1.4.1.311.60.2.1.2\",jurisdictionOfIncorporationC:\"1.3.6.1.4.1.311.60.2.1.3\"};this.objCache={};this.name2obj=function(b){if(typeof this.objCache[b]!=\"undefined\"){return this.objCache[b]}if(typeof this.name2oidList[b]==\"undefined\"){throw\"Name of ObjectIdentifier not defined: \"+b}var c=this.name2oidList[b];var d=new a({oid:c});this.objCache[b]=d;return d};this.atype2obj=function(b){if(this.objCache[b]!==undefined){return this.objCache[b]}var c;if(b.match(/^\\d+\\.\\d+\\.[0-9.]+$/)){c=b}else{if(this.atype2oidList[b]!==undefined){c=this.atype2oidList[b]}else{if(this.name2oidList[b]!==undefined){c=this.name2oidList[b]}else{throw new Error(\"AttributeType name undefined: \"+b)}}}var d=new a({oid:c});this.objCache[b]=d;return d};this.registerOIDs=function(b){if(!this.checkOIDs(b)){return}for(var c in b){this.name2oidList[c]=b[c]}};this.checkOIDs=function(b){try{var d=Object.keys(b);if(d.length==0){return false}d.map(function(g,e,h){var f=this[g];if(!f.match(/^[0-2]\\.[0-9.]+$/)){throw new Error(\"value is not OID\")}},b);return true}catch(c){return false}}};KJUR.asn1.x509.OID.oid2name=function(b){var c=KJUR.asn1.x509.OID.name2oidList;for(var a in c){if(c[a]==b){return a}}return\"\"};KJUR.asn1.x509.OID.oid2atype=function(b){var c=KJUR.asn1.x509.OID.atype2oidList;for(var a in c){if(c[a]==b){return a}}return b};KJUR.asn1.x509.OID.name2oid=function(a){if(a.match(/^[0-9.]+$/)){return a}var b=KJUR.asn1.x509.OID.name2oidList;if(b[a]===undefined){return\"\"}return b[a]};KJUR.asn1.x509.X509Util={};KJUR.asn1.x509.X509Util.newCertPEM=function(e){var d=KJUR.asn1.x509,b=d.TBSCertificate,a=d.Certificate;var c=new a(e);return c.getPEM()};\nif(typeof KJUR==\"undefined\"||!KJUR){KJUR={}}if(typeof KJUR.asn1==\"undefined\"||!KJUR.asn1){KJUR.asn1={}}if(typeof KJUR.asn1.cms==\"undefined\"||!KJUR.asn1.cms){KJUR.asn1.cms={}}KJUR.asn1.cms.Attribute=function(f){var e=Error,d=KJUR,c=d.asn1,b=c.DERSequence,a=c.DERSet,g=c.DERObjectIdentifier;this.params=null;this.typeOid=null;this.setByParam=function(h){this.params=h};this.getValueArray=function(){throw new e(\"not yet implemented abstract\")};this.tohex=function(){var j=new g({oid:this.typeOid});var h=new a({array:this.getValueArray()});var i=new b({array:[j,h]});return i.tohex()};this.getEncodedHex=function(){return this.tohex()}};extendClass(KJUR.asn1.cms.Attribute,KJUR.asn1.ASN1Object);KJUR.asn1.cms.ContentType=function(c){var b=KJUR,a=b.asn1;a.cms.ContentType.superclass.constructor.call(this);this.typeOid=\"1.2.840.113549.1.9.3\";this.getValueArray=function(){var d=new a.DERObjectIdentifier(this.params.type);return[d]};if(c!=undefined){this.setByParam(c)}};extendClass(KJUR.asn1.cms.ContentType,KJUR.asn1.cms.Attribute);KJUR.asn1.cms.MessageDigest=function(e){var b=KJUR,a=b.asn1,c=a.DEROctetString,d=a.cms;d.MessageDigest.superclass.constructor.call(this);this.typeOid=\"1.2.840.113549.1.9.4\";this.getValueArray=function(){var f=new c(this.params);return[f]};if(e!=undefined){this.setByParam(e)}};extendClass(KJUR.asn1.cms.MessageDigest,KJUR.asn1.cms.Attribute);KJUR.asn1.cms.SigningTime=function(c){var b=KJUR,a=b.asn1;a.cms.SigningTime.superclass.constructor.call(this);this.typeOid=\"1.2.840.113549.1.9.5\";this.getValueArray=function(){var d=new a.x509.Time(this.params);return[d]};if(c!=undefined){this.setByParam(c)}};extendClass(KJUR.asn1.cms.SigningTime,KJUR.asn1.cms.Attribute);KJUR.asn1.cms.SigningCertificate=function(h){var e=Error,d=KJUR,c=d.asn1,b=c.DERSequence,g=c.cms,a=g.ESSCertID,f=d.crypto;g.SigningCertificate.superclass.constructor.call(this);this.typeOid=\"1.2.840.113549.1.9.16.2.12\";this.getValueArray=function(){if(this.params==null||this.params==undefined||this.params.array==undefined){throw new e(\"parameter 'array' not specified\")}var o=this.params.array;var k=[];for(var l=0;l<o.length;l++){var n=o[l];if(h.hasis==false&&(typeof n==\"string\"&&(n.indexOf(\"-----BEGIN\")!=-1||ASN1HEX.isASN1HEX(n)))){n={cert:n}}if(n.hasis!=false&&h.hasis==false){n.hasis=false}k.push(new a(n))}var j=new b({array:k});var m=new b({array:[j]});return[m]};if(h!=undefined){this.setByParam(h)}};extendClass(KJUR.asn1.cms.SigningCertificate,KJUR.asn1.cms.Attribute);KJUR.asn1.cms.ESSCertID=function(g){KJUR.asn1.cms.ESSCertID.superclass.constructor.call(this);var d=Error,c=KJUR,b=c.asn1,f=b.DEROctetString,a=b.DERSequence,e=b.cms.IssuerSerial;this.params=null;this.getCertHash=function(k,h){if(k.hash!=undefined){return k.hash}if(typeof k==\"string\"&&k.indexOf(\"-----BEGIN\")==-1&&!ASN1HEX.isASN1HEX(k)){return k}var i;if(typeof k==\"string\"){i=k}else{if(k.cert!=undefined){i=k.cert}else{throw new d(\"hash nor cert unspecified\")}}var j;if(i.indexOf(\"-----BEGIN\")!=-1){j=pemtohex(i)}else{j=i}if(typeof k==\"string\"){if(k.indexOf(\"-----BEGIN\")!=-1){j=pemtohex(k)}else{if(ASN1HEX.isASN1HEX(k)){j=k}}}var l;if(k.alg!=undefined){l=k.alg}else{if(h!=undefined){l=h}else{throw new d(\"hash alg unspecified\")}}return c.crypto.Util.hashHex(j,l)};this.tohex=function(){var k=this.params;var j=this.getCertHash(k,\"sha1\");var h=[];h.push(new f({hex:j}));if((typeof k==\"string\"&&k.indexOf(\"-----BEGIN\")!=-1)||(k.cert!=undefined&&k.hasis!=false)||(k.issuer!=undefined&&k.serial!=undefined)){h.push(new e(k))}var i=new a({array:h});return i.tohex()};this.getEncodedHex=function(){return this.tohex()};if(g!=undefined){this.setByParam(g)}};extendClass(KJUR.asn1.cms.ESSCertID,KJUR.asn1.ASN1Object);KJUR.asn1.cms.SigningCertificateV2=function(d){var h=Error,a=KJUR,g=a.asn1,e=g.DERSequence,b=g.x509,i=g.cms,c=i.ESSCertIDv2,f=a.crypto;i.SigningCertificateV2.superclass.constructor.call(this);this.typeOid=\"1.2.840.113549.1.9.16.2.47\";this.getValueArray=function(){if(this.params==null||this.params==undefined||this.params.array==undefined){throw new h(\"parameter 'array' not specified\")}var o=this.params.array;var l=[];for(var m=0;m<o.length;m++){var n=o[m];if((d.alg!=undefined||d.hasis==false)&&(typeof n==\"string\"&&(n.indexOf(\"-----BEGIN\")!=-1||ASN1HEX.isASN1HEX(n)))){n={cert:n}}if(n.alg==undefined&&d.alg!=undefined){n.alg=d.alg}if(n.hasis!=false&&d.hasis==false){n.hasis=false}l.push(new c(n))}var k=new e({array:l});var j=new e({array:[k]});return[j]};if(d!=undefined){this.setByParam(d)}};extendClass(KJUR.asn1.cms.SigningCertificateV2,KJUR.asn1.cms.Attribute);KJUR.asn1.cms.ESSCertIDv2=function(h){KJUR.asn1.cms.ESSCertIDv2.superclass.constructor.call(this);var d=Error,c=KJUR,b=c.asn1,f=b.DEROctetString,a=b.DERSequence,e=b.cms.IssuerSerial,g=b.x509.AlgorithmIdentifier;this.params=null;this.tohex=function(){var l=this.params;var k=this.getCertHash(l,\"sha256\");var i=[];if(l.alg!=undefined&&l.alg!=\"sha256\"){i.push(new g({name:l.alg}))}i.push(new f({hex:k}));if((typeof l==\"string\"&&l.indexOf(\"-----BEGIN\")!=-1)||(l.cert!=undefined&&l.hasis!=false)||(l.issuer!=undefined&&l.serial!=undefined)){i.push(new e(l))}var j=new a({array:i});return j.tohex()};this.getEncodedHex=function(){return this.tohex()};if(h!=undefined){this.setByParam(h)}};extendClass(KJUR.asn1.cms.ESSCertIDv2,KJUR.asn1.cms.ESSCertID);KJUR.asn1.cms.IssuerSerial=function(e){var i=Error,c=KJUR,h=c.asn1,g=h.DERInteger,f=h.DERSequence,j=h.cms,d=h.x509,a=d.GeneralNames,b=X509;j.IssuerSerial.superclass.constructor.call(this);this.setByParam=function(k){this.params=k};this.tohex=function(){var p=this.params;var l,r;if((typeof p==\"string\"&&p.indexOf(\"-----BEGIN\")!=-1)||p.cert!=undefined){var n;if(p.cert!=undefined){n=p.cert}else{n=p}var k=new b();k.readCertPEM(n);l=k.getIssuer();r={hex:k.getSerialNumberHex()}}else{if(p.issuer!=undefined&&p.serial){l=p.issuer;r=p.serial}else{throw new i(\"cert or issuer and serial parameter not specified\")}}var q=new a([{dn:l}]);var o=new g(r);var m=new f({array:[q,o]});return m.tohex()};this.getEncodedHex=function(){return this.tohex()};if(e!=undefined){this.setByParam(e)}};extendClass(KJUR.asn1.cms.IssuerSerial,KJUR.asn1.ASN1Object);KJUR.asn1.cms.SignerIdentifier=function(f){var c=KJUR,i=c.asn1,h=i.DERInteger,g=i.DERSequence,l=i.cms,k=l.IssuerAndSerialNumber,d=l.SubjectKeyIdentifier,e=i.x509,a=e.X500Name,b=X509,j=Error;l.SignerIdentifier.superclass.constructor.call(this);this.params=null;this.tohex=function(){var o=this.params;if(o.type==\"isssn\"){var m=new k(o);return m.tohex()}else{if(o.type==\"skid\"){var n=new d(o);return n.tohex()}else{throw new Error(\"wrong property for isssn or skid\")}}};this.getEncodedHex=function(){return this.tohex()};if(f!=undefined){this.setByParam(f)}};extendClass(KJUR.asn1.cms.SignerIdentifier,KJUR.asn1.ASN1Object);KJUR.asn1.cms.IssuerAndSerialNumber=function(e){var c=KJUR,h=c.asn1,g=h.DERInteger,f=h.DERSequence,j=h.cms,d=h.x509,a=d.X500Name,b=X509,i=Error;j.IssuerAndSerialNumber.superclass.constructor.call(this);this.params=null;this.tohex=function(){var p=this.params;var l,r;if((typeof p==\"string\"&&p.indexOf(\"-----BEGIN\")!=-1)||p.cert!=undefined){var n;if(p.cert!=undefined){n=p.cert}else{n=p}var k=new b();k.readCertPEM(n);l=k.getIssuer();r={hex:k.getSerialNumberHex()}}else{if(p.issuer!=undefined&&p.serial){l=p.issuer;r=p.serial}else{throw new i(\"cert or issuer and serial parameter not specified\")}}var q=new a(l);var o=new g(r);var m=new f({array:[q,o]});return m.tohex()};this.getEncodedHex=function(){return this.tohex()};this.setByParam=function(k){this.params=k};if(e!=undefined){this.setByParam(e)}};extendClass(KJUR.asn1.cms.IssuerAndSerialNumber,KJUR.asn1.ASN1Object);KJUR.asn1.cms.SubjectKeyIdentifier=function(g){var d=KJUR,k=d.asn1,i=k.DERInteger,h=k.DERSequence,j=k.ASN1Util.newObject,m=k.cms,f=m.IssuerAndSerialName,c=m.SubjectKeyIdentifier,e=k.x509,a=e.X500Name,b=X509,l=Error;m.SubjectKeyIdentifier.superclass.constructor.call(this);this.tohex=function(){var r=this.params;if(r.cert==undefined&&r.skid==undefined){throw new l(\"property cert nor skid undefined\")}var q;if(r.cert!=undefined){var n=new b(r.cert);var o=n.getExtSubjectKeyIdentifier();q=o.kid.hex}else{if(r.skid!=undefined){q=r.skid}}var p=j({tag:{tage:\"a0\",obj:{octstr:{hex:q}}}});return p.tohex()};this.getEncodedHex=function(){return this.tohex()};if(g!=undefined){this.setByParam(g)}};extendClass(KJUR.asn1.cms.SubjectKeyIdentifier,KJUR.asn1.ASN1Object);KJUR.asn1.cms.AttributeList=function(f){var d=Error,c=KJUR,b=c.asn1,a=b.DERSet,e=b.cms;e.AttributeList.superclass.constructor.call(this);this.params=null;this.hTLV=null;this.setByParam=function(g){this.params=g};this.tohex=function(){var o=this.params;if(this.hTLV!=null){return this.hTLV}var m=true;if(o.sortflag!=undefined){m=o.sortflag}var j=o.array;var g=[];for(var l=0;l<j.length;l++){var n=j[l];var k=n.attr;if(k==\"contentType\"){g.push(new e.ContentType(n))}else{if(k==\"messageDigest\"){g.push(new e.MessageDigest(n))}else{if(k==\"signingTime\"){g.push(new e.SigningTime(n))}else{if(k==\"signingCertificate\"){g.push(new e.SigningCertificate(n))}else{if(k==\"signingCertificateV2\"){g.push(new e.SigningCertificateV2(n))}else{if(k==\"signaturePolicyIdentifier\"){g.push(new KJUR.asn1.cades.SignaturePolicyIdentifier(n))}else{if(k==\"signatureTimeStamp\"||k==\"timeStampToken\"){g.push(new KJUR.asn1.cades.SignatureTimeStamp(n))}else{throw new d(\"unknown attr: \"+k)}}}}}}}}var h=new a({array:g,sortflag:m});this.hTLV=h.tohex();return this.hTLV};this.getEncodedHex=function(){return this.tohex()};if(f!=undefined){this.setByParam(f)}};extendClass(KJUR.asn1.cms.AttributeList,KJUR.asn1.ASN1Object);KJUR.asn1.cms.SignerInfo=function(q){var n=Error,r=KJUR,i=r.asn1,c=i.DERInteger,f=i.DEROctetString,h=i.DERSequence,m=i.DERTaggedObject,k=i.cms,p=k.SignerIdentifier,l=k.AttributeList,g=k.ContentType,e=k.EncapsulatedContentInfo,d=k.MessageDigest,j=k.SignedData,a=i.x509,s=a.AlgorithmIdentifier,b=r.crypto,o=KEYUTIL;k.SignerInfo.superclass.constructor.call(this);this.params=null;this.sign=function(){var y=this.params;var x=y.sigalg;var u=(new l(y.sattrs)).tohex();var v=o.getKey(y.signkey);var w=new b.Signature({alg:x});w.init(v);w.updateHex(u);var t=w.sign();y.sighex=t};this.tohex=function(){var w=this.params;var t=[];t.push(new c({\"int\":w.version}));t.push(new p(w.id));t.push(new s({name:w.hashalg}));if(w.sattrs!=undefined){var x=new l(w.sattrs);try{t.push(new m({tag:\"a0\",explicit:false,obj:x}))}catch(v){throw new n(\"si sattr error: \"+v)}}if(w.sigalgfield!=undefined){t.push(new s({name:w.sigalgfield}))}else{t.push(new s({name:w.sigalg}))}if(w.sighex==undefined&&w.signkey!=undefined){this.sign()}t.push(new f({hex:w.sighex}));if(w.uattrs!=undefined){var x=new l(w.uattrs);try{t.push(new m({tag:\"a1\",explicit:false,obj:x}))}catch(v){throw new n(\"si uattr error: \"+v)}}var u=new h({array:t});return u.tohex()};this.getEncodedHex=function(){return this.tohex()};if(q!=undefined){this.setByParam(q)}};extendClass(KJUR.asn1.cms.SignerInfo,KJUR.asn1.ASN1Object);KJUR.asn1.cms.EncapsulatedContentInfo=function(g){var c=KJUR,b=c.asn1,e=b.DERTaggedObject,a=b.DERSequence,h=b.DERObjectIdentifier,d=b.DEROctetString,f=b.cms;f.EncapsulatedContentInfo.superclass.constructor.call(this);this.params=null;this.tohex=function(){var m=this.params;var i=[];i.push(new h(m.type));if(m.content!=undefined&&(m.content.hex!=undefined||m.content.str!=undefined)&&m.isDetached!=true){var k=new d(m.content);var l=new e({tag:\"a0\",explicit:true,obj:k});i.push(l)}var j=new a({array:i});return j.tohex()};this.getEncodedHex=function(){return this.tohex()};this.setByParam=function(i){this.params=i};if(g!=undefined){this.setByParam(g)}};extendClass(KJUR.asn1.cms.EncapsulatedContentInfo,KJUR.asn1.ASN1Object);KJUR.asn1.cms.ContentInfo=function(g){var c=KJUR,b=c.asn1,d=b.DERTaggedObject,a=b.DERSequence,h=b.DERObjectIdentifier,f=b.x509,e=f.OID.name2obj;KJUR.asn1.cms.ContentInfo.superclass.constructor.call(this);this.params=null;this.tohex=function(){var l=this.params;var i=[];i.push(new h(l.type));var k=new d({tag:\"a0\",explicit:true,obj:l.obj});i.push(k);var j=new a({array:i});return j.tohex()};this.getEncodedHex=function(){return this.tohex()};this.setByParam=function(i){this.params=i};if(g!=undefined){this.setByParam(g)}};extendClass(KJUR.asn1.cms.ContentInfo,KJUR.asn1.ASN1Object);KJUR.asn1.cms.SignedData=function(e){var j=Error,a=KJUR,h=a.asn1,m=h.ASN1Object,g=h.DERInteger,p=h.DERSet,f=h.DERSequence,b=h.DERTaggedObject,o=h.cms,l=o.EncapsulatedContentInfo,d=o.SignerInfo,q=o.ContentInfo,k=o.CertificateSet,i=o.RevocationInfoChoices,c=h.x509,n=c.AlgorithmIdentifier;KJUR.asn1.cms.SignedData.superclass.constructor.call(this);this.params=null;this.checkAndFixParam=function(){var r=this.params;this._setDigestAlgs(r);this._setContentTypeByEContent(r);this._setMessageDigestByEContent(r);this._setSignerInfoVersion(r);this._setSignedDataVersion(r)};this._setDigestAlgs=function(v){var u={};var t=v.sinfos;for(var r=0;r<t.length;r++){var s=t[r];u[s.hashalg]=1}v.hashalgs=Object.keys(u).sort()};this._setContentTypeByEContent=function(w){var u=w.econtent.type;var v=w.sinfos;for(var r=0;r<v.length;r++){var t=v[r];var s=this._getAttrParamByName(t,\"contentType\");s.type=u}};this._setMessageDigestByEContent=function(r){var v=r.econtent;var y=r.econtent.type;var x=v.content.hex;if(x==undefined&&v.type==\"data\"&&v.content.str!=undefined){x=rstrtohex(v.content.str)}var A=r.sinfos;for(var u=0;u<A.length;u++){var t=A[u];var s=t.hashalg;var z=this._getAttrParamByName(t,\"messageDigest\");var w=KJUR.crypto.Util.hashHex(x,s);z.hex=w}};this._getAttrParamByName=function(t,s){var u=t.sattrs.array;for(var r=0;r<u.length;r++){if(u[r].attr==s){return u[r]}}};this._setSignerInfoVersion=function(v){var t=v.sinfos;for(var r=0;r<t.length;r++){var s=t[r];var u=1;if(s.id.type==\"skid\"){u=3}s.version=u}};this._setSignedDataVersion=function(s){var r=this._getSignedDataVersion(s);s.version=r};this._getSignedDataVersion=function(w){if(w.revinfos!=undefined){var r=w.revinfos;for(var t=0;t<r.length;t++){var s=r[t];if(s.ocsp!=undefined){return 5}}}var v=w.sinfos;for(var t=0;t<v.length;t++){var u=w.sinfos[t];if(u.version==3){return 3}}if(w.econtent.type!=\"data\"){return 3}return 1};this.tohex=function(){var y=this.params;if(this.getEncodedHexPrepare!=undefined){this.getEncodedHexPrepare()}if(y.fixed!=true){this.checkAndFixParam()}var r=[];r.push(new g({\"int\":y.version}));var w=[];for(var v=0;v<y.hashalgs.length;v++){var t=y.hashalgs[v];w.push(new n({name:t}))}r.push(new p({array:w}));r.push(new l(y.econtent));if(y.certs!=undefined){r.push(new k(y.certs))}if(y.revinfos!=undefined){r.push(new i(y.revinfos))}var u=[];for(var v=0;v<y.sinfos.length;v++){var x=y.sinfos[v];u.push(new d(x))}r.push(new p({array:u}));var s=new f({array:r});return s.tohex()};this.getEncodedHex=function(){return this.tohex()};this.getContentInfo=function(){var r=new q({type:\"signed-data\",obj:this});return r};this.getContentInfoEncodedHex=function(){return this.getContentInfo().tohex()};if(e!=undefined){this.setByParam(e)}};extendClass(KJUR.asn1.cms.SignedData,KJUR.asn1.ASN1Object);KJUR.asn1.cms.CertificateSet=function(f){KJUR.asn1.cms.CertificateSet.superclass.constructor.call(this);var c=Error,b=KJUR.asn1,e=b.DERTaggedObject,a=b.DERSet,d=b.ASN1Object;this.params=null;this.tohex=function(){var j=this.params;var p=[];var q;if(j instanceof Array){q=j}else{if(j.array!=undefined){q=j.array}else{throw new c(\"cert array not specified\")}}for(var k=0;k<q.length;k++){var l=q[k];var n=pemtohex(l);var g=new d();g.hTLV=n;p.push(g)}var m={array:p};if(j.sortflag==false){m.sortflag=false}var o=new a(m);var h=new e({tag:\"a0\",explicit:false,obj:o});return h.tohex()};this.getEncodedHex=function(){return this.tohex()};if(f!=undefined){this.setByParam(f)}};extendClass(KJUR.asn1.cms.CertificateSet,KJUR.asn1.ASN1Object);KJUR.asn1.cms.RevocationInfoChoices=function(a){KJUR.asn1.cms.RevocationInfoChoices.superclass.constructor.call(this);this.params=null;this.tohex=function(){var e=this.params;if(!e instanceof Array){throw new Error(\"params is not array\")}var b=[];for(var c=0;c<e.length;c++){b.push(new KJUR.asn1.cms.RevocationInfoChoice(e[c]))}var d=KJUR.asn1.ASN1Util.newObject({tag:{tagi:\"a1\",obj:{set:b}}});return d.tohex()};this.getEncodedHex=function(){return this.tohex()};if(a!=undefined){this.setByParam(a)}};extendClass(KJUR.asn1.cms.RevocationInfoChoices,KJUR.asn1.ASN1Object);KJUR.asn1.cms.RevocationInfoChoice=function(a){KJUR.asn1.cms.RevocationInfoChoice.superclass.constructor.call(this);this.params=null;this.tohex=function(){var d=this.params;if(d.crl!=undefined&&typeof d.crl==\"string\"){var b=d.crl;if(d.crl.indexOf(\"-----BEGIN\")!=-1){b=pemtohex(d.crl)}return b}else{if(d.ocsp!=undefined){var c=KJUR.asn1.ASN1Util.newObject({tag:{tagi:\"a1\",obj:new KJUR.asn1.cms.OtherRevocationFormat(d)}});return c.tohex()}else{throw new Error(\"property crl or ocsp undefined\")}}};this.getEncodedHex=function(){return this.tohex()};if(a!=undefined){this.setByParam(a)}};extendClass(KJUR.asn1.cms.RevocationInfoChoice,KJUR.asn1.ASN1Object);KJUR.asn1.cms.OtherRevocationFormat=function(f){KJUR.asn1.cms.OtherRevocationFormat.superclass.constructor.call(this);var d=Error,c=KJUR,b=c.asn1,a=b.ASN1Util.newObject,e=c.lang.String.isHex;this.params=null;this.tohex=function(){var h=this.params;if(h.ocsp==undefined){throw new d(\"property ocsp not specified\")}if(!e(h.ocsp)||!ASN1HEX.isASN1HEX(h.ocsp)){throw new d(\"ocsp value not ASN.1 hex string\")}var g=a({seq:[{oid:\"1.3.6.1.5.5.7.16.2\"},{asn1:{tlv:h.ocsp}}]});return g.tohex()};this.getEncodedHex=function(){return this.tohex()};if(f!=undefined){this.setByParam(f)}};extendClass(KJUR.asn1.cms.OtherRevocationFormat,KJUR.asn1.ASN1Object);KJUR.asn1.cms.CMSUtil=new function(){};KJUR.asn1.cms.CMSUtil.newSignedData=function(a){return new KJUR.asn1.cms.SignedData(a)};KJUR.asn1.cms.CMSUtil.verifySignedData=function(n){var C=KJUR,p=C.asn1,s=p.cms,D=s.SignerInfo,q=s.SignedData,y=s.SigningTime,b=s.SigningCertificate,d=s.SigningCertificateV2,A=p.cades,u=A.SignaturePolicyIdentifier,i=C.lang.String.isHex,v=ASN1HEX,h=v.getVbyList,a=v.getTLVbyList,t=v.getIdxbyList,z=v.getChildIdx,c=v.getTLV,B=v.oidname,j=C.crypto.Util.hashHex;if(n.cms===undefined&&!i(n.cms)){}var E=n.cms;var g=function(J,H){var G;for(var I=3;I<6;I++){G=t(J,0,[1,0,I]);if(G!==undefined){var F=J.substr(G,2);if(F===\"a0\"){H.certsIdx=G}if(F===\"a1\"){H.revinfosIdx=G}if(F===\"31\"){H.signerinfosIdx=G}}}};var l=function(I,F){var H=F.signerinfosIdx;if(H===undefined){return}var L=z(I,H);F.signerInfoIdxList=L;for(var G=0;G<L.length;G++){var K=L[G];var J={idx:K};k(I,J);F.signerInfos.push(J)}};var k=function(I,J){var F=J.idx;J.signerid_issuer1=a(I,F,[1,0],\"30\");J.signerid_serial1=h(I,F,[1,1],\"02\");J.hashalg=B(h(I,F,[2,0],\"06\"));var H=t(I,F,[3],\"a0\");J.idxSignedAttrs=H;f(I,J,H);var G=z(I,F);var K=G.length;if(K<6){throw\"malformed SignerInfo\"}J.sigalg=B(h(I,F,[K-2,0],\"06\"));J.sigval=h(I,F,[K-1],\"04\")};var f=function(L,M,F){var J=z(L,F);M.signedAttrIdxList=J;for(var K=0;K<J.length;K++){var I=J[K];var G=h(L,I,[0],\"06\");var H;if(G===\"2a864886f70d010905\"){H=hextoutf8(h(L,I,[1,0]));M.saSigningTime=H}else{if(G===\"2a864886f70d010904\"){H=h(L,I,[1,0],\"04\");M.saMessageDigest=H}}}};var w=function(G,F){if(h(G,0,[0],\"06\")!==\"2a864886f70d010702\"){return F}F.cmsType=\"signedData\";F.econtent=h(G,0,[1,0,2,1,0]);g(G,F);F.signerInfos=[];l(G,F)};var o=function(J,F){var G=F.parse.signerInfos;var L=G.length;var K=true;for(var I=0;I<L;I++){var H=G[I];e(J,F,H,I);if(!H.isValid){K=false}}F.isValid=K};var x=function(F,Q,J,P){var N=Q.parse.certsIdx;var H;if(Q.certs===undefined){H=[];Q.certkeys=[];var K=z(F,N);for(var I=0;I<K.length;I++){var M=c(F,K[I]);var O=new X509();O.readCertHex(M);H[I]=O;Q.certkeys[I]=O.getPublicKey()}Q.certs=H}else{H=Q.certs}Q.cccc=H.length;Q.cccci=K.length;for(var I=0;I<H.length;I++){var L=O.getIssuerHex();var G=O.getSerialNumberHex();if(J.signerid_issuer1===L&&J.signerid_serial1===G){J.certkey_idx=I}}};var e=function(F,R,I,N){I.verifyDetail={};var Q=I.verifyDetail;var K=R.parse.econtent;var G=I.hashalg;var L=I.saMessageDigest;Q.validMessageDigest=false;if(j(K,G)===L){Q.validMessageDigest=true}x(F,R,I,N);Q.validSignatureValue=false;var H=I.sigalg;var M=\"31\"+c(F,I.idxSignedAttrs).substr(2);I.signedattrshex=M;var J=R.certs[I.certkey_idx].getPublicKey();var P=new KJUR.crypto.Signature({alg:H});P.init(J);P.updateHex(M);var O=P.verify(I.sigval);Q.validSignatureValue_isValid=O;if(O===true){Q.validSignatureValue=true}I.isValid=false;if(Q.validMessageDigest&&Q.validSignatureValue){I.isValid=true}};var m=function(){};var r={isValid:false,parse:{}};w(E,r.parse);o(E,r);return r};KJUR.asn1.cms.CMSParser=function(){var g=Error,a=X509,h=new a(),l=ASN1HEX,i=l.getV,b=l.getTLV,f=l.getIdxbyList,c=l.getTLVbyList,d=l.getTLVbyListEx,e=l.getVbyList,k=l.getVbyListEx,j=l.getChildIdx;this.getCMSSignedData=function(m){var o=c(m,0,[1,0]);var n=this.getSignedData(o);return n};this.getSignedData=function(o){var q=j(o,0);var v={};var p=i(o,q[0]);var n=parseInt(p,16);v.version=n;var r=b(o,q[1]);v.hashalgs=this.getHashAlgArray(r);var t=b(o,q[2]);v.econtent=this.getEContent(t);var m=d(o,0,[\"[0]\"]);if(m!=null){v.certs=this.getCertificateSet(m)}var u=d(o,0,[\"[1]\"]);if(u!=null){}var s=d(o,0,[3]);v.sinfos=this.getSignerInfos(s);return v};this.getHashAlgArray=function(s){var q=j(s,0);var m=new a();var n=[];for(var r=0;r<q.length;r++){var p=b(s,q[r]);var o=m.getAlgorithmIdentifierName(p);n.push(o)}return n};this.getEContent=function(m){var n={};var p=e(m,0,[0]);var o=e(m,0,[1,0]);n.type=KJUR.asn1.x509.OID.oid2name(ASN1HEX.hextooidstr(p));n.content={hex:o};return n};this.getSignerInfos=function(p){var r=[];var m=j(p,0);for(var n=0;n<m.length;n++){var o=b(p,m[n]);var q=this.getSignerInfo(o);r.push(q)}return r};this.getSignerInfo=function(s){var y={};var u=j(s,0);var q=l.getInt(s,u[0],-1);if(q!=-1){y.version=q}var t=b(s,u[1]);var p=this.getIssuerAndSerialNumber(t);y.id=p;var z=b(s,u[2]);var n=h.getAlgorithmIdentifierName(z);y.hashalg=n;var w=d(s,0,[\"[0]\"]);if(w!=null){var A=this.getAttributeList(w);y.sattrs=A}var m=d(s,0,[3]);var x=h.getAlgorithmIdentifierName(m);y.sigalg=x;var o=k(s,0,[4]);y.sighex=o;var r=d(s,0,[\"[1]\"]);if(r!=null){var v=this.getAttributeList(r);y.uattrs=v}return y};this.getSignerIdentifier=function(m){if(m.substr(0,2)==\"30\"){return this.getIssuerAndSerialNumber(m)}else{throw new Error(\"SKID of signerIdentifier not supported\")}};this.getIssuerAndSerialNumber=function(n){var o={type:\"isssn\"};var m=j(n,0);var p=b(n,m[0]);o.issuer=h.getX500Name(p);var q=i(n,m[1]);o.serial={hex:q};return o};this.getAttributeList=function(q){var m=[];var n=j(q,0);for(var o=0;o<n.length;o++){var p=b(q,n[o]);var r=this.getAttribute(p);m.push(r)}return{array:m}};this.getAttribute=function(p){var t={};var q=j(p,0);var o=l.getOID(p,q[0]);var m=KJUR.asn1.x509.OID.oid2name(o);t.attr=m;var r=b(p,q[1]);var u=j(r,0);if(u.length==1){t.valhex=b(r,u[0])}else{var s=[];for(var n=0;n<u.length;n++){s.push(b(r,u[n]))}t.valhex=s}if(m==\"contentType\"){this.setContentType(t)}else{if(m==\"messageDigest\"){this.setMessageDigest(t)}else{if(m==\"signingTime\"){this.setSigningTime(t)}else{if(m==\"signingCertificate\"){this.setSigningCertificate(t)}else{if(m==\"signingCertificateV2\"){this.setSigningCertificateV2(t)}else{if(m==\"signaturePolicyIdentifier\"){this.setSignaturePolicyIdentifier(t)}}}}}}return t};this.setContentType=function(m){var n=l.getOIDName(m.valhex,0,null);if(n!=null){m.type=n;delete m.valhex}};this.setSigningTime=function(o){var n=i(o.valhex,0);var m=hextoutf8(n);o.str=m;delete o.valhex};this.setMessageDigest=function(m){var n=i(m.valhex,0);m.hex=n;delete m.valhex};this.setSigningCertificate=function(n){var q=j(n.valhex,0);if(q.length>0){var m=b(n.valhex,q[0]);var p=j(m,0);var t=[];for(var o=0;o<p.length;o++){var s=b(m,p[o]);var u=this.getESSCertID(s);t.push(u)}n.array=t}if(q.length>1){var r=b(n.valhex,q[1]);n.polhex=r}delete n.valhex};this.setSignaturePolicyIdentifier=function(s){var q=j(s.valhex,0);if(q.length>0){var r=l.getOID(s.valhex,q[0]);s.oid=r}if(q.length>1){var m=new a();var t=j(s.valhex,q[1]);var p=b(s.valhex,t[0]);var o=m.getAlgorithmIdentifierName(p);s.alg=o;var n=i(s.valhex,t[1]);s.hash=n}delete s.valhex};this.setSigningCertificateV2=function(o){var s=j(o.valhex,0);if(s.length>0){var n=b(o.valhex,s[0]);var r=j(n,0);var u=[];for(var q=0;q<r.length;q++){var m=b(n,r[q]);var p=this.getESSCertIDv2(m);u.push(p)}o.array=u}if(s.length>1){var t=b(o.valhex,s[1]);o.polhex=t}delete o.valhex};this.getESSCertID=function(o){var p={};var n=j(o,0);if(n.length>0){var q=i(o,n[0]);p.hash=q}if(n.length>1){var m=b(o,n[1]);var r=this.getIssuerSerial(m);if(r.serial!=undefined){p.serial=r.serial}if(r.issuer!=undefined){p.issuer=r.issuer}}return p};this.getESSCertIDv2=function(q){var s={};var p=j(q,0);if(p.length<1||3<p.length){throw new g(\"wrong number of elements\")}var r=0;if(q.substr(p[0],2)==\"30\"){var o=b(q,p[0]);s.alg=h.getAlgorithmIdentifierName(o);r++}else{s.alg=\"sha256\"}var n=i(q,p[r]);s.hash=n;if(p.length>r+1){var m=b(q,p[r+1]);var t=this.getIssuerSerial(m);s.issuer=t.issuer;s.serial=t.serial}return s};this.getIssuerSerial=function(q){var r={};var n=j(q,0);var m=b(q,n[0]);var p=h.getGeneralNames(m);var o=p[0].dn;r.issuer=o;var s=i(q,n[1]);r.serial={hex:s};return r};this.getCertificateSet=function(p){var n=j(p,0);var m=[];for(var o=0;o<n.length;o++){var r=b(p,n[o]);if(r.substr(0,2)==\"30\"){var q=hextopem(r,\"CERTIFICATE\");m.push(q)}}return{array:m,sortflag:false}}};\nif(typeof KJUR==\"undefined\"||!KJUR){KJUR={}}if(typeof KJUR.asn1==\"undefined\"||!KJUR.asn1){KJUR.asn1={}}if(typeof KJUR.asn1.tsp==\"undefined\"||!KJUR.asn1.tsp){KJUR.asn1.tsp={}}KJUR.asn1.tsp.TimeStampToken=function(d){var c=KJUR,b=c.asn1,a=b.tsp;a.TimeStampToken.superclass.constructor.call(this);this.params=null;this.getEncodedHexPrepare=function(){var e=new a.TSTInfo(this.params.econtent.content);this.params.econtent.content.hex=e.tohex()};if(d!=undefined){this.setByParam(d)}};extendClass(KJUR.asn1.tsp.TimeStampToken,KJUR.asn1.cms.SignedData);KJUR.asn1.tsp.TSTInfo=function(f){var m=Error,c=KJUR,j=c.asn1,g=j.DERSequence,i=j.DERInteger,l=j.DERBoolean,h=j.DERGeneralizedTime,n=j.DERObjectIdentifier,e=j.DERTaggedObject,k=j.tsp,d=k.MessageImprint,b=k.Accuracy,a=j.x509.X500Name,o=j.x509.GeneralName;k.TSTInfo.superclass.constructor.call(this);this.dVersion=new i({\"int\":1});this.dPolicy=null;this.dMessageImprint=null;this.dSerial=null;this.dGenTime=null;this.dAccuracy=null;this.dOrdering=null;this.dNonce=null;this.dTsa=null;this.tohex=function(){var p=[this.dVersion];if(this.dPolicy==null){throw new Error(\"policy shall be specified.\")}p.push(this.dPolicy);if(this.dMessageImprint==null){throw new Error(\"messageImprint shall be specified.\")}p.push(this.dMessageImprint);if(this.dSerial==null){throw new Error(\"serialNumber shall be specified.\")}p.push(this.dSerial);if(this.dGenTime==null){throw new Error(\"genTime shall be specified.\")}p.push(this.dGenTime);if(this.dAccuracy!=null){p.push(this.dAccuracy)}if(this.dOrdering!=null){p.push(this.dOrdering)}if(this.dNonce!=null){p.push(this.dNonce)}if(this.dTsa!=null){p.push(this.dTsa)}var q=new g({array:p});this.hTLV=q.tohex();return this.hTLV};this.getEncodedHex=function(){return this.tohex()};if(f!==undefined){if(typeof f.policy==\"string\"){if(!f.policy.match(/^[0-9.]+$/)){throw\"policy shall be oid like 0.1.4.134\"}this.dPolicy=new n({oid:f.policy})}if(f.messageImprint!==undefined){this.dMessageImprint=new d(f.messageImprint)}if(f.serial!==undefined){this.dSerial=new i(f.serial)}if(f.genTime!==undefined){this.dGenTime=new h(f.genTime)}if(f.accuracy!==undefined){this.dAccuracy=new b(f.accuracy)}if(f.ordering!==undefined&&f.ordering==true){this.dOrdering=new l()}if(f.nonce!==undefined){this.dNonce=new i(f.nonce)}if(f.tsa!==undefined){this.dTsa=new e({tag:\"a0\",explicit:true,obj:new o({dn:f.tsa})})}}};extendClass(KJUR.asn1.tsp.TSTInfo,KJUR.asn1.ASN1Object);KJUR.asn1.tsp.Accuracy=function(d){var c=KJUR,b=c.asn1,a=b.ASN1Util.newObject;b.tsp.Accuracy.superclass.constructor.call(this);this.params=null;this.tohex=function(){var f=this.params;var e=[];if(f.seconds!=undefined&&typeof f.seconds==\"number\"){e.push({\"int\":f.seconds})}if(f.millis!=undefined&&typeof f.millis==\"number\"){e.push({tag:{tagi:\"80\",obj:{\"int\":f.millis}}})}if(f.micros!=undefined&&typeof f.micros==\"number\"){e.push({tag:{tagi:\"81\",obj:{\"int\":f.micros}}})}return a({seq:e}).tohex()};this.getEncodedHex=function(){return this.tohex()};if(d!=undefined){this.setByParam(d)}};extendClass(KJUR.asn1.tsp.Accuracy,KJUR.asn1.ASN1Object);KJUR.asn1.tsp.MessageImprint=function(g){var c=KJUR,b=c.asn1,a=b.DERSequence,d=b.DEROctetString,f=b.x509,e=f.AlgorithmIdentifier;b.tsp.MessageImprint.superclass.constructor.call(this);this.params=null;this.tohex=function(){var k=this.params;var j=new e({name:k.alg});var h=new d({hex:k.hash});var i=new a({array:[j,h]});return i.tohex()};this.getEncodedHex=function(){return this.tohex()};if(g!==undefined){this.setByParam(g)}};extendClass(KJUR.asn1.tsp.MessageImprint,KJUR.asn1.ASN1Object);KJUR.asn1.tsp.TimeStampReq=function(c){var a=KJUR,f=a.asn1,d=f.DERSequence,e=f.DERInteger,h=f.DERBoolean,j=f.ASN1Object,i=f.DERObjectIdentifier,g=f.tsp,b=g.MessageImprint;g.TimeStampReq.superclass.constructor.call(this);this.params=null;this.tohex=function(){var m=this.params;var k=[];k.push(new e({\"int\":1}));if(m.messageImprint instanceof KJUR.asn1.ASN1Object){k.push(m.messageImprint)}else{k.push(new b(m.messageImprint))}if(m.policy!=undefined){k.push(new i(m.policy))}if(m.nonce!=undefined){k.push(new e(m.nonce))}if(m.certreq==true){k.push(new h())}var l=new d({array:k});return l.tohex()};this.getEncodedHex=function(){return this.tohex()};if(c!=undefined){this.setByParam(c)}};extendClass(KJUR.asn1.tsp.TimeStampReq,KJUR.asn1.ASN1Object);KJUR.asn1.tsp.TimeStampResp=function(g){var e=KJUR,d=e.asn1,c=d.DERSequence,f=d.ASN1Object,a=d.tsp,b=a.PKIStatusInfo;a.TimeStampResp.superclass.constructor.call(this);this.params=null;this.tohex=function(){var j=this.params;var h=[];if(j.econtent!=undefined||j.tst!=undefined){if(j.statusinfo!=undefined){h.push(new b(j.statusinfo))}else{h.push(new b(\"granted\"))}if(j.econtent!=undefined){h.push((new a.TimeStampToken(j)).getContentInfo())}else{if(j.tst instanceof d.ASN1Object){h.push(j.tst)}else{throw new Error(\"improper member tst value\")}}}else{if(j.statusinfo!=undefined){h.push(new b(j.statusinfo))}else{throw new Error(\"parameter for token nor statusinfo not specified\")}}var i=new c({array:h});return i.tohex()};this.getEncodedHex=function(){return this.tohex()};if(g!=undefined){this.setByParam(g)}};extendClass(KJUR.asn1.tsp.TimeStampResp,KJUR.asn1.ASN1Object);KJUR.asn1.tsp.PKIStatusInfo=function(d){var h=Error,a=KJUR,g=a.asn1,e=g.DERSequence,i=g.tsp,f=i.PKIStatus,c=i.PKIFreeText,b=i.PKIFailureInfo;i.PKIStatusInfo.superclass.constructor.call(this);this.params=null;this.tohex=function(){var l=this.params;var j=[];if(typeof l==\"string\"){j.push(new f(l))}else{if(l.status==undefined){throw new h(\"property 'status' unspecified\")}j.push(new f(l.status));if(l.statusstr!=undefined){j.push(new c(l.statusstr))}if(l.failinfo!=undefined){j.push(new b(l.failinfo))}}var k=new e({array:j});return k.tohex()};this.getEncodedHex=function(){return this.tohex()};if(d!=undefined){this.setByParam(d)}};extendClass(KJUR.asn1.tsp.PKIStatusInfo,KJUR.asn1.ASN1Object);KJUR.asn1.tsp.PKIStatus=function(g){var e=Error,d=KJUR,c=d.asn1,f=c.DERInteger,b=c.tsp;b.PKIStatus.superclass.constructor.call(this);var a={granted:0,grantedWithMods:1,rejection:2,waiting:3,revocationWarning:4,revocationNotification:5};this.params=null;this.tohex=function(){var k=this.params;var h,j;if(typeof k==\"string\"){try{j=a[k]}catch(i){throw new e(\"undefined name: \"+k)}}else{if(typeof k==\"number\"){j=k}else{throw new e(\"unsupported params\")}}return(new f({\"int\":j})).tohex()};this.getEncodedHex=function(){return this.tohex()};if(g!=undefined){this.setByParam(g)}};extendClass(KJUR.asn1.tsp.PKIStatus,KJUR.asn1.ASN1Object);KJUR.asn1.tsp.PKIFreeText=function(g){var f=Error,e=KJUR,d=e.asn1,b=d.DERSequence,c=d.DERUTF8String,a=d.tsp;a.PKIFreeText.superclass.constructor.call(this);this.params=null;this.tohex=function(){var l=this.params;if(!(l instanceof Array)){throw new f(\"wrong params: not array\")}var h=[];for(var k=0;k<l.length;k++){h.push(new c({str:l[k]}))}var j=new b({array:h});return j.tohex()};this.getEncodedHex=function(){return this.tohex()};if(g!=undefined){this.setByParam(g)}};extendClass(KJUR.asn1.tsp.PKIFreeText,KJUR.asn1.ASN1Object);KJUR.asn1.tsp.PKIFailureInfo=function(h){var f=Error,e=KJUR,d=e.asn1,g=d.DERBitString,b=d.tsp,c=b.PKIFailureInfo;var a={badAlg:0,badRequest:2,badDataFormat:5,timeNotAvailable:14,unacceptedPolicy:15,unacceptedExtension:16,addInfoNotAvailable:17,systemFailure:25};c.superclass.constructor.call(this);this.params=null;this.getBinValue=function(){var n=this.params;var m=0;if(typeof n==\"number\"&&0<=n&&n<=25){m|=1<<n;var k=m.toString(2);var l=\"\";for(var j=k.length-1;j>=0;j--){l+=k[j]}return l}else{if(typeof n==\"string\"&&a[n]!=undefined){return namearraytobinstr([n],a)}else{if(typeof n==\"object\"&&n.length!=undefined){return namearraytobinstr(n,a)}else{throw new f(\"wrong params\")}}}return};this.tohex=function(){var j=this.params;var i=this.getBinValue();return(new g({bin:i})).tohex()};this.getEncodedHex=function(){return this.tohex()};if(h!=undefined){this.setByParam(h)}};extendClass(KJUR.asn1.tsp.PKIFailureInfo,KJUR.asn1.ASN1Object);KJUR.asn1.tsp.AbstractTSAAdapter=function(a){this.getTSTHex=function(c,b){throw\"not implemented yet\"}};KJUR.asn1.tsp.SimpleTSAAdapter=function(e){var d=KJUR,c=d.asn1,a=c.tsp,b=d.crypto.Util.hashHex;a.SimpleTSAAdapter.superclass.constructor.call(this);this.params=null;this.serial=0;this.getTSTHex=function(g,f){var i=b(g,f);this.params.econtent.content.messageImprint={alg:f,hash:i};this.params.econtent.content.serial={\"int\":this.serial++};var h=Math.floor(Math.random()*1000000000);this.params.econtent.content.nonce={\"int\":h};var j=new a.TimeStampToken(this.params);return j.getContentInfoEncodedHex()};if(e!==undefined){this.params=e}};extendClass(KJUR.asn1.tsp.SimpleTSAAdapter,KJUR.asn1.tsp.AbstractTSAAdapter);KJUR.asn1.tsp.FixedTSAAdapter=function(e){var d=KJUR,c=d.asn1,a=c.tsp,b=d.crypto.Util.hashHex;a.FixedTSAAdapter.superclass.constructor.call(this);this.params=null;this.getTSTHex=function(g,f){var h=b(g,f);this.params.econtent.content.messageImprint={alg:f,hash:h};var i=new a.TimeStampToken(this.params);return i.getContentInfoEncodedHex()};if(e!==undefined){this.params=e}};extendClass(KJUR.asn1.tsp.FixedTSAAdapter,KJUR.asn1.tsp.AbstractTSAAdapter);KJUR.asn1.tsp.TSPUtil=new function(){};KJUR.asn1.tsp.TSPUtil.newTimeStampToken=function(a){return new KJUR.asn1.tsp.TimeStampToken(a)};KJUR.asn1.tsp.TSPUtil.parseTimeStampReq=function(a){var b=new KJUR.asn1.tsp.TSPParser();return b.getTimeStampReq(a)};KJUR.asn1.tsp.TSPUtil.parseMessageImprint=function(a){var b=new KJUR.asn1.tsp.TSPParser();return b.getMessageImprint(a)};KJUR.asn1.tsp.TSPParser=function(){var e=Error,a=X509,f=new a(),k=ASN1HEX,g=k.getV,b=k.getTLV,d=k.getIdxbyList,c=k.getTLVbyListEx,i=k.getChildIdx;var j=[\"granted\",\"grantedWithMods\",\"rejection\",\"waiting\",\"revocationWarning\",\"revocationNotification\"];var h={0:\"badAlg\",2:\"badRequest\",5:\"badDataFormat\",14:\"timeNotAvailable\",15:\"unacceptedPolicy\",16:\"unacceptedExtension\",17:\"addInfoNotAvailable\",25:\"systemFailure\"};this.getResponse=function(n){var l=i(n,0);if(l.length==1){return this.getPKIStatusInfo(b(n,l[0]))}else{if(l.length>1){var o=this.getPKIStatusInfo(b(n,l[0]));var m=b(n,l[1]);var p=this.getToken(m);p.statusinfo=o;return p}}};this.getToken=function(m){var l=new KJUR.asn1.cms.CMSParser;var n=l.getCMSSignedData(m);this.setTSTInfo(n);return n};this.setTSTInfo=function(l){var o=l.econtent;if(o.type==\"tstinfo\"){var n=o.content.hex;var m=this.getTSTInfo(n);o.content=m}};this.getTSTInfo=function(r){var x={};var s=i(r,0);var p=g(r,s[1]);x.policy=hextooid(p);var o=b(r,s[2]);x.messageImprint=this.getMessageImprint(o);var u=g(r,s[3]);x.serial={hex:u};var y=g(r,s[4]);x.genTime={str:hextoutf8(y)};var q=0;if(s.length>5&&r.substr(s[5],2)==\"30\"){var v=b(r,s[5]);x.accuracy=this.getAccuracy(v);q++}if(s.length>5+q&&r.substr(s[5+q],2)==\"01\"){var z=g(r,s[5+q]);if(z==\"ff\"){x.ordering=true}q++}if(s.length>5+q&&r.substr(s[5+q],2)==\"02\"){var n=g(r,s[5+q]);x.nonce={hex:n};q++}if(s.length>5+q&&r.substr(s[5+q],2)==\"a0\"){var m=b(r,s[5+q]);m=\"30\"+m.substr(2);pGeneralNames=f.getGeneralNames(m);var t=pGeneralNames[0].dn;x.tsa=t;q++}if(s.length>5+q&&r.substr(s[5+q],2)==\"a1\"){var l=b(r,s[5+q]);l=\"30\"+l.substr(2);var w=f.getExtParamArray(l);x.ext=w;q++}return x};this.getAccuracy=function(q){var r={};var o=i(q,0);for(var p=0;p<o.length;p++){var m=q.substr(o[p],2);var l=g(q,o[p]);var n=parseInt(l,16);if(m==\"02\"){r.seconds=n}else{if(m==\"80\"){r.millis=n}else{if(m==\"81\"){r.micros=n}}}}return r};this.getMessageImprint=function(n){if(n.substr(0,2)!=\"30\"){throw new Error(\"head of messageImprint hex shall be x30\")}var s={};var l=i(n,0);var t=d(n,0,[0,0]);var o=g(n,t);var p=k.hextooidstr(o);var r=KJUR.asn1.x509.OID.oid2name(p);if(r==\"\"){throw new Error(\"hashAlg name undefined: \"+p)}var m=r;var q=d(n,0,[1]);s.alg=m;s.hash=g(n,q);return s};this.getPKIStatusInfo=function(o){var t={};var r=i(o,0);var n=0;try{var l=g(o,r[0]);var p=parseInt(l,16);t.status=j[p]}catch(s){}if(r.length>1&&o.substr(r[1],2)==\"30\"){var m=b(o,r[1]);t.statusstr=this.getPKIFreeText(m);n++}if(r.length>n&&o.substr(r[1+n],2)==\"03\"){var q=b(o,r[1+n]);t.failinfo=this.getPKIFailureInfo(q)}return t};this.getPKIFreeText=function(n){var o=[];var l=i(n,0);for(var m=0;m<l.length;m++){o.push(k.getString(n,l[m]))}return o};this.getPKIFailureInfo=function(l){var m=k.getInt(l,0);if(h[m]!=undefined){return h[m]}else{return m}};this.getTimeStampReq=function(q){var p={};p.certreq=false;var s=i(q,0);if(s.length<2){throw new Error(\"TimeStampReq must have at least 2 items\")}var n=b(q,s[1]);p.messageImprint=KJUR.asn1.tsp.TSPUtil.parseMessageImprint(n);for(var o=2;o<s.length;o++){var m=s[o];var l=q.substr(m,2);if(l==\"06\"){var r=g(q,m);p.policy=k.hextooidstr(r)}if(l==\"02\"){p.nonce=g(q,m)}if(l==\"01\"){p.certreq=true}}return p}};\nif(typeof KJUR==\"undefined\"||!KJUR){KJUR={}}if(typeof KJUR.asn1==\"undefined\"||!KJUR.asn1){KJUR.asn1={}}if(typeof KJUR.asn1.cades==\"undefined\"||!KJUR.asn1.cades){KJUR.asn1.cades={}}KJUR.asn1.cades.SignaturePolicyIdentifier=function(e){var c=KJUR,b=c.asn1,a=b.cades,d=a.SignaturePolicyId;a.SignaturePolicyIdentifier.superclass.constructor.call(this);this.typeOid=\"1.2.840.113549.1.9.16.2.15\";this.params=null;this.getValueArray=function(){return[new d(this.params)]};this.setByParam=function(f){this.params=f};if(e!=undefined){this.setByParam(e)}};extendClass(KJUR.asn1.cades.SignaturePolicyIdentifier,KJUR.asn1.cms.Attribute);KJUR.asn1.cades.SignaturePolicyId=function(e){var a=KJUR,g=a.asn1,f=g.DERSequence,i=g.DERObjectIdentifier,d=g.x509,j=d.AlgorithmIdentifier,c=g.cades,h=c.SignaturePolicyId,b=c.OtherHashAlgAndValue;h.superclass.constructor.call(this);this.params=null;this.tohex=function(){var m=this.params;var k=[];k.push(new i(m.oid));k.push(new b(m));var l=new f({array:k});return l.tohex()};this.getEncodedHex=function(){return this.tohex()};this.setByParam=function(k){this.params=k};if(e!=undefined){this.setByParam(e)}};extendClass(KJUR.asn1.cades.SignaturePolicyId,KJUR.asn1.ASN1Object);KJUR.asn1.cades.OtherHashAlgAndValue=function(e){var h=Error,a=KJUR,g=a.asn1,f=g.DERSequence,i=g.DEROctetString,d=g.x509,j=d.AlgorithmIdentifier,c=g.cades,b=c.OtherHashAlgAndValue;b.superclass.constructor.call(this);this.params=null;this.tohex=function(){var o=this.params;if(o.alg==undefined){throw new h(\"property 'alg' not specified\")}if(o.hash==undefined&&o.cert==undefined){throw new h(\"property 'hash' nor 'cert' not specified\")}var m=null;if(o.hash!=undefined){m=o.hash}else{if(o.cert!=undefined){if(typeof o.cert!=\"string\"){throw new h(\"cert not string\")}var n=o.cert;if(o.cert.indexOf(\"-----BEGIN\")!=-1){n=pemtohex(o.cert)}m=KJUR.crypto.Util.hashHex(n,o.alg)}}var k=[];k.push(new j({name:o.alg}));k.push(new i({hex:m}));var l=new f({array:k});return l.tohex()};this.getEncodedHex=function(){return this.tohex()};if(e!=undefined){this.setByParam(e)}};extendClass(KJUR.asn1.cades.OtherHashAlgAndValue,KJUR.asn1.ASN1Object);KJUR.asn1.cades.OtherHashValue=function(g){KJUR.asn1.cades.OtherHashValue.superclass.constructor.call(this);var d=Error,c=KJUR,f=c.lang.String.isHex,b=c.asn1,e=b.DEROctetString,a=c.crypto.Util.hashHex;this.params=null;this.tohex=function(){var j=this.params;if(j.hash==undefined&&j.cert==undefined){throw new d(\"hash or cert not specified\")}var h=null;if(j.hash!=undefined){h=j.hash}else{if(j.cert!=undefined){if(typeof j.cert!=\"string\"){throw new d(\"cert not string\")}var i=j.cert;if(j.cert.indexOf(\"-----BEGIN\")!=-1){i=pemtohex(j.cert)}h=KJUR.crypto.Util.hashHex(i,\"sha1\")}}return(new e({hex:h})).tohex()};this.getEncodedHex=function(){return this.tohex()};if(g!=undefined){this.setByParam(g)}};extendClass(KJUR.asn1.cades.OtherHashValue,KJUR.asn1.ASN1Object);KJUR.asn1.cades.SignatureTimeStamp=function(h){var d=Error,c=KJUR,f=c.lang.String.isHex,b=c.asn1,e=b.ASN1Object,g=b.x509,a=b.cades;a.SignatureTimeStamp.superclass.constructor.call(this);this.typeOid=\"1.2.840.113549.1.9.16.2.14\";this.params=null;this.getValueArray=function(){var l=this.params;if(l.tst!=undefined){if(f(l.tst)){var j=new e();j.hTLV=l.tst;return[j]}else{if(l.tst instanceof e){return[l.tst]}else{throw new d(\"params.tst has wrong value\")}}}else{if(l.res!=undefined){var k=l.res;if(k instanceof e){k=k.tohex()}if(typeof k!=\"string\"||(!f(k))){throw new d(\"params.res has wrong value\")}var i=ASN1HEX.getTLVbyList(k,0,[1]);var j=new e();j.hTLV=l.tst;return[j]}}};if(h!=null){this.setByParam(h)}};extendClass(KJUR.asn1.cades.SignatureTimeStamp,KJUR.asn1.cms.Attribute);KJUR.asn1.cades.CompleteCertificateRefs=function(h){var f=Error,e=KJUR,d=e.asn1,b=d.DERSequence,c=d.cades,a=c.OtherCertID,g=e.lang.String.isHex;c.CompleteCertificateRefs.superclass.constructor.call(this);this.typeOid=\"1.2.840.113549.1.9.16.2.21\";this.params=null;this.getValueArray=function(){var o=this.params;var k=[];for(var m=0;m<o.array.length;m++){var n=o.array[m];if(typeof n==\"string\"){if(n.indexOf(\"-----BEGIN\")!=-1){n={cert:n}}else{if(g(n)){n={hash:n}}else{throw new f(\"unsupported value: \"+n)}}}if(o.alg!=undefined&&n.alg==undefined){n.alg=o.alg}if(o.hasis!=undefined&&n.hasis==undefined){n.hasis=o.hasis}var j=new a(n);k.push(j)}var l=new b({array:k});return[l]};if(h!=undefined){this.setByParam(h)}};extendClass(KJUR.asn1.cades.CompleteCertificateRefs,KJUR.asn1.cms.Attribute);KJUR.asn1.cades.OtherCertID=function(e){var a=KJUR,h=a.asn1,f=h.DERSequence,i=h.cms,g=i.IssuerSerial,c=h.cades,d=c.OtherHashValue,b=c.OtherHashAlgAndValue;c.OtherCertID.superclass.constructor.call(this);this.params=e;this.tohex=function(){var n=this.params;if(typeof n==\"string\"){if(n.indexOf(\"-----BEGIN\")!=-1){n={cert:n}}else{if(_isHex(n)){n={hash:n}}}}var j=[];var m=null;if(n.alg!=undefined){m=new b(n)}else{m=new d(n)}j.push(m);if((n.cert!=undefined&&n.hasis==true)||(n.issuer!=undefined&&n.serial!=undefined)){var l=new g(n);j.push(l)}var k=new f({array:j});return k.tohex()};this.getEncodedHex=function(){return this.tohex()};if(e!=undefined){this.setByParam(e)}};extendClass(KJUR.asn1.cades.OtherCertID,KJUR.asn1.ASN1Object);KJUR.asn1.cades.OtherHash=function(g){var i=Error,a=KJUR,h=a.asn1,j=h.cms,c=h.cades,b=c.OtherHashAlgAndValue,e=c.OtherHashValue,d=a.crypto.Util.hashHex,f=a.lang.String.isHex;c.OtherHash.superclass.constructor.call(this);this.params=null;this.tohex=function(){var l=this.params;if(typeof l==\"string\"){if(l.indexOf(\"-----BEGIN\")!=-1){l={cert:l}}else{if(f(l)){l={hash:l}}}}var k=null;if(l.alg!=undefined){k=new b(l)}else{k=new e(l)}return k.tohex()};this.getEncodedHex=function(){return this.tohex()};if(g!=undefined){this.setByParam(g)}};extendClass(KJUR.asn1.cades.OtherHash,KJUR.asn1.ASN1Object);KJUR.asn1.cades.CAdESUtil=new function(){};KJUR.asn1.cades.CAdESUtil.parseSignedDataForAddingUnsigned=function(a){var c=new KJUR.asn1.cms.CMSParser();var b=c.getCMSSignedData(a);return b};KJUR.asn1.cades.CAdESUtil.parseSignerInfoForAddingUnsigned=function(g,q,c){var p=ASN1HEX,s=p.getChildIdx,a=p.getTLV,l=p.getV,v=KJUR,h=v.asn1,n=h.ASN1Object,j=h.cms,k=j.AttributeList,w=j.SignerInfo;var o={};var t=s(g,q);if(t.length!=6){throw\"not supported items for SignerInfo (!=6)\"}var d=t.shift();o.version=a(g,d);var e=t.shift();o.si=a(g,e);var m=t.shift();o.digalg=a(g,m);var f=t.shift();o.sattrs=a(g,f);var i=t.shift();o.sigalg=a(g,i);var b=t.shift();o.sig=a(g,b);o.sigval=l(g,b);var u=null;o.obj=new w();u=new n();u.hTLV=o.version;o.obj.dCMSVersion=u;u=new n();u.hTLV=o.si;o.obj.dSignerIdentifier=u;u=new n();u.hTLV=o.digalg;o.obj.dDigestAlgorithm=u;u=new n();u.hTLV=o.sattrs;o.obj.dSignedAttrs=u;u=new n();u.hTLV=o.sigalg;o.obj.dSigAlg=u;u=new n();u.hTLV=o.sig;o.obj.dSig=u;o.obj.dUnsignedAttrs=new k();return o};\nif(typeof KJUR.asn1.csr==\"undefined\"||!KJUR.asn1.csr){KJUR.asn1.csr={}}KJUR.asn1.csr.CertificationRequest=function(g){var d=KJUR,c=d.asn1,e=c.DERBitString,b=c.DERSequence,a=c.csr,f=c.x509,h=a.CertificationRequestInfo;a.CertificationRequest.superclass.constructor.call(this);this.setByParam=function(i){this.params=i};this.sign=function(){var j=(new h(this.params)).tohex();var k=new KJUR.crypto.Signature({alg:this.params.sigalg});k.init(this.params.sbjprvkey);k.updateHex(j);var i=k.sign();this.params.sighex=i};this.getPEM=function(){return hextopem(this.tohex(),\"CERTIFICATE REQUEST\")};this.tohex=function(){var l=this.params;var j=new KJUR.asn1.csr.CertificationRequestInfo(this.params);var m=new KJUR.asn1.x509.AlgorithmIdentifier({name:l.sigalg});if(l.sighex==undefined&&l.sbjprvkey!=undefined){this.sign()}if(l.sighex==undefined){throw new Error(\"sighex or sbjprvkey parameter not defined\")}var k=new e({hex:\"00\"+l.sighex});var i=new b({array:[j,m,k]});return i.tohex()};this.getEncodedHex=function(){return this.tohex()};if(g!==undefined){this.setByParam(g)}};extendClass(KJUR.asn1.csr.CertificationRequest,KJUR.asn1.ASN1Object);KJUR.asn1.csr.CertificationRequestInfo=function(f){var b=KJUR,j=b.asn1,c=j.DERBitString,g=j.DERSequence,i=j.DERInteger,p=j.DERUTF8String,d=j.DERTaggedObject,h=j.ASN1Util.newObject,n=j.csr,e=j.x509,a=e.X500Name,l=e.Extensions,o=e.SubjectPublicKeyInfo,k=n.AttributeList;n.CertificationRequestInfo.superclass.constructor.call(this);this.params=null;this.setByParam=function(q){if(q!=undefined){this.params=q}};this.tohex=function(){var v=this.params;var r=[];r.push(new i({\"int\":0}));r.push(new a(v.subject));r.push(new o(KEYUTIL.getKey(v.sbjpubkey)));if(v.attrs!=undefined){var u=m(v.attrs);var t=h({tag:{tage:\"a0\",obj:u}});r.push(t)}else{if(v.extreq!=undefined){var q=new l(v.extreq);var t=h({tag:{tage:\"a0\",obj:{seq:[{oid:\"1.2.840.113549.1.9.14\"},{set:[q]}]}}});r.push(t)}else{r.push(new d({tag:\"a0\",explicit:false,obj:new p({str:\"\"})}))}}var s=new g({array:r});return s.tohex()};this.getEncodedHex=function(){return this.tohex()};function m(s){var w=Error,v=KJUR.asn1.x509.Extensions;var y=[];for(var u=0;u<s.length;u++){var r=s[u];var x=r.attr;if(x==\"extensionRequest\"){var t=new v(r.ext);var q={seq:[{oid:\"1.2.840.113549.1.9.14\"},{set:[t]}]};y.push(q)}else{if(x==\"unstructuredName\"){var q={seq:[{oid:\"1.2.840.113549.1.9.2\"},{set:r.names}]};y.push(q)}else{if(x==\"challengePassword\"){var q={seq:[{oid:\"1.2.840.113549.1.9.7\"},{set:[{utf8str:r.password}]}]};y.push(q)}else{throw new w(\"unknown CSR attribute\")}}}}return{set:y}}if(f!=undefined){this.setByParam(f)}};extendClass(KJUR.asn1.csr.CertificationRequestInfo,KJUR.asn1.ASN1Object);KJUR.asn1.csr.AttributeList=function(b){function a(c){}};extendClass(KJUR.asn1.csr.AttributeList,KJUR.asn1.ASN1Object);KJUR.asn1.csr.CSRUtil=new function(){};KJUR.asn1.csr.CSRUtil.newCSRPEM=function(e){var b=KEYUTIL,a=KJUR.asn1.csr;var c=new a.CertificationRequest(e);var d=c.getPEM();return d};KJUR.asn1.csr.CSRUtil.getParam=function(d,a){var m=ASN1HEX,i=m.getV,j=m.getIdxbyList,b=m.getTLVbyList,o=m.getTLVbyListEx,n=m.getVbyListEx;var l=function(u){var t=j(u,0,[0,3,0,0],\"06\");if(i(u,t)!=\"2a864886f70d01090e\"){return null}return b(u,0,[0,3,0,1,0],\"30\")};var g={};if(d.indexOf(\"-----BEGIN CERTIFICATE REQUEST\")==-1){throw new Error(\"argument is not PEM file\")}var e=pemtohex(d,\"CERTIFICATE REQUEST\");if(a){g.tbs=b(e,0,[0])}try{var p=o(e,0,[0,1]);if(p==\"3000\"){g.subject={}}else{var f=new X509();g.subject=f.getX500Name(p)}}catch(q){}var k=o(e,0,[0,2]);var r=KEYUTIL.getKey(k,null,\"pkcs8pub\");g.sbjpubkey=KEYUTIL.getPEM(r,\"PKCS8PUB\");var c=l(e);var f=new X509();if(c!=null){g.extreq=f.getExtParamArray(c)}try{var h=o(e,0,[1],\"30\");var f=new X509();g.sigalg=f.getAlgorithmIdentifierName(h)}catch(q){}try{var s=n(e,0,[2]);g.sighex=s}catch(q){}return g};KJUR.asn1.csr.CSRUtil.verifySignature=function(b){try{var c=null;if(typeof b==\"string\"&&b.indexOf(\"-----BEGIN CERTIFICATE REQUEST\")!=-1){c=KJUR.asn1.csr.CSRUtil.getParam(b,true)}else{if(typeof b==\"object\"&&b.sbjpubkey!=undefined&&b.sigalg!=undefined&&b.sighex!=undefined&&b.tbs!=undefined){c=b}}if(c==null){return false}var d=new KJUR.crypto.Signature({alg:c.sigalg});d.init(c.sbjpubkey);d.updateHex(c.tbs);return d.verify(c.sighex)}catch(a){alert(a);return false}};\nif(typeof KJUR==\"undefined\"||!KJUR){KJUR={}}if(typeof KJUR.asn1==\"undefined\"||!KJUR.asn1){KJUR.asn1={}}if(typeof KJUR.asn1.ocsp==\"undefined\"||!KJUR.asn1.ocsp){KJUR.asn1.ocsp={}}KJUR.asn1.ocsp.DEFAULT_HASH=\"sha1\";KJUR.asn1.ocsp.OCSPResponse=function(e){KJUR.asn1.ocsp.OCSPResponse.superclass.constructor.call(this);var a=KJUR.asn1.DEREnumerated,b=KJUR.asn1.ASN1Util.newObject,c=KJUR.asn1.ocsp.ResponseBytes;var d=[\"successful\",\"malformedRequest\",\"internalError\",\"tryLater\",\"_not_used_\",\"sigRequired\",\"unauthorized\"];this.params=null;this._getStatusCode=function(){var f=this.params.resstatus;if(typeof f==\"number\"){return f}if(typeof f!=\"string\"){return -1}return d.indexOf(f)};this.setByParam=function(f){this.params=f};this.tohex=function(){var h=this.params;var g=this._getStatusCode();if(g==-1){throw new Error(\"responseStatus not supported: \"+h.resstatus)}if(g!=0){return b({seq:[{\"enum\":{\"int\":g}}]}).tohex()}var f=new c(h);return b({seq:[{\"enum\":{\"int\":0}},{tag:{tag:\"a0\",explicit:true,obj:f}}]}).tohex()};this.getEncodedHex=function(){return this.tohex()};if(e!==undefined){this.setByParam(e)}};extendClass(KJUR.asn1.ocsp.OCSPResponse,KJUR.asn1.ASN1Object);KJUR.asn1.ocsp.ResponseBytes=function(e){KJUR.asn1.ocsp.ResponseBytes.superclass.constructor.call(this);var b=KJUR.asn1,a=b.DERSequence,f=b.DERObjectIdentifier,c=b.DEROctetString,d=b.ocsp.BasicOCSPResponse;this.params=null;this.setByParam=function(g){this.params=g};this.tohex=function(){var j=this.params;if(j.restype!=\"ocspBasic\"){throw new Error(\"not supported responseType: \"+j.restype)}var i=new d(j);var g=[];g.push(new f({name:\"ocspBasic\"}));g.push(new c({hex:i.tohex()}));var h=new a({array:g});return h.tohex()};this.getEncodedHex=function(){return this.tohex()};if(e!==undefined){this.setByParam(e)}};extendClass(KJUR.asn1.ocsp.ResponseBytes,KJUR.asn1.ASN1Object);KJUR.asn1.ocsp.BasicOCSPResponse=function(d){KJUR.asn1.ocsp.BasicOCSPResponse.superclass.constructor.call(this);var i=Error,g=KJUR.asn1,j=g.ASN1Object,e=g.DERSequence,f=g.DERGeneralizedTime,c=g.DERTaggedObject,b=g.DERBitString,h=g.x509.Extensions,k=g.x509.AlgorithmIdentifier,l=g.ocsp,a=l.ResponderID;_SingleResponseList=l.SingleResponseList,_ResponseData=l.ResponseData;this.params=null;this.setByParam=function(m){this.params=m};this.sign=function(){var o=this.params;var m=o.tbsresp.tohex();var n=new KJUR.crypto.Signature({alg:o.sigalg});n.init(o.reskey);n.updateHex(m);o.sighex=n.sign()};this.tohex=function(){var t=this.params;if(t.tbsresp==undefined){t.tbsresp=new _ResponseData(t)}if(t.sighex==undefined&&t.reskey!=undefined){this.sign()}var n=[];n.push(t.tbsresp);n.push(new k({name:t.sigalg}));n.push(new b({hex:\"00\"+t.sighex}));if(t.certs!=undefined&&t.certs.length!=undefined){var m=[];for(var q=0;q<t.certs.length;q++){var s=t.certs[q];var r=null;if(ASN1HEX.isASN1HEX(s)){r=s}else{if(s.match(/-----BEGIN/)){r=pemtohex(s)}else{throw new i(\"certs[\"+q+\"] not hex or PEM\")}}m.push(new j({tlv:r}))}var p=new e({array:m});n.push(new c({tag:\"a0\",explicit:true,obj:p}))}var o=new e({array:n});return o.tohex()};this.getEncodedHex=function(){return this.tohex()};if(d!==undefined){this.setByParam(d)}};extendClass(KJUR.asn1.ocsp.BasicOCSPResponse,KJUR.asn1.ASN1Object);KJUR.asn1.ocsp.ResponseData=function(c){KJUR.asn1.ocsp.ResponseData.superclass.constructor.call(this);var h=Error,f=KJUR.asn1,d=f.DERSequence,e=f.DERGeneralizedTime,b=f.DERTaggedObject,g=f.x509.Extensions,i=f.ocsp,a=i.ResponderID;_SingleResponseList=i.SingleResponseList;this.params=null;this.tohex=function(){var m=this.params;if(m.respid!=undefined){new h(\"respid not specified\")}if(m.prodat!=undefined){new h(\"prodat not specified\")}if(m.array!=undefined){new h(\"array not specified\")}var j=[];j.push(new a(m.respid));j.push(new e(m.prodat));j.push(new _SingleResponseList(m.array));if(m.ext!=undefined){var l=new g(m.ext);j.push(new b({tag:\"a1\",explicit:true,obj:l}))}var k=new d({array:j});return k.tohex()};this.getEncodedHex=function(){return this.tohex()};this.setByParam=function(j){this.params=j};if(c!==undefined){this.setByParam(c)}};extendClass(KJUR.asn1.ocsp.ResponseData,KJUR.asn1.ASN1Object);KJUR.asn1.ocsp.ResponderID=function(g){KJUR.asn1.ocsp.ResponderID.superclass.constructor.call(this);var d=KJUR,c=d.asn1,b=c.ASN1Util.newObject,f=c.x509.X500Name,e=d.lang.String.isHex,a=Error;this.params=null;this.tohex=function(){var m=this.params;if(m.key!=undefined){var l=null;if(typeof m.key==\"string\"){if(e(m.key)){l=m.key}if(m.key.match(/-----BEGIN CERTIFICATE/)){var h=new X509(m.key);var k=h.getExtSubjectKeyIdentifier();if(k!=null){l=k.kid.hex}}}else{if(m.key instanceof X509){var k=m.key.getExtSubjectKeyIdentifier();if(k!=null){l=k.kid.hex}}}if(l==null){throw new a(\"wrong key member value\")}var j=b({tag:{tag:\"a2\",explicit:true,obj:{octstr:{hex:l}}}});return j.tohex()}else{if(m.name!=undefined){var i=null;if(typeof m.name==\"string\"&&m.name.match(/-----BEGIN CERTIFICATE/)){var h=new X509(m.name);i=h.getSubject()}else{if(m.name instanceof X509){i=m.name.getSubject()}else{if(typeof m.name==\"object\"&&(m.name.array!=undefined||m.name.str!=undefined)){i=m.name}}}if(i==null){throw new a(\"wrong name member value\")}var j=b({tag:{tag:\"a1\",explicit:true,obj:new f(i)}});return j.tohex()}}throw new a(\"key or name not specified\")};this.getEncodedHex=function(){return this.tohex()};this.setByParam=function(h){this.params=h};if(g!==undefined){this.setByParam(g)}};extendClass(KJUR.asn1.ocsp.ResponderID,KJUR.asn1.ASN1Object);KJUR.asn1.ocsp.SingleResponseList=function(d){KJUR.asn1.ocsp.SingleResponseList.superclass.constructor.call(this);var c=KJUR.asn1,b=c.DERSequence,a=c.ocsp.SingleResponse;this.params=null;this.tohex=function(){var h=this.params;if(typeof h!=\"object\"||h.length==undefined){throw new Error(\"params not specified properly\")}var e=[];for(var g=0;g<h.length;g++){e.push(new a(h[g]))}var f=new b({array:e});return f.tohex()};this.getEncodedHex=function(){return this.tohex()};this.setByParam=function(e){this.params=e};if(d!==undefined){this.setByParam(d)}};extendClass(KJUR.asn1.ocsp.SingleResponseList,KJUR.asn1.ASN1Object);KJUR.asn1.ocsp.SingleResponse=function(e){var k=Error,a=KJUR,i=a.asn1,f=i.DERSequence,g=i.DERGeneralizedTime,b=i.DERTaggedObject,l=i.ocsp,h=l.CertID,c=l.CertStatus,d=i.x509,j=d.Extensions;l.SingleResponse.superclass.constructor.call(this);this.params=null;this.tohex=function(){var q=this.params;var n=[];if(q.certid==undefined){throw new k(\"certid unspecified\")}if(q.status==undefined){throw new k(\"status unspecified\")}if(q.thisupdate==undefined){throw new k(\"thisupdate unspecified\")}n.push(new h(q.certid));n.push(new c(q.status));n.push(new g(q.thisupdate));if(q.nextupdate!=undefined){var m=new g(q.nextupdate);n.push(new b({tag:\"a0\",explicit:true,obj:m}))}if(q.ext!=undefined){var p=new j(q.ext);n.push(new b({tag:\"a1\",explicit:true,obj:p}))}var o=new f({array:n});return o.tohex()};this.getEncodedHex=function(){return this.tohex()};this.setByParam=function(m){this.params=m};if(e!==undefined){this.setByParam(e)}};extendClass(KJUR.asn1.ocsp.SingleResponse,KJUR.asn1.ASN1Object);KJUR.asn1.ocsp.CertID=function(e){var b=KJUR,i=b.asn1,l=i.DEROctetString,h=i.DERInteger,f=i.DERSequence,d=i.x509,m=d.AlgorithmIdentifier,n=i.ocsp,k=n.DEFAULT_HASH,g=b.crypto,c=g.Util.hashHex,a=X509,o=ASN1HEX,j=o.getVbyList;n.CertID.superclass.constructor.call(this);this.DEFAULT_HASH=\"sha1\";this.params=null;this.setByValue=function(s,r,p,q){if(q==undefined){q=this.DEFAULT_HASH}this.params={alg:q,issname:s,isskey:r,sbjsn:p}};this.setByCert=function(p,q,r){if(r==undefined){r=this.DEFAULT_HASH}this.params={alg:r,issuerCert:p,subjectCert:q,}};this.getParamByCerts=function(y,x,t){if(t==undefined){t=this.DEFAULT_HASH}var q=new a(y);var v=new a(x);var s=c(q.getSubjectHex(),t);var u=q.getPublicKeyHex();var p=c(j(u,0,[1],\"03\",true),t);var w=v.getSerialNumberHex();var r={alg:t,issname:s,isskey:p,sbjsn:w};return r};this.tohex=function(){if(typeof this.params!=\"object\"){throw new Error(\"params not set\")}var s=this.params;var u,r,y,q;if(s.alg==undefined){q=this.DEFAULT_HASH}else{q=s.alg}if(s.issuerCert!=undefined&&s.subjectCert!=undefined){var t=this.getParamByCerts(s.issuerCert,s.subjectCert,q);u=t.issname;r=t.isskey;y=t.sbjsn}else{if(s.issname!=undefined&&s.isskey!=undefined&&s.sbjsn!=undefined){u=s.issname;r=s.isskey;y=s.sbjsn}else{throw new Error(\"required param members not defined\")}}var A=new m({name:q});var v=new l({hex:u});var x=new l({hex:r});var w=new h({hex:y});var z=new f({array:[A,v,x,w]});this.hTLV=z.tohex();return this.hTLV};this.getEncodedHex=function(){return this.tohex()};if(e!==undefined){this.setByParam(e)}};extendClass(KJUR.asn1.ocsp.CertID,KJUR.asn1.ASN1Object);KJUR.asn1.ocsp.CertStatus=function(a){KJUR.asn1.ocsp.CertStatus.superclass.constructor.call(this);this.params=null;this.tohex=function(){var d=this.params;if(d.status==\"good\"){return\"8000\"}if(d.status==\"unknown\"){return\"8200\"}if(d.status==\"revoked\"){var c=[{gentime:{str:d.time}}];if(d.reason!=undefined){c.push({tag:{tag:\"a0\",explicit:true,obj:{\"enum\":{\"int\":d.reason}}}})}var b={tag:\"a1\",explicit:false,obj:{seq:c}};return KJUR.asn1.ASN1Util.newObject({tag:b}).tohex()}throw new Error(\"bad status\")};this.getEncodedHex=function(){return this.tohex()};this.setByParam=function(b){this.params=b};if(a!==undefined){this.setByParam(a)}};extendClass(KJUR.asn1.ocsp.CertStatus,KJUR.asn1.ASN1Object);KJUR.asn1.ocsp.Request=function(f){var c=KJUR,b=c.asn1,a=b.DERSequence,d=b.ocsp;d.Request.superclass.constructor.call(this);this.dReqCert=null;this.dExt=null;this.tohex=function(){var g=[];if(this.dReqCert===null){throw\"reqCert not set\"}g.push(this.dReqCert);var h=new a({array:g});this.hTLV=h.tohex();return this.hTLV};this.getEncodedHex=function(){return this.tohex()};if(typeof f!==\"undefined\"){var e=new d.CertID(f);this.dReqCert=e}};extendClass(KJUR.asn1.ocsp.Request,KJUR.asn1.ASN1Object);KJUR.asn1.ocsp.TBSRequest=function(e){var c=KJUR,b=c.asn1,a=b.DERSequence,d=b.ocsp;d.TBSRequest.superclass.constructor.call(this);this.version=0;this.dRequestorName=null;this.dRequestList=[];this.dRequestExt=null;this.setRequestListByParam=function(h){var f=[];for(var g=0;g<h.length;g++){var j=new d.Request(h[0]);f.push(j)}this.dRequestList=f};this.tohex=function(){var f=[];if(this.version!==0){throw\"not supported version: \"+this.version}if(this.dRequestorName!==null){throw\"requestorName not supported\"}var h=new a({array:this.dRequestList});f.push(h);if(this.dRequestExt!==null){throw\"requestExtensions not supported\"}var g=new a({array:f});this.hTLV=g.tohex();return this.hTLV};this.getEncodedHex=function(){return this.tohex()};if(e!==undefined){if(e.reqList!==undefined){this.setRequestListByParam(e.reqList)}}};extendClass(KJUR.asn1.ocsp.TBSRequest,KJUR.asn1.ASN1Object);KJUR.asn1.ocsp.OCSPRequest=function(f){var c=KJUR,b=c.asn1,a=b.DERSequence,d=b.ocsp;d.OCSPRequest.superclass.constructor.call(this);this.dTbsRequest=null;this.dOptionalSignature=null;this.tohex=function(){var g=[];if(this.dTbsRequest!==null){g.push(this.dTbsRequest)}else{throw\"tbsRequest not set\"}if(this.dOptionalSignature!==null){throw\"optionalSignature not supported\"}var h=new a({array:g});this.hTLV=h.tohex();return this.hTLV};this.getEncodedHex=function(){return this.tohex()};if(f!==undefined){if(f.reqList!==undefined){var e=new d.TBSRequest(f);this.dTbsRequest=e}}};extendClass(KJUR.asn1.ocsp.OCSPRequest,KJUR.asn1.ASN1Object);KJUR.asn1.ocsp.OCSPUtil={};KJUR.asn1.ocsp.OCSPUtil.getRequestHex=function(a,b,h){var d=KJUR,c=d.asn1,e=c.ocsp;if(h===undefined){h=e.DEFAULT_HASH}var g={alg:h,issuerCert:a,subjectCert:b};var f=new e.OCSPRequest({reqList:[g]});return f.tohex()};KJUR.asn1.ocsp.OCSPUtil.getOCSPResponseInfo=function(b){var m=ASN1HEX,c=m.getVbyList,k=m.getVbyListEx,e=m.getIdxbyList,d=m.getIdxbyListEx,g=m.getV;var n={};try{var j=k(b,0,[0],\"0a\");n.responseStatus=parseInt(j,16)}catch(f){}if(n.responseStatus!==0){return n}try{var i=e(b,0,[1,0,1,0,0,2,0,1]);if(b.substr(i,2)===\"80\"){n.certStatus=\"good\"}else{if(b.substr(i,2)===\"a1\"){n.certStatus=\"revoked\";n.revocationTime=hextoutf8(c(b,i,[0]))}else{if(b.substr(i,2)===\"82\"){n.certStatus=\"unknown\"}}}}catch(f){}try{var a=e(b,0,[1,0,1,0,0,2,0,2]);n.thisUpdate=hextoutf8(g(b,a))}catch(f){}try{var l=e(b,0,[1,0,1,0,0,2,0,3]);if(b.substr(l,2)===\"a0\"){n.nextUpdate=hextoutf8(c(b,l,[0]))}}catch(f){}return n};KJUR.asn1.ocsp.OCSPParser=function(){var g=Error,a=X509,h=new a(),l=ASN1HEX,i=l.getV,b=l.getTLV,f=l.getIdxbyList,e=l.getVbyList,c=l.getTLVbyList,k=l.getVbyListEx,d=l.getTLVbyListEx,j=l.getChildIdx;this.getOCSPRequest=function(o){var n=j(o,0);if(n.length!=1&&n.length!=2){throw new g(\"wrong number elements: \"+n.length)}var m=this.getTBSRequest(b(o,n[0]));return m};this.getTBSRequest=function(o){var m={};var n=d(o,0,[0],\"30\");m.array=this.getRequestList(n);var p=d(o,0,[\"[2]\",0],\"30\");if(p!=null){m.ext=h.getExtParamArray(p)}return m};this.getRequestList=function(p){var m=[];var n=j(p,0);for(var o=0;o<n.length;o++){var p=b(p,n[o]);m.push(this.getRequest(p))}return m};this.getRequest=function(n){var m=j(n,0);if(m.length!=1&&m.length!=2){throw new g(\"wrong number elements: \"+m.length)}var p=this.getCertID(b(n,m[0]));if(m.length==2){var o=f(n,0,[1,0]);p.ext=h.getExtParamArray(b(n,o))}return p};this.getCertID=function(p){var o=j(p,0);if(o.length!=4){throw new g(\"wrong number elements: \"+o.length)}var n=new a();var m={};m.alg=n.getAlgorithmIdentifierName(b(p,o[0]));m.issname=i(p,o[1]);m.isskey=i(p,o[2]);m.sbjsn=i(p,o[3]);return m};this.getOCSPResponse=function(r){var o=j(r,0);var m;var q=i(r,o[0]);var p=parseInt(q);if(o.length==1){return{resstatus:p}}var n=c(r,0,[1,0]);m=this.getResponseBytes(n);m.resstatus=p;return m};this.getResponseBytes=function(p){var o=j(p,0);var n;var q=c(p,0,[1,0]);n=this.getBasicOCSPResponse(q);var m=i(p,o[0]);n.restype=KJUR.asn1.x509.OID.oid2name(hextooid(m));return n};this.getBasicOCSPResponse=function(q){var t=j(q,0);var v;v=this.getResponseData(b(q,t[0]));var u=new X509();v.alg=u.getAlgorithmIdentifierName(b(q,t[1]));var n=i(q,t[2]);v.sighex=n.substr(2);var m=k(q,0,[\"[0]\"]);if(m!=null){var r=j(m,0);var o=[];for(var p=0;p<r.length;p++){var s=b(m,r[p]);o.push(s)}v.certs=o}return v};this.getResponseData=function(q){var p=j(q,0);var r=p.length;var o={};var n=0;if(q.substr(p[0],2)==\"a0\"){n++}o.respid=this.getResponderID(b(q,p[n++]));var t=i(q,p[n++]);o.prodat=hextoutf8(t);o.array=this.getSingleResponseList(b(q,p[n++]));if(q.substr(p[r-1],2)==\"a1\"){var s=c(q,p[r-1],[0]);var m=new X509();o.ext=m.getExtParamArray(s)}return o};this.getResponderID=function(o){var n={};if(o.substr(0,2)==\"a2\"){var p=e(o,0,[0]);n.key=p}if(o.substr(0,2)==\"a1\"){var q=c(o,0,[0]);var m=new X509();n.name=m.getX500Name(q)}return n};this.getSingleResponseList=function(q){var n=j(q,0);var m=[];for(var o=0;o<n.length;o++){var r=this.getSingleResponse(b(q,n[o]));m.push(r)}return m};this.getSingleResponse=function(p){var t=j(p,0);var v={};var r=this.getCertID(b(p,t[0]));v.certid=r;var u=this.getCertStatus(b(p,t[1]));v.status=u;if(p.substr(t[2],2)==\"18\"){var q=i(p,t[2]);v.thisupdate=hextoutf8(q)}for(var o=3;o<t.length;o++){if(p.substr(t[o],2)==\"a0\"){var m=e(p,t[o],[0],\"18\");v.nextupdate=hextoutf8(m)}if(p.substr(t[o],2)==\"a1\"){var s=new X509();var n=c(p,0,[o,0]);v.ext=s.getExtParamArray(n)}}return v};this.getCertStatus=function(p){var m={};if(p==\"8000\"){return{status:\"good\"}}if(p==\"8200\"){return{status:\"unknown\"}}if(p.substr(0,2)==\"a1\"){m.status=\"revoked\";var o=e(p,0,[0]);var n=hextoutf8(o);m.time=n}return m}};\nvar KJUR;if(typeof KJUR==\"undefined\"||!KJUR){KJUR={}}if(typeof KJUR.lang==\"undefined\"||!KJUR.lang){KJUR.lang={}}KJUR.lang.String=function(){};function Base64x(){}function stoBA(d){var b=new Array();for(var c=0;c<d.length;c++){b[c]=d.charCodeAt(c)}return b}function BAtos(b){var d=\"\";for(var c=0;c<b.length;c++){d=d+String.fromCharCode(b[c])}return d}function BAtohex(b){var e=\"\";for(var d=0;d<b.length;d++){var c=b[d].toString(16);if(c.length==1){c=\"0\"+c}e=e+c}return e}function stohex(a){return BAtohex(stoBA(a))}function stob64(a){return hex2b64(stohex(a))}function stob64u(a){return b64tob64u(hex2b64(stohex(a)))}function b64utos(a){return BAtos(b64toBA(b64utob64(a)))}function b64tob64u(a){a=a.replace(/\\=/g,\"\");a=a.replace(/\\+/g,\"-\");a=a.replace(/\\//g,\"_\");return a}function b64utob64(a){if(a.length%4==2){a=a+\"==\"}else{if(a.length%4==3){a=a+\"=\"}}a=a.replace(/-/g,\"+\");a=a.replace(/_/g,\"/\");return a}function hextob64u(a){if(a.length%2==1){a=\"0\"+a}return b64tob64u(hex2b64(a))}function b64utohex(a){return b64tohex(b64utob64(a))}var utf8tob64u,b64utoutf8;if(typeof Buffer===\"function\"){utf8tob64u=function(a){return b64tob64u(Buffer.from(a,\"utf8\").toString(\"base64\"))};b64utoutf8=function(a){return Buffer.from(b64utob64(a),\"base64\").toString(\"utf8\")}}else{utf8tob64u=function(a){return hextob64u(uricmptohex(encodeURIComponentAll(a)))};b64utoutf8=function(a){return decodeURIComponent(hextouricmp(b64utohex(a)))}}function utf8tob64(a){return hex2b64(uricmptohex(encodeURIComponentAll(a)))}function b64toutf8(a){return decodeURIComponent(hextouricmp(b64tohex(a)))}function utf8tohex(a){return uricmptohex(encodeURIComponentAll(a)).toLowerCase()}function hextoutf8(b){try{return decodeURIComponent(hextouricmp(b))}catch(a){return null}}function iso88591hextoutf8(a){return hextoutf8(iso88591hextoutf8hex(a))}function utf8toiso88591hex(a){return utf8hextoiso88591hex(utf8tohex(a))}function iso88591hextoutf8hex(e){var c=e.match(/.{1,2}/g);var b=[];for(var d=0;d<c.length;d++){var f=parseInt(c[d],16);if(161<=f&&f<=191){b.push(\"c2\");b.push(c[d])}else{if(192<=f&&f<=255){b.push(\"c3\");b.push((f-64).toString(16))}else{b.push(c[d])}}}return b.join(\"\")}function utf8hextoiso88591hex(f){var c=f.match(/.{1,2}/g);var b=[];for(var e=0;e<c.length;e++){if(c[e]==\"c2\"){e++;b.push(c[e])}else{if(c[e]==\"c3\"){e++;var d=c[e];var g=parseInt(c[e],16)+64;b.push(g.toString(16))}else{b.push(c[e])}}}return b.join(\"\")}function hextorstr(c){var b=\"\";for(var a=0;a<c.length-1;a+=2){b+=String.fromCharCode(parseInt(c.substr(a,2),16))}return b}function rstrtohex(c){var a=\"\";for(var b=0;b<c.length;b++){a+=(\"0\"+c.charCodeAt(b).toString(16)).slice(-2)}return a}function hextob64(a){return hex2b64(a)}function hextob64nl(a){return foldnl(hextob64(a),64)}function foldnl(a,b){a=a.replace(new RegExp(\"(.{\"+b+\"})\",\"g\"),\"$1\\r\\n\");a=a.replace(/\\s+$/,\"\");return a}function b64nltohex(b){var a=b.replace(/[^0-9A-Za-z\\/+=]*/g,\"\");var c=b64tohex(a);return c}function b64topem(b,a){return\"-----BEGIN \"+a+\"-----\\r\\n\"+foldnl(b,64)+\"\\r\\n-----END \"+a+\"-----\\r\\n\"}function hextopem(a,b){return\"-----BEGIN \"+b+\"-----\\r\\n\"+foldnl(hextob64(a),64)+\"\\r\\n-----END \"+b+\"-----\\r\\n\"}function pemtohex(a,b){if(a.indexOf(\"-----BEGIN \")==-1){throw new Error(\"can't find PEM header\")}if(b!==undefined){a=a.replace(new RegExp(\"^[^]*-----BEGIN \"+b+\"-----\"),\"\");a=a.replace(new RegExp(\"-----END \"+b+\"-----[^]*$\"),\"\")}else{a=a.replace(/^[^]*-----BEGIN [^-]+-----/,\"\");a=a.replace(/-----END [^-]+-----[^]*$/,\"\")}return b64nltohex(a)}function pemtob64(a){if(a.indexOf(\"-----BEGIN \")==-1||a.indexOf(\"-----END \")==-1){return null}a=a.replace(/^[\\s\\S]*?-----BEGIN [^-]+-----/m,\"\");a=a.replace(/-----END [\\s\\S]+$/m,\"\");a=a.replace(/\\s+/g,\"\");return(a.match(/^[0-9a-zA-Z+/=]+$/))?a:null}function hextoArrayBuffer(d){if(d.length%2!=0){throw\"input is not even length\"}if(d.match(/^[0-9A-Fa-f]+$/)==null){throw\"input is not hexadecimal\"}var b=new ArrayBuffer(d.length/2);var a=new DataView(b);for(var c=0;c<d.length/2;c++){a.setUint8(c,parseInt(d.substr(c*2,2),16))}return b}function ArrayBuffertohex(b){var d=\"\";var a=new DataView(b);for(var c=0;c<b.byteLength;c++){d+=(\"00\"+a.getUint8(c).toString(16)).slice(-2)}return d}function zulutomsec(n){var l,j,m,e,f,i,b,k;var a,h,g,c;n=timetogen(n);c=n.match(/^(\\d{4})(\\d\\d)(\\d\\d)(\\d\\d)(\\d\\d)(\\d\\d)(|\\.\\d+)Z$/);if(c){l=parseInt(c[1]);j=parseInt(c[2])-1;m=parseInt(c[3]);e=parseInt(c[4]);f=parseInt(c[5]);i=parseInt(c[6]);b=0;h=c[7];if(h!==\"\"){g=(h.substr(1)+\"00\").substr(0,3);b=parseInt(g)}return Date.UTC(l,j,m,e,f,i,b)}throw new Error(\"unsupported zulu format: \"+n)}function msectozulu(b){var h=new Date(b),i=(\"0000\"+h.getUTCFullYear()).slice(-4),c=(\"00\"+(h.getUTCMonth()+1)).slice(-2),j=(\"00\"+h.getUTCDate()).slice(-2),e=(\"00\"+h.getUTCHours()).slice(-2),f=(\"00\"+h.getUTCMinutes()).slice(-2),g=(\"00\"+h.getUTCSeconds()).slice(-2),a=(\"000\"+h.getUTCMilliseconds()).slice(-3);a=a.replace(/0+$/,\"\");a=(a!=\"\")?\".\"+a:a;return i+c+j+e+f+g+a+\"Z\"}function zulutosec(a){return Math.round(zulutomsec(a)/1000)}function zulutodate(a){return new Date(zulutomsec(a))}function datetozulu(g,e,f){var b;var a=g.getUTCFullYear();if(e){if(a<1950||2049<a){throw\"not proper year for UTCTime: \"+a}b=(\"\"+a).slice(-2)}else{b=(\"000\"+a).slice(-4)}b+=(\"0\"+(g.getUTCMonth()+1)).slice(-2);b+=(\"0\"+g.getUTCDate()).slice(-2);b+=(\"0\"+g.getUTCHours()).slice(-2);b+=(\"0\"+g.getUTCMinutes()).slice(-2);b+=(\"0\"+g.getUTCSeconds()).slice(-2);if(f){var c=g.getUTCMilliseconds();if(c!==0){c=(\"00\"+c).slice(-3);c=c.replace(/0+$/g,\"\");b+=\".\"+c}}b+=\"Z\";return b}function timetogen(a){if(a.match(/^[0-9]{12}Z$/)||a.match(/^[0-9]{12}[.][0-9]*Z$/)){return(a.match(/^[0-4]/))?\"20\"+a:\"19\"+a}return a}function uricmptohex(a){return a.replace(/%/g,\"\")}function hextouricmp(a){return a.replace(/(..)/g,\"%$1\")}function ipv6tohex(g){var b=\"malformed IPv6 address\";if(!g.match(/^[0-9A-Fa-f:]+$/)){throw b}g=g.toLowerCase();var d=g.split(\":\").length-1;if(d<2){throw b}var e=\":\".repeat(7-d+2);g=g.replace(\"::\",e);var c=g.split(\":\");if(c.length!=8){throw b}for(var f=0;f<8;f++){c[f]=(\"0000\"+c[f]).slice(-4)}return c.join(\"\")}function hextoipv6(d){if(!d.match(/^[0-9A-Fa-f]{32}$/)){throw new Error(\"malformed IPv6 address: \"+d)}d=d.toLowerCase();var b=d.match(/.{1,4}/g);b=b.map(function(a){return a.replace(/^0+/,\"\")});b=b.map(function(a){return a==\"\"?\"0\":a});d=\":\"+b.join(\":\")+\":\";var c=d.match(/:(0:){2,}/g);if(c==null){return d.slice(1,-1)}var e=c.sort().slice(-1)[0];d=d.replace(e.substr(0,e.length-1),\":\");if(d.substr(0,2)!=\"::\"){d=d.substr(1)}if(d.substr(-2,2)!=\"::\"){d=d.substr(0,d.length-1)}return d}function hextoip(b){var c=new Error(\"malformed hex value\");if(!b.match(/^([0-9A-Fa-f][0-9A-Fa-f]){1,}$/)){throw c}if(b.length==8){var d;try{d=parseInt(b.substr(0,2),16)+\".\"+parseInt(b.substr(2,2),16)+\".\"+parseInt(b.substr(4,2),16)+\".\"+parseInt(b.substr(6,2),16);return d}catch(a){throw c}}else{if(b.length==16){try{return hextoip(b.substr(0,8))+\"/\"+ipprefixlen(b.substr(8))}catch(a){throw c}}else{if(b.length==32){return hextoipv6(b)}else{if(b.length==64){try{return hextoipv6(b.substr(0,32))+\"/\"+ipprefixlen(b.substr(32))}catch(a){throw c}return}else{return b}}}}}function ipprefixlen(c){var d=new Error(\"malformed mask\");var a;try{a=new BigInteger(c,16).toString(2)}catch(b){throw d}if(!a.match(/^1*0*$/)){throw d}return a.replace(/0+$/,\"\").length}function iptohex(g){var j=new Error(\"malformed IP address\");g=g.toLowerCase(g);if(!g.match(/^[0-9a-f.:/]+$/)){throw j}if(g.match(/^[0-9.]+$/)){var b=g.split(\".\");if(b.length!==4){throw j}var h=\"\";try{for(var f=0;f<4;f++){var k=parseInt(b[f]);h+=(\"0\"+k.toString(16)).slice(-2)}return h}catch(e){throw j}}else{if(g.match(/^[0-9.]+\\/[0-9]+$/)){var c=g.split(\"/\");return iptohex(c[0])+ipnetmask(parseInt(c[1]),32)}else{if(g.match(/^[0-9a-f:]+$/)&&g.indexOf(\":\")!==-1){return ipv6tohex(g)}else{if(g.match(/^[0-9a-f:]+\\/[0-9]+$/)&&g.indexOf(\":\")!==-1){var c=g.split(\"/\");return ipv6tohex(c[0])+ipnetmask(parseInt(c[1]),128)}else{throw j}}}}}function ipnetmask(d,c){if(c==32&&d==0){return\"00000000\"}if(c==128&&d==0){return\"00000000000000000000000000000000\"}var a=Array(d+1).join(\"1\")+Array(c-d+1).join(\"0\");return new BigInteger(a,2).toString(16)}function ucs2hextoutf8(d){function e(f){var h=parseInt(f.substr(0,2),16);var a=parseInt(f.substr(2),16);if(h==0&a<128){return String.fromCharCode(a)}if(h<8){var j=192|((h&7)<<3)|((a&192)>>6);var i=128|(a&63);return hextoutf8(j.toString(16)+i.toString(16))}var j=224|((h&240)>>4);var i=128|((h&15)<<2)|((a&192)>>6);var g=128|(a&63);return hextoutf8(j.toString(16)+i.toString(16)+g.toString(16))}var c=d.match(/.{4}/g);var b=c.map(e);return b.join(\"\")}function encodeURIComponentAll(a){var d=encodeURIComponent(a);var b=\"\";for(var c=0;c<d.length;c++){if(d[c]==\"%\"){b=b+d.substr(c,3);c=c+2}else{b=b+\"%\"+stohex(d[c])}}return b}function newline_toUnix(a){a=a.replace(/\\r\\n/mg,\"\\n\");return a}function newline_toDos(a){a=a.replace(/\\r\\n/mg,\"\\n\");a=a.replace(/\\n/mg,\"\\r\\n\");return a}KJUR.lang.String.isInteger=function(a){if(a.match(/^[0-9]+$/)){return true}else{if(a.match(/^-[0-9]+$/)){return true}else{return false}}};KJUR.lang.String.isHex=function(a){return ishex(a)};function ishex(a){if(a.length%2==0&&(a.match(/^[0-9a-f]+$/)||a.match(/^[0-9A-F]+$/))){return true}else{return false}}KJUR.lang.String.isBase64=function(a){a=a.replace(/\\s+/g,\"\");if(a.match(/^[0-9A-Za-z+\\/]+={0,3}$/)&&a.length%4==0){return true}else{return false}};KJUR.lang.String.isBase64URL=function(a){if(a.match(/[+/=]/)){return false}a=b64utob64(a);return KJUR.lang.String.isBase64(a)};function isBase64URLDot(a){if(a.match(/^[0-9A-Za-z-_.]+$/)){return true}return false}KJUR.lang.String.isIntegerArray=function(a){a=a.replace(/\\s+/g,\"\");if(a.match(/^\\[[0-9,]+\\]$/)){return true}else{return false}};KJUR.lang.String.isPrintable=function(a){if(a.match(/^[0-9A-Za-z '()+,-./:=?]*$/)!==null){return true}return false};KJUR.lang.String.isIA5=function(a){if(a.match(/^[\\x20-\\x21\\x23-\\x7f]*$/)!==null){return true}return false};KJUR.lang.String.isMail=function(a){if(a.match(/^[A-Za-z0-9]{1}[A-Za-z0-9_.-]*@{1}[A-Za-z0-9_.-]{1,}\\.[A-Za-z0-9]{1,}$/)!==null){return true}return false};function hextoposhex(a){if(a.length%2==1){return\"0\"+a}if(a.substr(0,1)>\"7\"){return\"00\"+a}return a}function intarystrtohex(b){b=b.replace(/^\\s*\\[\\s*/,\"\");b=b.replace(/\\s*\\]\\s*$/,\"\");b=b.replace(/\\s*/g,\"\");try{var c=b.split(/,/).map(function(g,e,h){var f=parseInt(g);if(f<0||255<f){throw\"integer not in range 0-255\"}var d=(\"00\"+f.toString(16)).slice(-2);return d}).join(\"\");return c}catch(a){throw\"malformed integer array string: \"+a}}var strdiffidx=function(c,a){var d=c.length;if(c.length>a.length){d=a.length}for(var b=0;b<d;b++){if(c.charCodeAt(b)!=a.charCodeAt(b)){return b}}if(c.length!=a.length){return d}return -1};function timingSafeEqual(b,a){if(typeof b!=\"string\"||typeof a!=\"string\"){throw new Error(\"arguments shall be string\")}if(b.length!==a.length){throw new Error(\"input strings must have the same length\")}if(typeof Buffer===\"function\"&&typeof crypto!==\"undefined\"){if(crypto.timingSafeEqual!==undefined){return crypto.timingSafeEqual(Buffer.from(b),Buffer.from(a))}if(crypto.subtle!==undefined&&crypto.subtle.timingSafeEqual){return crypto.subtle.timingSafeEqual(Buffer.from(b),Buffer.from(a))}}return timingSafeEqualImpl(b,a)}function timingSafeEqualImpl(c,a){if(typeof c!=\"string\"||typeof a!=\"string\"){throw new Error(\"arguments shall be string\")}if(c.length!==a.length){throw new Error(\"input strings must have the same length\")}const e=a.slice();var d=0;for(var b=0;b<c.length;b++){d|=c.charCodeAt(b)^e.charCodeAt(b)}return d===0}function oidtohex(g){var f=function(a){var l=a.toString(16);if(l.length==1){l=\"0\"+l}return l};var e=function(p){var o=\"\";var l=parseInt(p,10);var a=l.toString(2);var m=7-a.length%7;if(m==7){m=0}var r=\"\";for(var n=0;n<m;n++){r+=\"0\"}a=r+a;for(var n=0;n<a.length-1;n+=7){var q=a.substr(n,7);if(n!=a.length-7){q=\"1\"+q}o+=f(parseInt(q,2))}return o};try{if(!g.match(/^[0-9.]+$/)){return null}var j=\"\";var b=g.split(\".\");var k=parseInt(b[0],10)*40+parseInt(b[1],10);j+=f(k);b.splice(0,2);for(var d=0;d<b.length;d++){j+=e(b[d])}return j}catch(c){return null}}function hextooid(g){if(!ishex(g)){return null}try{var m=[];var p=g.substr(0,2);var e=parseInt(p,16);m[0]=new String(Math.floor(e/40));m[1]=new String(e%40);var n=g.substr(2);var l=[];for(var f=0;f<n.length/2;f++){l.push(parseInt(n.substr(f*2,2),16))}var k=[];var d=\"\";for(var f=0;f<l.length;f++){if(l[f]&128){d=d+strpad((l[f]&127).toString(2),7)}else{d=d+strpad((l[f]&127).toString(2),7);k.push(new String(parseInt(d,2)));d=\"\"}}var o=m.join(\".\");if(k.length>0){o=o+\".\"+k.join(\".\")}return o}catch(j){return null}}function inttohex(b){var a=new BigInteger(String(b),10);return twoscompl(a)}function twoscompl(b){var g=b.toString(16);if(g.substr(0,1)!=\"-\"){if(g.length%2==1){g=\"0\"+g}else{if(!g.match(/^[0-7]/)){g=\"00\"+g}}return g}var a=g.substr(1);var f=a.length;if(f%2==1){f+=1}else{if(!g.match(/^[0-7]/)){f+=2}}var j=\"\";for(var e=0;e<f;e++){j+=\"f\"}var d=new BigInteger(j,16);var c=d.xor(b).add(BigInteger.ONE);g=c.toString(16).replace(/^-/,\"\");return g}var strpad=function(c,b,a){if(a==undefined){a=\"0\"}if(c.length>=b){return c}return new Array(b-c.length+1).join(a)+c};function bitstrtoint(e){if(e.length%2!=0){return -1}e=e.toLowerCase();if(e.match(/^[0-9a-f]+$/)==null){return -1}try{var a=e.substr(0,2);if(a==\"00\"){return parseInt(e.substr(2),16)}var b=parseInt(a,16);if(b>7){return -1}var g=e.substr(2);var d=parseInt(g,16).toString(2);if(d==\"0\"){d=\"00000000\"}d=d.slice(0,0-b);var f=parseInt(d,2);if(f==NaN){return -1}return f}catch(c){return -1}}function inttobitstr(e){if(typeof e!=\"number\"){return null}if(e<0){return null}var c=Number(e).toString(2);var b=8-c.length%8;if(b==8){b=0}c=c+strpad(\"\",b,\"0\");var d=parseInt(c,2).toString(16);if(d.length%2==1){d=\"0\"+d}var a=\"0\"+b;return a+d}function bitstrtobinstr(g){if(typeof g!=\"string\"){return null}if(g.length%2!=0){return null}if(!g.match(/^[0-9a-f]+$/)){return null}try{var c=parseInt(g.substr(0,2),16);if(c<0||7<c){return null}var j=g.substr(2);var f=\"\";for(var e=0;e<j.length;e+=2){var b=j.substr(e,2);var a=parseInt(b,16).toString(2);a=(\"0000000\"+a).slice(-8);f+=a}return f.substr(0,f.length-c)}catch(d){return null}}function binstrtobitstr(b){if(typeof b!=\"string\"){return null}if(b.match(/^[01]+$/)==null){return null}try{var c=parseInt(b,2);return inttobitstr(c)}catch(a){return null}}function namearraytobinstr(e,g){var f=0;for(var a=0;a<e.length;a++){f|=1<<g[e[a]]}var b=f.toString(2);var c=\"\";for(var a=b.length-1;a>=0;a--){c+=b[a]}return c}function aryval(e,c,d){if(typeof e!=\"object\"){return undefined}var c=String(c).split(\".\");for(var b=0;b<c.length&&e;b++){var a=c[b];if(a.match(/^[0-9]+$/)){a=parseInt(a)}e=e[a]}return e||e===false?e:d}function extendClass(c,a){var b=function(){};b.prototype=a.prototype;c.prototype=new b();c.prototype.constructor=c;c.superclass=a.prototype;if(a.prototype.constructor==Object.prototype.constructor){a.prototype.constructor=a}};\nif(typeof KJUR==\"undefined\"||!KJUR){KJUR={}}if(typeof KJUR.crypto==\"undefined\"||!KJUR.crypto){KJUR.crypto={}}KJUR.crypto.Util=new function(){this.DIGESTINFOHEAD={sha1:\"3021300906052b0e03021a05000414\",sha224:\"302d300d06096086480165030402040500041c\",sha256:\"3031300d060960864801650304020105000420\",sha384:\"3041300d060960864801650304020205000430\",sha512:\"3051300d060960864801650304020305000440\",md2:\"3020300c06082a864886f70d020205000410\",md5:\"3020300c06082a864886f70d020505000410\",ripemd160:\"3021300906052b2403020105000414\",};this.DEFAULTPROVIDER={md5:\"cryptojs\",sha1:\"cryptojs\",sha224:\"cryptojs\",sha256:\"cryptojs\",sha384:\"cryptojs\",sha512:\"cryptojs\",ripemd160:\"cryptojs\",hmacmd5:\"cryptojs\",hmacsha1:\"cryptojs\",hmacsha224:\"cryptojs\",hmacsha256:\"cryptojs\",hmacsha384:\"cryptojs\",hmacsha512:\"cryptojs\",hmacripemd160:\"cryptojs\",MD5withRSA:\"cryptojs/jsrsa\",SHA1withRSA:\"cryptojs/jsrsa\",SHA224withRSA:\"cryptojs/jsrsa\",SHA256withRSA:\"cryptojs/jsrsa\",SHA384withRSA:\"cryptojs/jsrsa\",SHA512withRSA:\"cryptojs/jsrsa\",RIPEMD160withRSA:\"cryptojs/jsrsa\",MD5withECDSA:\"cryptojs/jsrsa\",SHA1withECDSA:\"cryptojs/jsrsa\",SHA224withECDSA:\"cryptojs/jsrsa\",SHA256withECDSA:\"cryptojs/jsrsa\",SHA384withECDSA:\"cryptojs/jsrsa\",SHA512withECDSA:\"cryptojs/jsrsa\",RIPEMD160withECDSA:\"cryptojs/jsrsa\",SHA1withDSA:\"cryptojs/jsrsa\",SHA224withDSA:\"cryptojs/jsrsa\",SHA256withDSA:\"cryptojs/jsrsa\",MD5withRSAandMGF1:\"cryptojs/jsrsa\",SHAwithRSAandMGF1:\"cryptojs/jsrsa\",SHA1withRSAandMGF1:\"cryptojs/jsrsa\",SHA224withRSAandMGF1:\"cryptojs/jsrsa\",SHA256withRSAandMGF1:\"cryptojs/jsrsa\",SHA384withRSAandMGF1:\"cryptojs/jsrsa\",SHA512withRSAandMGF1:\"cryptojs/jsrsa\",RIPEMD160withRSAandMGF1:\"cryptojs/jsrsa\",};this.CRYPTOJSMESSAGEDIGESTNAME={md5:CryptoJS.algo.MD5,sha1:CryptoJS.algo.SHA1,sha224:CryptoJS.algo.SHA224,sha256:CryptoJS.algo.SHA256,sha384:CryptoJS.algo.SHA384,sha512:CryptoJS.algo.SHA512,ripemd160:CryptoJS.algo.RIPEMD160};this.getDigestInfoHex=function(a,b){if(typeof this.DIGESTINFOHEAD[b]==\"undefined\"){throw\"alg not supported in Util.DIGESTINFOHEAD: \"+b}return this.DIGESTINFOHEAD[b]+a};this.getPaddedDigestInfoHex=function(h,a,j){var c=this.getDigestInfoHex(h,a);var d=j/4;if(c.length+22>d){throw\"key is too short for SigAlg: keylen=\"+j+\",\"+a}var b=\"0001\";var k=\"00\"+c;var g=\"\";var l=d-b.length-k.length;for(var f=0;f<l;f+=2){g+=\"ff\"}var e=b+g+k;return e};this.hashString=function(a,c){var b=new KJUR.crypto.MessageDigest({alg:c});return b.digestString(a)};this.hashHex=function(b,c){var a=new KJUR.crypto.MessageDigest({alg:c});return a.digestHex(b)};this.sha1=function(a){return this.hashString(a,\"sha1\")};this.sha256=function(a){return this.hashString(a,\"sha256\")};this.sha256Hex=function(a){return this.hashHex(a,\"sha256\")};this.sha512=function(a){return this.hashString(a,\"sha512\")};this.sha512Hex=function(a){return this.hashHex(a,\"sha512\")};this.isKey=function(a){if(a instanceof RSAKey||a instanceof KJUR.crypto.DSA||a instanceof KJUR.crypto.ECDSA){return true}else{return false}}};KJUR.crypto.Util.md5=function(a){var b=new KJUR.crypto.MessageDigest({alg:\"md5\",prov:\"cryptojs\"});return b.digestString(a)};KJUR.crypto.Util.ripemd160=function(a){var b=new KJUR.crypto.MessageDigest({alg:\"ripemd160\",prov:\"cryptojs\"});return b.digestString(a)};KJUR.crypto.Util.SECURERANDOMGEN=new SecureRandom();KJUR.crypto.Util.getRandomHexOfNbytes=function(b){var a=new Array(b);KJUR.crypto.Util.SECURERANDOMGEN.nextBytes(a);return BAtohex(a)};KJUR.crypto.Util.getRandomBigIntegerOfNbytes=function(a){return new BigInteger(KJUR.crypto.Util.getRandomHexOfNbytes(a),16)};KJUR.crypto.Util.getRandomHexOfNbits=function(d){var c=d%8;var a=(d-c)/8;var b=new Array(a+1);KJUR.crypto.Util.SECURERANDOMGEN.nextBytes(b);b[0]=(((255<<c)&255)^255)&b[0];return BAtohex(b)};KJUR.crypto.Util.getRandomBigIntegerOfNbits=function(a){return new BigInteger(KJUR.crypto.Util.getRandomHexOfNbits(a),16)};KJUR.crypto.Util.getRandomBigIntegerZeroToMax=function(b){var a=b.bitLength();while(1){var c=KJUR.crypto.Util.getRandomBigIntegerOfNbits(a);if(b.compareTo(c)>=0){return c}}};KJUR.crypto.Util.getRandomBigIntegerMinToMax=function(e,b){var c=e.compareTo(b);if(c>0){throw\"biMin is greater than biMax\"}if(c==0){return e}var a=b.subtract(e);var d=KJUR.crypto.Util.getRandomBigIntegerZeroToMax(a);return d.add(e)};KJUR.crypto.MessageDigest=function(c){var b=null;var a=null;var d=null;this.setAlgAndProvider=function(g,f){g=KJUR.crypto.MessageDigest.getCanonicalAlgName(g);if(g!==null&&f===undefined){f=KJUR.crypto.Util.DEFAULTPROVIDER[g]}if(\":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:\".indexOf(g)!=-1&&f==\"cryptojs\"){try{this.md=KJUR.crypto.Util.CRYPTOJSMESSAGEDIGESTNAME[g].create()}catch(e){throw\"setAlgAndProvider hash alg set fail alg=\"+g+\"/\"+e}this.updateString=function(h){this.md.update(h)};this.updateHex=function(h){var i=CryptoJS.enc.Hex.parse(h);this.md.update(i)};this.digest=function(){var h=this.md.finalize();return h.toString(CryptoJS.enc.Hex)};this.digestString=function(h){this.updateString(h);return this.digest()};this.digestHex=function(h){this.updateHex(h);return this.digest()}}if(\":sha256:\".indexOf(g)!=-1&&f==\"sjcl\"){try{this.md=new sjcl.hash.sha256()}catch(e){throw\"setAlgAndProvider hash alg set fail alg=\"+g+\"/\"+e}this.updateString=function(h){this.md.update(h)};this.updateHex=function(i){var h=sjcl.codec.hex.toBits(i);this.md.update(h)};this.digest=function(){var h=this.md.finalize();return sjcl.codec.hex.fromBits(h)};this.digestString=function(h){this.updateString(h);return this.digest()};this.digestHex=function(h){this.updateHex(h);return this.digest()}}};this.updateString=function(e){throw\"updateString(str) not supported for this alg/prov: \"+this.algName+\"/\"+this.provName};this.updateHex=function(e){throw\"updateHex(hex) not supported for this alg/prov: \"+this.algName+\"/\"+this.provName};this.digest=function(){throw\"digest() not supported for this alg/prov: \"+this.algName+\"/\"+this.provName};this.digestString=function(e){throw\"digestString(str) not supported for this alg/prov: \"+this.algName+\"/\"+this.provName};this.digestHex=function(e){throw\"digestHex(hex) not supported for this alg/prov: \"+this.algName+\"/\"+this.provName};if(c!==undefined){if(c.alg!==undefined){this.algName=c.alg;if(c.prov===undefined){this.provName=KJUR.crypto.Util.DEFAULTPROVIDER[this.algName]}this.setAlgAndProvider(this.algName,this.provName)}}};KJUR.crypto.MessageDigest.getCanonicalAlgName=function(a){if(typeof a===\"string\"){a=a.toLowerCase();a=a.replace(/-/,\"\")}return a};KJUR.crypto.MessageDigest.getHashLength=function(c){var b=KJUR.crypto.MessageDigest;var a=b.getCanonicalAlgName(c);if(b.HASHLENGTH[a]===undefined){throw\"not supported algorithm: \"+c}return b.HASHLENGTH[a]};KJUR.crypto.MessageDigest.HASHLENGTH={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,ripemd160:20};KJUR.crypto.Mac=function(d){var f=null;var c=null;var a=null;var e=null;var b=null;this.setAlgAndProvider=function(k,i){k=k.toLowerCase();if(k==null){k=\"hmacsha1\"}k=k.toLowerCase();if(k.substr(0,4)!=\"hmac\"){throw\"setAlgAndProvider unsupported HMAC alg: \"+k}if(i===undefined){i=KJUR.crypto.Util.DEFAULTPROVIDER[k]}this.algProv=k+\"/\"+i;var g=k.substr(4);if(\":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:\".indexOf(g)!=-1&&i==\"cryptojs\"){try{var j=KJUR.crypto.Util.CRYPTOJSMESSAGEDIGESTNAME[g];this.mac=CryptoJS.algo.HMAC.create(j,this.pass)}catch(h){throw\"setAlgAndProvider hash alg set fail hashAlg=\"+g+\"/\"+h}this.updateString=function(l){this.mac.update(l)};this.updateHex=function(l){var m=CryptoJS.enc.Hex.parse(l);this.mac.update(m)};this.doFinal=function(){var l=this.mac.finalize();return l.toString(CryptoJS.enc.Hex)};this.doFinalString=function(l){this.updateString(l);return this.doFinal()};this.doFinalHex=function(l){this.updateHex(l);return this.doFinal()}}};this.updateString=function(g){throw\"updateString(str) not supported for this alg/prov: \"+this.algProv};this.updateHex=function(g){throw\"updateHex(hex) not supported for this alg/prov: \"+this.algProv};this.doFinal=function(){throw\"digest() not supported for this alg/prov: \"+this.algProv};this.doFinalString=function(g){throw\"digestString(str) not supported for this alg/prov: \"+this.algProv};this.doFinalHex=function(g){throw\"digestHex(hex) not supported for this alg/prov: \"+this.algProv};this.setPassword=function(h){if(typeof h==\"string\"){var g=h;if(h.length%2==1||!h.match(/^[0-9A-Fa-f]+$/)){g=rstrtohex(h)}this.pass=CryptoJS.enc.Hex.parse(g);return}if(typeof h!=\"object\"){throw\"KJUR.crypto.Mac unsupported password type: \"+h}var g=null;if(h.hex!==undefined){if(h.hex.length%2!=0||!h.hex.match(/^[0-9A-Fa-f]+$/)){throw\"Mac: wrong hex password: \"+h.hex}g=h.hex}if(h.utf8!==undefined){g=utf8tohex(h.utf8)}if(h.rstr!==undefined){g=rstrtohex(h.rstr)}if(h.b64!==undefined){g=b64tohex(h.b64)}if(h.b64u!==undefined){g=b64utohex(h.b64u)}if(g==null){throw\"KJUR.crypto.Mac unsupported password type: \"+h}this.pass=CryptoJS.enc.Hex.parse(g)};if(d!==undefined){if(d.pass!==undefined){this.setPassword(d.pass)}if(d.alg!==undefined){this.algName=d.alg;if(d.prov===undefined){this.provName=KJUR.crypto.Util.DEFAULTPROVIDER[this.algName]}this.setAlgAndProvider(this.algName,this.provName)}}};KJUR.crypto.Signature=function(o){var q=null;var n=null;var r=null;var c=null;var l=null;var d=null;var k=null;var h=null;var p=null;var e=null;var b=-1;var g=null;var j=null;var a=null;var i=null;var f=null;this._setAlgNames=function(){var s=this.algName.match(/^(.+)with(.+)$/);if(s){this.mdAlgName=s[1].toLowerCase();this.pubkeyAlgName=s[2].toLowerCase();if(this.pubkeyAlgName==\"rsaandmgf1\"&&this.mdAlgName==\"sha\"){this.mdAlgName=\"sha1\"}}};this._zeroPaddingOfSignature=function(x,w){var v=\"\";var t=w/4-x.length;for(var u=0;u<t;u++){v=v+\"0\"}return v+x};this.setAlgAndProvider=function(u,t){this._setAlgNames();if(t!=\"cryptojs/jsrsa\"){throw new Error(\"provider not supported: \"+t)}if(\":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:\".indexOf(this.mdAlgName)!=-1){try{this.md=new KJUR.crypto.MessageDigest({alg:this.mdAlgName})}catch(s){throw new Error(\"setAlgAndProvider hash alg set fail alg=\"+this.mdAlgName+\"/\"+s)}this.init=function(w,x){var y=null;try{if(x===undefined){y=KEYUTIL.getKey(w)}else{y=KEYUTIL.getKey(w,x)}}catch(v){throw\"init failed:\"+v}if(y.isPrivate===true){this.prvKey=y;this.state=\"SIGN\"}else{if(y.isPublic===true){this.pubKey=y;this.state=\"VERIFY\"}else{throw\"init failed.:\"+y}}};this.updateString=function(v){this.md.updateString(v)};this.updateHex=function(v){this.md.updateHex(v)};this.sign=function(){this.sHashHex=this.md.digest();if(this.prvKey===undefined&&this.ecprvhex!==undefined&&this.eccurvename!==undefined&&KJUR.crypto.ECDSA!==undefined){this.prvKey=new KJUR.crypto.ECDSA({curve:this.eccurvename,prv:this.ecprvhex})}if(this.prvKey instanceof RSAKey&&this.pubkeyAlgName===\"rsaandmgf1\"){this.hSign=this.prvKey.signWithMessageHashPSS(this.sHashHex,this.mdAlgName,this.pssSaltLen)}else{if(this.prvKey instanceof RSAKey&&this.pubkeyAlgName===\"rsa\"){this.hSign=this.prvKey.signWithMessageHash(this.sHashHex,this.mdAlgName)}else{if(this.prvKey instanceof KJUR.crypto.ECDSA){this.hSign=this.prvKey.signWithMessageHash(this.sHashHex)}else{if(this.prvKey instanceof KJUR.crypto.DSA){this.hSign=this.prvKey.signWithMessageHash(this.sHashHex)}else{throw\"Signature: unsupported private key alg: \"+this.pubkeyAlgName}}}}return this.hSign};this.signString=function(v){this.updateString(v);return this.sign()};this.signHex=function(v){this.updateHex(v);return this.sign()};this.verify=function(v){this.sHashHex=this.md.digest();if(this.pubKey===undefined&&this.ecpubhex!==undefined&&this.eccurvename!==undefined&&KJUR.crypto.ECDSA!==undefined){this.pubKey=new KJUR.crypto.ECDSA({curve:this.eccurvename,pub:this.ecpubhex})}if(this.pubKey instanceof RSAKey&&this.pubkeyAlgName===\"rsaandmgf1\"){return this.pubKey.verifyWithMessageHashPSS(this.sHashHex,v,this.mdAlgName,this.pssSaltLen)}else{if(this.pubKey instanceof RSAKey&&this.pubkeyAlgName===\"rsa\"){return this.pubKey.verifyWithMessageHash(this.sHashHex,v)}else{if(KJUR.crypto.ECDSA!==undefined&&this.pubKey instanceof KJUR.crypto.ECDSA){return this.pubKey.verifyWithMessageHash(this.sHashHex,v)}else{if(KJUR.crypto.DSA!==undefined&&this.pubKey instanceof KJUR.crypto.DSA){return this.pubKey.verifyWithMessageHash(this.sHashHex,v)}else{throw\"Signature: unsupported public key alg: \"+this.pubkeyAlgName}}}}}}};this.init=function(s,t){throw\"init(key, pass) not supported for this alg:prov=\"+this.algProvName};this.updateString=function(s){throw\"updateString(str) not supported for this alg:prov=\"+this.algProvName};this.updateHex=function(s){throw\"updateHex(hex) not supported for this alg:prov=\"+this.algProvName};this.sign=function(){throw\"sign() not supported for this alg:prov=\"+this.algProvName};this.signString=function(s){throw\"digestString(str) not supported for this alg:prov=\"+this.algProvName};this.signHex=function(s){throw\"digestHex(hex) not supported for this alg:prov=\"+this.algProvName};this.verify=function(s){throw\"verify(hSigVal) not supported for this alg:prov=\"+this.algProvName};this.initParams=o;if(o!==undefined){if(o.alg!==undefined){this.algName=o.alg;if(o.prov===undefined){this.provName=KJUR.crypto.Util.DEFAULTPROVIDER[this.algName]}else{this.provName=o.prov}this.algProvName=this.algName+\":\"+this.provName;this.setAlgAndProvider(this.algName,this.provName);this._setAlgNames()}if(o.psssaltlen!==undefined){this.pssSaltLen=o.psssaltlen}if(o.prvkeypem!==undefined){if(o.prvkeypas!==undefined){throw\"both prvkeypem and prvkeypas parameters not supported\"}else{try{var q=KEYUTIL.getKey(o.prvkeypem);this.init(q)}catch(m){throw\"fatal error to load pem private key: \"+m}}}}};KJUR.crypto.Cipher=function(a){};KJUR.crypto.Cipher.encrypt=function(j,i,b,c){if(aryval(c,\"enclag\")!=undefined){b=c.encalg}if(typeof b==\"string\"&&b.substr(-4)==\"-CBC\"){var g=i;var e=j;if(aryval(c,\"key\")!=undefined){g=c.key}if(aryval(c,\"enc\")!=undefined){hEnc=c.enc}var h=CryptoJS.enc.Hex.parse(g);var a=CryptoJS.enc.Hex.parse(e);var f=CryptoJS.enc.Hex.parse(c.iv);var d;if(b==\"des-EDE3-CBC\"){d=CryptoJS.TripleDES.encrypt(a,h,{iv:f})}else{if(b==\"aes128-CBC\"||b==\"aes256-CBC\"){d=CryptoJS.AES.encrypt(a,h,{iv:f})}else{throw new Error(\"unsupported algorithm: \"+b)}}return d+\"\"}else{throw new Error(\"Cipher.encrypt: unsupported key or algorithm\")}};KJUR.crypto.Cipher.decrypt=function(c,j,a,b){if(aryval(b,\"enclag\")!=undefined){a=b.encalg}if(typeof a==\"string\"&&a.substr(-4)==\"-CBC\"){var h=j;var e=c;if(aryval(b,\"key\")!=undefined){h=b.key}if(aryval(b,\"enc\")!=undefined){e=b.enc}var i=CryptoJS.enc.Hex.parse(h);var f=CryptoJS.enc.Hex.parse(e);var g=CryptoJS.enc.Hex.parse(b.iv);var d;if(a==\"des-EDE3-CBC\"){d=CryptoJS.TripleDES.decrypt({ciphertext:f},i,{iv:g})}else{if(a==\"aes128-CBC\"||a==\"aes256-CBC\"){d=CryptoJS.AES.decrypt({ciphertext:f},i,{iv:g})}else{throw new Error(\"unsupported algorithm: \"+a)}}return CryptoJS.enc.Hex.stringify(d)}else{throw new Error(\"Cipher.decrypt: unsupported key or algorithm\")}};KJUR.crypto.OID=new function(){this.oidhex2name={\"2a864886f70d010101\":\"rsaEncryption\",\"2a8648ce3d0201\":\"ecPublicKey\",\"2a8648ce380401\":\"dsa\",\"2a8648ce3d030107\":\"secp256r1\",\"2b8104001f\":\"secp192k1\",\"2b81040021\":\"secp224r1\",\"2b8104000a\":\"secp256k1\",\"2b81040022\":\"secp384r1\",\"2b81040023\":\"secp521r1\",\"2a8648ce380403\":\"SHA1withDSA\",\"608648016503040301\":\"SHA224withDSA\",\"608648016503040302\":\"SHA256withDSA\",}};\nif(typeof KJUR==\"undefined\"||!KJUR){KJUR={}}if(typeof KJUR.crypto==\"undefined\"||!KJUR.crypto){KJUR.crypto={}}KJUR.crypto.ECDSA=function(e){var g=\"secp256r1\";var p=null;var b=null;var i=null;var j=Error,f=BigInteger,h=ECPointFp,m=KJUR.crypto.ECDSA,c=KJUR.crypto.ECParameterDB,d=m.getName,q=ASN1HEX,n=q.getVbyListEx,k=q.isASN1HEX;var a=new SecureRandom();var o=null;this.type=\"EC\";this.isPrivate=false;this.isPublic=false;function l(x,t,w,s){var r=Math.max(t.bitLength(),s.bitLength());var y=x.add2D(w);var v=x.curve.getInfinity();for(var u=r-1;u>=0;--u){v=v.twice2D();v.z=f.ONE;if(t.testBit(u)){if(s.testBit(u)){v=v.add2D(y)}else{v=v.add2D(x)}}else{if(s.testBit(u)){v=v.add2D(w)}}}return v}this.getBigRandom=function(r){return new f(r.bitLength(),a).mod(r.subtract(f.ONE)).add(f.ONE)};this.setNamedCurve=function(r){this.ecparams=c.getByName(r);this.prvKeyHex=null;this.pubKeyHex=null;this.curveName=r};this.setPrivateKeyHex=function(r){this.isPrivate=true;this.prvKeyHex=r};this.setPublicKeyHex=function(r){this.isPublic=true;this.pubKeyHex=r};this.getPublicKeyXYHex=function(){var t=this.pubKeyHex;if(t.substr(0,2)!==\"04\"){throw\"this method supports uncompressed format(04) only\"}var s=this.ecparams.keycharlen;if(t.length!==2+s*2){throw\"malformed public key hex length\"}var r={};r.x=t.substr(2,s);r.y=t.substr(2+s);return r};this.getShortNISTPCurveName=function(){var r=this.curveName;if(r===\"secp256r1\"||r===\"NIST P-256\"||r===\"P-256\"||r===\"prime256v1\"){return\"P-256\"}if(r===\"secp384r1\"||r===\"NIST P-384\"||r===\"P-384\"){return\"P-384\"}if(r===\"secp521r1\"||r===\"NIST P-521\"||r===\"P-521\"){return\"P-521\"}return null};this.generateKeyPairHex=function(){var s=this.ecparams.n;var u=this.getBigRandom(s);var r=this.ecparams.keycharlen;var t=(\"0000000000\"+u.toString(16)).slice(-r);this.setPrivateKeyHex(t);var v=this.generatePublicKeyHex();return{ecprvhex:t,ecpubhex:v}};this.generatePublicKeyHex=function(){var u=new f(this.prvKeyHex,16);var w=this.ecparams.G.multiply(u);var t=w.getX().toBigInteger();var s=w.getY().toBigInteger();var r=this.ecparams.keycharlen;var y=(\"0000000000\"+t.toString(16)).slice(-r);var v=(\"0000000000\"+s.toString(16)).slice(-r);var x=\"04\"+y+v;this.setPublicKeyHex(x);return x};this.signWithMessageHash=function(r){return this.signHex(r,this.prvKeyHex)};this.signHex=function(x,u){var A=new f(u,16);var v=this.ecparams.n;var z=new f(x.substring(0,this.ecparams.keycharlen),16);do{var w=this.getBigRandom(v);var B=this.ecparams.G;var y=B.multiply(w);var t=y.getX().toBigInteger().mod(v)}while(t.compareTo(f.ZERO)<=0);var C=w.modInverse(v).multiply(z.add(A.multiply(t))).mod(v);return m.biRSSigToASN1Sig(t,C)};this.sign=function(w,B){var z=B;var u=this.ecparams.n;var y=f.fromByteArrayUnsigned(w);do{var v=this.getBigRandom(u);var A=this.ecparams.G;var x=A.multiply(v);var t=x.getX().toBigInteger().mod(u)}while(t.compareTo(BigInteger.ZERO)<=0);var C=v.modInverse(u).multiply(y.add(z.multiply(t))).mod(u);return this.serializeSig(t,C)};this.verifyWithMessageHash=function(s,r){return this.verifyHex(s,r,this.pubKeyHex)};this.verifyHex=function(v,y,u){try{var t,B;var w=m.parseSigHex(y);t=w.r;B=w.s;var x=h.decodeFromHex(this.ecparams.curve,u);var z=new f(v.substring(0,this.ecparams.keycharlen),16);return this.verifyRaw(z,t,B,x)}catch(A){return false}};this.verify=function(z,A,u){var w,t;if(Bitcoin.Util.isArray(A)){var y=this.parseSig(A);w=y.r;t=y.s}else{if(\"object\"===typeof A&&A.r&&A.s){w=A.r;t=A.s}else{throw\"Invalid value for signature\"}}var v;if(u instanceof ECPointFp){v=u}else{if(Bitcoin.Util.isArray(u)){v=h.decodeFrom(this.ecparams.curve,u)}else{throw\"Invalid format for pubkey value, must be byte array or ECPointFp\"}}var x=f.fromByteArrayUnsigned(z);return this.verifyRaw(x,w,t,v)};this.verifyRaw=function(z,t,E,y){var x=this.ecparams.n;var D=this.ecparams.G;if(t.compareTo(f.ONE)<0||t.compareTo(x)>=0){return false}if(E.compareTo(f.ONE)<0||E.compareTo(x)>=0){return false}var A=E.modInverse(x);var w=z.multiply(A).mod(x);var u=t.multiply(A).mod(x);var B=D.multiply(w).add(y.multiply(u));var C=B.getX().toBigInteger().mod(x);return C.equals(t)};this.serializeSig=function(v,u){var w=v.toByteArraySigned();var t=u.toByteArraySigned();var x=[];x.push(2);x.push(w.length);x=x.concat(w);x.push(2);x.push(t.length);x=x.concat(t);x.unshift(x.length);x.unshift(48);return x};this.parseSig=function(y){var x;if(y[0]!=48){throw new Error(\"Signature not a valid DERSequence\")}x=2;if(y[x]!=2){throw new Error(\"First element in signature must be a DERInteger\")}var w=y.slice(x+2,x+2+y[x+1]);x+=2+y[x+1];if(y[x]!=2){throw new Error(\"Second element in signature must be a DERInteger\")}var t=y.slice(x+2,x+2+y[x+1]);x+=2+y[x+1];var v=f.fromByteArrayUnsigned(w);var u=f.fromByteArrayUnsigned(t);return{r:v,s:u}};this.parseSigCompact=function(w){if(w.length!==65){throw\"Signature has the wrong length\"}var t=w[0]-27;if(t<0||t>7){throw\"Invalid signature type\"}var x=this.ecparams.n;var v=f.fromByteArrayUnsigned(w.slice(1,33)).mod(x);var u=f.fromByteArrayUnsigned(w.slice(33,65)).mod(x);return{r:v,s:u,i:t}};this.readPKCS5PrvKeyHex=function(u){if(k(u)===false){throw new Error(\"not ASN.1 hex string\")}var r,t,v;try{r=n(u,0,[\"[0]\",0],\"06\");t=n(u,0,[1],\"04\");try{v=n(u,0,[\"[1]\",0],\"03\")}catch(s){}}catch(s){throw new Error(\"malformed PKCS#1/5 plain ECC private key\")}this.curveName=d(r);if(this.curveName===undefined){throw\"unsupported curve name\"}this.setNamedCurve(this.curveName);this.setPublicKeyHex(v);this.setPrivateKeyHex(t);this.isPublic=false};this.readPKCS8PrvKeyHex=function(v){if(k(v)===false){throw new j(\"not ASN.1 hex string\")}var t,r,u,w;try{t=n(v,0,[1,0],\"06\");r=n(v,0,[1,1],\"06\");u=n(v,0,[2,0,1],\"04\");try{w=n(v,0,[2,0,\"[1]\",0],\"03\")}catch(s){}}catch(s){throw new j(\"malformed PKCS#8 plain ECC private key\")}this.curveName=d(r);if(this.curveName===undefined){throw new j(\"unsupported curve name\")}this.setNamedCurve(this.curveName);this.setPublicKeyHex(w);this.setPrivateKeyHex(u);this.isPublic=false};this.readPKCS8PubKeyHex=function(u){if(k(u)===false){throw new j(\"not ASN.1 hex string\")}var t,r,v;try{t=n(u,0,[0,0],\"06\");r=n(u,0,[0,1],\"06\");v=n(u,0,[1],\"03\")}catch(s){throw new j(\"malformed PKCS#8 ECC public key\")}this.curveName=d(r);if(this.curveName===null){throw new j(\"unsupported curve name\")}this.setNamedCurve(this.curveName);this.setPublicKeyHex(v)};this.readCertPubKeyHex=function(t,v){if(k(t)===false){throw new j(\"not ASN.1 hex string\")}var r,u;try{r=n(t,0,[0,5,0,1],\"06\");u=n(t,0,[0,5,1],\"03\")}catch(s){throw new j(\"malformed X.509 certificate ECC public key\")}this.curveName=d(r);if(this.curveName===null){throw new j(\"unsupported curve name\")}this.setNamedCurve(this.curveName);this.setPublicKeyHex(u)};if(e!==undefined){if(e.curve!==undefined){this.curveName=e.curve}}if(this.curveName===undefined){this.curveName=g}this.setNamedCurve(this.curveName);if(e!==undefined){if(e.prv!==undefined){this.setPrivateKeyHex(e.prv)}if(e.pub!==undefined){this.setPublicKeyHex(e.pub)}}};KJUR.crypto.ECDSA.parseSigHex=function(a){var b=KJUR.crypto.ECDSA.parseSigHexInHexRS(a);var d=new BigInteger(b.r,16);var c=new BigInteger(b.s,16);return{r:d,s:c}};KJUR.crypto.ECDSA.parseSigHexInHexRS=function(f){var j=ASN1HEX,i=j.getChildIdx,g=j.getV;j.checkStrictDER(f,0);if(f.substr(0,2)!=\"30\"){throw new Error(\"signature is not a ASN.1 sequence\")}var h=i(f,0);if(h.length!=2){throw new Error(\"signature shall have two elements\")}var e=h[0];var d=h[1];if(f.substr(e,2)!=\"02\"){throw new Error(\"1st item not ASN.1 integer\")}if(f.substr(d,2)!=\"02\"){throw new Error(\"2nd item not ASN.1 integer\")}var c=g(f,e);var b=g(f,d);return{r:c,s:b}};KJUR.crypto.ECDSA.asn1SigToConcatSig=function(d){var e=KJUR.crypto.ECDSA.parseSigHexInHexRS(d);var b=e.r;var a=e.s;if(b.length>=130&&b.length<=134){if(b.length%2!=0){throw Error(\"unknown ECDSA sig r length error\")}if(a.length%2!=0){throw Error(\"unknown ECDSA sig s length error\")}if(b.substr(0,2)==\"00\"){b=b.substr(2)}if(a.substr(0,2)==\"00\"){a=a.substr(2)}var c=Math.max(b.length,a.length);b=(\"000000\"+b).slice(-c);a=(\"000000\"+a).slice(-c);return b+a}if(b.substr(0,2)==\"00\"&&(b.length%32)==2){b=b.substr(2)}if(a.substr(0,2)==\"00\"&&(a.length%32)==2){a=a.substr(2)}if((b.length%32)==30){b=\"00\"+b}if((a.length%32)==30){a=\"00\"+a}if(b.length%32!=0){throw Error(\"unknown ECDSA sig r length error\")}if(a.length%32!=0){throw Error(\"unknown ECDSA sig s length error\")}return b+a};KJUR.crypto.ECDSA.concatSigToASN1Sig=function(a){if(a.length%4!=0){throw Error(\"unknown ECDSA concatinated r-s sig length error\")}var c=a.substr(0,a.length/2);var b=a.substr(a.length/2);return KJUR.crypto.ECDSA.hexRSSigToASN1Sig(c,b)};KJUR.crypto.ECDSA.hexRSSigToASN1Sig=function(b,a){var d=new BigInteger(b,16);var c=new BigInteger(a,16);return KJUR.crypto.ECDSA.biRSSigToASN1Sig(d,c)};KJUR.crypto.ECDSA.biRSSigToASN1Sig=function(f,d){var c=KJUR.asn1;var b=new c.DERInteger({bigint:f});var a=new c.DERInteger({bigint:d});var e=new c.DERSequence({array:[b,a]});return e.tohex()};KJUR.crypto.ECDSA.getName=function(a){if(a===\"2b8104001f\"){return\"secp192k1\"}if(a===\"2a8648ce3d030107\"){return\"secp256r1\"}if(a===\"2b8104000a\"){return\"secp256k1\"}if(a===\"2b81040021\"){return\"secp224r1\"}if(a===\"2b81040022\"){return\"secp384r1\"}if(a===\"2b81040023\"){return\"secp521r1\"}if(\"|secp256r1|NIST P-256|P-256|prime256v1|\".indexOf(a)!==-1){return\"secp256r1\"}if(\"|secp256k1|\".indexOf(a)!==-1){return\"secp256k1\"}if(\"|secp224r1|NIST P-224|P-224|\".indexOf(a)!==-1){return\"secp224r1\"}if(\"|secp384r1|NIST P-384|P-384|\".indexOf(a)!==-1){return\"secp384r1\"}if(\"|secp521r1|NIST P-521|P-521|\".indexOf(a)!==-1){return\"secp521r1\"}return null};\nif(typeof KJUR==\"undefined\"||!KJUR){KJUR={}}if(typeof KJUR.crypto==\"undefined\"||!KJUR.crypto){KJUR.crypto={}}KJUR.crypto.ECParameterDB=new function(){var b={};var c={};function a(d){return new BigInteger(d,16)}this.getByName=function(e){var d=e;if(typeof c[d]!=\"undefined\"){d=c[e]}if(typeof b[d]!=\"undefined\"){return b[d]}throw\"unregistered EC curve name: \"+d};this.regist=function(A,l,o,g,m,e,j,f,k,u,d,x){b[A]={};var s=a(o);var z=a(g);var y=a(m);var t=a(e);var w=a(j);var r=new ECCurveFp(s,z,y);var q=r.decodePointHex(\"04\"+f+k);b[A][\"name\"]=A;b[A][\"keylen\"]=l;b[A][\"keycharlen\"]=Math.ceil(l/8)*2;b[A][\"curve\"]=r;b[A][\"G\"]=q;b[A][\"n\"]=t;b[A][\"h\"]=w;b[A][\"oid\"]=d;b[A][\"info\"]=x;for(var v=0;v<u.length;v++){c[u[v]]=A}}};KJUR.crypto.ECParameterDB.regist(\"secp128r1\",128,\"FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF\",\"FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFC\",\"E87579C11079F43DD824993C2CEE5ED3\",\"FFFFFFFE0000000075A30D1B9038A115\",\"1\",\"161FF7528B899B2D0C28607CA52C5B86\",\"CF5AC8395BAFEB13C02DA292DDED7A83\",[],\"\",\"secp128r1 : SECG curve over a 128 bit prime field\");KJUR.crypto.ECParameterDB.regist(\"secp160k1\",160,\"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC73\",\"0\",\"7\",\"0100000000000000000001B8FA16DFAB9ACA16B6B3\",\"1\",\"3B4C382CE37AA192A4019E763036F4F5DD4D7EBB\",\"938CF935318FDCED6BC28286531733C3F03C4FEE\",[],\"\",\"secp160k1 : SECG curve over a 160 bit prime field\");KJUR.crypto.ECParameterDB.regist(\"secp160r1\",160,\"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF\",\"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFC\",\"1C97BEFC54BD7A8B65ACF89F81D4D4ADC565FA45\",\"0100000000000000000001F4C8F927AED3CA752257\",\"1\",\"4A96B5688EF573284664698968C38BB913CBFC82\",\"23A628553168947D59DCC912042351377AC5FB32\",[],\"\",\"secp160r1 : SECG curve over a 160 bit prime field\");KJUR.crypto.ECParameterDB.regist(\"secp192k1\",192,\"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFEE37\",\"0\",\"3\",\"FFFFFFFFFFFFFFFFFFFFFFFE26F2FC170F69466A74DEFD8D\",\"1\",\"DB4FF10EC057E9AE26B07D0280B7F4341DA5D1B1EAE06C7D\",\"9B2F2F6D9C5628A7844163D015BE86344082AA88D95E2F9D\",[]);KJUR.crypto.ECParameterDB.regist(\"secp192r1\",192,\"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF\",\"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFC\",\"64210519E59C80E70FA7E9AB72243049FEB8DEECC146B9B1\",\"FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22831\",\"1\",\"188DA80EB03090F67CBF20EB43A18800F4FF0AFD82FF1012\",\"07192B95FFC8DA78631011ED6B24CDD573F977A11E794811\",[]);KJUR.crypto.ECParameterDB.regist(\"secp224r1\",224,\"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000001\",\"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFE\",\"B4050A850C04B3ABF54132565044B0B7D7BFD8BA270B39432355FFB4\",\"FFFFFFFFFFFFFFFFFFFFFFFFFFFF16A2E0B8F03E13DD29455C5C2A3D\",\"1\",\"B70E0CBD6BB4BF7F321390B94A03C1D356C21122343280D6115C1D21\",\"BD376388B5F723FB4C22DFE6CD4375A05A07476444D5819985007E34\",[]);KJUR.crypto.ECParameterDB.regist(\"secp256k1\",256,\"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F\",\"0\",\"7\",\"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141\",\"1\",\"79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798\",\"483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8\",[]);KJUR.crypto.ECParameterDB.regist(\"secp256r1\",256,\"FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF\",\"FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC\",\"5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B\",\"FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551\",\"1\",\"6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296\",\"4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5\",[\"NIST P-256\",\"P-256\",\"prime256v1\"]);KJUR.crypto.ECParameterDB.regist(\"secp384r1\",384,\"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF0000000000000000FFFFFFFF\",\"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF0000000000000000FFFFFFFC\",\"B3312FA7E23EE7E4988E056BE3F82D19181D9C6EFE8141120314088F5013875AC656398D8A2ED19D2A85C8EDD3EC2AEF\",\"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7634D81F4372DDF581A0DB248B0A77AECEC196ACCC52973\",\"1\",\"AA87CA22BE8B05378EB1C71EF320AD746E1D3B628BA79B9859F741E082542A385502F25DBF55296C3A545E3872760AB7\",\"3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f\",[\"NIST P-384\",\"P-384\"]);KJUR.crypto.ECParameterDB.regist(\"secp521r1\",521,\"1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\",\"1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC\",\"051953EB9618E1C9A1F929A21A0B68540EEA2DA725B99B315F3B8B489918EF109E156193951EC7E937B1652C0BD3BB1BF073573DF883D2C34F1EF451FD46B503F00\",\"1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA51868783BF2F966B7FCC0148F709A5D03BB5C9B8899C47AEBB6FB71E91386409\",\"1\",\"00C6858E06B70404E9CD9E3ECB662395B4429C648139053FB521F828AF606B4D3DBAA14B5E77EFE75928FE1DC127A2FFA8DE3348B3C1856A429BF97E7E31C2E5BD66\",\"011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650\",[\"NIST P-521\",\"P-521\"]);\nif(typeof KJUR==\"undefined\"||!KJUR){KJUR={}}if(typeof KJUR.crypto==\"undefined\"||!KJUR.crypto){KJUR.crypto={}}KJUR.crypto.DSA=function(){var c=ASN1HEX,g=c.getVbyList,e=c.getVbyListEx,a=c.isASN1HEX,d=BigInteger,b=BigInteger.ONE;var f=function(j,i,h,k){if(j==null||i==null||h==null||k==null){throw new Error(\"invalid DSA public key\")}if(b.compareTo(i)>=0||i.compareTo(j)>=0){throw new Error(\"invalid DSA public key\")}if(b.compareTo(h)>=0||h.compareTo(j)>=0){throw new Error(\"invalid DSA public key\")}if(b.compareTo(k)>=0||k.compareTo(j)>=0){throw new Error(\"invalid DSA public key\")}if(h.modPow(i,j).compareTo(b)!=0){throw new Error(\"invalid DSA public key\")}};this.p=null;this.q=null;this.g=null;this.y=null;this.x=null;this.type=\"DSA\";this.isPrivate=false;this.isPublic=false;this.setPrivate=function(k,j,i,l,h){this.isPrivate=true;this.p=k;this.q=j;this.g=i;this.y=l;this.x=h};this.setPrivateHex=function(k,i,m,p,q){var j,h,l,n,o;j=new BigInteger(k,16);h=new BigInteger(i,16);l=new BigInteger(m,16);if(typeof p===\"string\"&&p.length>1){n=new BigInteger(p,16)}else{n=null}o=new BigInteger(q,16);this.setPrivate(j,h,l,n,o)};this.setPublic=function(j,i,h,k){f(j,i,h,k);this.isPublic=true;this.p=j;this.q=i;this.g=h;this.y=k;this.x=null};this.setPublicHex=function(m,l,k,n){var i,h,o,j;i=new BigInteger(m,16);h=new BigInteger(l,16);o=new BigInteger(k,16);j=new BigInteger(n,16);this.setPublic(i,h,o,j)};this.signWithMessageHash=function(m){var j=this.p;var i=this.q;var n=this.g;var t=this.y;var u=this.x;var v=m.substr(0,i.bitLength()/4);var o=new BigInteger(v,16);var l,h,A;do{l=KJUR.crypto.Util.getRandomBigIntegerMinToMax(BigInteger.ONE.add(BigInteger.ONE),i.subtract(BigInteger.ONE));h=(n.modPow(l,j)).mod(i);A=(l.modInverse(i).multiply(o.add(u.multiply(h)))).mod(i)}while(h.compareTo(BigInteger.ZERO)==0||A.compareTo(BigInteger.ZERO)==0);var w=KJUR.asn1.ASN1Util.jsonToASN1HEX({seq:[{\"int\":{bigint:h}},{\"int\":{bigint:A}}]});return w};this.verifyWithMessageHash=function(n,m){var k=this.p;var i=this.q;var t=this.g;var x=this.y;var o=this.parseASN1Signature(m);var h=o[0];var D=o[1];var C=n.substr(0,i.bitLength()/4);var u=new BigInteger(C,16);if(BigInteger.ZERO.compareTo(h)>=0||h.compareTo(i)>=0){throw\"invalid DSA signature\"}if(BigInteger.ZERO.compareTo(D)>=0||D.compareTo(i)>=0){throw\"invalid DSA signature\"}var A=D.modInverse(i);var l=u.multiply(A).mod(i);var j=h.multiply(A).mod(i);var B=t.modPow(l,k).multiply(x.modPow(j,k)).mod(k).mod(i);return B.compareTo(h)==0};this.parseASN1Signature=function(h){try{var k=new d(e(h,0,[0],\"02\"),16);var j=new d(e(h,0,[1],\"02\"),16);return[k,j]}catch(i){throw new Error(\"malformed ASN.1 DSA signature\")}};this.readPKCS5PrvKeyHex=function(l){var m,k,j,n,o;if(a(l)===false){throw new Error(\"not ASN.1 hex string\")}try{m=e(l,0,[1],\"02\");k=e(l,0,[2],\"02\");j=e(l,0,[3],\"02\");n=e(l,0,[4],\"02\");o=e(l,0,[5],\"02\")}catch(i){throw new Error(\"malformed PKCS#1/5 plain DSA private key\")}this.setPrivateHex(m,k,j,n,o)};this.readPKCS8PrvKeyHex=function(l){var m,k,j,n;if(a(l)===false){throw new Error(\"not ASN.1 hex string\")}try{m=e(l,0,[1,1,0],\"02\");k=e(l,0,[1,1,1],\"02\");j=e(l,0,[1,1,2],\"02\");n=e(l,0,[2,0],\"02\")}catch(i){throw new Error(\"malformed PKCS#8 plain DSA private key\")}this.setPrivateHex(m,k,j,null,n)};this.readPKCS8PubKeyHex=function(l){var m,k,j,n;if(a(l)===false){throw new Error(\"not ASN.1 hex string\")}try{m=e(l,0,[0,1,0],\"02\");k=e(l,0,[0,1,1],\"02\");j=e(l,0,[0,1,2],\"02\");n=e(l,0,[1,0],\"02\")}catch(i){throw new Error(\"malformed PKCS#8 DSA public key\")}this.setPublicHex(m,k,j,n)};this.readCertPubKeyHex=function(l,o){var m,k,j,n;if(a(l)===false){throw new Error(\"not ASN.1 hex string\")}try{m=e(l,0,[0,5,0,1,0],\"02\");k=e(l,0,[0,5,0,1,1],\"02\");j=e(l,0,[0,5,0,1,2],\"02\");n=e(l,0,[0,5,1,0],\"02\")}catch(i){throw new Error(\"malformed X.509 certificate DSA public key\")}this.setPublicHex(m,k,j,n)}};\nvar KEYUTIL=function(){var d=function(p,r,q){return k(CryptoJS.AES,p,r,q)};var e=function(p,r,q){return k(CryptoJS.TripleDES,p,r,q)};var a=function(p,r,q){return k(CryptoJS.DES,p,r,q)};var k=function(s,x,u,q){var r=CryptoJS.enc.Hex.parse(x);var w=CryptoJS.enc.Hex.parse(u);var p=CryptoJS.enc.Hex.parse(q);var t={};t.key=w;t.iv=p;t.ciphertext=r;var v=s.decrypt(t,w,{iv:p});return CryptoJS.enc.Hex.stringify(v)};var l=function(p,r,q){return g(CryptoJS.AES,p,r,q)};var o=function(p,r,q){return g(CryptoJS.TripleDES,p,r,q)};var f=function(p,r,q){return g(CryptoJS.DES,p,r,q)};var g=function(t,y,v,q){var s=CryptoJS.enc.Hex.parse(y);var x=CryptoJS.enc.Hex.parse(v);var p=CryptoJS.enc.Hex.parse(q);var w=t.encrypt(s,x,{iv:p});var r=CryptoJS.enc.Hex.parse(w.toString());var u=CryptoJS.enc.Base64.stringify(r);return u};var i={\"AES-256-CBC\":{proc:d,eproc:l,keylen:32,ivlen:16},\"AES-192-CBC\":{proc:d,eproc:l,keylen:24,ivlen:16},\"AES-128-CBC\":{proc:d,eproc:l,keylen:16,ivlen:16},\"DES-EDE3-CBC\":{proc:e,eproc:o,keylen:24,ivlen:8},\"DES-CBC\":{proc:a,eproc:f,keylen:8,ivlen:8}};var c=function(p){return i[p][\"proc\"]};var m=function(p){var r=CryptoJS.lib.WordArray.random(p);var q=CryptoJS.enc.Hex.stringify(r);return q};var n=function(v){var w={};var q=v.match(new RegExp(\"DEK-Info: ([^,]+),([0-9A-Fa-f]+)\",\"m\"));if(q){w.cipher=q[1];w.ivsalt=q[2]}var p=v.match(new RegExp(\"-----BEGIN ([A-Z]+) PRIVATE KEY-----\"));if(p){w.type=p[1]}var u=-1;var x=0;if(v.indexOf(\"\\r\\n\\r\\n\")!=-1){u=v.indexOf(\"\\r\\n\\r\\n\");x=2}if(v.indexOf(\"\\n\\n\")!=-1){u=v.indexOf(\"\\n\\n\");x=1}var t=v.indexOf(\"-----END\");if(u!=-1&&t!=-1){var r=v.substring(u+x*2,t-x);r=r.replace(/\\s+/g,\"\");w.data=r}return w};var j=function(q,y,p){var v=p.substring(0,16);var t=CryptoJS.enc.Hex.parse(v);var r=CryptoJS.enc.Utf8.parse(y);var u=i[q][\"keylen\"]+i[q][\"ivlen\"];var x=\"\";var w=null;for(;;){var s=CryptoJS.algo.MD5.create();if(w!=null){s.update(w)}s.update(r);s.update(t);w=s.finalize();x=x+CryptoJS.enc.Hex.stringify(w);if(x.length>=u*2){break}}var z={};z.keyhex=x.substr(0,i[q][\"keylen\"]*2);z.ivhex=x.substr(i[q][\"keylen\"]*2,i[q][\"ivlen\"]*2);return z};var b=function(p,v,r,w){var s=CryptoJS.enc.Base64.parse(p);var q=CryptoJS.enc.Hex.stringify(s);var u=i[v][\"proc\"];var t=u(q,r,w);return t};var h=function(p,s,q,u){var r=i[s][\"eproc\"];var t=r(p,q,u);return t};return{version:\"1.0.0\",parsePKCS5PEM:function(p){return n(p)},getKeyAndUnusedIvByPasscodeAndIvsalt:function(q,p,r){return j(q,p,r)},decryptKeyB64:function(p,r,q,s){return b(p,r,q,s)},getDecryptedKeyHex:function(y,x){var q=n(y);var t=q.type;var r=q.cipher;var p=q.ivsalt;var s=q.data;var w=j(r,x,p);var v=w.keyhex;var u=b(s,r,v,p);return u},getEncryptedPKCS5PEMFromPrvKeyHex:function(x,s,A,t,r){var p=\"\";if(typeof t==\"undefined\"||t==null){t=\"AES-256-CBC\"}if(typeof i[t]==\"undefined\"){throw new Error(\"KEYUTIL unsupported algorithm: \"+t)}if(typeof r==\"undefined\"||r==null){var v=i[t][\"ivlen\"];var u=m(v);r=u.toUpperCase()}var z=j(t,A,r);var y=z.keyhex;var w=h(s,t,y,r);var q=w.replace(/(.{64})/g,\"$1\\r\\n\");var p=\"-----BEGIN \"+x+\" PRIVATE KEY-----\\r\\n\";p+=\"Proc-Type: 4,ENCRYPTED\\r\\n\";p+=\"DEK-Info: \"+t+\",\"+r+\"\\r\\n\";p+=\"\\r\\n\";p+=q;p+=\"\\r\\n-----END \"+x+\" PRIVATE KEY-----\\r\\n\";return p},getEncryptedPKCS8PEM:function(r,p,s){var q=this.getEncryptedPKCS8Hex(r,p,s);return hextopem(q,\"ENCRYPTED PRIVATE KEY\")},getEncryptedPKCS8Hex:function(r,p,t){var q;if(t==undefined||t==null){q={}}else{q=JSON.parse(JSON.stringify(t))}q.plain=r;this.initPBES2Param(q);this.encryptPBES2Param(q,p);var s=this.generatePBES2ASN1Param(q);return KJUR.asn1.ASN1Util.newObject(s).tohex()},initPBES2Param:function(p){if(aryval(p,\"encalg\")==undefined){p.encalg=\"aes256-CBC\"}if(aryval(p,\"iter\")==undefined){p.iter=2048}if(aryval(p,\"prf\")==undefined){p.prf=\"hmacWithSHA256\"}if(aryval(p,\"salt\")==undefined){p.salt=CryptoJS.enc.Hex.stringify(CryptoJS.lib.WordArray.random(8))}if(aryval(p,\"enciv\")==undefined){var q;if(p.encalg==\"des-EDE3-CBC\"){q=8}if(p.encalg==\"aes128-CBC\"){q=16}if(p.encalg==\"aes256-CBC\"){q=16}p.enciv=CryptoJS.enc.Hex.stringify(CryptoJS.lib.WordArray.random(q))}},encryptPBES2Param:function(p,q){var t=KEYUTIL.getDKFromPBES2Param(p,q);try{var s=KJUR.crypto.Cipher.encrypt(p.plain,t,p.encalg,{iv:p.enciv})}catch(r){throw new Error(\"encrypt error: \"+p.plain+\" \"+t+\" \"+p.encalg+\" \"+p.enciv)}p.enc=s},generatePBES2ASN1Param:function(p){var q={seq:[{seq:[{oid:\"pkcs5PBES2\"},{seq:[{seq:[{oid:\"pkcs5PBKDF2\"},{seq:[{octstr:{hex:p.salt}},{\"int\":{hex:inttohex(p.iter)}}]}]},{seq:[{oid:p.encalg},{octstr:{hex:p.enciv}}]}]}]},{octstr:{hex:p.enc}}]};if(p.prf!=\"hmacWithSHA1\"){q.seq[0].seq[1].seq[0].seq[1].seq.push({seq:[{oid:p.prf},{\"null\":\"\"}]})}return q},parseHexOfEncryptedPKCS8:function(y){var B=ASN1HEX;var z=B.getChildIdx;var w=B.getV;var t={};var r=z(y,0);if(r.length!=2){throw new Error(\"malformed format: SEQUENCE(0).items != 2: \"+r.length)}t.ciphertext=w(y,r[1]);var A=z(y,r[0]);if(A.length!=2){throw new Error(\"malformed format: SEQUENCE(0.0).items != 2: \"+A.length)}if(w(y,A[0])!=\"2a864886f70d01050d\"){throw new Error(\"this only supports pkcs5PBES2\")}var p=z(y,A[1]);if(A.length!=2){throw new Error(\"malformed format: SEQUENCE(0.0.1).items != 2: \"+p.length)}var q=z(y,p[1]);if(q.length!=2){throw new Error(\"malformed format: SEQUENCE(0.0.1.1).items != 2: \"+q.length)}if(w(y,q[0])!=\"2a864886f70d0307\"){throw\"this only supports TripleDES\"}t.encryptionSchemeAlg=\"TripleDES\";t.encryptionSchemeIV=w(y,q[1]);var s=z(y,p[0]);if(s.length!=2){throw new Error(\"malformed format: SEQUENCE(0.0.1.0).items != 2: \"+s.length)}if(w(y,s[0])!=\"2a864886f70d01050c\"){throw new Error(\"this only supports pkcs5PBKDF2\")}var x=z(y,s[1]);if(x.length<2){throw new Error(\"malformed format: SEQUENCE(0.0.1.0.1).items < 2: \"+x.length)}t.pbkdf2Salt=w(y,x[0]);var u=w(y,x[1]);try{t.pbkdf2Iter=parseInt(u,16)}catch(v){throw new Error(\"malformed format pbkdf2Iter: \"+u)}return t},getPBKDF2KeyHexFromParam:function(u,p){var t=CryptoJS.enc.Hex.parse(u.pbkdf2Salt);var q=u.pbkdf2Iter;var s=CryptoJS.PBKDF2(p,t,{keySize:192/32,iterations:q});var r=CryptoJS.enc.Hex.stringify(s);return r},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function(x,y){var r=pemtohex(x,\"ENCRYPTED PRIVATE KEY\");var p=this.parseHexOfEncryptedPKCS8(r);var u=KEYUTIL.getPBKDF2KeyHexFromParam(p,y);var v={};v.ciphertext=CryptoJS.enc.Hex.parse(p.ciphertext);var t=CryptoJS.enc.Hex.parse(u);var s=CryptoJS.enc.Hex.parse(p.encryptionSchemeIV);var w=CryptoJS.TripleDES.decrypt(v,t,{iv:s});var q=CryptoJS.enc.Hex.stringify(w);return q},parsePBES2:function(z){var v=ASN1HEX.parse(z);if(aryval(v,\"seq.0.seq.0.oid\")!=\"pkcs5PBES2\"||aryval(v,\"seq.0.seq.1.seq.0.seq.0.oid\")!=\"pkcs5PBKDF2\"){throw new Error(\"not pkcs5PBES2 and pkcs5PBKDF2 used\")}var y=aryval(v,\"seq.0.seq.1.seq.0.seq.1.seq\");if(y==undefined){throw new Error(\"PBKDF2 parameter not found\")}var t=aryval(y,\"0.octstr.hex\");var p=aryval(y,\"1.int.hex\");var q=aryval(y,\"2.seq.0.oid\",\"hmacWithSHA1\");var x=-1;try{x=parseInt(p,16)}catch(w){throw new Error(\"iter not proper value\")}var u=aryval(v,\"seq.0.seq.1.seq.1.seq.0.oid\");var s=aryval(v,\"seq.0.seq.1.seq.1.seq.1.octstr.hex\");var r=aryval(v,\"seq.1.octstr.hex\");if(u==undefined||s==undefined||r==undefined){throw new Error(\"encalg, enciv or enc is undefined\")}var A={salt:t,iter:x,prf:q,encalg:u,enciv:s,enc:r};return A},getDKFromPBES2Param:function(p,w){var x={hmacWithSHA1:CryptoJS.algo.SHA1,hmacWithSHA224:CryptoJS.algo.SHA224,hmacWithSHA256:CryptoJS.algo.SHA256,hmacWithSHA384:CryptoJS.algo.SHA384,hmacWithSHA512:CryptoJS.algo.SHA512};var q={\"des-EDE3-CBC\":192/32,\"aes128-CBC\":128/32,\"aes256-CBC\":256/32,};var y=x[p.prf];if(y==undefined){throw new Error(\"unsupported prf\")}var r=q[p.encalg];if(r==undefined){throw new Error(\"unsupported encalg\")}var s=CryptoJS.enc.Hex.parse(p.salt);var u=p.iter;try{var v=CryptoJS.PBKDF2(w,s,{keySize:r,iterations:u,hasher:y});return CryptoJS.enc.Hex.stringify(v)}catch(t){throw new Error(\"PBKDF2 error: \"+t+\" \"+JSON.stringify(p)+\" \"+w)}},getPlainHexFromEncryptedPKCS8PEM:function(t,q){if(t.indexOf(\"BEGIN ENCRYPTED PRIVATE KEY\")==-1){throw new Error(\"not Encrypted PKCS#8 PEM string\")}var u=pemtohex(t);var p;try{p=KEYUTIL.parsePBES2(u)}catch(r){throw new Error(\"malformed PBES2 format: \"+r.message)}var s=KEYUTIL.getDKFromPBES2Param(p,q);return KJUR.crypto.Cipher.decrypt(p.enc,s,p.encalg,{iv:p.enciv})},getKeyFromEncryptedPKCS8PEM:function(s,q){var p=this.getPlainHexFromEncryptedPKCS8PEM(s,q);var r=this.getKeyFromPlainPrivatePKCS8Hex(p);return r},parsePlainPrivatePKCS8Hex:function(s){var v=ASN1HEX;var u=v.getChildIdx;var t=v.getV;var q={};q.algparam=null;if(s.substr(0,2)!=\"30\"){throw new Error(\"malformed plain PKCS8 private key(code:001)\")}var r=u(s,0);if(r.length<3){throw new Error(\"malformed plain PKCS8 private key(code:002)\")}if(s.substr(r[1],2)!=\"30\"){throw new Error(\"malformed PKCS8 private key(code:003)\")}var p=u(s,r[1]);if(p.length!=2){throw new Error(\"malformed PKCS8 private key(code:004)\")}if(s.substr(p[0],2)!=\"06\"){throw new Error(\"malformed PKCS8 private key(code:005)\")}q.algoid=t(s,p[0]);if(s.substr(p[1],2)==\"06\"){q.algparam=t(s,p[1])}if(s.substr(r[2],2)!=\"04\"){throw new Error(\"malformed PKCS8 private key(code:006)\")}q.keyidx=v.getVidx(s,r[2]);return q},getKeyFromPlainPrivatePKCS8PEM:function(q){var p=pemtohex(q,\"PRIVATE KEY\");var r=this.getKeyFromPlainPrivatePKCS8Hex(p);return r},getKeyFromPlainPrivatePKCS8Hex:function(p){var q=this.parsePlainPrivatePKCS8Hex(p);var r;if(q.algoid==\"2a864886f70d010101\"){r=new RSAKey()}else{if(q.algoid==\"2a8648ce380401\"){r=new KJUR.crypto.DSA()}else{if(q.algoid==\"2a8648ce3d0201\"){r=new KJUR.crypto.ECDSA()}else{throw new Error(\"unsupported private key algorithm\")}}}r.readPKCS8PrvKeyHex(p);return r},_getKeyFromPublicPKCS8Hex:function(q){var p;var r=ASN1HEX.getVbyList(q,0,[0,0],\"06\");if(r===\"2a864886f70d010101\"){p=new RSAKey()}else{if(r===\"2a8648ce380401\"){p=new KJUR.crypto.DSA()}else{if(r===\"2a8648ce3d0201\"){p=new KJUR.crypto.ECDSA()}else{throw new Error(\"unsupported PKCS#8 public key hex\")}}}p.readPKCS8PubKeyHex(q);return p},parsePublicRawRSAKeyHex:function(r){var u=ASN1HEX;var t=u.getChildIdx;var s=u.getV;var p={};if(r.substr(0,2)!=\"30\"){throw new Error(\"malformed RSA key(code:001)\")}var q=t(r,0);if(q.length!=2){throw new Error(\"malformed RSA key(code:002)\")}if(r.substr(q[0],2)!=\"02\"){throw new Error(\"malformed RSA key(code:003)\")}p.n=s(r,q[0]);if(r.substr(q[1],2)!=\"02\"){throw new Error(\"malformed RSA key(code:004)\")}p.e=s(r,q[1]);return p},parsePublicPKCS8Hex:function(t){var v=ASN1HEX;var u=v.getChildIdx;var s=v.getV;var q={};q.algparam=null;var r=u(t,0);if(r.length!=2){throw new Error(\"outer DERSequence shall have 2 elements: \"+r.length)}var w=r[0];if(t.substr(w,2)!=\"30\"){throw new Error(\"malformed PKCS8 public key(code:001)\")}var p=u(t,w);if(p.length!=2){throw new Error(\"malformed PKCS8 public key(code:002)\")}if(t.substr(p[0],2)!=\"06\"){throw new Error(\"malformed PKCS8 public key(code:003)\")}q.algoid=s(t,p[0]);if(t.substr(p[1],2)==\"06\"){q.algparam=s(t,p[1])}else{if(t.substr(p[1],2)==\"30\"){q.algparam={};q.algparam.p=v.getVbyList(t,p[1],[0],\"02\");q.algparam.q=v.getVbyList(t,p[1],[1],\"02\");q.algparam.g=v.getVbyList(t,p[1],[2],\"02\")}}if(t.substr(r[1],2)!=\"03\"){throw new Error(\"malformed PKCS8 public key(code:004)\")}q.key=s(t,r[1]).substr(2);return q},}}();KEYUTIL.getKey=function(l,k,n){var G=ASN1HEX,L=G.getChildIdx,v=G.getV,d=G.getVbyList,c=KJUR.crypto,i=c.ECDSA,C=c.DSA,w=RSAKey,M=pemtohex,F=KEYUTIL;if(typeof w!=\"undefined\"&&l instanceof w){return l}if(typeof i!=\"undefined\"&&l instanceof i){return l}if(typeof C!=\"undefined\"&&l instanceof C){return l}if(l.curve!==undefined&&l.xy!==undefined&&l.d===undefined){return new i({pub:l.xy,curve:l.curve})}if(l.curve!==undefined&&l.d!==undefined){return new i({prv:l.d,curve:l.curve})}if(l.kty===undefined&&l.n!==undefined&&l.e!==undefined&&l.d===undefined){var P=new w();P.setPublic(l.n,l.e);return P}if(l.kty===undefined&&l.n!==undefined&&l.e!==undefined&&l.d!==undefined&&l.p!==undefined&&l.q!==undefined&&l.dp!==undefined&&l.dq!==undefined&&l.co!==undefined&&l.qi===undefined){var P=new w();P.setPrivateEx(l.n,l.e,l.d,l.p,l.q,l.dp,l.dq,l.co);return P}if(l.kty===undefined&&l.n!==undefined&&l.e!==undefined&&l.d!==undefined&&l.p===undefined){var P=new w();P.setPrivate(l.n,l.e,l.d);return P}if(l.p!==undefined&&l.q!==undefined&&l.g!==undefined&&l.y!==undefined&&l.x===undefined){var P=new C();P.setPublic(l.p,l.q,l.g,l.y);return P}if(l.p!==undefined&&l.q!==undefined&&l.g!==undefined&&l.y!==undefined&&l.x!==undefined){var P=new C();P.setPrivate(l.p,l.q,l.g,l.y,l.x);return P}if(l.kty===\"RSA\"&&l.n!==undefined&&l.e!==undefined&&l.d===undefined){var P=new w();P.setPublic(b64utohex(l.n),b64utohex(l.e));return P}if(l.kty===\"RSA\"&&l.n!==undefined&&l.e!==undefined&&l.d!==undefined&&l.p!==undefined&&l.q!==undefined&&l.dp!==undefined&&l.dq!==undefined&&l.qi!==undefined){var P=new w();P.setPrivateEx(b64utohex(l.n),b64utohex(l.e),b64utohex(l.d),b64utohex(l.p),b64utohex(l.q),b64utohex(l.dp),b64utohex(l.dq),b64utohex(l.qi));return P}if(l.kty===\"RSA\"&&l.n!==undefined&&l.e!==undefined&&l.d!==undefined){var P=new w();P.setPrivate(b64utohex(l.n),b64utohex(l.e),b64utohex(l.d));return P}if(l.kty===\"EC\"&&l.crv!==undefined&&l.x!==undefined&&l.y!==undefined&&l.d===undefined){var j=new i({curve:l.crv});var t=j.ecparams.keycharlen;var B=(\"0000000000\"+b64utohex(l.x)).slice(-t);var z=(\"0000000000\"+b64utohex(l.y)).slice(-t);var u=\"04\"+B+z;j.setPublicKeyHex(u);return j}if(l.kty===\"EC\"&&l.crv!==undefined&&l.x!==undefined&&l.y!==undefined&&l.d!==undefined){var j=new i({curve:l.crv});var t=j.ecparams.keycharlen;var B=(\"0000000000\"+b64utohex(l.x)).slice(-t);var z=(\"0000000000\"+b64utohex(l.y)).slice(-t);var u=\"04\"+B+z;var b=(\"0000000000\"+b64utohex(l.d)).slice(-t);j.setPublicKeyHex(u);j.setPrivateKeyHex(b);return j}if(n===\"pkcs5prv\"){var J=l,G=ASN1HEX,N,P;N=L(J,0);if(N.length===9){P=new w();P.readPKCS5PrvKeyHex(J)}else{if(N.length===6){P=new C();P.readPKCS5PrvKeyHex(J)}else{if(N.length>2&&J.substr(N[1],2)===\"04\"){P=new i();P.readPKCS5PrvKeyHex(J)}else{throw new Error(\"unsupported PKCS#1/5 hexadecimal key\")}}}return P}if(n===\"pkcs8prv\"){var P=F.getKeyFromPlainPrivatePKCS8Hex(l);return P}if(n===\"pkcs8pub\"){return F._getKeyFromPublicPKCS8Hex(l)}if(n===\"x509pub\"){return X509.getPublicKeyFromCertHex(l)}if(l.indexOf(\"-END CERTIFICATE-\",0)!=-1||l.indexOf(\"-END X509 CERTIFICATE-\",0)!=-1||l.indexOf(\"-END TRUSTED CERTIFICATE-\",0)!=-1){return X509.getPublicKeyFromCertPEM(l)}if(l.indexOf(\"-END PUBLIC KEY-\")!=-1){var O=pemtohex(l,\"PUBLIC KEY\");return F._getKeyFromPublicPKCS8Hex(O)}if(l.indexOf(\"-END RSA PRIVATE KEY-\")!=-1&&l.indexOf(\"4,ENCRYPTED\")==-1){var m=M(l,\"RSA PRIVATE KEY\");return F.getKey(m,null,\"pkcs5prv\")}if(l.indexOf(\"-END DSA PRIVATE KEY-\")!=-1&&l.indexOf(\"4,ENCRYPTED\")==-1){var I=M(l,\"DSA PRIVATE KEY\");var E=d(I,0,[1],\"02\");var D=d(I,0,[2],\"02\");var K=d(I,0,[3],\"02\");var r=d(I,0,[4],\"02\");var s=d(I,0,[5],\"02\");var P=new C();P.setPrivate(new BigInteger(E,16),new BigInteger(D,16),new BigInteger(K,16),new BigInteger(r,16),new BigInteger(s,16));return P}if(l.indexOf(\"-END EC PRIVATE KEY-\")!=-1&&l.indexOf(\"4,ENCRYPTED\")==-1){var m=M(l,\"EC PRIVATE KEY\");return F.getKey(m,null,\"pkcs5prv\")}if(l.indexOf(\"-END PRIVATE KEY-\")!=-1){return F.getKeyFromPlainPrivatePKCS8PEM(l)}if(l.indexOf(\"-END RSA PRIVATE KEY-\")!=-1&&l.indexOf(\"4,ENCRYPTED\")!=-1){var o=F.getDecryptedKeyHex(l,k);var H=new RSAKey();H.readPKCS5PrvKeyHex(o);return H}if(l.indexOf(\"-END EC PRIVATE KEY-\")!=-1&&l.indexOf(\"4,ENCRYPTED\")!=-1){var I=F.getDecryptedKeyHex(l,k);var P=d(I,0,[1],\"04\");var f=d(I,0,[2,0],\"06\");var A=d(I,0,[3,0],\"03\").substr(2);var e=\"\";if(KJUR.crypto.OID.oidhex2name[f]!==undefined){e=KJUR.crypto.OID.oidhex2name[f]}else{throw new Error(\"undefined OID(hex) in KJUR.crypto.OID: \"+f)}var j=new i({curve:e});j.setPublicKeyHex(A);j.setPrivateKeyHex(P);j.isPublic=false;return j}if(l.indexOf(\"-END DSA PRIVATE KEY-\")!=-1&&l.indexOf(\"4,ENCRYPTED\")!=-1){var I=F.getDecryptedKeyHex(l,k);var E=d(I,0,[1],\"02\");var D=d(I,0,[2],\"02\");var K=d(I,0,[3],\"02\");var r=d(I,0,[4],\"02\");var s=d(I,0,[5],\"02\");var P=new C();P.setPrivate(new BigInteger(E,16),new BigInteger(D,16),new BigInteger(K,16),new BigInteger(r,16),new BigInteger(s,16));return P}if(l.indexOf(\"-END ENCRYPTED PRIVATE KEY-\")!=-1){return F.getKeyFromEncryptedPKCS8PEM(l,k)}throw new Error(\"not supported argument\")};KEYUTIL.generateKeypair=function(a,c){if(a==\"RSA\"){var b=c;var h=new RSAKey();h.generate(b,\"10001\");h.isPrivate=true;h.isPublic=true;var f=new RSAKey();var e=h.n.toString(16);var i=h.e.toString(16);f.setPublic(e,i);f.isPrivate=false;f.isPublic=true;var k={};k.prvKeyObj=h;k.pubKeyObj=f;return k}else{if(a==\"EC\"){var d=c;var g=new KJUR.crypto.ECDSA({curve:d});var j=g.generateKeyPairHex();var h=new KJUR.crypto.ECDSA({curve:d});h.setPublicKeyHex(j.ecpubhex);h.setPrivateKeyHex(j.ecprvhex);h.isPrivate=true;h.isPublic=false;var f=new KJUR.crypto.ECDSA({curve:d});f.setPublicKeyHex(j.ecpubhex);f.isPrivate=false;f.isPublic=true;var k={};k.prvKeyObj=h;k.pubKeyObj=f;return k}else{throw new Error(\"unknown algorithm: \"+a)}}};KEYUTIL.getPEM=function(b,C,x,m,p,j){var E=KJUR,k=E.asn1,y=k.DERObjectIdentifier,e=k.DERInteger,l=k.ASN1Util.newObject,a=k.x509,B=a.SubjectPublicKeyInfo,d=E.crypto,t=d.DSA,q=d.ECDSA,n=RSAKey;function z(s){var G=l({seq:[{\"int\":0},{\"int\":{bigint:s.n}},{\"int\":s.e},{\"int\":{bigint:s.d}},{\"int\":{bigint:s.p}},{\"int\":{bigint:s.q}},{\"int\":{bigint:s.dmp1}},{\"int\":{bigint:s.dmq1}},{\"int\":{bigint:s.coeff}}]});return G}function A(G){var s=l({seq:[{\"int\":1},{octstr:{hex:G.prvKeyHex}},{tag:[\"a0\",true,{oid:{name:G.curveName}}]},{tag:[\"a1\",true,{bitstr:{hex:\"00\"+G.pubKeyHex}}]}]});return s}function w(s){var G=l({seq:[{\"int\":0},{\"int\":{bigint:s.p}},{\"int\":{bigint:s.q}},{\"int\":{bigint:s.g}},{\"int\":{bigint:s.y}},{\"int\":{bigint:s.x}}]});return G}if(((n!==undefined&&b instanceof n)||(t!==undefined&&b instanceof t)||(q!==undefined&&b instanceof q))&&b.isPublic==true&&(C===undefined||C==\"PKCS8PUB\")){var D=new B(b);var v=D.tohex();return hextopem(v,\"PUBLIC KEY\")}if(C==\"PKCS1PRV\"&&n!==undefined&&b instanceof n&&(x===undefined||x==null)&&b.isPrivate==true){var D=z(b);var v=D.tohex();return hextopem(v,\"RSA PRIVATE KEY\")}if(C==\"PKCS1PRV\"&&q!==undefined&&b instanceof q&&(x===undefined||x==null)&&b.isPrivate==true){var i=new y({name:b.curveName});var u=i.tohex();var h=A(b);var r=h.tohex();var o=\"\";o+=hextopem(u,\"EC PARAMETERS\");o+=hextopem(r,\"EC PRIVATE KEY\");return o}if(C==\"PKCS1PRV\"&&t!==undefined&&b instanceof t&&(x===undefined||x==null)&&b.isPrivate==true){var D=w(b);var v=D.tohex();return hextopem(v,\"DSA PRIVATE KEY\")}if(C==\"PKCS5PRV\"&&n!==undefined&&b instanceof n&&(x!==undefined&&x!=null)&&b.isPrivate==true){var D=z(b);var v=D.tohex();if(m===undefined){m=\"DES-EDE3-CBC\"}return this.getEncryptedPKCS5PEMFromPrvKeyHex(\"RSA\",v,x,m,j)}if(C==\"PKCS5PRV\"&&q!==undefined&&b instanceof q&&(x!==undefined&&x!=null)&&b.isPrivate==true){var D=A(b);var v=D.tohex();if(m===undefined){m=\"DES-EDE3-CBC\"}return this.getEncryptedPKCS5PEMFromPrvKeyHex(\"EC\",v,x,m,j)}if(C==\"PKCS5PRV\"&&t!==undefined&&b instanceof t&&(x!==undefined&&x!=null)&&b.isPrivate==true){var D=w(b);var v=D.tohex();if(m===undefined){m=\"DES-EDE3-CBC\"}return this.getEncryptedPKCS5PEMFromPrvKeyHex(\"DSA\",v,x,m,j)}var f=function(G,H){if(typeof H==\"string\"){return KEYUTIL.getEncryptedPKCS8PEM(G,H)}else{if(typeof H==\"object\"&&aryval(H,\"passcode\")!=undefined){var I=JSON.parse(JSON.stringify(H));var s=I.passcode;delete I.passcode;return KEYUTIL.getEncryptedPKCS8PEM(G,s,I)}}};if(C==\"PKCS8PRV\"&&n!=undefined&&b instanceof n&&b.isPrivate==true){var g=z(b);var c=g.tohex();var D=l({seq:[{\"int\":0},{seq:[{oid:{name:\"rsaEncryption\"}},{\"null\":true}]},{octstr:{hex:c}}]});var v=D.tohex();if(x===undefined||x==null){return hextopem(v,\"PRIVATE KEY\")}else{return f(v,x)}}if(C==\"PKCS8PRV\"&&q!==undefined&&b instanceof q&&b.isPrivate==true){var F={seq:[{\"int\":1},{octstr:{hex:b.prvKeyHex}}]};if(typeof b.pubKeyHex==\"string\"){F.seq.push({tag:[\"a1\",true,{bitstr:{hex:\"00\"+b.pubKeyHex}}]})}var g=new l(F);var c=g.tohex();var D=l({seq:[{\"int\":0},{seq:[{oid:{name:\"ecPublicKey\"}},{oid:{name:b.curveName}}]},{octstr:{hex:c}}]});var v=D.tohex();if(x===undefined||x==null){return hextopem(v,\"PRIVATE KEY\")}else{return f(v,x)}}if(C==\"PKCS8PRV\"&&t!==undefined&&b instanceof t&&b.isPrivate==true){var g=new e({bigint:b.x});var c=g.tohex();var D=l({seq:[{\"int\":0},{seq:[{oid:{name:\"dsa\"}},{seq:[{\"int\":{bigint:b.p}},{\"int\":{bigint:b.q}},{\"int\":{bigint:b.g}}]}]},{octstr:{hex:c}}]});var v=D.tohex();if(x===undefined||x==null){return hextopem(v,\"PRIVATE KEY\")}else{return f(v,x)}}throw new Error(\"unsupported object nor format\")};KEYUTIL.getKeyFromCSRPEM=function(b){var a=pemtohex(b,\"CERTIFICATE REQUEST\");var c=KEYUTIL.getKeyFromCSRHex(a);return c};KEYUTIL.getKeyFromCSRHex=function(a){var c=KEYUTIL.parseCSRHex(a);var b=KEYUTIL.getKey(c.p8pubkeyhex,null,\"pkcs8pub\");return b};KEYUTIL.parseCSRHex=function(d){var i=ASN1HEX;var f=i.getChildIdx;var c=i.getTLV;var b={};var g=d;if(g.substr(0,2)!=\"30\"){throw new Error(\"malformed CSR(code:001)\")}var e=f(g,0);if(e.length<1){throw new Error(\"malformed CSR(code:002)\")}if(g.substr(e[0],2)!=\"30\"){throw new Error(\"malformed CSR(code:003)\")}var a=f(g,e[0]);if(a.length<3){throw new Error(\"malformed CSR(code:004)\")}b.p8pubkeyhex=c(g,a[2]);return b};KEYUTIL.getKeyID=function(f){var c=KEYUTIL;var e=ASN1HEX;if(typeof f===\"string\"&&f.indexOf(\"BEGIN \")!=-1){f=c.getKey(f)}var d=pemtohex(c.getPEM(f));var b=e.getIdxbyList(d,0,[1]);var a=e.getV(d,b).substring(2);return KJUR.crypto.Util.hashHex(a,\"sha1\")};KEYUTIL.getJWK=function(d,h,g,b,f){var i;var k={};var e;var c=KJUR.crypto.Util.hashHex;if(typeof d==\"string\"){i=KEYUTIL.getKey(d);if(d.indexOf(\"CERTIFICATE\")!=-1){e=pemtohex(d)}}else{if(typeof d==\"object\"){if(d instanceof X509){i=d.getPublicKey();e=d.hex}else{i=d}}else{throw new Error(\"unsupported keyinfo type\")}}if(i instanceof RSAKey&&i.isPrivate){k.kty=\"RSA\";k.n=hextob64u(i.n.toString(16));k.e=hextob64u(i.e.toString(16));k.d=hextob64u(i.d.toString(16));k.p=hextob64u(i.p.toString(16));k.q=hextob64u(i.q.toString(16));k.dp=hextob64u(i.dmp1.toString(16));k.dq=hextob64u(i.dmq1.toString(16));k.qi=hextob64u(i.coeff.toString(16))}else{if(i instanceof RSAKey&&i.isPublic){k.kty=\"RSA\";k.n=hextob64u(i.n.toString(16));k.e=hextob64u(i.e.toString(16))}else{if(i instanceof KJUR.crypto.ECDSA&&i.isPrivate){var a=i.getShortNISTPCurveName();if(a!==\"P-256\"&&a!==\"P-384\"&&a!==\"P-521\"){throw new Error(\"unsupported curve name for JWT: \"+a)}var j=i.getPublicKeyXYHex();k.kty=\"EC\";k.crv=a;k.x=hextob64u(j.x);k.y=hextob64u(j.y);k.d=hextob64u(i.prvKeyHex)}else{if(i instanceof KJUR.crypto.ECDSA&&i.isPublic){var a=i.getShortNISTPCurveName();if(a!==\"P-256\"&&a!==\"P-384\"&&a!==\"P-521\"){throw new Error(\"unsupported curve name for JWT: \"+a)}var j=i.getPublicKeyXYHex();k.kty=\"EC\";k.crv=a;k.x=hextob64u(j.x);k.y=hextob64u(j.y)}}}}if(k.kty==undefined){throw new Error(\"unsupported keyinfo\")}if((!i.isPrivate)&&h!=true){k.kid=KJUR.jws.JWS.getJWKthumbprint(k)}if(e!=undefined&&g!=true){k.x5c=[hex2b64(e)]}if(e!=undefined&&b!=true){k.x5t=b64tob64u(hex2b64(c(e,\"sha1\")))}if(e!=undefined&&f!=true){k[\"x5t#S256\"]=b64tob64u(hex2b64(c(e,\"sha256\")))}return k};KEYUTIL.getJWKFromKey=function(a){return KEYUTIL.getJWK(a,true,true,true,true)};\nRSAKey.getPosArrayOfChildrenFromHex=function(a){return ASN1HEX.getChildIdx(a,0)};RSAKey.getHexValueArrayOfChildrenFromHex=function(f){var n=ASN1HEX;var i=n.getV;var k=RSAKey.getPosArrayOfChildrenFromHex(f);var e=i(f,k[0]);var j=i(f,k[1]);var b=i(f,k[2]);var c=i(f,k[3]);var h=i(f,k[4]);var g=i(f,k[5]);var m=i(f,k[6]);var l=i(f,k[7]);var d=i(f,k[8]);var k=new Array();k.push(e,j,b,c,h,g,m,l,d);return k};RSAKey.prototype.readPrivateKeyFromPEMString=function(d){var c=pemtohex(d);var b=RSAKey.getHexValueArrayOfChildrenFromHex(c);this.setPrivateEx(b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8])};RSAKey.prototype.readPKCS5PrvKeyHex=function(c){var b=RSAKey.getHexValueArrayOfChildrenFromHex(c);this.setPrivateEx(b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8])};RSAKey.prototype.readPKCS8PrvKeyHex=function(e){var c,i,k,b,a,f,d,j;var m=ASN1HEX;var l=m.getVbyListEx;if(m.isASN1HEX(e)===false){throw new Error(\"not ASN.1 hex string\")}try{c=l(e,0,[2,0,1],\"02\");i=l(e,0,[2,0,2],\"02\");k=l(e,0,[2,0,3],\"02\");b=l(e,0,[2,0,4],\"02\");a=l(e,0,[2,0,5],\"02\");f=l(e,0,[2,0,6],\"02\");d=l(e,0,[2,0,7],\"02\");j=l(e,0,[2,0,8],\"02\")}catch(g){throw new Error(\"malformed PKCS#8 plain RSA private key\")}this.setPrivateEx(c,i,k,b,a,f,d,j)};RSAKey.prototype.readPKCS5PubKeyHex=function(c){var e=ASN1HEX;var b=e.getV;if(e.isASN1HEX(c)===false){throw new Error(\"keyHex is not ASN.1 hex string\")}var a=e.getChildIdx(c,0);if(a.length!==2||c.substr(a[0],2)!==\"02\"||c.substr(a[1],2)!==\"02\"){throw new Error(\"wrong hex for PKCS#5 public key\")}var f=b(c,a[0]);var d=b(c,a[1]);this.setPublic(f,d)};RSAKey.prototype.readPKCS8PubKeyHex=function(b){var c=ASN1HEX;if(c.isASN1HEX(b)===false){throw new Error(\"not ASN.1 hex string\")}if(c.getTLVbyListEx(b,0,[0,0])!==\"06092a864886f70d010101\"){throw new Error(\"not PKCS8 RSA public key\")}var a=c.getTLVbyListEx(b,0,[1,0]);this.readPKCS5PubKeyHex(a)};RSAKey.prototype.readCertPubKeyHex=function(b,d){var a,c;a=new X509();a.readCertHex(b);c=a.getPublicKeyHex();this.readPKCS8PubKeyHex(c)};\nvar _RE_HEXDECONLY=new RegExp(\"[^0-9a-f]\",\"gi\");function _rsasign_getHexPaddedDigestInfoForString(d,e,a){var b=function(f){return KJUR.crypto.Util.hashString(f,a)};var c=b(d);return KJUR.crypto.Util.getPaddedDigestInfoHex(c,a,e)}function _zeroPaddingOfSignature(e,d){var c=\"\";var a=d/4-e.length;for(var b=0;b<a;b++){c=c+\"0\"}return c+e}RSAKey.prototype.sign=function(d,a){var b=function(e){return KJUR.crypto.Util.hashString(e,a)};var c=b(d);return this.signWithMessageHash(c,a)};RSAKey.prototype.signWithMessageHash=function(e,c){var f=KJUR.crypto.Util.getPaddedDigestInfoHex(e,c,this.n.bitLength());var b=parseBigInt(f,16);var d=this.doPrivate(b);var a=d.toString(16);return _zeroPaddingOfSignature(a,this.n.bitLength())};function pss_mgf1_str(c,a,e){var b=\"\",d=0;while(b.length<a){b+=hextorstr(e(rstrtohex(c+String.fromCharCode.apply(String,[(d&4278190080)>>24,(d&16711680)>>16,(d&65280)>>8,d&255]))));d+=1}return b}RSAKey.prototype.signPSS=function(e,a,d){var c=function(f){return KJUR.crypto.Util.hashHex(f,a)};var b=c(rstrtohex(e));if(d===undefined){d=-1}return this.signWithMessageHashPSS(b,a,d)};RSAKey.prototype.signWithMessageHashPSS=function(l,a,k){var b=hextorstr(l);var g=b.length;var m=this.n.bitLength()-1;var c=Math.ceil(m/8);var d;var o=function(i){return KJUR.crypto.Util.hashHex(i,a)};if(k===-1||k===undefined){k=g}else{if(k===-2){k=c-g-2}else{if(k<-2){throw new Error(\"invalid salt length\")}}}if(c<(g+k+2)){throw new Error(\"data too long\")}var f=\"\";if(k>0){f=new Array(k);new SecureRandom().nextBytes(f);f=String.fromCharCode.apply(String,f)}var n=hextorstr(o(rstrtohex(\"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\"+b+f)));var j=[];for(d=0;d<c-k-g-2;d+=1){j[d]=0}var e=String.fromCharCode.apply(String,j)+\"\\x01\"+f;var h=pss_mgf1_str(n,e.length,o);var q=[];for(d=0;d<e.length;d+=1){q[d]=e.charCodeAt(d)^h.charCodeAt(d)}var p=(65280>>(8*c-m))&255;q[0]&=~p;for(d=0;d<g;d++){q.push(n.charCodeAt(d))}q.push(188);return _zeroPaddingOfSignature(this.doPrivate(new BigInteger(q)).toString(16),this.n.bitLength())};function _rsasign_getDecryptSignatureBI(a,d,c){var b=new RSAKey();b.setPublic(d,c);var e=b.doPublic(a);return e}function _rsasign_getHexDigestInfoFromSig(a,c,b){var e=_rsasign_getDecryptSignatureBI(a,c,b);var d=e.toString(16).replace(/^1f+00/,\"\");return d}function _rsasign_getAlgNameAndHashFromHexDisgestInfo(f){for(var e in KJUR.crypto.Util.DIGESTINFOHEAD){var d=KJUR.crypto.Util.DIGESTINFOHEAD[e];var b=d.length;if(f.substring(0,b)==d){var c=[e,f.substring(b)];return c}}return[]}RSAKey.prototype.verify=function(f,l){l=l.toLowerCase();if(l.match(/^[0-9a-f]+$/)==null){return false}var b=parseBigInt(l,16);var k=this.n.bitLength();if(b.bitLength()>k){return false}var j=this.doPublic(b);var i=j.toString(16);if(i.length+3!=k/4){return false}var e=i.replace(/^1f+00/,\"\");var g=_rsasign_getAlgNameAndHashFromHexDisgestInfo(e);if(g.length==0){return false}var d=g[0];var h=g[1];var a=function(m){return KJUR.crypto.Util.hashString(m,d)};var c=a(f);return(h==c)};RSAKey.prototype.verifyWithMessageHash=function(e,a){if(a.length!=Math.ceil(this.n.bitLength()/4)){return false}var b=parseBigInt(a,16);if(b.bitLength()>this.n.bitLength()){return 0}var h=this.doPublic(b);var g=h.toString(16).replace(/^1f+00/,\"\");var c=_rsasign_getAlgNameAndHashFromHexDisgestInfo(g);if(c.length==0){return false}var d=c[0];var f=c[1];return(f==e)};RSAKey.prototype.verifyPSS=function(c,b,a,f){var e=function(g){return KJUR.crypto.Util.hashHex(g,a)};var d=e(rstrtohex(c));if(f===undefined){f=-1}return this.verifyWithMessageHashPSS(d,b,a,f)};RSAKey.prototype.verifyWithMessageHashPSS=function(f,s,l,c){if(s.length!=Math.ceil(this.n.bitLength()/4)){return false}var k=new BigInteger(s,16);var r=function(i){return KJUR.crypto.Util.hashHex(i,l)};var j=hextorstr(f);var h=j.length;var g=this.n.bitLength()-1;var m=Math.ceil(g/8);var q;if(c===-1||c===undefined){c=h}else{if(c===-2){c=m-h-2}else{if(c<-2){throw new Error(\"invalid salt length\")}}}if(m<(h+c+2)){throw new Error(\"data too long\")}var a=this.doPublic(k).toByteArray();for(q=0;q<a.length;q+=1){a[q]&=255}while(a.length<m){a.unshift(0)}if(a[m-1]!==188){throw new Error(\"encoded message does not end in 0xbc\")}a=String.fromCharCode.apply(String,a);var d=a.substr(0,m-h-1);var e=a.substr(d.length,h);var p=(65280>>(8*m-g))&255;if((d.charCodeAt(0)&p)!==0){throw new Error(\"bits beyond keysize not zero\")}var n=pss_mgf1_str(e,d.length,r);var o=[];for(q=0;q<d.length;q+=1){o[q]=d.charCodeAt(q)^n.charCodeAt(q)}o[0]&=~p;var b=m-h-c-2;for(q=0;q<b;q+=1){if(o[q]!==0){throw new Error(\"leftmost octets not zero\")}}if(o[b]!==1){throw new Error(\"0x01 marker not found\")}return e===hextorstr(r(rstrtohex(\"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\"+j+String.fromCharCode.apply(String,o.slice(-c)))))};RSAKey.SALT_LEN_HLEN=-1;RSAKey.SALT_LEN_MAX=-2;RSAKey.SALT_LEN_RECOVER=-2;\nfunction X509(v){var o=ASN1HEX,s=o.getChildIdx,k=o.getV,y=o.dump,j=o.parse,b=o.getTLV,c=o.getVbyList,p=o.getVbyListEx,a=o.getTLVbyList,q=o.getTLVbyListEx,l=o.getIdxbyList,f=o.getIdxbyListEx,n=o.getVidx,x=o.getInt,u=o.oidname,r=o.hextooidstr,d=X509,w=pemtohex,g,m=Error;try{g=KJUR.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV}catch(t){}this.HEX2STAG={\"0c\":\"utf8\",\"13\":\"prn\",\"16\":\"ia5\",\"1a\":\"vis\",\"1e\":\"bmp\"};this.hex=null;this.version=0;this.foffset=0;this.aExtInfo=null;this.getVersion=function(){if(this.hex===null||this.version!==0){return this.version}var A=a(this.hex,0,[0,0]);if(A.substr(0,2)==\"a0\"){var B=a(A,0,[0]);var z=x(B,0);if(z<0||2<z){throw new Error(\"malformed version field\")}this.version=z+1;return this.version}else{this.version=1;this.foffset=-1;return 1}};this.getSerialNumberHex=function(){return p(this.hex,0,[0,0],\"02\")};this.getSignatureAlgorithmField=function(){var z=q(this.hex,0,[0,1]);return this.getAlgorithmIdentifierName(z)};this.getAlgorithmIdentifierName=function(z){for(var A in g){if(z===g[A]){return A}}return u(p(z,0,[0],\"06\"))};this.getIssuer=function(A,z){return this.getX500Name(this.getIssuerHex(),A,z)};this.getIssuerHex=function(){return a(this.hex,0,[0,3+this.foffset],\"30\")};this.getIssuerString=function(){var z=this.getIssuer();return z.str};this.getSubject=function(A,z){return this.getX500Name(this.getSubjectHex(),A,z)};this.getSubjectHex=function(){return a(this.hex,0,[0,5+this.foffset],\"30\")};this.getSubjectString=function(){var z=this.getSubject();return z.str};this.getNotBefore=function(){var z=c(this.hex,0,[0,4+this.foffset,0]);z=z.replace(/(..)/g,\"%$1\");z=decodeURIComponent(z);return z};this.getNotAfter=function(){var z=c(this.hex,0,[0,4+this.foffset,1]);z=z.replace(/(..)/g,\"%$1\");z=decodeURIComponent(z);return z};this.getPublicKeyHex=function(){return this.getSPKI()};this.getSPKI=function(){return a(this.hex,0,[0,6+this.foffset],\"30\")};this.getSPKIValue=function(){var z=this.getSPKI();if(z==null){return null}return c(z,0,[1],\"03\",true)};this.getPublicKeyIdx=function(){return l(this.hex,0,[0,6+this.foffset],\"30\")};this.getPublicKeyContentIdx=function(){var z=this.getPublicKeyIdx();return l(this.hex,z,[1,0],\"30\")};this.getPublicKey=function(){return KEYUTIL.getKey(this.getPublicKeyHex(),null,\"pkcs8pub\")};this.getSignatureAlgorithmName=function(){var z=a(this.hex,0,[1],\"30\");return this.getAlgorithmIdentifierName(z)};this.getSignatureValueHex=function(){return c(this.hex,0,[2],\"03\",true)};this.verifySignature=function(B){var C=this.getSignatureAlgorithmField();var z=this.getSignatureValueHex();var A=a(this.hex,0,[0],\"30\");var D=new KJUR.crypto.Signature({alg:C});D.init(B);D.updateHex(A);return D.verify(z)};this.parseExt=function(I){var B,z,D;if(I===undefined){D=this.hex;if(this.version!==3){return -1}B=l(D,0,[0,7,0],\"30\");z=s(D,B)}else{D=pemtohex(I);var E=l(D,0,[0,3,0,0],\"06\");if(k(D,E)!=\"2a864886f70d01090e\"){this.aExtInfo=new Array();return}B=l(D,0,[0,3,0,1,0],\"30\");z=s(D,B);this.hex=D}this.aExtInfo=new Array();for(var C=0;C<z.length;C++){var G={};G.critical=false;var F=s(D,z[C]);var A=0;if(F.length===3){G.critical=true;A=1}G.oid=o.hextooidstr(c(D,z[C],[0],\"06\"));var H=l(D,z[C],[1+A]);G.vidx=n(D,H);this.aExtInfo.push(G)}};this.getExtInfo=function(B){var z=this.aExtInfo;var C=B;if(!B.match(/^[0-9.]+$/)){C=KJUR.asn1.x509.OID.name2oid(B)}if(C===\"\"){return undefined}for(var A=0;A<z.length;A++){if(z[A].oid===C){return z[A]}}return undefined};this.getCriticalExtV=function(C,z,B){if(z!=undefined){return[z,B]}var A=this.getExtInfo(C);if(A==undefined){return[null,null]}return[b(this.hex,A.vidx),A.critical]};this.getExtBasicConstraints=function(A,E){if(A===undefined&&E===undefined){var C=this.getExtInfo(\"basicConstraints\");if(C===undefined){return undefined}A=b(this.hex,C.vidx);E=C.critical}var z={extname:\"basicConstraints\"};if(E){z.critical=true}if(A===\"3000\"){return z}if(A===\"30030101ff\"){z.cA=true;return z}if(A.substr(0,12)===\"30060101ff02\"){var D=k(A,10);var B=parseInt(D,16);z.cA=true;z.pathLen=B;return z}throw new Error(\"hExtV parse error: \"+A)};this.getExtNameConstraints=function(I,G){var A=this.getCriticalExtV(\"nameConstraints\",I,G);I=A[0];G=A[1];if(I==null){return undefined}var K={extname:\"nameConstraints\"};if(G){K.critical=true}var F=s(I,0);for(var D=0;D<F.length;D++){var E=[];var B=s(I,F[D]);for(var C=0;C<B.length;C++){var H=b(I,B[C]);var z=this.getGeneralSubtree(H);E.push(z)}var J=I.substr(F[D],2);if(J==\"a0\"){K.permit=E}else{if(J==\"a1\"){K.exclude=E}}}return K};this.getGeneralSubtree=function(F){var D=s(F,0);var C=D.length;if(C<1||2<C){throw new Error(\"wrong num elements\")}var B=this.getGeneralName(b(F,D[0]));for(var E=1;E<C;E++){var A=F.substr(D[E],2);var z=k(F,D[E]);var G=parseInt(z,16);if(A==\"80\"){B.min=G}if(A==\"81\"){B.max=G}}return B};this.getExtKeyUsage=function(A,C){var B=this.getCriticalExtV(\"keyUsage\",A,C);A=B[0];C=B[1];if(A==null){return undefined}var z={extname:\"keyUsage\"};if(C){z.critical=true}z.names=this.getExtKeyUsageString(A).split(\",\");return z};this.getExtKeyUsageBin=function(A){if(A===undefined){var B=this.getExtInfo(\"keyUsage\");if(B===undefined){return\"\"}A=b(this.hex,B.vidx)}if(A.length!=8&&A.length!=10){throw new Error(\"malformed key usage value: \"+A)}var z=\"000000000000000\"+parseInt(A.substr(6),16).toString(2);if(A.length==8){z=z.slice(-8)}if(A.length==10){z=z.slice(-16)}z=z.replace(/0+$/,\"\");if(z==\"\"){z=\"0\"}return z};this.getExtKeyUsageString=function(B){var C=this.getExtKeyUsageBin(B);var z=new Array();for(var A=0;A<C.length;A++){if(C.substr(A,1)==\"1\"){z.push(X509.KEYUSAGE_NAME[A])}}return z.join(\",\")};this.getExtSubjectKeyIdentifier=function(B,D){if(B===undefined&&D===undefined){var C=this.getExtInfo(\"subjectKeyIdentifier\");if(C===undefined){return undefined}B=b(this.hex,C.vidx);D=C.critical}var z={extname:\"subjectKeyIdentifier\"};if(D){z.critical=true}var A=k(B,0);z.kid={hex:A};return z};this.getExtAuthorityKeyIdentifier=function(F,D){if(F===undefined&&D===undefined){var z=this.getExtInfo(\"authorityKeyIdentifier\");if(z===undefined){return undefined}F=b(this.hex,z.vidx);D=z.critical}var G={extname:\"authorityKeyIdentifier\"};if(D){G.critical=true}var E=s(F,0);for(var A=0;A<E.length;A++){var H=F.substr(E[A],2);if(H===\"80\"){G.kid={hex:k(F,E[A])}}if(H===\"a1\"){var C=b(F,E[A]);var B=this.getGeneralNames(C);G.issuer=B[0][\"dn\"]}if(H===\"82\"){G.sn={hex:k(F,E[A])}}}return G};this.getExtExtKeyUsage=function(C,E){if(C===undefined&&E===undefined){var D=this.getExtInfo(\"extKeyUsage\");if(D===undefined){return undefined}C=b(this.hex,D.vidx);E=D.critical}var z={extname:\"extKeyUsage\",array:[]};if(E){z.critical=true}var A=s(C,0);for(var B=0;B<A.length;B++){z.array.push(u(k(C,A[B])))}return z};this.getExtExtKeyUsageName=function(){var D=this.getExtInfo(\"extKeyUsage\");if(D===undefined){return D}var z=new Array();var C=b(this.hex,D.vidx);if(C===\"\"){return z}var A=s(C,0);for(var B=0;B<A.length;B++){z.push(u(k(C,A[B])))}return z};this.getExtSubjectAltName=function(A,C){if(A===undefined&&C===undefined){var B=this.getExtInfo(\"subjectAltName\");if(B===undefined){return undefined}A=b(this.hex,B.vidx);C=B.critical}var z={extname:\"subjectAltName\",array:[]};if(C){z.critical=true}z.array=this.getGeneralNames(A);return z};this.getExtIssuerAltName=function(A,C){if(A===undefined&&C===undefined){var B=this.getExtInfo(\"issuerAltName\");if(B===undefined){return undefined}A=b(this.hex,B.vidx);C=B.critical}var z={extname:\"issuerAltName\",array:[]};if(C){z.critical=true}z.array=this.getGeneralNames(A);return z};this.getGeneralNames=function(D){var B=s(D,0);var z=[];for(var C=0;C<B.length;C++){var A=this.getGeneralName(b(D,B[C]));if(A!==undefined){z.push(A)}}return z};this.getGeneralName=function(A){var z=A.substr(0,2);var C=k(A,0);var B=hextorstr(C);if(z==\"81\"){return{rfc822:B}}if(z==\"82\"){return{dns:B}}if(z==\"86\"){return{uri:B}}if(z==\"87\"){return{ip:hextoip(C)}}if(z==\"a4\"){return{dn:this.getX500Name(C)}}if(z==\"a0\"){return{other:this.getOtherName(A)}}return undefined};this.getExtSubjectAltName2=function(){var D,G,F;var E=this.getExtInfo(\"subjectAltName\");if(E===undefined){return E}var z=new Array();var C=b(this.hex,E.vidx);var A=s(C,0);for(var B=0;B<A.length;B++){F=C.substr(A[B],2);D=k(C,A[B]);if(F===\"81\"){G=hextoutf8(D);z.push([\"MAIL\",G])}if(F===\"82\"){G=hextoutf8(D);z.push([\"DNS\",G])}if(F===\"84\"){G=X509.hex2dn(D,0);z.push([\"DN\",G])}if(F===\"86\"){G=hextoutf8(D);z.push([\"URI\",G])}if(F===\"87\"){G=hextoip(D);z.push([\"IP\",G])}}return z};this.getExtCRLDistributionPoints=function(D,F){if(D===undefined&&F===undefined){var E=this.getExtInfo(\"cRLDistributionPoints\");if(E===undefined){return undefined}D=b(this.hex,E.vidx);F=E.critical}var A={extname:\"cRLDistributionPoints\",array:[]};if(F){A.critical=true}var B=s(D,0);for(var C=0;C<B.length;C++){var z=b(D,B[C]);A.array.push(this.getDistributionPoint(z))}return A};this.getDistributionPoint=function(E){var B={};var C=s(E,0);for(var D=0;D<C.length;D++){var A=E.substr(C[D],2);var z=b(E,C[D]);if(A==\"a0\"){B.dpname=this.getDistributionPointName(z)}}return B};this.getDistributionPointName=function(E){var B={};var C=s(E,0);for(var D=0;D<C.length;D++){var A=E.substr(C[D],2);var z=b(E,C[D]);if(A==\"a0\"){B.full=this.getGeneralNames(z)}}return B};this.getExtCRLDistributionPointsURI=function(){var D=this.getExtCRLDistributionPoints();if(D==undefined){return D}var A=D.array;var z=[];for(var C=0;C<A.length;C++){try{if(A[C].dpname.full[0].uri!=undefined){z.push(A[C].dpname.full[0].uri)}}catch(B){}}return z};this.getExtAIAInfo=function(){var D=this.getExtInfo(\"authorityInfoAccess\");if(D===undefined){return D}var z={ocsp:[],caissuer:[]};var A=s(this.hex,D.vidx);for(var B=0;B<A.length;B++){var E=c(this.hex,A[B],[0],\"06\");var C=c(this.hex,A[B],[1],\"86\");if(E===\"2b06010505073001\"){z.ocsp.push(hextoutf8(C))}if(E===\"2b06010505073002\"){z.caissuer.push(hextoutf8(C))}}return z};this.getExtAuthorityInfoAccess=function(G,E){if(G===undefined&&E===undefined){var z=this.getExtInfo(\"authorityInfoAccess\");if(z===undefined){return undefined}G=b(this.hex,z.vidx);E=z.critical}var H={extname:\"authorityInfoAccess\",array:[]};if(E){H.critical=true}var F=s(G,0);for(var A=0;A<F.length;A++){var D=p(G,F[A],[0],\"06\");var B=c(G,F[A],[1],\"86\");var C=hextoutf8(B);if(D==\"2b06010505073001\"){H.array.push({ocsp:C})}else{if(D==\"2b06010505073002\"){H.array.push({caissuer:C})}else{throw new Error(\"unknown method: \"+D)}}}return H};this.getExtCertificatePolicies=function(D,G){if(D===undefined&&G===undefined){var F=this.getExtInfo(\"certificatePolicies\");if(F===undefined){return undefined}D=b(this.hex,F.vidx);G=F.critical}var z={extname:\"certificatePolicies\",array:[]};if(G){z.critical=true}var A=s(D,0);for(var B=0;B<A.length;B++){var E=b(D,A[B]);var C=this.getPolicyInformation(E);z.array.push(C)}return z};this.getPolicyInformation=function(D){var z={};var F=c(D,0,[0],\"06\");z.policyoid=u(F);var G=f(D,0,[1],\"30\");if(G!=-1){z.array=[];var A=s(D,G);for(var B=0;B<A.length;B++){var E=b(D,A[B]);var C=this.getPolicyQualifierInfo(E);z.array.push(C)}}return z};this.getOtherName=function(B){var z={};var A=s(B,0);var D=c(B,A[0],[],\"06\");var C=c(B,A[1],[]);z.oid=u(D);z.value=j(C);return z};this.getPolicyQualifierInfo=function(A){var z={};var B=c(A,0,[0],\"06\");if(B===\"2b06010505070201\"){var D=p(A,0,[1],\"16\");z.cps=hextorstr(D)}else{if(B===\"2b06010505070202\"){var C=a(A,0,[1],\"30\");z.unotice=this.getUserNotice(C)}}return z};this.getUserNotice=function(B){var D=null;var z={};try{D=o.parse(B);var C=this._asn1ToUnotice(D);return C}catch(A){return undefined}};this._asn1ToUnotice=function(E){try{var z={};var A=aryval(E,\"seq\");for(var C=0;C<A.length;C++){var D=this._asn1ToNoticeRef(A[C]);if(D!=undefined){z.noticeref=D}var F=this.asn1ToDisplayText(A[C]);if(F!=undefined){z.exptext=F}}if(Object.keys(z).length>0){return z}return undefined}catch(B){return undefined}};this._asn1ToNoticeRef=function(F){try{var A={};var B=aryval(F,\"seq\");for(var D=0;D<B.length;D++){var E=this._asn1ToNoticeNum(B[D]);if(E!=undefined){A.noticenum=E}var z=this.asn1ToDisplayText(B[D]);if(z!=undefined){A.org=z}}if(Object.keys(A).length>0){return A}return undefined}catch(C){return undefined}};this._asn1ToNoticeNum=function(E){try{var A=aryval(E,\"seq\");var z=[];for(var C=0;C<A.length;C++){var D=A[C];z.push(parseInt(aryval(D,\"int.hex\"),16))}return z}catch(B){return undefined}};this.getDisplayText=function(A){var B={\"0c\":\"utf8\",\"16\":\"ia5\",\"1a\":\"vis\",\"1e\":\"bmp\"};var z={};z.type=B[A.substr(0,2)];z.str=hextorstr(k(A,0));return z};this.asn1ToDisplayText=function(z){if(z.utf8str!=undefined){return{type:\"utf8\",str:z.utf8str.str}}if(z.ia5str!=undefined){return{type:\"ia5\",str:z.ia5str.str}}if(z.visstr!=undefined){return{type:\"vis\",str:z.visstr.str}}if(z.bmpstr!=undefined){return{type:\"bmp\",str:z.bmpstr.str}}if(z.prnstr!=undefined){return{type:\"prn\",str:z.prnstr.str}}return undefined};this.getExtPolicyMappings=function(G,E){var z=this.getCriticalExtV(\"policyMappings\",G,E);G=z[0];E=z[1];if(G==null){return undefined}var I={extname:\"policyMappings\"};if(E){I.critical=true}try{var A=j(G);var B=A.seq;var F=[];for(var C=0;C<B.length;C++){var H=B[C].seq;F.push([H[0].oid,H[1].oid])}I.array=F}catch(D){throw new m(\"malformed policyMappings\")}return I};this.getExtPolicyConstraints=function(G,D){var z=this.getCriticalExtV(\"policyConstraints\",G,D);G=z[0];D=z[1];if(G==null){return undefined}var H={extname:\"policyConstraints\"};if(D){H.critical=true}var A=j(G);try{var F=A.seq;for(var B=0;B<F.length;B++){var E=F[B].tag;if(E.explicit!=false){continue}if(E.tag==\"80\"){H.reqexp=parseInt(E.hex,16)}if(E.tag==\"81\"){H.inhibit=parseInt(E.hex,16)}}}catch(C){return new m(\"malformed policyConstraints value\")}return H};this.getExtInhibitAnyPolicy=function(A,D){var C=this.getCriticalExtV(\"inhibitAnyPolicy\",A,D);A=C[0];D=C[1];if(A==null){return undefined}var z={extname:\"inhibitAnyPolicy\"};if(D){z.critical=true}var B=x(A,0);if(B==-1){return new m(\"wrong value\")}z.skip=B;return z};this.getExtCRLNumber=function(A,B){var z={extname:\"cRLNumber\"};if(B){z.critical=true}if(A.substr(0,2)==\"02\"){z.num={hex:k(A,0)};return z}throw new m(\"hExtV parse error: \"+A)};this.getExtCRLReason=function(A,B){var z={extname:\"cRLReason\"};if(B){z.critical=true}if(A.substr(0,2)==\"0a\"){z.code=parseInt(k(A,0),16);return z}throw new Error(\"hExtV parse error: \"+A)};this.getExtOcspNonce=function(A,C){var z={extname:\"ocspNonce\"};if(C){z.critical=true}var B=k(A,0);z.hex=B;return z};this.getExtOcspNoCheck=function(A,B){var z={extname:\"ocspNoCheck\"};if(B){z.critical=true}return z};this.getExtAdobeTimeStamp=function(C,F){if(C===undefined&&F===undefined){var E=this.getExtInfo(\"adobeTimeStamp\");if(E===undefined){return undefined}C=b(this.hex,E.vidx);F=E.critical}var z={extname:\"adobeTimeStamp\"};if(F){z.critical=true}var B=s(C,0);if(B.length>1){var G=b(C,B[1]);var A=this.getGeneralName(G);if(A.uri!=undefined){z.uri=A.uri}}if(B.length>2){var D=b(C,B[2]);if(D==\"0101ff\"){z.reqauth=true}if(D==\"010100\"){z.reqauth=false}}return z};this.getExtSubjectDirectoryAttributes=function(I,H){if(I===undefined&&H===undefined){var B=this.getExtInfo(\"subjectDirectoryAttributes\");if(B===undefined){return undefined}I=b(this.hex,B.vidx);H=B.critical}var J={extname:\"subjectDirectoryAttributes\"};if(H){J.critical=true}try{var z=j(I);var D=[];for(var E=0;E<z.seq.length;E++){var A=z.seq[E];var C=aryval(A,\"seq.0.oid\");var F=aryval(A,\"seq.1.set\");if(C==undefined||F==undefined){throw\"error\"}D.push({attr:C,array:F})}J.array=D;return J}catch(G){throw new Error(\"malformed subjectDirectoryAttributes extension value\")}};var e=function(E){var z={};try{var B=E.seq[0].oid;var D=KJUR.asn1.x509.OID.name2oid(B);z.type=KJUR.asn1.x509.OID.oid2atype(D);var A=E.seq[1];if(A.utf8str!=undefined){z.ds=\"utf8\";z.value=A.utf8str.str}else{if(A.numstr!=undefined){z.ds=\"num\";z.value=A.numstr.str}else{if(A.telstr!=undefined){z.ds=\"tel\";z.value=A.telstr.str}else{if(A.prnstr!=undefined){z.ds=\"prn\";z.value=A.prnstr.str}else{if(A.ia5str!=undefined){z.ds=\"ia5\";z.value=A.ia5str.str}else{if(A.visstr!=undefined){z.ds=\"vis\";z.value=A.visstr.str}else{if(A.bmpstr!=undefined){z.ds=\"bmp\";z.value=A.bmpstr.str}else{throw\"error\"}}}}}}}return z}catch(C){throw new Erorr(\"improper ASN.1 parsed AttrTypeAndValue\")}};var i=function(A){try{return A.set.map(function(B){return e(B)})}catch(z){throw new Error(\"improper ASN.1 parsed RDN: \"+z)}};var h=function(A){try{return A.seq.map(function(B){return i(B)})}catch(z){throw new Error(\"improper ASN.1 parsed X500Name: \"+z)}};this.getX500NameRule=function(z){var G=true;var K=true;var J=false;var A=\"\";var D=\"\";var M=null;var H=[];for(var C=0;C<z.length;C++){var E=z[C];for(var B=0;B<E.length;B++){H.push(E[B])}}for(var C=0;C<H.length;C++){var L=H[C];var N=L.ds;var I=L.value;var F=L.type;A+=\":\"+N;if(N!=\"prn\"&&N!=\"utf8\"&&N!=\"ia5\"){return\"mixed\"}if(N==\"ia5\"){if(F!=\"CN\"){return\"mixed\"}else{if(!KJUR.lang.String.isMail(I)){return\"mixed\"}else{continue}}}if(F==\"C\"){if(N==\"prn\"){continue}else{return\"mixed\"}}D+=\":\"+N;if(M==null){M=N}else{if(M!==N){return\"mixed\"}}}if(M==null){return\"prn\"}else{return M}};this.getAttrTypeAndValue=function(z){var A=j(z);return e(A)};this.getRDN=function(z){var A=j(z);return i(A)};this.getX500NameArray=function(z){var A=j(z);return h(A)};this.getX500Name=function(C,E,D){var A=this.getX500NameArray(C);var B=this.dnarraytostr(A);var z={str:B};z.array=A;if(D==true){z.hex=C}if(E==true){z.canon=this.c14nRDNArray(A)}return z};this.readCertPEM=function(z){this.readCertHex(w(z))};this.readCertHex=function(z){this.hex=z;this.getVersion();try{l(this.hex,0,[0,7],\"a3\");this.parseExt()}catch(A){}};this.getParam=function(A){var z={};if(A==undefined){A={}}z.version=this.getVersion();z.serial={hex:this.getSerialNumberHex()};z.sigalg=this.getSignatureAlgorithmField();z.issuer=this.getIssuer(A.dncanon,A.dnhex);z.notbefore=this.getNotBefore();z.notafter=this.getNotAfter();z.subject=this.getSubject(A.dncanon,A.dnhex);z.sbjpubkey=hextopem(this.getPublicKeyHex(),\"PUBLIC KEY\");if(this.aExtInfo!=undefined&&this.aExtInfo.length>0){z.ext=this.getExtParamArray()}z.sighex=this.getSignatureValueHex();if(A.tbshex==true){z.tbshex=a(this.hex,0,[0])}if(A.nodnarray==true){delete z.issuer.array;delete z.subject.array}return z};this.getExtParamArray=function(A){if(A==undefined){var C=f(this.hex,0,[0,\"[3]\"]);if(C!=-1){A=q(this.hex,0,[0,\"[3]\",0],\"30\")}}var z=[];var B=s(A,0);for(var D=0;D<B.length;D++){var F=b(A,B[D]);var E=this.getExtParam(F);if(E!=null){z.push(E)}}return z};this.getExtParam=function(A){var I={};var C=s(A,0);var E=C.length;if(E!=2&&E!=3){throw new Error(\"wrong number elements in Extension: \"+E+\" \"+A)}var B=r(c(A,0,[0],\"06\"));var G=false;if(E==3&&a(A,0,[1])==\"0101ff\"){G=true}var H=a(A,0,[E-1,0]);var F=undefined;if(B==\"2.5.29.14\"){F=this.getExtSubjectKeyIdentifier(H,G)}else{if(B==\"2.5.29.15\"){F=this.getExtKeyUsage(H,G)}else{if(B==\"2.5.29.17\"){F=this.getExtSubjectAltName(H,G)}else{if(B==\"2.5.29.18\"){F=this.getExtIssuerAltName(H,G)}else{if(B==\"2.5.29.19\"){F=this.getExtBasicConstraints(H,G)}else{if(B==\"2.5.29.30\"){F=this.getExtNameConstraints(H,G)}else{if(B==\"2.5.29.31\"){F=this.getExtCRLDistributionPoints(H,G)}else{if(B==\"2.5.29.32\"){F=this.getExtCertificatePolicies(H,G)}else{if(B==\"2.5.29.33\"){F=this.getExtPolicyMappings(H,G)}else{if(B==\"2.5.29.35\"){F=this.getExtAuthorityKeyIdentifier(H,G)}else{if(B==\"2.5.29.36\"){F=this.getExtPolicyConstraints(H,G)}else{if(B==\"2.5.29.37\"){F=this.getExtExtKeyUsage(H,G)}else{if(B==\"2.5.29.54\"){F=this.getExtInhibitAnyPolicy(H,G)}else{if(B==\"1.3.6.1.5.5.7.1.1\"){F=this.getExtAuthorityInfoAccess(H,G)}else{if(B==\"2.5.29.20\"){F=this.getExtCRLNumber(H,G)}else{if(B==\"2.5.29.21\"){F=this.getExtCRLReason(H,G)}else{if(B==\"2.5.29.9\"){F=this.getExtSubjectDirectoryAttributes(H,G)}else{if(B==\"1.3.6.1.5.5.7.48.1.2\"){F=this.getExtOcspNonce(H,G)}else{if(B==\"1.3.6.1.5.5.7.48.1.5\"){F=this.getExtOcspNoCheck(H,G)}else{if(B==\"1.2.840.113583.1.1.9.1\"){F=this.getExtAdobeTimeStamp(H,G)}else{if(X509.EXT_PARSER[B]!=undefined){F=X509.EXT_PARSER[B](B,G,H)}}}}}}}}}}}}}}}}}}}}}if(F!=undefined){return F}var z={extname:B,extn:H};try{z.extn=j(H)}catch(D){}if(G){z.critical=true}return z};this.findExt=function(A,B){for(var z=0;z<A.length;z++){if(A[z].extname==B){return A[z]}}return null};this.updateExtCDPFullURI=function(D,z){var C=this.findExt(D,\"cRLDistributionPoints\");if(C==null){return}if(C.array==undefined){return}var F=C.array;for(var B=0;B<F.length;B++){if(F[B].dpname==undefined){continue}if(F[B].dpname.full==undefined){continue}var G=F[B].dpname.full;for(var A=0;A<G.length;A++){var E=G[B];if(E.uri==undefined){continue}E.uri=z}}};this.updateExtAIAOCSP=function(D,A){var C=this.findExt(D,\"authorityInfoAccess\");if(C==null){return}if(C.array==undefined){return}var z=C.array;for(var B=0;B<z.length;B++){if(z[B].ocsp!=undefined){z[B].ocsp=A}}};this.updateExtAIACAIssuer=function(D,A){var C=this.findExt(D,\"authorityInfoAccess\");if(C==null){return}if(C.array==undefined){return}var z=C.array;for(var B=0;B<z.length;B++){if(z[B].caissuer!=undefined){z[B].caissuer=A}}};this.dnarraytostr=function(B){function z(C){return C.map(function(D){return A(D).replace(/\\+/,\"\\\\+\")}).join(\"+\")}function A(C){return C.type+\"=\"+C.value}return\"/\"+B.map(function(C){return z(C).replace(/\\//,\"\\\\/\")}).join(\"/\")};this.setCanonicalizedDN=function(A){var C;if(A.str!=undefined&&A.array==undefined){var B=new KJUR.asn1.x509.X500Name({str:A.str});var z=B.tohex();C=this.getX500NameArray(z)}else{C=A.array}if(A.canon==undefined){A.canon=this.c14nRDNArray(C)}};this.c14nRDNArray=function(G){var A=[];for(var C=0;C<G.length;C++){var E=G[C];var z=[];for(var B=0;B<E.length;B++){var D=E[B];var F=D.value;F=F.replace(/^\\s*/,\"\");F=F.replace(/\\s*$/,\"\");F=F.replace(/\\s+/g,\" \");F=F.toLowerCase();z.push(D.type.toLowerCase()+\"=\"+F)}A.push(z.join(\"+\"))}return\"/\"+A.join(\"/\")};this.getInfo=function(){var A=function(W){var ac=\"\";var U=\" \";var Y=\"\\n\";var Z=W.array;for(var X=0;X<Z.length;X++){var V=Z[X];if(V.dn!=undefined){ac+=U+\"dn: \"+V.dn.str+Y}if(V.ip!=undefined){ac+=U+\"ip: \"+V.ip+Y}if(V.rfc822!=undefined){ac+=U+\"rfc822: \"+V.rfc822+Y}if(V.dns!=undefined){ac+=U+\"dns: \"+V.dns+Y}if(V.uri!=undefined){ac+=U+\"uri: \"+V.uri+Y}if(V.other!=undefined){var ab=V.other.oid;var aa=JSON.stringify(V.other.value).replace(/\\\"/g,\"\");ac+=U+\"other: \"+ab+\"=\"+aa+Y}}ac=ac.replace(/\\n$/,\"\");return ac};var H=function(aa){var Y=\"\";var U=aa.array;for(var X=0;X<U.length;X++){var Z=U[X];Y+=\" policy oid: \"+Z.policyoid+\"\\n\";if(Z.array===undefined){continue}for(var W=0;W<Z.array.length;W++){var V=Z.array[W];if(V.cps!==undefined){Y+=\" cps: \"+V.cps+\"\\n\"}}}return Y};var K=function(Y){var X=\"\";var U=Y.array;for(var W=0;W<U.length;W++){var Z=U[W];try{if(Z.dpname.full[0].uri!==undefined){X+=\" \"+Z.dpname.full[0].uri+\"\\n\"}}catch(V){}try{if(Z.dname.full[0].dn.hex!==undefined){X+=\" \"+X509.hex2dn(Z.dpname.full[0].dn.hex)+\"\\n\"}}catch(V){}}return X};var I=function(Y){var X=\"\";var U=Y.array;for(var V=0;V<U.length;V++){var W=U[V];if(W.caissuer!==undefined){X+=\" caissuer: \"+W.caissuer+\"\\n\"}if(W.ocsp!==undefined){X+=\" ocsp: \"+W.ocsp+\"\\n\"}}return X};var B=X509;var M,L,T;M=\"Basic Fields\\n\";M+=\" serial number: \"+this.getSerialNumberHex()+\"\\n\";M+=\" signature algorithm: \"+this.getSignatureAlgorithmField()+\"\\n\";M+=\" issuer: \"+this.getIssuerString()+\"\\n\";M+=\" notBefore: \"+this.getNotBefore()+\"\\n\";M+=\" notAfter: \"+this.getNotAfter()+\"\\n\";M+=\" subject: \"+this.getSubjectString()+\"\\n\";M+=\" subject public key info: \\n\";L=this.getPublicKey();M+=\" key algorithm: \"+L.type+\"\\n\";if(L.type===\"RSA\"){M+=\" n=\"+hextoposhex(L.n.toString(16)).substr(0,16)+\"...\\n\";M+=\" e=\"+hextoposhex(L.e.toString(16))+\"\\n\"}T=this.aExtInfo;if(T!==undefined&&T!==null){M+=\"X509v3 Extensions:\\n\";for(var P=0;P<T.length;P++){var R=T[P];var z=KJUR.asn1.x509.OID.oid2name(R.oid);if(z===\"\"){z=R.oid}var O=\"\";if(R.critical===true){O=\"CRITICAL\"}M+=\" \"+z+\" \"+O+\":\\n\";if(z===\"basicConstraints\"){var C=this.getExtBasicConstraints();if(C.cA===undefined){M+=\" {}\\n\"}else{M+=\" cA=true\";if(C.pathLen!==undefined){M+=\", pathLen=\"+C.pathLen}M+=\"\\n\"}}else{if(z==\"policyMappings\"){var S=this.getExtPolicyMappings().array;var G=S.map(function(U){var V=U;return V[0]+\":\"+V[1]}).join(\", \");M+=\" \"+G+\"\\n\"}else{if(z==\"policyConstraints\"){var N=this.getExtPolicyConstraints();M+=\" \";if(N.reqexp!=undefined){M+=\" reqexp=\"+N.reqexp}if(N.inhibit!=undefined){M+=\" inhibit=\"+N.inhibit}M+=\"\\n\"}else{if(z==\"inhibitAnyPolicy\"){var N=this.getExtInhibitAnyPolicy();M+=\" skip=\"+N.skip+\"\\n\"}else{if(z==\"keyUsage\"){M+=\" \"+this.getExtKeyUsageString()+\"\\n\"}else{if(z==\"subjectKeyIdentifier\"){M+=\" \"+this.getExtSubjectKeyIdentifier().kid.hex+\"\\n\"}else{if(z==\"authorityKeyIdentifier\"){var D=this.getExtAuthorityKeyIdentifier();if(D.kid!==undefined){M+=\" kid=\"+D.kid.hex+\"\\n\"}}else{if(z==\"extKeyUsage\"){var Q=this.getExtExtKeyUsage().array;M+=\" \"+Q.join(\", \")+\"\\n\"}else{if(z==\"subjectAltName\"){var E=A(this.getExtSubjectAltName());M+=E+\"\\n\"}else{if(z==\"cRLDistributionPoints\"){var J=this.getExtCRLDistributionPoints();M+=K(J)}else{if(z==\"authorityInfoAccess\"){var F=this.getExtAuthorityInfoAccess();M+=I(F)}else{if(z==\"certificatePolicies\"){M+=H(this.getExtCertificatePolicies())}}}}}}}}}}}}}}M+=\"signature algorithm: \"+this.getSignatureAlgorithmName()+\"\\n\";M+=\"signature: \"+this.getSignatureValueHex().substr(0,16)+\"...\\n\";return M};if(typeof v==\"string\"){if(v.indexOf(\"-----BEGIN\")!=-1){this.readCertPEM(v)}else{if(KJUR.lang.String.isHex(v)){this.readCertHex(v)}}}}X509.EXT_PARSER={};X509.registExtParser=function(b,a){X509.EXT_PARSER[b]=a};X509.hex2dn=function(e,b){if(b===undefined){b=0}var a=new X509();var c=ASN1HEX.getTLV(e,b);var d=a.getX500Name(e);return d.str};X509.hex2rdn=function(f,b){if(b===undefined){b=0}if(f.substr(b,2)!==\"31\"){throw new Error(\"malformed RDN\")}var c=new Array();var d=ASN1HEX.getChildIdx(f,b);for(var e=0;e<d.length;e++){c.push(X509.hex2attrTypeValue(f,d[e]))}c=c.map(function(a){return a.replace(\"+\",\"\\\\+\")});return c.join(\"+\")};X509.hex2attrTypeValue=function(d,i){var j=ASN1HEX;var h=j.getV;if(i===undefined){i=0}if(d.substr(i,2)!==\"30\"){throw new Error(\"malformed attribute type and value\")}var g=j.getChildIdx(d,i);if(g.length!==2||d.substr(g[0],2)!==\"06\"){\"malformed attribute type and value\"}var b=h(d,g[0]);var f=KJUR.asn1.ASN1Util.oidHexToInt(b);var e=KJUR.asn1.x509.OID.oid2atype(f);var a=h(d,g[1]);var c=hextorstr(a);return e+\"=\"+c};X509.getPublicKeyFromCertHex=function(b){var a=new X509();a.readCertHex(b);return a.getPublicKey()};X509.getPublicKeyFromCertPEM=function(b){var a=new X509();a.readCertPEM(b);return a.getPublicKey()};X509.getPublicKeyInfoPropOfCertPEM=function(c){var e=ASN1HEX;var g=e.getVbyList;var b={};var a,f,d;b.algparam=null;a=new X509();a.readCertPEM(c);f=a.getPublicKeyHex();b.keyhex=g(f,0,[1],\"03\").substr(2);b.algoid=g(f,0,[0,0],\"06\");if(b.algoid===\"2a8648ce3d0201\"){b.algparam=g(f,0,[0,1],\"06\")}return b};X509.KEYUSAGE_NAME=[\"digitalSignature\",\"nonRepudiation\",\"keyEncipherment\",\"dataEncipherment\",\"keyAgreement\",\"keyCertSign\",\"cRLSign\",\"encipherOnly\",\"decipherOnly\"];\nvar X509CRL=function(e){var a=KJUR,f=a.lang.String.isHex,m=ASN1HEX,k=m.getV,b=m.getTLV,h=m.getVbyList,c=m.getTLVbyList,d=m.getTLVbyListEx,i=m.getIdxbyList,g=m.getIdxbyListEx,l=m.getChildIdx,j=new X509();this.hex=null;this.posSigAlg=null;this.posRevCert=null;this.parsed=null;this._setPos=function(){var o=i(this.hex,0,[0,0]);var n=this.hex.substr(o,2);if(n==\"02\"){this.posSigAlg=1}else{if(n==\"30\"){this.posSigAlg=0}else{throw new Error(\"malformed 1st item of TBSCertList: \"+n)}}var s=i(this.hex,0,[0,this.posSigAlg+3]);var r=this.hex.substr(s,2);if(r==\"17\"||r==\"18\"){var q,p;q=i(this.hex,0,[0,this.posSigAlg+4]);this.posRevCert=null;if(q!=-1){p=this.hex.substr(q,2);if(p==\"30\"){this.posRevCert=this.posSigAlg+4}}}else{if(r==\"30\"){this.posRevCert=this.posSigAlg+3}else{if(r==\"a0\"){this.posRevCert=null}else{throw new Error(\"malformed nextUpdate or revCert tag: \"+r)}}}};this.getVersion=function(){if(this.posSigAlg==0){return null}return parseInt(h(this.hex,0,[0,0],\"02\"),16)+1};this.getSignatureAlgorithmField=function(){var n=c(this.hex,0,[0,this.posSigAlg],\"30\");return j.getAlgorithmIdentifierName(n)};this.getIssuer=function(){return j.getX500Name(this.getIssuerHex())};this.getIssuerHex=function(){return c(this.hex,0,[0,this.posSigAlg+1],\"30\")};this.getThisUpdate=function(){var n=h(this.hex,0,[0,this.posSigAlg+2]);return result=hextorstr(n)};this.getNextUpdate=function(){var o=i(this.hex,0,[0,this.posSigAlg+3]);var n=this.hex.substr(o,2);if(n!=\"17\"&&n!=\"18\"){return null}return hextorstr(k(this.hex,o))};this.getRevCertArray=function(){if(this.posRevCert==null){return null}var o=[];var n=i(this.hex,0,[0,this.posRevCert]);var p=l(this.hex,n);for(var q=0;q<p.length;q++){var r=b(this.hex,p[q]);o.push(this.getRevCert(r))}return o};this.getRevCert=function(p){var o={};var n=l(p,0);o.sn={hex:h(p,0,[0],\"02\")};o.date=hextorstr(h(p,0,[1]));if(n.length==3){o.ext=j.getExtParamArray(c(p,0,[2]))}return o};this.findRevCert=function(p){var n=new X509(p);var o=n.getSerialNumberHex();return this.findRevCertBySN(o)};this.findRevCertBySN=function(o){if(this.parsed==null){this.getParam()}if(this.parsed.revcert==null){return null}var n=this.parsed.revcert;for(var p=0;p<n.length;p++){if(o==n[p].sn.hex){return n[p]}}return null};this.getSignatureValueHex=function(){return h(this.hex,0,[2],\"03\",true)};this.verifySignature=function(o){var p=this.getSignatureAlgorithmField();var n=this.getSignatureValueHex();var q=c(this.hex,0,[0],\"30\");var r=new KJUR.crypto.Signature({alg:p});r.init(o);r.updateHex(q);return r.verify(n)};this.getParam=function(r){var n={};var p=this.getVersion();if(p!=null){n.version=p}n.sigalg=this.getSignatureAlgorithmField();n.issuer=this.getIssuer();n.thisupdate=this.getThisUpdate();var q=this.getNextUpdate();if(q!=null){n.nextupdate=q}var t=this.getRevCertArray();if(t!=null){n.revcert=t}var s=g(this.hex,0,[0,\"[0]\"]);if(s!=-1){var o=d(this.hex,0,[0,\"[0]\",0]);n.ext=j.getExtParamArray(o)}n.sighex=this.getSignatureValueHex();this.parsed=n;if(typeof r==\"object\"){if(r.tbshex==true){n.tbshex=c(this.hex,0,[0])}if(r.nodnarray==true){delete n.issuer.array}}return n};if(typeof e==\"string\"){if(f(e)){this.hex=e}else{if(e.match(/-----BEGIN X509 CRL/)){this.hex=pemtohex(e)}}this._setPos()}};\nif(typeof KJUR==\"undefined\"||!KJUR){KJUR={}}if(typeof KJUR.jws==\"undefined\"||!KJUR.jws){KJUR.jws={}}KJUR.jws.JWS=function(){var b=KJUR,a=b.jws.JWS,c=a.isSafeJSONString;this.parseJWS=function(g,j){if((this.parsedJWS!==undefined)&&(j||(this.parsedJWS.sigvalH!==undefined))){return}var i=g.match(/^([^.]+)\\.([^.]+)\\.([^.]+)$/);if(i==null){throw\"JWS signature is not a form of 'Head.Payload.SigValue'.\"}var k=i[1];var e=i[2];var l=i[3];var n=k+\".\"+e;this.parsedJWS={};this.parsedJWS.headB64U=k;this.parsedJWS.payloadB64U=e;this.parsedJWS.sigvalB64U=l;this.parsedJWS.si=n;if(!j){var h=b64utohex(l);var f=parseBigInt(h,16);this.parsedJWS.sigvalH=h;this.parsedJWS.sigvalBI=f}var d=b64utoutf8(k);var m=b64utoutf8(e);this.parsedJWS.headS=d;this.parsedJWS.payloadS=m;if(!c(d,this.parsedJWS,\"headP\")){throw\"malformed JSON string for JWS Head: \"+d}}};KJUR.jws.JWS.sign=function(j,w,z,A,a){var x=KJUR,n=x.jws,r=n.JWS,h=r.readSafeJSONString,q=r.isSafeJSONString,d=x.crypto,l=d.ECDSA,p=d.Mac,c=d.Signature,u=JSON;var t,k,o;if(typeof w!=\"string\"&&typeof w!=\"object\"){throw\"spHeader must be JSON string or object: \"+w}if(typeof w==\"object\"){k=w;t=u.stringify(k)}if(typeof w==\"string\"){t=w;if(!q(t)){throw\"JWS Head is not safe JSON string: \"+t}k=h(t)}o=z;if(typeof z==\"object\"){o=u.stringify(z)}if((j==\"\"||j==null)&&k.alg!==undefined){j=k.alg}if((j!=\"\"&&j!=null)&&k.alg===undefined){k.alg=j;t=u.stringify(k)}if(j!==k.alg){throw\"alg and sHeader.alg doesn't match: \"+j+\"!=\"+k.alg}var s=null;if(r.jwsalg2sigalg[j]===undefined){throw\"unsupported alg name: \"+j}else{s=r.jwsalg2sigalg[j]}var e=utf8tob64u(t);var m=utf8tob64u(o);var b=e+\".\"+m;var y=\"\";if(s.substr(0,4)==\"Hmac\"){if(A===undefined){throw\"mac key shall be specified for HS* alg\"}var i=new p({alg:s,prov:\"cryptojs\",pass:A});i.updateString(b);y=i.doFinal()}else{if(s.indexOf(\"withECDSA\")!=-1){var f=new c({alg:s});f.init(A,a);f.updateString(b);var g=f.sign();y=KJUR.crypto.ECDSA.asn1SigToConcatSig(g)}else{if(s!=\"none\"){var f=new c({alg:s});f.init(A,a);f.updateString(b);y=f.sign()}}}var v=hextob64u(y);return b+\".\"+v};KJUR.jws.JWS.verify=function(A,F,o){var B=KJUR,t=B.jws,w=t.JWS,j=w.readSafeJSONString,e=B.crypto,s=e.ECDSA,v=e.Mac,d=e.Signature,n;if(typeof RSAKey!==undefined){n=RSAKey}if(!isBase64URLDot(A)){return false}var C=A.split(\".\");if(C.length!==3){return false}var f=C[0];var u=C[1];var c=f+\".\"+u;var E=b64utohex(C[2]);var m=j(b64utoutf8(C[0]));var l=null;var D=null;if(m.alg===undefined){throw\"algorithm not specified in header\"}else{l=m.alg;D=l.substr(0,2)}if(o!=null&&Object.prototype.toString.call(o)===\"[object Array]\"&&o.length>0){var b=\":\"+o.join(\":\")+\":\";if(b.indexOf(\":\"+l+\":\")==-1){throw\"algorithm '\"+l+\"' not accepted in the list\"}}if(l!=\"none\"&&F===null){throw\"key shall be specified to verify.\"}if(typeof F==\"string\"&&F.indexOf(\"-----BEGIN \")!=-1){F=KEYUTIL.getKey(F)}if(D==\"RS\"||D==\"PS\"){if(!(F instanceof n)){throw\"key shall be a RSAKey obj for RS* and PS* algs\"}}if(D==\"ES\"){if(!(F instanceof s)){throw\"key shall be a ECDSA obj for ES* algs\"}}if(l==\"none\"){}var y=null;if(w.jwsalg2sigalg[m.alg]===undefined){throw new Error(\"unsupported alg name: \"+l)}else{y=w.jwsalg2sigalg[l]}if(m.crit!==undefined){if(!Array.isArray(m.crit)||m.crit.length===0){throw new Error(\"wrong critical header\")}for(var x=0;x<m.crit.length;x++){var r=m.crit[x];if(typeof r!==\"string\"||r.length===0){throw new Error(\"wrong critical header\")}if(m[r]===undefined){throw new Error(\"critical header '\"+r+\"' missing\")}}}if(y==\"none\"){throw new Error(\"not supported\")}else{if(y.substr(0,4)==\"Hmac\"){var q=null;if(F===undefined){throw new Error(\"hexadecimal key shall be specified for HMAC\")}var k=new v({alg:y,pass:F});k.updateString(c);q=k.doFinal();return timingSafeEqual(E,q)}else{if(y.indexOf(\"withECDSA\")!=-1){var h=null;try{h=s.concatSigToASN1Sig(E)}catch(z){return false}var g=new d({alg:y});g.init(F);g.updateString(c);return g.verify(h)}else{var g=new d({alg:y});g.init(F);g.updateString(c);return g.verify(E)}}}};KJUR.jws.JWS.parse=function(g){var c=g.split(\".\");var b={};var f,e,d;if(c.length!=2&&c.length!=3){throw\"malformed sJWS: wrong number of '.' splitted elements\"}f=c[0];e=c[1];if(c.length==3){d=c[2]}b.headerObj=KJUR.jws.JWS.readSafeJSONString(b64utoutf8(f));b.payloadObj=KJUR.jws.JWS.readSafeJSONString(b64utoutf8(e));b.headerPP=JSON.stringify(b.headerObj,null,\" \");if(b.payloadObj==null){b.payloadPP=b64utoutf8(e)}else{b.payloadPP=JSON.stringify(b.payloadObj,null,\" \")}if(d!==undefined){b.sigHex=b64utohex(d)}return b};KJUR.jws.JWS.verifyJWT=function(e,l,r){var d=KJUR,j=d.jws,o=j.JWS,n=o.readSafeJSONString,p=o.inArray,f=o.includedArray;if(!isBase64URLDot(e)){return false}var k=e.split(\".\");if(k.length!=3){return false}var c=k[0];var i=k[1];var q=c+\".\"+i;var m=b64utohex(k[2]);var h=n(b64utoutf8(c));var g=n(b64utoutf8(i));if(h.alg===undefined){return false}if(r.alg===undefined){throw\"acceptField.alg shall be specified\"}if(!p(h.alg,r.alg)){return false}if(g.iss!==undefined&&typeof r.iss===\"object\"){if(!p(g.iss,r.iss)){return false}}if(g.sub!==undefined&&typeof r.sub===\"object\"){if(!p(g.sub,r.sub)){return false}}if(g.aud!==undefined&&typeof r.aud===\"object\"){if(typeof g.aud==\"string\"){if(!p(g.aud,r.aud)){return false}}else{if(typeof g.aud==\"object\"){if(!f(g.aud,r.aud)){return false}}}}var b=j.IntDate.getNow();if(r.verifyAt!==undefined&&typeof r.verifyAt===\"number\"){b=r.verifyAt}if(r.gracePeriod===undefined||typeof r.gracePeriod!==\"number\"){r.gracePeriod=0}if(g.exp!==undefined&&typeof g.exp==\"number\"){if(g.exp+r.gracePeriod<b){return false}}if(g.nbf!==undefined&&typeof g.nbf==\"number\"){if(b<g.nbf-r.gracePeriod){return false}}if(g.iat!==undefined&&typeof g.iat==\"number\"){if(b<g.iat-r.gracePeriod){return false}}if(g.jti!==undefined&&r.jti!==undefined){if(g.jti!==r.jti){return false}}if(!o.verify(e,l,r.alg)){return false}return true};KJUR.jws.JWS.includedArray=function(b,a){var c=KJUR.jws.JWS.inArray;if(b===null){return false}if(typeof b!==\"object\"){return false}if(typeof b.length!==\"number\"){return false}for(var d=0;d<b.length;d++){if(!c(b[d],a)){return false}}return true};KJUR.jws.JWS.inArray=function(d,b){if(b===null){return false}if(typeof b!==\"object\"){return false}if(typeof b.length!==\"number\"){return false}for(var c=0;c<b.length;c++){if(b[c]==d){return true}}return false};KJUR.jws.JWS.jwsalg2sigalg={HS256:\"HmacSHA256\",HS384:\"HmacSHA384\",HS512:\"HmacSHA512\",RS256:\"SHA256withRSA\",RS384:\"SHA384withRSA\",RS512:\"SHA512withRSA\",ES256:\"SHA256withECDSA\",ES384:\"SHA384withECDSA\",ES512:\"SHA512withECDSA\",PS256:\"SHA256withRSAandMGF1\",PS384:\"SHA384withRSAandMGF1\",PS512:\"SHA512withRSAandMGF1\",none:\"none\",};KJUR.jws.JWS.isSafeJSONString=function(c,b,d){var e=null;try{e=jsonParse(c);if(typeof e!=\"object\"){return 0}if(e.constructor===Array){return 0}if(b){b[d]=e}return 1}catch(a){return 0}};KJUR.jws.JWS.readSafeJSONString=function(b){var c=null;try{c=jsonParse(b);if(typeof c!=\"object\"){return null}if(c.constructor===Array){return null}return c}catch(a){return null}};KJUR.jws.JWS.getEncodedSignatureValueFromJWS=function(b){var a=b.match(/^[^.]+\\.[^.]+\\.([^.]+)$/);if(a==null){throw\"JWS signature is not a form of 'Head.Payload.SigValue'.\"}return a[1]};KJUR.jws.JWS.getJWKthumbprint=function(d){if(d.kty!==\"RSA\"&&d.kty!==\"EC\"&&d.kty!==\"oct\"){throw new Error(\"unsupported algorithm for JWK Thumprint\")}var a=\"{\";if(d.kty===\"RSA\"){if(typeof d.n!=\"string\"||typeof d.e!=\"string\"){throw new Error(\"wrong n and e value for RSA key\")}a+='\"e\":\"'+d.e+'\",';a+='\"kty\":\"'+d.kty+'\",';a+='\"n\":\"'+d.n+'\"}'}else{if(d.kty===\"EC\"){if(typeof d.crv!=\"string\"||typeof d.x!=\"string\"||typeof d.y!=\"string\"){throw new Error(\"wrong crv, x and y value for EC key\")}a+='\"crv\":\"'+d.crv+'\",';a+='\"kty\":\"'+d.kty+'\",';a+='\"x\":\"'+d.x+'\",';a+='\"y\":\"'+d.y+'\"}'}else{if(d.kty===\"oct\"){if(typeof d.k!=\"string\"){throw new Error(\"wrong k value for oct(symmetric) key\")}a+='\"k\":\"'+d.k+'\",';a+='\"kty\":\"'+d.kty+'\"}'}}}var b=rstrtohex(a);var c=KJUR.crypto.Util.hashHex(b,\"sha256\");var e=hextob64u(c);return e};KJUR.jws.IntDate={};KJUR.jws.IntDate.get=function(c){var b=KJUR.jws.IntDate,d=b.getNow,a=b.getZulu;if(c==\"now\"){return d()}else{if(c==\"now + 1hour\"){return d()+60*60}else{if(c==\"now + 1day\"){return d()+60*60*24}else{if(c==\"now + 1month\"){return d()+60*60*24*30}else{if(c==\"now + 1year\"){return d()+60*60*24*365}else{if(c.match(/Z$/)){return a(c)}else{if(c.match(/^[0-9]+$/)){return parseInt(c)}}}}}}}throw\"unsupported format: \"+c};KJUR.jws.IntDate.getZulu=function(a){return zulutosec(a)};KJUR.jws.IntDate.getNow=function(){var a=~~(new Date()/1000);return a};KJUR.jws.IntDate.intDate2UTCString=function(a){var b=new Date(a*1000);return b.toUTCString()};KJUR.jws.IntDate.intDate2Zulu=function(e){var i=new Date(e*1000),h=(\"0000\"+i.getUTCFullYear()).slice(-4),g=(\"00\"+(i.getUTCMonth()+1)).slice(-2),b=(\"00\"+i.getUTCDate()).slice(-2),a=(\"00\"+i.getUTCHours()).slice(-2),c=(\"00\"+i.getUTCMinutes()).slice(-2),f=(\"00\"+i.getUTCSeconds()).slice(-2);return h+g+b+a+c+f+\"Z\"};\nif(typeof KJUR==\"undefined\"||!KJUR){KJUR={}}if(typeof KJUR.jws==\"undefined\"||!KJUR.jws){KJUR.jws={}}KJUR.jws.JWSJS=function(){var c=KJUR,b=c.jws,a=b.JWS,d=a.readSafeJSONString;this.aHeader=[];this.sPayload=\"\";this.aSignature=[];this.init=function(){this.aHeader=[];this.sPayload=undefined;this.aSignature=[]};this.initWithJWS=function(f){this.init();var e=f.split(\".\");if(e.length!=3){throw\"malformed input JWS\"}this.aHeader.push(e[0]);this.sPayload=e[1];this.aSignature.push(e[2])};this.addSignature=function(e,h,m,k){if(this.sPayload===undefined||this.sPayload===null){throw\"there's no JSON-JS signature to add.\"}var l=this.aHeader.length;if(this.aHeader.length!=this.aSignature.length){throw\"aHeader.length != aSignature.length\"}try{var f=KJUR.jws.JWS.sign(e,h,this.sPayload,m,k);var j=f.split(\".\");var n=j[0];var g=j[2];this.aHeader.push(j[0]);this.aSignature.push(j[2])}catch(i){if(this.aHeader.length>l){this.aHeader.pop()}if(this.aSignature.length>l){this.aSignature.pop()}throw\"addSignature failed: \"+i}};this.verifyAll=function(h){if(this.aHeader.length!==h.length||this.aSignature.length!==h.length){return false}for(var g=0;g<h.length;g++){var f=h[g];if(f.length!==2){return false}var e=this.verifyNth(g,f[0],f[1]);if(e===false){return false}}return true};this.verifyNth=function(f,j,g){if(this.aHeader.length<=f||this.aSignature.length<=f){return false}var h=this.aHeader[f];var k=this.aSignature[f];var l=h+\".\"+this.sPayload+\".\"+k;var e=false;try{e=a.verify(l,j,g)}catch(i){return false}return e};this.readJWSJS=function(g){if(typeof g===\"string\"){var f=d(g);if(f==null){throw\"argument is not safe JSON object string\"}this.aHeader=f.headers;this.sPayload=f.payload;this.aSignature=f.signatures}else{try{if(g.headers.length>0){this.aHeader=g.headers}else{throw\"malformed header\"}if(typeof g.payload===\"string\"){this.sPayload=g.payload}else{throw\"malformed signatures\"}if(g.signatures.length>0){this.aSignature=g.signatures}else{throw\"malformed signatures\"}}catch(e){throw\"malformed JWS-JS JSON object: \"+e}}};this.getJSON=function(){return{headers:this.aHeader,payload:this.sPayload,signatures:this.aSignature}};this.isEmpty=function(){if(this.aHeader.length==0){return 1}return 0}};\nexports.SecureRandom = SecureRandom;\nexports.rng_seed_time = rng_seed_time;\n\nexports.BigInteger = BigInteger;\nexports.RSAKey = RSAKey;\nexports.ECDSA = KJUR.crypto.ECDSA;\nexports.DSA = KJUR.crypto.DSA;\nexports.Signature = KJUR.crypto.Signature;\nexports.MessageDigest = KJUR.crypto.MessageDigest;\nexports.Mac = KJUR.crypto.Mac;\n//exports.Cipher = KJUR.crypto.Cipher;\nexports.KEYUTIL = KEYUTIL;\nexports.ASN1HEX = ASN1HEX;\nexports.X509 = X509;\nexports.X509CRL = X509CRL;\nexports.CryptoJS = CryptoJS;\n\n// ext/base64.js\nexports.b64tohex = b64tohex;\nexports.b64toBA = b64toBA;\n\n// ext/ec*.js\nexports.ECFieldElementFp = ECFieldElementFp;\nexports.ECPointFp = ECPointFp;\nexports.ECCurveFp = ECCurveFp;\n\n// base64x.js\nexports.stoBA = stoBA;\nexports.BAtos = BAtos;\nexports.BAtohex = BAtohex;\nexports.stohex = stohex;\nexports.stob64 = stob64;\nexports.stob64u = stob64u;\nexports.b64utos = b64utos;\nexports.b64tob64u = b64tob64u;\nexports.b64utob64 = b64utob64;\nexports.hex2b64 = hex2b64;\nexports.hextob64u = hextob64u;\nexports.b64utohex = b64utohex;\nexports.utf8tob64u = utf8tob64u;\nexports.b64utoutf8 = b64utoutf8;\nexports.utf8tob64 = utf8tob64;\nexports.b64toutf8 = b64toutf8;\nexports.utf8tohex = utf8tohex;\nexports.hextoutf8 = hextoutf8;\nexports.hextorstr = hextorstr;\nexports.rstrtohex = rstrtohex;\nexports.hextob64 = hextob64;\nexports.hextob64nl = hextob64nl;\nexports.b64nltohex = b64nltohex;\nexports.hextopem = hextopem;\nexports.pemtohex = pemtohex;\nexports.hextoArrayBuffer = hextoArrayBuffer;\nexports.ArrayBuffertohex = ArrayBuffertohex;\nexports.zulutomsec = zulutomsec;\nexports.msectozulu = msectozulu;\nexports.zulutosec = zulutosec;\nexports.zulutodate = zulutodate;\nexports.datetozulu = datetozulu;\nexports.uricmptohex = uricmptohex;\nexports.hextouricmp = hextouricmp;\nexports.ipv6tohex = ipv6tohex;\nexports.hextoipv6 = hextoipv6;\nexports.hextoip = hextoip;\nexports.iptohex = iptohex;\nexports.ucs2hextoutf8 = ucs2hextoutf8;\nexports.encodeURIComponentAll = encodeURIComponentAll;\nexports.newline_toUnix = newline_toUnix;\nexports.newline_toDos = newline_toDos;\nexports.hextoposhex = hextoposhex;\nexports.intarystrtohex = intarystrtohex;\nexports.strdiffidx = strdiffidx;\nexports.oidtohex = oidtohex;\nexports.hextooid = hextooid;\nexports.strpad = strpad;\nexports.bitstrtoint = bitstrtoint;\nexports.inttobitstr = inttobitstr;\nexports.bitstrtobinstr = bitstrtobinstr;\nexports.binstrtobitstr = binstrtobitstr;\nexports.isBase64URLDot = isBase64URLDot;\nexports.namearraytobinstr = namearraytobinstr;\nexports.extendClass = extendClass;\nexports.foldnl = foldnl;\nexports.b64topem = b64topem;\nexports.pemtob64 = pemtob64;\nexports.timeogen = timetogen;\nexports.aryval = aryval;\nexports.inttohex = inttohex;\nexports.twoscompl = twoscompl;\nexports.timingSafeEqual = timingSafeEqual;\nexports.timingSafeEqualImpl = timingSafeEqualImpl;\n\n// name spaces\nexports.KJUR = KJUR;\nexports.crypto = KJUR.crypto;\nexports.asn1 = KJUR.asn1;\nexports.jws = KJUR.jws;\nexports.lang = KJUR.lang;\n\nexports.VERSION = VERSION;\nexports.VERSION_FULL = VERSION_FULL;\n\n\n\n","/*\n* loglevel - https://github.com/pimterry/loglevel\n*\n* Copyright (c) 2013 Tim Perry\n* Licensed under the MIT license.\n*/\n(function (root, definition) {\n \"use strict\";\n if (typeof define === 'function' && define.amd) {\n define(definition);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = definition();\n } else {\n root.log = definition();\n }\n}(this, function () {\n \"use strict\";\n\n // Slightly dubious tricks to cut down minimized file size\n var noop = function() {};\n var undefinedType = \"undefined\";\n var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && (\n /Trident\\/|MSIE /.test(window.navigator.userAgent)\n );\n\n var logMethods = [\n \"trace\",\n \"debug\",\n \"info\",\n \"warn\",\n \"error\"\n ];\n\n var _loggersByName = {};\n var defaultLogger = null;\n\n // Cross-browser bind equivalent that works at least back to IE6\n function bindMethod(obj, methodName) {\n var method = obj[methodName];\n if (typeof method.bind === 'function') {\n return method.bind(obj);\n } else {\n try {\n return Function.prototype.bind.call(method, obj);\n } catch (e) {\n // Missing bind shim or IE8 + Modernizr, fallback to wrapping\n return function() {\n return Function.prototype.apply.apply(method, [obj, arguments]);\n };\n }\n }\n }\n\n // Trace() doesn't print the message in IE, so for that case we need to wrap it\n function traceForIE() {\n if (console.log) {\n if (console.log.apply) {\n console.log.apply(console, arguments);\n } else {\n // In old IE, native console methods themselves don't have apply().\n Function.prototype.apply.apply(console.log, [console, arguments]);\n }\n }\n if (console.trace) console.trace();\n }\n\n // Build the best logging method possible for this env\n // Wherever possible we want to bind, not wrap, to preserve stack traces\n function realMethod(methodName) {\n if (methodName === 'debug') {\n methodName = 'log';\n }\n\n if (typeof console === undefinedType) {\n return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives\n } else if (methodName === 'trace' && isIE) {\n return traceForIE;\n } else if (console[methodName] !== undefined) {\n return bindMethod(console, methodName);\n } else if (console.log !== undefined) {\n return bindMethod(console, 'log');\n } else {\n return noop;\n }\n }\n\n // These private functions always need `this` to be set properly\n\n function replaceLoggingMethods() {\n /*jshint validthis:true */\n var level = this.getLevel();\n\n // Replace the actual methods.\n for (var i = 0; i < logMethods.length; i++) {\n var methodName = logMethods[i];\n this[methodName] = (i < level) ?\n noop :\n this.methodFactory(methodName, level, this.name);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n\n // Return any important warnings.\n if (typeof console === undefinedType && level < this.levels.SILENT) {\n return \"No console available for logging\";\n }\n }\n\n // In old IE versions, the console isn't present until you first open it.\n // We build realMethod() replacements here that regenerate logging methods\n function enableLoggingWhenConsoleArrives(methodName) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this);\n this[methodName].apply(this, arguments);\n }\n };\n }\n\n // By default, we use closely bound real methods wherever possible, and\n // otherwise we wait for a console to appear, and then try again.\n function defaultMethodFactory(methodName, _level, _loggerName) {\n /*jshint validthis:true */\n return realMethod(methodName) ||\n enableLoggingWhenConsoleArrives.apply(this, arguments);\n }\n\n function Logger(name, factory) {\n // Private instance variables.\n var self = this;\n /**\n * The level inherited from a parent logger (or a global default). We\n * cache this here rather than delegating to the parent so that it stays\n * in sync with the actual logging methods that we have installed (the\n * parent could change levels but we might not have rebuilt the loggers\n * in this child yet).\n * @type {number}\n */\n var inheritedLevel;\n /**\n * The default level for this logger, if any. If set, this overrides\n * `inheritedLevel`.\n * @type {number|null}\n */\n var defaultLevel;\n /**\n * A user-specific level for this logger. If set, this overrides\n * `defaultLevel`.\n * @type {number|null}\n */\n var userLevel;\n\n var storageKey = \"loglevel\";\n if (typeof name === \"string\") {\n storageKey += \":\" + name;\n } else if (typeof name === \"symbol\") {\n storageKey = undefined;\n }\n\n function persistLevelIfPossible(levelNum) {\n var levelName = (logMethods[levelNum] || 'silent').toUpperCase();\n\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage[storageKey] = levelName;\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=\" + levelName + \";\";\n } catch (ignore) {}\n }\n\n function getPersistedLevel() {\n var storedLevel;\n\n if (typeof window === undefinedType || !storageKey) return;\n\n try {\n storedLevel = window.localStorage[storageKey];\n } catch (ignore) {}\n\n // Fallback to cookies if local storage gives us nothing\n if (typeof storedLevel === undefinedType) {\n try {\n var cookie = window.document.cookie;\n var cookieName = encodeURIComponent(storageKey);\n var location = cookie.indexOf(cookieName + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(\n cookie.slice(location + cookieName.length + 1)\n )[1];\n }\n } catch (ignore) {}\n }\n\n // If the stored level is not valid, treat it as if nothing was stored.\n if (self.levels[storedLevel] === undefined) {\n storedLevel = undefined;\n }\n\n return storedLevel;\n }\n\n function clearPersistedLevel() {\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage.removeItem(storageKey);\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=; expires=Thu, 01 Jan 1970 00:00:00 UTC\";\n } catch (ignore) {}\n }\n\n function normalizeLevel(input) {\n var level = input;\n if (typeof level === \"string\" && self.levels[level.toUpperCase()] !== undefined) {\n level = self.levels[level.toUpperCase()];\n }\n if (typeof level === \"number\" && level >= 0 && level <= self.levels.SILENT) {\n return level;\n } else {\n throw new TypeError(\"log.setLevel() called with invalid level: \" + input);\n }\n }\n\n /*\n *\n * Public logger API - see https://github.com/pimterry/loglevel for details\n *\n */\n\n self.name = name;\n\n self.levels = { \"TRACE\": 0, \"DEBUG\": 1, \"INFO\": 2, \"WARN\": 3,\n \"ERROR\": 4, \"SILENT\": 5};\n\n self.methodFactory = factory || defaultMethodFactory;\n\n self.getLevel = function () {\n if (userLevel != null) {\n return userLevel;\n } else if (defaultLevel != null) {\n return defaultLevel;\n } else {\n return inheritedLevel;\n }\n };\n\n self.setLevel = function (level, persist) {\n userLevel = normalizeLevel(level);\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(userLevel);\n }\n\n // NOTE: in v2, this should call rebuild(), which updates children.\n return replaceLoggingMethods.call(self);\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = normalizeLevel(level);\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n userLevel = null;\n clearPersistedLevel();\n replaceLoggingMethods.call(self);\n };\n\n self.enableAll = function(persist) {\n self.setLevel(self.levels.TRACE, persist);\n };\n\n self.disableAll = function(persist) {\n self.setLevel(self.levels.SILENT, persist);\n };\n\n self.rebuild = function () {\n if (defaultLogger !== self) {\n inheritedLevel = normalizeLevel(defaultLogger.getLevel());\n }\n replaceLoggingMethods.call(self);\n\n if (defaultLogger === self) {\n for (var childName in _loggersByName) {\n _loggersByName[childName].rebuild();\n }\n }\n };\n\n // Initialize all the internal levels.\n inheritedLevel = normalizeLevel(\n defaultLogger ? defaultLogger.getLevel() : \"WARN\"\n );\n var initialLevel = getPersistedLevel();\n if (initialLevel != null) {\n userLevel = normalizeLevel(initialLevel);\n }\n replaceLoggingMethods.call(self);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n defaultLogger = new Logger();\n\n defaultLogger.getLogger = function getLogger(name) {\n if ((typeof name !== \"symbol\" && typeof name !== \"string\") || name === \"\") {\n throw new TypeError(\"You must supply a name when creating a logger.\");\n }\n\n var logger = _loggersByName[name];\n if (!logger) {\n logger = _loggersByName[name] = new Logger(\n name,\n defaultLogger.methodFactory\n );\n }\n return logger;\n };\n\n // Grab the current global log variable in case of overwrite\n var _log = (typeof window !== undefinedType) ? window.log : undefined;\n defaultLogger.noConflict = function() {\n if (typeof window !== undefinedType &&\n window.log === defaultLogger) {\n window.log = _log;\n }\n\n return defaultLogger;\n };\n\n defaultLogger.getLoggers = function getLoggers() {\n return _loggersByName;\n };\n\n // ES6 default export, for compatibility\n defaultLogger['default'] = defaultLogger;\n\n return defaultLogger;\n}));\n","/*\n * Copyright 2020 - 2024 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { EventEmitter } from \"events\";\n\nimport { ITransport } from \"./transport/ITransport\";\nimport { Widget } from \"./models/Widget\";\nimport { PostmessageTransport } from \"./transport/PostmessageTransport\";\nimport { WidgetApiDirection } from \"./interfaces/WidgetApiDirection\";\nimport { IWidgetApiRequest, IWidgetApiRequestEmptyData } from \"./interfaces/IWidgetApiRequest\";\nimport { IContentLoadedActionRequest } from \"./interfaces/ContentLoadedAction\";\nimport { WidgetApiFromWidgetAction, WidgetApiToWidgetAction } from \"./interfaces/WidgetApiAction\";\nimport { IWidgetApiErrorResponseData } from \"./interfaces/IWidgetApiErrorResponse\";\nimport {\n Capability,\n MatrixCapabilities,\n getTimelineRoomIDFromCapability,\n isTimelineCapability,\n} from \"./interfaces/Capabilities\";\nimport { IOpenIDUpdate, ISendEventDetails, ISendDelayedEventDetails, WidgetDriver } from \"./driver/WidgetDriver\";\nimport {\n ICapabilitiesActionResponseData,\n INotifyCapabilitiesActionRequestData,\n IRenegotiateCapabilitiesActionRequest,\n} from \"./interfaces/CapabilitiesAction\";\nimport {\n ISupportedVersionsActionRequest,\n ISupportedVersionsActionResponseData,\n} from \"./interfaces/SupportedVersionsAction\";\nimport { ApiVersion, CurrentApiVersions, UnstableApiVersion } from \"./interfaces/ApiVersion\";\nimport { IScreenshotActionResponseData } from \"./interfaces/ScreenshotAction\";\nimport { IVisibilityActionRequestData } from \"./interfaces/VisibilityAction\";\nimport { IWidgetApiAcknowledgeResponseData, IWidgetApiResponseData } from \"./interfaces/IWidgetApiResponse\";\nimport {\n IModalWidgetButtonClickedRequestData,\n IModalWidgetOpenRequestData,\n IModalWidgetOpenRequestDataButton,\n IModalWidgetReturnData,\n} from \"./interfaces/ModalWidgetActions\";\nimport {\n ISendEventFromWidgetActionRequest,\n ISendEventFromWidgetResponseData,\n ISendEventToWidgetRequestData,\n} from \"./interfaces/SendEventAction\";\nimport {\n ISendToDeviceFromWidgetActionRequest,\n ISendToDeviceFromWidgetResponseData,\n ISendToDeviceToWidgetRequestData,\n} from \"./interfaces/SendToDeviceAction\";\nimport { EventDirection, EventKind, WidgetEventCapability } from \"./models/WidgetEventCapability\";\nimport { IRoomEvent } from \"./interfaces/IRoomEvent\";\nimport {\n IGetOpenIDActionRequest,\n IGetOpenIDActionResponseData,\n IOpenIDCredentials,\n OpenIDRequestState,\n} from \"./interfaces/GetOpenIDAction\";\nimport { SimpleObservable } from \"./util/SimpleObservable\";\nimport { IOpenIDCredentialsActionRequestData } from \"./interfaces/OpenIDCredentialsAction\";\nimport { INavigateActionRequest } from \"./interfaces/NavigateAction\";\nimport { IReadEventFromWidgetActionRequest, IReadEventFromWidgetResponseData } from \"./interfaces/ReadEventAction\";\nimport {\n ITurnServer,\n IWatchTurnServersRequest,\n IUnwatchTurnServersRequest,\n IUpdateTurnServersRequestData,\n} from \"./interfaces/TurnServerActions\";\nimport { Symbols } from \"./Symbols\";\nimport {\n IReadRelationsFromWidgetActionRequest,\n IReadRelationsFromWidgetResponseData,\n} from \"./interfaces/ReadRelationsAction\";\nimport {\n IUserDirectorySearchFromWidgetActionRequest,\n IUserDirectorySearchFromWidgetResponseData,\n} from \"./interfaces/UserDirectorySearchAction\";\nimport {\n IReadRoomAccountDataFromWidgetActionRequest,\n IReadRoomAccountDataFromWidgetResponseData,\n} from \"./interfaces/ReadRoomAccountDataAction\";\nimport {\n IGetMediaConfigActionFromWidgetActionRequest,\n IGetMediaConfigActionFromWidgetResponseData,\n} from \"./interfaces/GetMediaConfigAction\";\nimport {\n IUpdateDelayedEventFromWidgetActionRequest,\n UpdateDelayedEventAction,\n} from \"./interfaces/UpdateDelayedEventAction\";\nimport {\n IUploadFileActionFromWidgetActionRequest,\n IUploadFileActionFromWidgetResponseData,\n} from \"./interfaces/UploadFileAction\";\nimport {\n IDownloadFileActionFromWidgetActionRequest,\n IDownloadFileActionFromWidgetResponseData,\n} from \"./interfaces/DownloadFileAction\";\nimport { IThemeChangeActionRequestData } from \"./interfaces/ThemeChangeAction\";\nimport { IUpdateStateToWidgetRequestData } from \"./interfaces/UpdateStateAction\";\nimport { IToDeviceMessage } from \"./interfaces/IToDeviceMessage\";\n\n/**\n * API handler for the client side of widgets. This raises events\n * for each action received as `action:${action}` (eg: \"action:screenshot\").\n * Default handling can be prevented by using preventDefault() on the\n * raised event. The default handling varies for each action: ones\n * which the SDK can handle safely are acknowledged appropriately and\n * ones which are unhandled (custom or require the client to do something)\n * are rejected with an error.\n *\n * Events which are preventDefault()ed must reply using the transport.\n * The events raised will have a default of an IWidgetApiRequest\n * interface.\n *\n * When the ClientWidgetApi is ready to start sending requests, it will\n * raise a \"ready\" CustomEvent. After the ready event fires, actions can\n * be sent and the transport will be ready.\n *\n * When the widget has indicated it has loaded, this class raises a\n * \"preparing\" CustomEvent. The preparing event does not indicate that\n * the widget is ready to receive communications - that is signified by\n * the ready event exclusively.\n *\n * This class only handles one widget at a time.\n */\nexport class ClientWidgetApi extends EventEmitter {\n public readonly transport: ITransport;\n\n private cachedWidgetVersions: ApiVersion[] | null = null;\n // contentLoadedActionSent is used to check that only one ContentLoaded request is send.\n private contentLoadedActionSent = false;\n private readonly allowedCapabilities = new Set<Capability>();\n private readonly allowedEvents: WidgetEventCapability[] = [];\n private isStopped = false;\n private turnServers: AsyncGenerator<ITurnServer> | null = null;\n private contentLoadedWaitTimer?: ReturnType<typeof setTimeout>;\n // Stores pending requests to push a room's state to the widget\n private readonly pushRoomStateTasks = new Set<Promise<void>>();\n // Room ID → event type → state key → events to be pushed\n private readonly pushRoomStateResult = new Map<string, Map<string, Map<string, IRoomEvent>>>();\n private flushRoomStateTask: Promise<void> | null = null;\n\n /**\n * Creates a new client widget API. This will instantiate the transport\n * and start everything. When the iframe is loaded under the widget's\n * conditions, a \"ready\" event will be raised.\n * @param {Widget} widget The widget to communicate with.\n * @param {HTMLIFrameElement} iframe The iframe the widget is in.\n * @param {WidgetDriver} driver The driver for this widget/client.\n */\n public constructor(\n public readonly widget: Widget,\n iframe: HTMLIFrameElement,\n private readonly driver: WidgetDriver,\n ) {\n super();\n if (!iframe?.contentWindow) {\n throw new Error(\"No iframe supplied\");\n }\n if (!widget) {\n throw new Error(\"Invalid widget\");\n }\n if (!driver) {\n throw new Error(\"Invalid driver\");\n }\n this.transport = new PostmessageTransport(\n WidgetApiDirection.ToWidget,\n widget.id,\n iframe.contentWindow,\n globalThis,\n );\n this.transport.targetOrigin = widget.origin;\n this.transport.on(\"message\", this.handleMessage.bind(this));\n\n iframe.addEventListener(\"load\", this.onIframeLoad.bind(this));\n\n this.transport.start();\n }\n\n public hasCapability(capability: Capability): boolean {\n return this.allowedCapabilities.has(capability);\n }\n\n public canUseRoomTimeline(roomId: string | Symbols.AnyRoom): boolean {\n return (\n this.hasCapability(`org.matrix.msc2762.timeline:${Symbols.AnyRoom}`) ||\n this.hasCapability(`org.matrix.msc2762.timeline:${roomId}`)\n );\n }\n\n public canSendRoomEvent(eventType: string, msgtype: string | null = null): boolean {\n return this.allowedEvents.some((e) => e.matchesAsRoomEvent(EventDirection.Send, eventType, msgtype));\n }\n\n public canSendStateEvent(eventType: string, stateKey: string): boolean {\n return this.allowedEvents.some((e) => e.matchesAsStateEvent(EventDirection.Send, eventType, stateKey));\n }\n\n public canSendToDeviceEvent(eventType: string): boolean {\n return this.allowedEvents.some((e) => e.matchesAsToDeviceEvent(EventDirection.Send, eventType));\n }\n\n public canReceiveRoomEvent(eventType: string, msgtype: string | null = null): boolean {\n return this.allowedEvents.some((e) => e.matchesAsRoomEvent(EventDirection.Receive, eventType, msgtype));\n }\n\n public canReceiveStateEvent(eventType: string, stateKey: string | null): boolean {\n return this.allowedEvents.some((e) => e.matchesAsStateEvent(EventDirection.Receive, eventType, stateKey));\n }\n\n public canReceiveToDeviceEvent(eventType: string): boolean {\n return this.allowedEvents.some((e) => e.matchesAsToDeviceEvent(EventDirection.Receive, eventType));\n }\n\n public canReceiveRoomAccountData(eventType: string): boolean {\n return this.allowedEvents.some((e) => e.matchesAsRoomAccountData(EventDirection.Receive, eventType));\n }\n\n public stop(): void {\n this.isStopped = true;\n this.transport.stop();\n }\n\n public async getWidgetVersions(): Promise<ApiVersion[]> {\n if (Array.isArray(this.cachedWidgetVersions)) {\n return this.cachedWidgetVersions;\n }\n\n try {\n const r = await this.transport.send<IWidgetApiRequestEmptyData, ISupportedVersionsActionResponseData>(\n WidgetApiToWidgetAction.SupportedApiVersions,\n {},\n );\n this.cachedWidgetVersions = r.supported_versions;\n return r.supported_versions;\n } catch (e) {\n console.warn(\"non-fatal error getting supported widget versions: \", e);\n return [];\n }\n }\n\n private beginCapabilities(): void {\n // widget has loaded - tell all the listeners that\n this.emit(\"preparing\");\n\n let requestedCaps: Capability[];\n this.transport\n .send<IWidgetApiRequestEmptyData, ICapabilitiesActionResponseData>(WidgetApiToWidgetAction.Capabilities, {})\n .then((caps) => {\n requestedCaps = caps.capabilities;\n return this.driver.validateCapabilities(new Set(caps.capabilities));\n })\n .then((allowedCaps) => {\n this.allowCapabilities([...allowedCaps], requestedCaps);\n this.emit(\"ready\");\n })\n .catch((e) => {\n this.emit(\"error:preparing\", e);\n });\n }\n\n private allowCapabilities(allowed: string[], requested: string[]): void {\n console.log(`Widget ${this.widget.id} is allowed capabilities:`, allowed);\n\n for (const c of allowed) this.allowedCapabilities.add(c);\n const allowedEvents = WidgetEventCapability.findEventCapabilities(allowed);\n this.allowedEvents.push(...allowedEvents);\n\n this.transport\n .send(WidgetApiToWidgetAction.NotifyCapabilities, <INotifyCapabilitiesActionRequestData>{\n requested,\n approved: Array.from(this.allowedCapabilities),\n })\n .catch((e) => {\n console.warn(\"non-fatal error notifying widget of approved capabilities:\", e);\n })\n .then(() => {\n this.emit(\"capabilitiesNotified\");\n });\n\n // Push the initial room state for all rooms with a timeline capability\n for (const c of allowed) {\n if (isTimelineCapability(c)) {\n const roomId = getTimelineRoomIDFromCapability(c);\n if (roomId === Symbols.AnyRoom) {\n for (const roomId of this.driver.getKnownRooms()) {\n this.pushRoomState(roomId);\n }\n } else {\n this.pushRoomState(roomId);\n }\n }\n }\n\n if (allowed.includes(MatrixCapabilities.MSC4407ReceiveStickyEvent)) {\n console.debug(`Widget ${this.widget.id} is allowed to receive sticky events, check current sticky state.`);\n // If the widget can receive sticky events, push all sticky events in known rooms now.\n // Sticky events are like a state, and passed history is needed to get the full state.\n const roomIds = allowed\n .filter((capability) => isTimelineCapability(capability))\n .map((timelineCapability) => getTimelineRoomIDFromCapability(timelineCapability))\n .flatMap((roomIdOrWildcard) => {\n if (roomIdOrWildcard === Symbols.AnyRoom) {\n // Do we support getting sticky state for any room?\n return this.driver.getKnownRooms();\n } else {\n return roomIdOrWildcard;\n }\n });\n console.debug(`Widget ${this.widget.id} is allowed to receive sticky events in rooms:`, roomIds);\n\n for (const roomId of roomIds) {\n this.pushStickyState(roomId).catch((err) => {\n console.error(`Failed to push sticky events to widget ${this.widget.id} for room ${roomId}:`, err);\n });\n }\n }\n\n // If new events are allowed and the currently viewed room isn't covered\n // by a timeline capability, then we know that there could be some state\n // in the viewed room that the widget hasn't learned about yet- push it.\n if (allowedEvents.length > 0 && this.viewedRoomId !== null && !this.canUseRoomTimeline(this.viewedRoomId)) {\n this.pushRoomState(this.viewedRoomId);\n }\n }\n\n private onIframeLoad(ev: Event): void {\n if (this.widget.waitForIframeLoad) {\n // If the widget is set to waitForIframeLoad the capabilities immediately get setup after load.\n // The client does not wait for the ContentLoaded action.\n this.beginCapabilities();\n } else {\n // Reaching this means, that the Iframe got reloaded/loaded and\n // the clientApi is awaiting the FIRST ContentLoaded action.\n console.log(\"waitForIframeLoad is false: waiting for widget to send contentLoaded\");\n this.contentLoadedWaitTimer = setTimeout(() => {\n console.error(\n \"Widget specified waitForIframeLoad=false but timed out waiting for contentLoaded event!\",\n );\n }, 10000);\n this.contentLoadedActionSent = false;\n }\n }\n\n private handleContentLoadedAction(action: IContentLoadedActionRequest): void {\n if (this.contentLoadedWaitTimer !== undefined) {\n clearTimeout(this.contentLoadedWaitTimer);\n this.contentLoadedWaitTimer = undefined;\n }\n if (this.contentLoadedActionSent) {\n throw new Error(\n \"Improper sequence: ContentLoaded Action can only be sent once after the widget loaded \" +\n \"and should only be used if waitForIframeLoad is false (default=true)\",\n );\n }\n if (this.widget.waitForIframeLoad) {\n this.transport.reply(action, <IWidgetApiErrorResponseData>{\n error: {\n message:\n \"Improper sequence: not expecting ContentLoaded event if \" +\n \"waitForIframeLoad is true (default=true)\",\n },\n });\n } else {\n this.transport.reply(action, <IWidgetApiRequestEmptyData>{});\n this.beginCapabilities();\n }\n this.contentLoadedActionSent = true;\n }\n\n private replyVersions(request: ISupportedVersionsActionRequest): void {\n this.transport.reply<ISupportedVersionsActionResponseData>(request, {\n supported_versions: CurrentApiVersions,\n });\n }\n\n private async supportsUpdateState(): Promise<boolean> {\n return (await this.getWidgetVersions()).includes(UnstableApiVersion.MSC2762_UPDATE_STATE);\n }\n\n private handleCapabilitiesRenegotiate(request: IRenegotiateCapabilitiesActionRequest): void {\n // acknowledge first\n this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n\n const requested = request.data?.capabilities || [];\n const newlyRequested = new Set(requested.filter((r) => !this.hasCapability(r)));\n if (newlyRequested.size === 0) {\n // Nothing to do - skip validation\n this.allowCapabilities([], []);\n }\n\n this.driver\n .validateCapabilities(newlyRequested)\n .then((allowed) => this.allowCapabilities([...allowed], [...newlyRequested]));\n }\n\n private handleNavigate(request: INavigateActionRequest): void {\n if (!this.hasCapability(MatrixCapabilities.MSC2931Navigate)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n if (!request.data?.uri.startsWith(\"https://matrix.to/#\")) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid matrix.to URI\" },\n });\n }\n\n const onErr = (e: unknown): void => {\n console.error(\"[ClientWidgetApi] Failed to handle navigation: \", e);\n this.handleDriverError(e, request, \"Error handling navigation\");\n };\n\n try {\n this.driver\n .navigate(request.data.uri.toString())\n .catch((e: unknown) => onErr(e))\n .then(() => {\n return this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n });\n } catch (e) {\n return onErr(e);\n }\n }\n\n private handleOIDC(request: IGetOpenIDActionRequest): void {\n let phase = 1; // 1 = initial request, 2 = after user manual confirmation\n\n const replyState = (\n state: OpenIDRequestState,\n credential?: IOpenIDCredentials,\n ): void | Promise<IWidgetApiAcknowledgeResponseData> => {\n credential = credential || {};\n if (phase > 1) {\n return this.transport.send<IOpenIDCredentialsActionRequestData>(\n WidgetApiToWidgetAction.OpenIDCredentials,\n {\n state: state,\n original_request_id: request.requestId,\n ...credential,\n },\n );\n } else {\n return this.transport.reply<IGetOpenIDActionResponseData>(request, {\n state: state,\n ...credential,\n });\n }\n };\n\n const replyError = (msg: string): void | Promise<IWidgetApiAcknowledgeResponseData> => {\n console.error(\"[ClientWidgetApi] Failed to handle OIDC: \", msg);\n if (phase > 1) {\n // We don't have a way to indicate that a random error happened in this flow, so\n // just block the attempt.\n return replyState(OpenIDRequestState.Blocked);\n } else {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: msg },\n });\n }\n };\n\n const observer = new SimpleObservable<IOpenIDUpdate>((update) => {\n if (update.state === OpenIDRequestState.PendingUserConfirmation && phase > 1) {\n observer.close();\n return replyError(\"client provided out-of-phase response to OIDC flow\");\n }\n\n if (update.state === OpenIDRequestState.PendingUserConfirmation) {\n replyState(update.state);\n phase++;\n return;\n }\n\n if (update.state === OpenIDRequestState.Allowed && !update.token) {\n return replyError(\"client provided invalid OIDC token for an allowed request\");\n }\n if (update.state === OpenIDRequestState.Blocked) {\n update.token = undefined; // just in case the client did something weird\n }\n\n observer.close();\n return replyState(update.state, update.token);\n });\n\n this.driver.askOpenID(observer);\n }\n\n private handleReadRoomAccountData(request: IReadRoomAccountDataFromWidgetActionRequest): void | Promise<void> {\n const events = this.driver.readRoomAccountData(request.data.type);\n\n if (!this.canReceiveRoomAccountData(request.data.type)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot read room account data of this type\" },\n });\n }\n\n return events.then((evs) => {\n this.transport.reply<IReadRoomAccountDataFromWidgetResponseData>(request, { events: evs });\n });\n }\n\n private async handleReadEvents(request: IReadEventFromWidgetActionRequest): Promise<void> {\n if (!request.data.type) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing event type\" },\n });\n }\n if (request.data.limit !== undefined && (!request.data.limit || request.data.limit < 0)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - limit out of range\" },\n });\n }\n\n let askRoomIds: string[];\n if (request.data.room_ids === undefined) {\n askRoomIds = this.viewedRoomId === null ? [] : [this.viewedRoomId];\n } else if (request.data.room_ids === Symbols.AnyRoom) {\n askRoomIds = this.driver.getKnownRooms().filter((roomId) => this.canUseRoomTimeline(roomId));\n } else {\n askRoomIds = request.data.room_ids;\n for (const roomId of askRoomIds) {\n if (!this.canUseRoomTimeline(roomId)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: `Unable to access room timeline: ${roomId}` },\n });\n }\n }\n }\n\n const limit = request.data.limit || 0;\n const since = request.data.since;\n\n let stateKey: string | undefined = undefined;\n let msgtype: string | undefined = undefined;\n if (request.data.state_key !== undefined) {\n stateKey = request.data.state_key === true ? undefined : request.data.state_key.toString();\n if (!this.canReceiveStateEvent(request.data.type, stateKey ?? null)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot read state events of this type\" },\n });\n }\n } else {\n msgtype = request.data.msgtype;\n if (!this.canReceiveRoomEvent(request.data.type, msgtype)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot read room events of this type\" },\n });\n }\n }\n\n let events: IRoomEvent[];\n\n if (request.data.room_ids === undefined && askRoomIds.length === 0) {\n // For backwards compatibility we still call the deprecated\n // readRoomEvents and readStateEvents methods in case the client isn't\n // letting us know the currently viewed room via setViewedRoomId\n //\n // This can be considered as a deprecated implementation.\n // A driver should call `setViewedRoomId` on the widget messaging and implement the new readRoomState and readRoomTimeline\n // Methods.\n // This block makes sure that it is also possible to not use setViewedRoomId.\n // readRoomTimeline and readRoomState are required however! Otherwise widget requests that include\n // `room_ids` will fail.\n console.warn(\n \"The widgetDriver uses deprecated behaviour:\\n It does not set the viewedRoomId using `setViewedRoomId`\",\n );\n events = await // This returns [] with the current driver of Element Web.\n // Add default implementations of the `readRoomEvents` and `readStateEvents`\n // methods to use `readRoomTimeline` and `readRoomState` if they are not overwritten.\n (request.data.state_key === undefined\n ? this.driver.readRoomEvents(request.data.type, msgtype, limit, null, since)\n : this.driver.readStateEvents(request.data.type, stateKey, limit, null));\n } else if (await this.supportsUpdateState()) {\n // Calling read_events with a stateKey still reads from the rooms timeline (not the room state).\n events = (\n await Promise.all(\n askRoomIds.map((roomId) =>\n this.driver.readRoomTimeline(roomId, request.data.type, msgtype, stateKey, limit, since),\n ),\n )\n ).flat(1);\n } else {\n // TODO: remove this once `UnstableApiVersion.MSC2762_UPDATE_STATE` becomes stable.\n // Before version `MSC2762_UPDATE_STATE` we used readRoomState for read_events actions.\n events = (\n request.data.state_key === undefined\n ? await Promise.all(\n askRoomIds.map((roomId) =>\n this.driver.readRoomTimeline(roomId, request.data.type, msgtype, stateKey, limit, since),\n ),\n )\n : await Promise.all(\n askRoomIds.map((roomId) => this.driver.readRoomState(roomId, request.data.type, stateKey)),\n )\n ).flat(1);\n }\n\n this.transport.reply<IReadEventFromWidgetResponseData>(request, { events });\n }\n\n private handleSendEvent(request: ISendEventFromWidgetActionRequest): void {\n if (!request.data.type) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing event type\" },\n });\n }\n\n if (!!request.data.room_id && !this.canUseRoomTimeline(request.data.room_id)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: `Unable to access room timeline: ${request.data.room_id}` },\n });\n }\n\n const isDelayedEvent = request.data.delay !== undefined || request.data.parent_delay_id !== undefined;\n if (isDelayedEvent && !this.hasCapability(MatrixCapabilities.MSC4157SendDelayedEvent)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: `Missing capability for ${MatrixCapabilities.MSC4157SendDelayedEvent}` },\n });\n }\n\n const isStickyEvent = request.data.sticky_duration_ms !== undefined;\n if (isStickyEvent && !this.hasCapability(MatrixCapabilities.MSC4407SendStickyEvent)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: `Missing capability for ${MatrixCapabilities.MSC4407SendStickyEvent}` },\n });\n }\n\n let sendEventPromise: Promise<ISendEventDetails | ISendDelayedEventDetails>;\n if (request.data.state_key !== undefined) {\n if (!this.canSendStateEvent(request.data.type, request.data.state_key)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot send state events of this type\" },\n });\n }\n if (isStickyEvent) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot send a state event with a sticky duration\" },\n });\n }\n\n if (isDelayedEvent) {\n sendEventPromise = this.driver.sendDelayedEvent(\n request.data.delay ?? null,\n request.data.parent_delay_id ?? null,\n request.data.type,\n request.data.content || {},\n request.data.state_key,\n request.data.room_id,\n );\n } else {\n sendEventPromise = this.driver.sendEvent(\n request.data.type,\n request.data.content || {},\n request.data.state_key,\n request.data.room_id,\n );\n }\n } else {\n const content = (request.data.content as { msgtype?: string }) || {};\n const msgtype = content[\"msgtype\"];\n if (!this.canSendRoomEvent(request.data.type, msgtype)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot send room events of this type\" },\n });\n }\n\n // Events can be sticky, delayed, both, or neither. The following\n // section of code takes the common parameters and uses the correct\n // function depending on the request type.\n\n const params: Parameters<WidgetDriver[\"sendEvent\"]> = [\n request.data.type,\n content,\n null, // not sending a state event\n request.data.room_id,\n ];\n\n if (isDelayedEvent && request.data.sticky_duration_ms) {\n sendEventPromise = this.driver.sendDelayedStickyEvent(\n request.data.delay ?? null,\n request.data.parent_delay_id ?? null,\n request.data.sticky_duration_ms,\n request.data.type,\n content,\n request.data.room_id,\n );\n } else if (isDelayedEvent) {\n sendEventPromise = this.driver.sendDelayedEvent(\n request.data.delay ?? null,\n request.data.parent_delay_id ?? null,\n ...params,\n );\n } else if (request.data.sticky_duration_ms) {\n sendEventPromise = this.driver.sendStickyEvent(\n request.data.sticky_duration_ms,\n request.data.type,\n content,\n request.data.room_id,\n );\n } else {\n sendEventPromise = this.driver.sendEvent(...params);\n }\n }\n\n sendEventPromise\n .then((sentEvent) => {\n return this.transport.reply<ISendEventFromWidgetResponseData>(request, {\n room_id: sentEvent.roomId,\n ...(\"eventId\" in sentEvent\n ? {\n event_id: sentEvent.eventId,\n }\n : {\n delay_id: sentEvent.delayId,\n }),\n });\n })\n .catch((e: unknown) => {\n console.error(\"error sending event: \", e);\n this.handleDriverError(e, request, \"Error sending event\");\n });\n }\n\n private handleUpdateDelayedEvent(request: IUpdateDelayedEventFromWidgetActionRequest): void {\n if (!request.data.delay_id) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing delay_id\" },\n });\n }\n\n if (!this.hasCapability(MatrixCapabilities.MSC4157UpdateDelayedEvent)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n let updateDelayedEvent: (delayId: string) => Promise<void>;\n switch (request.data.action) {\n case UpdateDelayedEventAction.Cancel:\n updateDelayedEvent = this.driver.cancelScheduledDelayedEvent;\n break;\n case UpdateDelayedEventAction.Restart:\n updateDelayedEvent = this.driver.restartScheduledDelayedEvent;\n break;\n case UpdateDelayedEventAction.Send:\n updateDelayedEvent = this.driver.sendScheduledDelayedEvent;\n break;\n default:\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - unsupported action\" },\n });\n }\n updateDelayedEvent\n .call(this.driver, request.data.delay_id)\n .then(() => {\n return this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n })\n .catch((e: unknown) => {\n console.error(\"error updating delayed event: \", e);\n this.handleDriverError(e, request, \"Error updating delayed event\");\n });\n }\n\n private async handleSendToDevice(request: ISendToDeviceFromWidgetActionRequest): Promise<void> {\n if (!request.data.type) {\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing event type\" },\n });\n } else if (!request.data.messages) {\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing event contents\" },\n });\n } else if (typeof request.data.encrypted !== \"boolean\") {\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing encryption flag\" },\n });\n } else if (!this.canSendToDeviceEvent(request.data.type)) {\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot send to-device events of this type\" },\n });\n } else {\n try {\n await this.driver.sendToDevice(request.data.type, request.data.encrypted, request.data.messages);\n this.transport.reply<ISendToDeviceFromWidgetResponseData>(request, {});\n } catch (e) {\n console.error(\"error sending to-device event\", e);\n this.handleDriverError(e, request, \"Error sending event\");\n }\n }\n }\n\n private async pollTurnServers(turnServers: AsyncGenerator<ITurnServer>, initialServer: ITurnServer): Promise<void> {\n try {\n await this.transport.send<IUpdateTurnServersRequestData>(\n WidgetApiToWidgetAction.UpdateTurnServers,\n initialServer as IUpdateTurnServersRequestData, // it's compatible, but missing the index signature\n );\n\n // Pick the generator up where we left off\n for await (const server of turnServers) {\n await this.transport.send<IUpdateTurnServersRequestData>(\n WidgetApiToWidgetAction.UpdateTurnServers,\n server as IUpdateTurnServersRequestData, // it's compatible, but missing the index signature\n );\n }\n } catch (e) {\n console.error(\"error polling for TURN servers\", e);\n }\n }\n\n private async handleWatchTurnServers(request: IWatchTurnServersRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC3846TurnServers)) {\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n } else if (this.turnServers) {\n // We're already polling, so this is a no-op\n this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n } else {\n try {\n const turnServers = this.driver.getTurnServers();\n\n // Peek at the first result, so we can at least verify that the\n // client isn't banned from getting TURN servers entirely\n const { done, value } = await turnServers.next();\n if (done) throw new Error(\"Client refuses to provide any TURN servers\");\n this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n\n // Start the poll loop, sending the widget the initial result\n this.pollTurnServers(turnServers, value);\n this.turnServers = turnServers;\n } catch (e) {\n console.error(\"error getting first TURN server results\", e);\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"TURN servers not available\" },\n });\n }\n }\n }\n\n private async handleUnwatchTurnServers(request: IUnwatchTurnServersRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC3846TurnServers)) {\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n } else if (!this.turnServers) {\n // We weren't polling anyways, so this is a no-op\n this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n } else {\n // Stop the generator, allowing it to clean up\n await this.turnServers.return(undefined);\n this.turnServers = null;\n this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n }\n }\n\n private async handleReadRelations(request: IReadRelationsFromWidgetActionRequest): Promise<void> {\n if (!request.data.event_id) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing event ID\" },\n });\n }\n\n if (request.data.limit !== undefined && request.data.limit < 0) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - limit out of range\" },\n });\n }\n\n if (request.data.room_id !== undefined && !this.canUseRoomTimeline(request.data.room_id)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: `Unable to access room timeline: ${request.data.room_id}` },\n });\n }\n\n try {\n const result = await this.driver.readEventRelations(\n request.data.event_id,\n request.data.room_id,\n request.data.rel_type,\n request.data.event_type,\n request.data.from,\n request.data.to,\n request.data.limit,\n request.data.direction,\n );\n\n // only return events that the user has the permission to receive\n const chunk = result.chunk.filter((e) => {\n if (e.state_key !== undefined) {\n return this.canReceiveStateEvent(e.type, e.state_key);\n } else {\n return this.canReceiveRoomEvent(e.type, (e.content as { msgtype?: string })[\"msgtype\"]);\n }\n });\n\n return this.transport.reply<IReadRelationsFromWidgetResponseData>(request, {\n chunk,\n prev_batch: result.prevBatch,\n next_batch: result.nextBatch,\n });\n } catch (e) {\n console.error(\"error getting the relations\", e);\n this.handleDriverError(e, request, \"Unexpected error while reading relations\");\n }\n }\n\n private async handleUserDirectorySearch(request: IUserDirectorySearchFromWidgetActionRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC3973UserDirectorySearch)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n if (typeof request.data.search_term !== \"string\") {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing search term\" },\n });\n }\n\n if (request.data.limit !== undefined && request.data.limit < 0) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - limit out of range\" },\n });\n }\n\n try {\n const result = await this.driver.searchUserDirectory(request.data.search_term, request.data.limit);\n\n return this.transport.reply<IUserDirectorySearchFromWidgetResponseData>(request, {\n limited: result.limited,\n results: result.results.map((r) => ({\n user_id: r.userId,\n display_name: r.displayName,\n avatar_url: r.avatarUrl,\n })),\n });\n } catch (e) {\n console.error(\"error searching in the user directory\", e);\n this.handleDriverError(e, request, \"Unexpected error while searching in the user directory\");\n }\n }\n\n private async handleGetMediaConfig(request: IGetMediaConfigActionFromWidgetActionRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC4039UploadFile)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n try {\n const result = await this.driver.getMediaConfig();\n\n return this.transport.reply<IGetMediaConfigActionFromWidgetResponseData>(request, result);\n } catch (e) {\n console.error(\"error while getting the media configuration\", e);\n this.handleDriverError(e, request, \"Unexpected error while getting the media configuration\");\n }\n }\n\n private async handleUploadFile(request: IUploadFileActionFromWidgetActionRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC4039UploadFile)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n try {\n const result = await this.driver.uploadFile(request.data.file);\n\n return this.transport.reply<IUploadFileActionFromWidgetResponseData>(request, {\n content_uri: result.contentUri,\n });\n } catch (e) {\n console.error(\"error while uploading a file\", e);\n this.handleDriverError(e, request, \"Unexpected error while uploading a file\");\n }\n }\n\n private async handleDownloadFile(request: IDownloadFileActionFromWidgetActionRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC4039DownloadFile)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n try {\n const result = await this.driver.downloadFile(request.data.content_uri);\n\n return this.transport.reply<IDownloadFileActionFromWidgetResponseData>(request, { file: result.file });\n } catch (e) {\n console.error(\"error while downloading a file\", e);\n this.handleDriverError(e, request, \"Unexpected error while downloading a file\");\n }\n }\n\n private handleDriverError(e: unknown, request: IWidgetApiRequest, message: string): void {\n const data = this.driver.processError(e);\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: {\n message,\n ...data,\n },\n });\n }\n\n private handleMessage(ev: CustomEvent<IWidgetApiRequest>): void | Promise<void> {\n if (this.isStopped) return;\n const actionEv = new CustomEvent(`action:${ev.detail.action}`, {\n detail: ev.detail,\n cancelable: true,\n });\n this.emit(`action:${ev.detail.action}`, actionEv);\n if (!actionEv.defaultPrevented) {\n switch (ev.detail.action) {\n case WidgetApiFromWidgetAction.ContentLoaded:\n return this.handleContentLoadedAction(<IContentLoadedActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.SupportedApiVersions:\n return this.replyVersions(<ISupportedVersionsActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.SendEvent:\n return this.handleSendEvent(<ISendEventFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.SendToDevice:\n return this.handleSendToDevice(<ISendToDeviceFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.GetOpenIDCredentials:\n return this.handleOIDC(<IGetOpenIDActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC2931Navigate:\n return this.handleNavigate(<INavigateActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC2974RenegotiateCapabilities:\n return this.handleCapabilitiesRenegotiate(<IRenegotiateCapabilitiesActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC2876ReadEvents:\n return this.handleReadEvents(<IReadEventFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.WatchTurnServers:\n return this.handleWatchTurnServers(<IWatchTurnServersRequest>ev.detail);\n case WidgetApiFromWidgetAction.UnwatchTurnServers:\n return this.handleUnwatchTurnServers(<IUnwatchTurnServersRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC3869ReadRelations:\n return this.handleReadRelations(<IReadRelationsFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC3973UserDirectorySearch:\n return this.handleUserDirectorySearch(<IUserDirectorySearchFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.BeeperReadRoomAccountData:\n return this.handleReadRoomAccountData(<IReadRoomAccountDataFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC4039GetMediaConfigAction:\n return this.handleGetMediaConfig(<IGetMediaConfigActionFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC4039UploadFileAction:\n return this.handleUploadFile(<IUploadFileActionFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC4039DownloadFileAction:\n return this.handleDownloadFile(<IDownloadFileActionFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC4157UpdateDelayedEvent:\n return this.handleUpdateDelayedEvent(<IUpdateDelayedEventFromWidgetActionRequest>ev.detail);\n\n default:\n return this.transport.reply(ev.detail, <IWidgetApiErrorResponseData>{\n error: {\n message: \"Unknown or unsupported from-widget action: \" + ev.detail.action,\n },\n });\n }\n }\n }\n\n /**\n * Informs the widget that the client's theme has changed.\n * @param theme The theme data, as an object with arbitrary contents.\n */\n public updateTheme(theme: IThemeChangeActionRequestData): Promise<IWidgetApiResponseData> {\n return this.transport.send(WidgetApiToWidgetAction.ThemeChange, theme);\n }\n\n /**\n * Informs the widget that the client's language has changed.\n * @param lang The BCP 47 identifier representing the client's current language.\n */\n public updateLanguage(lang: string): Promise<IWidgetApiResponseData> {\n return this.transport.send(WidgetApiToWidgetAction.LanguageChange, { lang });\n }\n\n /**\n * Takes a screenshot of the widget.\n * @returns Resolves to the widget's screenshot.\n * @throws Throws if there is a problem.\n */\n public takeScreenshot(): Promise<IScreenshotActionResponseData> {\n return this.transport.send(WidgetApiToWidgetAction.TakeScreenshot, <IWidgetApiRequestEmptyData>{});\n }\n\n /**\n * Alerts the widget to whether or not it is currently visible.\n * @param {boolean} isVisible Whether the widget is visible or not.\n * @returns {Promise<IWidgetApiResponseData>} Resolves when the widget acknowledges the update.\n */\n public updateVisibility(isVisible: boolean): Promise<IWidgetApiResponseData> {\n return this.transport.send(WidgetApiToWidgetAction.UpdateVisibility, <IVisibilityActionRequestData>{\n visible: isVisible,\n });\n }\n\n public sendWidgetConfig(data: IModalWidgetOpenRequestData): Promise<void> {\n return this.transport.send<IModalWidgetOpenRequestData>(WidgetApiToWidgetAction.WidgetConfig, data).then();\n }\n\n public notifyModalWidgetButtonClicked(id: IModalWidgetOpenRequestDataButton[\"id\"]): Promise<void> {\n return this.transport\n .send<IModalWidgetButtonClickedRequestData>(WidgetApiToWidgetAction.ButtonClicked, { id })\n .then();\n }\n\n public notifyModalWidgetClose(data: IModalWidgetReturnData): Promise<void> {\n return this.transport.send<IModalWidgetReturnData>(WidgetApiToWidgetAction.CloseModalWidget, data).then();\n }\n\n /**\n * Feeds an event to the widget. As a client you are expected to call this\n * for every new event in every room to which you are joined or invited.\n * @param {IRoomEvent} rawEvent The event to (try to) send to the widget.\n * @param {string} currentViewedRoomId The room ID the user is currently\n * interacting with. Not the room ID of the event.\n * @returns {Promise<void>} Resolves when delivered or if the widget is not\n * able to read the event due to permissions, rejects if the widget failed\n * to handle the event.\n * @deprecated It is recommended to communicate the viewed room ID by calling\n * {@link ClientWidgetApi.setViewedRoomId} rather than passing it to this\n * method.\n */\n public async feedEvent(rawEvent: IRoomEvent, currentViewedRoomId: string): Promise<void>;\n /**\n * Feeds an event to the widget. As a client you are expected to call this\n * for every new event (including state events) in every room to which you are joined or invited.\n * @param {IRoomEvent} rawEvent The event to (try to) send to the widget.\n * @returns {Promise<void>} Resolves when delivered or if the widget is not\n * able to read the event due to permissions, rejects if the widget failed\n * to handle the event.\n */\n public async feedEvent(rawEvent: IRoomEvent): Promise<void>;\n public async feedEvent(rawEvent: IRoomEvent, currentViewedRoomId?: string): Promise<void> {\n if (currentViewedRoomId !== undefined) this.setViewedRoomId(currentViewedRoomId);\n if (rawEvent.room_id !== this.viewedRoomId && !this.canUseRoomTimeline(rawEvent.room_id)) {\n return; // no-op\n }\n\n if (rawEvent.state_key !== undefined && rawEvent.state_key !== null) {\n // state event\n if (!this.canReceiveStateEvent(rawEvent.type, rawEvent.state_key)) {\n return; // no-op\n }\n } else {\n // message event\n if (!this.canReceiveRoomEvent(rawEvent.type, (rawEvent.content as { msgtype?: string })?.[\"msgtype\"])) {\n return; // no-op\n }\n }\n\n // Feed the event into the widget\n await this.transport.send<ISendEventToWidgetRequestData>(\n WidgetApiToWidgetAction.SendEvent,\n // it's compatible, but missing the index signature\n rawEvent as ISendEventToWidgetRequestData,\n );\n }\n\n /**\n * Feeds a to-device event to the widget. As a client you are expected to\n * call this for every to-device event you receive.\n * @param {IRoomEvent} rawEvent The event to (try to) send to the widget.\n * @param {boolean} encrypted Whether the event contents were encrypted.\n * @returns {Promise<void>} Resolves when delivered or if the widget is not\n * able to receive the event due to permissions, rejects if the widget\n * failed to handle the event.\n */\n public async feedToDevice(message: IToDeviceMessage, encrypted: boolean): Promise<void> {\n if (this.canReceiveToDeviceEvent(message.type)) {\n await this.transport.send<ISendToDeviceToWidgetRequestData>(WidgetApiToWidgetAction.SendToDevice, {\n ...message,\n encrypted,\n });\n }\n }\n\n private viewedRoomId: string | null = null;\n\n /**\n * Indicate that a room is being viewed (making it possible for the widget\n * to interact with it).\n */\n public setViewedRoomId(roomId: string | null): void {\n this.viewedRoomId = roomId;\n // If the widget doesn't have timeline permissions for the room then\n // this is its opportunity to learn the room state. We push the entire\n // room state, which could be redundant if this room had been viewed\n // once before, but it's easier than selectively pushing just the bits\n // of state that changed while the room was in the background.\n if (roomId !== null && !this.canUseRoomTimeline(roomId)) this.pushRoomState(roomId);\n }\n\n private async flushRoomState(): Promise<void> {\n try {\n // Only send a single action once all concurrent tasks have completed\n do await Promise.all(this.pushRoomStateTasks);\n while (this.pushRoomStateTasks.size > 0);\n\n const events: IRoomEvent[] = [];\n for (const eventTypeMap of this.pushRoomStateResult.values()) {\n for (const stateKeyMap of eventTypeMap.values()) {\n events.push(...stateKeyMap.values());\n }\n }\n if ((await this.getWidgetVersions()).includes(UnstableApiVersion.MSC2762_UPDATE_STATE)) {\n // Only send state updates when using UpdateState. Otherwise the SendEvent action will be responsible for state updates.\n await this.transport.send<IUpdateStateToWidgetRequestData>(WidgetApiToWidgetAction.UpdateState, {\n state: events,\n });\n }\n } finally {\n this.flushRoomStateTask = null;\n }\n }\n\n /**\n * Reads the current sticky state of the room and pushes it to the widget.\n *\n * It will only push events that the widget is allowed to receive.\n * @param roomId\n * @private\n */\n private async pushStickyState(roomId: string): Promise<void> {\n console.debug(\"Pushing sticky state to widget for room\", roomId);\n return this.driver\n .readStickyEvents(roomId)\n .then((events) => {\n // filter to the allowed sticky events\n const filtered = events.filter((e) => {\n return this.canReceiveRoomEvent(\n e.type,\n typeof e.content?.msgtype === \"string\" ? e.content.msgtype : null,\n );\n });\n return { roomId, stickyEvents: filtered };\n })\n .then(async ({ roomId, stickyEvents }) => {\n console.debug(\"Pushing\", stickyEvents.length, \"sticky events to widget for room\", roomId);\n const promises = stickyEvents.map((rawEvent) => {\n return this.transport.send<ISendEventToWidgetRequestData>(\n WidgetApiToWidgetAction.SendEvent,\n // copied from feedEvent; it's compatible, but missing the index signature\n rawEvent as ISendEventToWidgetRequestData,\n );\n });\n await Promise.all(promises);\n });\n }\n\n /**\n * Read the room's state and push all entries that the widget is allowed to\n * read through to the widget.\n */\n private pushRoomState(roomId: string): void {\n for (const cap of this.allowedEvents) {\n if (cap.kind === EventKind.State && cap.direction === EventDirection.Receive) {\n // Initiate the task\n const events = this.driver.readRoomState(roomId, cap.eventType, cap.keyStr ?? undefined);\n const task = events\n .then(\n (events) => {\n // When complete, queue the resulting events to be\n // pushed to the widget\n for (const event of events) {\n let eventTypeMap = this.pushRoomStateResult.get(roomId);\n if (eventTypeMap === undefined) {\n eventTypeMap = new Map();\n this.pushRoomStateResult.set(roomId, eventTypeMap);\n }\n let stateKeyMap = eventTypeMap.get(cap.eventType);\n if (stateKeyMap === undefined) {\n stateKeyMap = new Map();\n eventTypeMap.set(cap.eventType, stateKeyMap);\n }\n if (!stateKeyMap.has(event.state_key!)) stateKeyMap.set(event.state_key!, event);\n }\n },\n (e) =>\n console.error(\n `Failed to read room state for ${roomId} (${cap.eventType}, ${cap.keyStr})`,\n e,\n ),\n )\n .then(() => {\n // Mark request as no longer pending\n this.pushRoomStateTasks.delete(task);\n });\n\n // Mark task as pending\n this.pushRoomStateTasks.add(task);\n // Assuming no other tasks are already happening concurrently,\n // schedule the widget action that actually pushes the events\n this.flushRoomStateTask ??= this.flushRoomState();\n this.flushRoomStateTask.catch((e) => console.error(\"Failed to push room state\", e));\n }\n }\n }\n\n /**\n * Feeds a room state update to the widget. As a client you are expected to\n * call this for every state update in every room to which you are joined or\n * invited.\n * @param {IRoomEvent} rawEvent The state event corresponding to the updated\n * room state entry.\n * @returns {Promise<void>} Resolves when delivered or if the widget is not\n * able to receive the room state due to permissions, rejects if the\n * widget failed to handle the update.\n */\n public async feedStateUpdate(rawEvent: IRoomEvent): Promise<void> {\n if (rawEvent.state_key === undefined) throw new Error(\"Not a state event\");\n if (\n (rawEvent.room_id === this.viewedRoomId || this.canUseRoomTimeline(rawEvent.room_id)) &&\n this.canReceiveStateEvent(rawEvent.type, rawEvent.state_key)\n ) {\n // Updates could race with the initial push of the room's state\n if (this.pushRoomStateTasks.size === 0) {\n // No initial push tasks are pending; safe to send immediately\n if ((await this.getWidgetVersions()).includes(UnstableApiVersion.MSC2762_UPDATE_STATE)) {\n // Only send state updates when using UpdateState. Otherwise the SendEvent action will be responsible for state updates.\n await this.transport.send<IUpdateStateToWidgetRequestData>(WidgetApiToWidgetAction.UpdateState, {\n state: [rawEvent],\n });\n }\n } else {\n // Lump the update in with whatever data will be sent in the\n // initial push later. Even if we set it to an \"outdated\" entry\n // here, we can count on any newer entries being passed to this\n // same method eventually; this won't cause stuck state.\n let eventTypeMap = this.pushRoomStateResult.get(rawEvent.room_id);\n if (eventTypeMap === undefined) {\n eventTypeMap = new Map();\n this.pushRoomStateResult.set(rawEvent.room_id, eventTypeMap);\n }\n let stateKeyMap = eventTypeMap.get(rawEvent.type);\n if (stateKeyMap === undefined) {\n stateKeyMap = new Map();\n eventTypeMap.set(rawEvent.type, stateKeyMap);\n }\n if (!stateKeyMap.has(rawEvent.type)) stateKeyMap.set(rawEvent.state_key, rawEvent);\n do await Promise.all(this.pushRoomStateTasks);\n while (this.pushRoomStateTasks.size > 0);\n await this.flushRoomStateTask;\n }\n }\n }\n}\n","/*\n * Copyright 2021 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport enum Symbols {\n AnyRoom = \"*\",\n}\n","/*\n * Copyright 2020 - 2024 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { EventEmitter } from \"events\";\n\nimport { Capability } from \"./interfaces/Capabilities\";\nimport { IWidgetApiRequest, IWidgetApiRequestEmptyData } from \"./interfaces/IWidgetApiRequest\";\nimport { IWidgetApiAcknowledgeResponseData } from \"./interfaces/IWidgetApiResponse\";\nimport { WidgetApiDirection } from \"./interfaces/WidgetApiDirection\";\nimport {\n ISupportedVersionsActionRequest,\n ISupportedVersionsActionResponseData,\n} from \"./interfaces/SupportedVersionsAction\";\nimport { ApiVersion, CurrentApiVersions, UnstableApiVersion } from \"./interfaces/ApiVersion\";\nimport {\n ICapabilitiesActionRequest,\n ICapabilitiesActionResponseData,\n INotifyCapabilitiesActionRequest,\n IRenegotiateCapabilitiesRequestData,\n} from \"./interfaces/CapabilitiesAction\";\nimport { ITransport } from \"./transport/ITransport\";\nimport { PostmessageTransport } from \"./transport/PostmessageTransport\";\nimport { WidgetApiFromWidgetAction, WidgetApiToWidgetAction } from \"./interfaces/WidgetApiAction\";\nimport { IWidgetApiErrorResponseData, IWidgetApiErrorResponseDataDetails } from \"./interfaces/IWidgetApiErrorResponse\";\nimport { IStickerActionRequestData } from \"./interfaces/StickerAction\";\nimport { IStickyActionRequestData, IStickyActionResponseData } from \"./interfaces/StickyAction\";\nimport {\n IGetOpenIDActionRequestData,\n IGetOpenIDActionResponse,\n IOpenIDCredentials,\n OpenIDRequestState,\n} from \"./interfaces/GetOpenIDAction\";\nimport { IOpenIDCredentialsActionRequest } from \"./interfaces/OpenIDCredentialsAction\";\nimport { MatrixWidgetType, WidgetType } from \"./interfaces/WidgetType\";\nimport {\n BuiltInModalButtonID,\n IModalWidgetCreateData,\n IModalWidgetOpenRequestData,\n IModalWidgetOpenRequestDataButton,\n IModalWidgetReturnData,\n ModalButtonID,\n} from \"./interfaces/ModalWidgetActions\";\nimport { ISetModalButtonEnabledActionRequestData } from \"./interfaces/SetModalButtonEnabledAction\";\nimport { ISendEventFromWidgetRequestData, ISendEventFromWidgetResponseData } from \"./interfaces/SendEventAction\";\nimport {\n ISendToDeviceFromWidgetRequestData,\n ISendToDeviceFromWidgetResponseData,\n} from \"./interfaces/SendToDeviceAction\";\nimport { EventDirection, WidgetEventCapability } from \"./models/WidgetEventCapability\";\nimport { INavigateActionRequestData } from \"./interfaces/NavigateAction\";\nimport { IReadEventFromWidgetRequestData, IReadEventFromWidgetResponseData } from \"./interfaces/ReadEventAction\";\nimport {\n IReadRoomAccountDataFromWidgetRequestData,\n IReadRoomAccountDataFromWidgetResponseData,\n} from \"./interfaces/ReadRoomAccountDataAction\";\nimport { IRoomEvent } from \"./interfaces/IRoomEvent\";\nimport { IRoomAccountData } from \"./interfaces/IRoomAccountData\";\nimport { ITurnServer, IUpdateTurnServersRequest } from \"./interfaces/TurnServerActions\";\nimport { Symbols } from \"./Symbols\";\nimport {\n IReadRelationsFromWidgetRequestData,\n IReadRelationsFromWidgetResponseData,\n} from \"./interfaces/ReadRelationsAction\";\nimport {\n IUserDirectorySearchFromWidgetRequestData,\n IUserDirectorySearchFromWidgetResponseData,\n} from \"./interfaces/UserDirectorySearchAction\";\nimport {\n IGetMediaConfigActionFromWidgetRequestData,\n IGetMediaConfigActionFromWidgetResponseData,\n} from \"./interfaces/GetMediaConfigAction\";\nimport {\n IUploadFileActionFromWidgetRequestData,\n IUploadFileActionFromWidgetResponseData,\n} from \"./interfaces/UploadFileAction\";\nimport {\n IDownloadFileActionFromWidgetRequestData,\n IDownloadFileActionFromWidgetResponseData,\n} from \"./interfaces/DownloadFileAction\";\nimport {\n IUpdateDelayedEventFromWidgetRequestData,\n IUpdateDelayedEventFromWidgetResponseData,\n UpdateDelayedEventAction,\n} from \"./interfaces/UpdateDelayedEventAction\";\n\nexport class WidgetApiResponseError extends Error {\n static {\n this.prototype.name = this.name;\n }\n\n public constructor(\n message: string,\n public readonly data: IWidgetApiErrorResponseDataDetails,\n ) {\n super(message);\n }\n}\n\n/**\n * API handler for widgets. This raises events for each action\n * received as `action:${action}` (eg: \"action:screenshot\").\n * Default handling can be prevented by using preventDefault()\n * on the raised event. The default handling varies for each\n * action: ones which the SDK can handle safely are acknowledged\n * appropriately and ones which are unhandled (custom or require\n * the widget to do something) are rejected with an error.\n *\n * Events which are preventDefault()ed must reply using the\n * transport. The events raised will have a detail of an\n * IWidgetApiRequest interface.\n *\n * When the WidgetApi is ready to start sending requests, it will\n * raise a \"ready\" CustomEvent. After the ready event fires, actions\n * can be sent and the transport will be ready.\n */\nexport class WidgetApi extends EventEmitter {\n public readonly transport: ITransport;\n\n private capabilitiesFinished = false;\n private supportsMSC2974Renegotiate = false;\n private readonly requestedCapabilities: Capability[] = [];\n private approvedCapabilities?: Capability[];\n private cachedClientVersions?: ApiVersion[];\n private turnServerWatchers = 0;\n\n /**\n * Creates a new API handler for the given widget.\n * @param {string} widgetId The widget ID to listen for. If not supplied then\n * the API will use the widget ID from the first valid request it receives.\n * @param {string} clientOrigin The origin of the client, or null if not known.\n */\n public constructor(widgetId: string | null = null, clientOrigin: string | null = null) {\n super();\n if (!globalThis.parent) {\n throw new Error(\"No parent window. This widget doesn't appear to be embedded properly.\");\n }\n this.transport = new PostmessageTransport(\n WidgetApiDirection.FromWidget,\n widgetId,\n globalThis.parent,\n globalThis,\n );\n this.transport.targetOrigin = clientOrigin;\n this.transport.on(\"message\", this.handleMessage.bind(this));\n }\n\n /**\n * Determines if the widget was granted a particular capability. Note that on\n * clients where the capabilities are not fed back to the widget this function\n * will rely on requested capabilities instead.\n * @param {Capability} capability The capability to check for approval of.\n * @returns {boolean} True if the widget has approval for the given capability.\n */\n public hasCapability(capability: Capability): boolean {\n if (Array.isArray(this.approvedCapabilities)) {\n return this.approvedCapabilities.includes(capability);\n }\n return this.requestedCapabilities.includes(capability);\n }\n\n /**\n * Request a capability from the client. It is not guaranteed to be allowed,\n * but will be asked for.\n * @param {Capability} capability The capability to request.\n * @throws Throws if the capabilities negotiation has already started and the\n * widget is unable to request additional capabilities.\n */\n public requestCapability(capability: Capability): void {\n if (this.capabilitiesFinished && !this.supportsMSC2974Renegotiate) {\n throw new Error(\"Capabilities have already been negotiated\");\n }\n\n this.requestedCapabilities.push(capability);\n }\n\n /**\n * Request capabilities from the client. They are not guaranteed to be allowed,\n * but will be asked for if the negotiation has not already happened.\n * @param {Capability[]} capabilities The capabilities to request.\n * @throws Throws if the capabilities negotiation has already started.\n */\n public requestCapabilities(capabilities: Capability[]): void {\n for (const cap of capabilities) {\n this.requestCapability(cap);\n }\n }\n\n /**\n * Requests the capability to interact with rooms other than the user's currently\n * viewed room. Applies to event receiving and sending.\n * @param {string | Symbols.AnyRoom} roomId The room ID, or `Symbols.AnyRoom` to\n * denote all known rooms.\n */\n public requestCapabilityForRoomTimeline(roomId: string | Symbols.AnyRoom): void {\n this.requestCapability(`org.matrix.msc2762.timeline:${roomId}`);\n }\n\n /**\n * Requests the capability to send a given state event with optional explicit\n * state key. It is not guaranteed to be allowed, but will be asked for if the\n * negotiation has not already happened.\n * @param {string} eventType The state event type to ask for.\n * @param {string} stateKey If specified, the specific state key to request.\n * Otherwise all state keys will be requested.\n */\n public requestCapabilityToSendState(eventType: string, stateKey?: string): void {\n this.requestCapability(WidgetEventCapability.forStateEvent(EventDirection.Send, eventType, stateKey).raw);\n }\n\n /**\n * Requests the capability to receive a given state event with optional explicit\n * state key. It is not guaranteed to be allowed, but will be asked for if the\n * negotiation has not already happened.\n * @param {string} eventType The state event type to ask for.\n * @param {string} stateKey If specified, the specific state key to request.\n * Otherwise all state keys will be requested.\n */\n public requestCapabilityToReceiveState(eventType: string, stateKey?: string): void {\n this.requestCapability(WidgetEventCapability.forStateEvent(EventDirection.Receive, eventType, stateKey).raw);\n }\n\n /**\n * Requests the capability to send a given to-device event. It is not\n * guaranteed to be allowed, but will be asked for if the negotiation has\n * not already happened.\n * @param {string} eventType The room event type to ask for.\n */\n public requestCapabilityToSendToDevice(eventType: string): void {\n this.requestCapability(WidgetEventCapability.forToDeviceEvent(EventDirection.Send, eventType).raw);\n }\n\n /**\n * Requests the capability to receive a given to-device event. It is not\n * guaranteed to be allowed, but will be asked for if the negotiation has\n * not already happened.\n * @param {string} eventType The room event type to ask for.\n */\n public requestCapabilityToReceiveToDevice(eventType: string): void {\n this.requestCapability(WidgetEventCapability.forToDeviceEvent(EventDirection.Receive, eventType).raw);\n }\n\n /**\n * Requests the capability to send a given room event. It is not guaranteed to be\n * allowed, but will be asked for if the negotiation has not already happened.\n * @param {string} eventType The room event type to ask for.\n */\n public requestCapabilityToSendEvent(eventType: string): void {\n this.requestCapability(WidgetEventCapability.forRoomEvent(EventDirection.Send, eventType).raw);\n }\n\n /**\n * Requests the capability to receive a given room event. It is not guaranteed to be\n * allowed, but will be asked for if the negotiation has not already happened.\n * @param {string} eventType The room event type to ask for.\n */\n public requestCapabilityToReceiveEvent(eventType: string): void {\n this.requestCapability(WidgetEventCapability.forRoomEvent(EventDirection.Receive, eventType).raw);\n }\n\n /**\n * Requests the capability to send a given message event with optional explicit\n * `msgtype`. It is not guaranteed to be allowed, but will be asked for if the\n * negotiation has not already happened.\n * @param {string} msgtype If specified, the specific msgtype to request.\n * Otherwise all message types will be requested.\n */\n public requestCapabilityToSendMessage(msgtype?: string): void {\n this.requestCapability(WidgetEventCapability.forRoomMessageEvent(EventDirection.Send, msgtype).raw);\n }\n\n /**\n * Requests the capability to receive a given message event with optional explicit\n * `msgtype`. It is not guaranteed to be allowed, but will be asked for if the\n * negotiation has not already happened.\n * @param {string} msgtype If specified, the specific msgtype to request.\n * Otherwise all message types will be requested.\n */\n public requestCapabilityToReceiveMessage(msgtype?: string): void {\n this.requestCapability(WidgetEventCapability.forRoomMessageEvent(EventDirection.Receive, msgtype).raw);\n }\n\n /**\n * Requests the capability to receive a given item in room account data. It is not guaranteed to be\n * allowed, but will be asked for if the negotiation has not already happened.\n * @param {string} eventType The state event type to ask for.\n */\n public requestCapabilityToReceiveRoomAccountData(eventType: string): void {\n this.requestCapability(WidgetEventCapability.forRoomAccountData(EventDirection.Receive, eventType).raw);\n }\n\n /**\n * Requests an OpenID Connect token from the client for the currently logged in\n * user. This token can be validated server-side with the federation API. Note\n * that the widget is responsible for validating the token and caching any results\n * it needs.\n * @returns {Promise<IOpenIDCredentials>} Resolves to a token for verification.\n * @throws Throws if the user rejected the request or the request failed.\n */\n public requestOpenIDConnectToken(): Promise<IOpenIDCredentials> {\n return new Promise<IOpenIDCredentials>((resolve, reject) => {\n this.transport\n .sendComplete<IGetOpenIDActionRequestData, IGetOpenIDActionResponse>(\n WidgetApiFromWidgetAction.GetOpenIDCredentials,\n {},\n )\n .then((response) => {\n const rdata = response.response;\n if (rdata.state === OpenIDRequestState.Allowed) {\n resolve(rdata);\n } else if (rdata.state === OpenIDRequestState.Blocked) {\n reject(new Error(\"User declined to verify their identity\"));\n } else if (rdata.state === OpenIDRequestState.PendingUserConfirmation) {\n const handlerFn = (ev: CustomEvent<IOpenIDCredentialsActionRequest>): void => {\n ev.preventDefault();\n const request = ev.detail;\n if (request.data.original_request_id !== response.requestId) return;\n if (request.data.state === OpenIDRequestState.Allowed) {\n resolve(request.data);\n this.transport.reply(request, <IWidgetApiRequestEmptyData>{}); // ack\n } else if (request.data.state === OpenIDRequestState.Blocked) {\n reject(new Error(\"User declined to verify their identity\"));\n this.transport.reply(request, <IWidgetApiRequestEmptyData>{}); // ack\n } else {\n reject(new Error(\"Invalid state on reply: \" + rdata.state));\n this.transport.reply(request, <IWidgetApiErrorResponseData>{\n error: {\n message: \"Invalid state\",\n },\n });\n }\n this.off(`action:${WidgetApiToWidgetAction.OpenIDCredentials}`, handlerFn);\n };\n this.on(`action:${WidgetApiToWidgetAction.OpenIDCredentials}`, handlerFn);\n } else {\n reject(new Error(\"Invalid state: \" + rdata.state));\n }\n })\n .catch(reject);\n });\n }\n\n /**\n * Asks the client for additional capabilities. Capabilities can be queued for this\n * request with the requestCapability() functions.\n * @returns {Promise<void>} Resolves when complete. Note that the promise resolves when\n * the capabilities request has gone through, not when the capabilities are approved/denied.\n * Use the WidgetApiToWidgetAction.NotifyCapabilities action to detect changes.\n */\n public updateRequestedCapabilities(): Promise<void> {\n return this.transport\n .send(WidgetApiFromWidgetAction.MSC2974RenegotiateCapabilities, <IRenegotiateCapabilitiesRequestData>{\n capabilities: this.requestedCapabilities,\n })\n .then();\n }\n\n /**\n * Tell the client that the content has been loaded.\n * @returns {Promise} Resolves when the client acknowledges the request.\n */\n public sendContentLoaded(): Promise<void> {\n return this.transport.send(WidgetApiFromWidgetAction.ContentLoaded, <IWidgetApiRequestEmptyData>{}).then();\n }\n\n /**\n * Sends a sticker to the client.\n * @param {IStickerActionRequestData} sticker The sticker to send.\n * @returns {Promise} Resolves when the client acknowledges the request.\n */\n public sendSticker(sticker: IStickerActionRequestData): Promise<void> {\n return this.transport.send(WidgetApiFromWidgetAction.SendSticker, sticker).then();\n }\n\n /**\n * Asks the client to set the always-on-screen status for this widget.\n * @param {boolean} value The new state to request.\n * @returns {Promise<boolean>} Resolve with true if the client was able to fulfill\n * the request, resolves to false otherwise. Rejects if an error occurred.\n */\n public setAlwaysOnScreen(value: boolean): Promise<boolean> {\n return this.transport\n .send<\n IStickyActionRequestData,\n IStickyActionResponseData\n >(WidgetApiFromWidgetAction.UpdateAlwaysOnScreen, { value })\n .then((res) => res.success);\n }\n\n /**\n * Opens a modal widget.\n * @param {string} url The URL to the modal widget.\n * @param {string} name The name of the widget.\n * @param {IModalWidgetOpenRequestDataButton[]} buttons The buttons to have on the widget.\n * @param {IModalWidgetCreateData} data Data to supply to the modal widget.\n * @param {WidgetType} type The type of modal widget.\n * @returns {Promise<void>} Resolves when the modal widget has been opened.\n */\n public openModalWidget(\n url: string,\n name: string,\n buttons: IModalWidgetOpenRequestDataButton[] = [],\n data: IModalWidgetCreateData = {},\n type: WidgetType = MatrixWidgetType.Custom,\n ): Promise<void> {\n return this.transport\n .send<IModalWidgetOpenRequestData>(WidgetApiFromWidgetAction.OpenModalWidget, {\n type,\n url,\n name,\n buttons,\n data,\n })\n .then();\n }\n\n /**\n * Closes the modal widget. The widget's session will be terminated shortly after.\n * @param {IModalWidgetReturnData} data Optional data to close the modal widget with.\n * @returns {Promise<void>} Resolves when complete.\n */\n public closeModalWidget(data: IModalWidgetReturnData = {}): Promise<void> {\n return this.transport.send<IModalWidgetReturnData>(WidgetApiFromWidgetAction.CloseModalWidget, data).then();\n }\n\n public sendRoomEvent(\n eventType: string,\n content: unknown,\n roomId?: string,\n delay?: number,\n parentDelayId?: string,\n stickyDurationMs?: number,\n ): Promise<ISendEventFromWidgetResponseData> {\n return this.sendEvent(eventType, undefined, content, roomId, delay, parentDelayId, stickyDurationMs);\n }\n\n public sendStateEvent(\n eventType: string,\n stateKey: string,\n content: unknown,\n roomId?: string,\n delay?: number,\n parentDelayId?: string,\n ): Promise<ISendEventFromWidgetResponseData> {\n return this.sendEvent(eventType, stateKey, content, roomId, delay, parentDelayId);\n }\n\n private sendEvent(\n eventType: string,\n stateKey: string | undefined,\n content: unknown,\n roomId?: string,\n delay?: number,\n parentDelayId?: string,\n stickyDurationMs?: number,\n ): Promise<ISendEventFromWidgetResponseData> {\n return this.transport.send<ISendEventFromWidgetRequestData, ISendEventFromWidgetResponseData>(\n WidgetApiFromWidgetAction.SendEvent,\n {\n type: eventType,\n content,\n ...(stateKey !== undefined && { state_key: stateKey }),\n ...(roomId !== undefined && { room_id: roomId }),\n ...(delay !== undefined && { delay }),\n ...(parentDelayId !== undefined && { parent_delay_id: parentDelayId }),\n ...(stickyDurationMs !== undefined && { sticky_duration_ms: stickyDurationMs }),\n },\n );\n }\n\n /**\n * @experimental This currently relies on an unstable MSC (MSC4157).\n */\n public cancelScheduledDelayedEvent(delayId: string): Promise<IUpdateDelayedEventFromWidgetResponseData> {\n return this.transport.send<IUpdateDelayedEventFromWidgetRequestData, IUpdateDelayedEventFromWidgetResponseData>(\n WidgetApiFromWidgetAction.MSC4157UpdateDelayedEvent,\n {\n delay_id: delayId,\n action: UpdateDelayedEventAction.Cancel,\n },\n );\n }\n\n /**\n * @experimental This currently relies on an unstable MSC (MSC4157).\n */\n public restartScheduledDelayedEvent(delayId: string): Promise<IUpdateDelayedEventFromWidgetResponseData> {\n return this.transport.send<IUpdateDelayedEventFromWidgetRequestData, IUpdateDelayedEventFromWidgetResponseData>(\n WidgetApiFromWidgetAction.MSC4157UpdateDelayedEvent,\n {\n delay_id: delayId,\n action: UpdateDelayedEventAction.Restart,\n },\n );\n }\n\n /**\n * @experimental This currently relies on an unstable MSC (MSC4157).\n */\n public sendScheduledDelayedEvent(delayId: string): Promise<IUpdateDelayedEventFromWidgetResponseData> {\n return this.transport.send<IUpdateDelayedEventFromWidgetRequestData, IUpdateDelayedEventFromWidgetResponseData>(\n WidgetApiFromWidgetAction.MSC4157UpdateDelayedEvent,\n {\n delay_id: delayId,\n action: UpdateDelayedEventAction.Send,\n },\n );\n }\n\n /**\n * Sends a to-device event.\n * @param {string} eventType The type of events being sent.\n * @param {boolean} encrypted Whether to encrypt the message contents.\n * @param {Object} contentMap A map from user IDs to device IDs to message contents.\n * @returns {Promise<ISendToDeviceFromWidgetResponseData>} Resolves when complete.\n */\n public sendToDevice(\n eventType: string,\n encrypted: boolean,\n contentMap: { [userId: string]: { [deviceId: string]: object } },\n ): Promise<ISendToDeviceFromWidgetResponseData> {\n return this.transport.send<ISendToDeviceFromWidgetRequestData, ISendToDeviceFromWidgetResponseData>(\n WidgetApiFromWidgetAction.SendToDevice,\n { type: eventType, encrypted, messages: contentMap },\n );\n }\n\n public readRoomAccountData(eventType: string, roomIds?: (string | Symbols.AnyRoom)[]): Promise<IRoomAccountData[]> {\n const data: IReadEventFromWidgetRequestData = { type: eventType };\n\n if (roomIds) {\n if (roomIds.includes(Symbols.AnyRoom)) {\n data.room_ids = Symbols.AnyRoom;\n } else {\n data.room_ids = roomIds;\n }\n }\n return this.transport\n .send<\n IReadRoomAccountDataFromWidgetRequestData,\n IReadRoomAccountDataFromWidgetResponseData\n >(WidgetApiFromWidgetAction.BeeperReadRoomAccountData, data)\n .then((r) => r.events);\n }\n\n public readRoomEvents(\n eventType: string,\n limit?: number,\n msgtype?: string,\n roomIds?: (string | Symbols.AnyRoom)[],\n since?: string | undefined,\n ): Promise<IRoomEvent[]> {\n const data: IReadEventFromWidgetRequestData = { type: eventType, msgtype: msgtype };\n if (limit !== undefined) {\n data.limit = limit;\n }\n if (roomIds) {\n if (roomIds.includes(Symbols.AnyRoom)) {\n data.room_ids = Symbols.AnyRoom;\n } else {\n data.room_ids = roomIds;\n }\n }\n if (since) {\n data.since = since;\n }\n return this.transport\n .send<\n IReadEventFromWidgetRequestData,\n IReadEventFromWidgetResponseData\n >(WidgetApiFromWidgetAction.MSC2876ReadEvents, data)\n .then((r) => r.events);\n }\n\n /**\n * Reads all related events given a known eventId.\n * @param eventId The id of the parent event to be read.\n * @param roomId The room to look within. When undefined, the user's currently\n * viewed room.\n * @param relationType The relationship type of child events to search for.\n * When undefined, all relations are returned.\n * @param eventType The event type of child events to search for. When undefined,\n * all related events are returned.\n * @param limit The maximum number of events to retrieve per room. If not\n * supplied, the server will apply a default limit.\n * @param from The pagination token to start returning results from, as\n * received from a previous call. If not supplied, results start at the most\n * recent topological event known to the server.\n * @param to The pagination token to stop returning results at. If not\n * supplied, results continue up to limit or until there are no more events.\n * @param direction The direction to search for according to MSC3715.\n * @returns Resolves to the room relations.\n */\n public async readEventRelations(\n eventId: string,\n roomId?: string,\n relationType?: string,\n eventType?: string,\n limit?: number,\n from?: string,\n to?: string,\n direction?: \"f\" | \"b\",\n ): Promise<IReadRelationsFromWidgetResponseData> {\n const versions = await this.getClientVersions();\n if (!versions.includes(UnstableApiVersion.MSC3869)) {\n throw new Error(\"The read_relations action is not supported by the client.\");\n }\n\n const data: IReadRelationsFromWidgetRequestData = {\n event_id: eventId,\n rel_type: relationType,\n event_type: eventType,\n room_id: roomId,\n to,\n from,\n limit,\n direction,\n };\n\n return this.transport.send<IReadRelationsFromWidgetRequestData, IReadRelationsFromWidgetResponseData>(\n WidgetApiFromWidgetAction.MSC3869ReadRelations,\n data,\n );\n }\n\n public readStateEvents(\n eventType: string,\n limit?: number,\n stateKey?: string,\n roomIds?: (string | Symbols.AnyRoom)[],\n ): Promise<IRoomEvent[]> {\n const data: IReadEventFromWidgetRequestData = {\n type: eventType,\n state_key: stateKey === undefined ? true : stateKey,\n };\n if (limit !== undefined) {\n data.limit = limit;\n }\n if (roomIds) {\n if (roomIds.includes(Symbols.AnyRoom)) {\n data.room_ids = Symbols.AnyRoom;\n } else {\n data.room_ids = roomIds;\n }\n }\n return this.transport\n .send<\n IReadEventFromWidgetRequestData,\n IReadEventFromWidgetResponseData\n >(WidgetApiFromWidgetAction.MSC2876ReadEvents, data)\n .then((r) => r.events);\n }\n\n /**\n * Sets a button as disabled or enabled on the modal widget. Buttons are enabled by default.\n * @param {ModalButtonID} buttonId The button ID to enable/disable.\n * @param {boolean} isEnabled Whether or not the button is enabled.\n * @returns {Promise<void>} Resolves when complete.\n * @throws Throws if the button cannot be disabled, or the client refuses to disable the button.\n */\n public setModalButtonEnabled(buttonId: ModalButtonID, isEnabled: boolean): Promise<void> {\n if (buttonId === BuiltInModalButtonID.Close) {\n throw new Error(\"The close button cannot be disabled\");\n }\n return this.transport\n .send<ISetModalButtonEnabledActionRequestData>(WidgetApiFromWidgetAction.SetModalButtonEnabled, {\n button: buttonId,\n enabled: isEnabled,\n })\n .then();\n }\n\n /**\n * Attempts to navigate the client to the given URI. This can only be called with Matrix URIs\n * (currently only matrix.to, but in future a Matrix URI scheme will be defined).\n * @param {string} uri The URI to navigate to.\n * @returns {Promise<void>} Resolves when complete.\n * @throws Throws if the URI is invalid or cannot be processed.\n * @experimental This currently relies on an unstable MSC (MSC2931).\n */\n public navigateTo(uri: string): Promise<void> {\n if (!uri || !uri.startsWith(\"https://matrix.to/#\")) {\n throw new Error(\"Invalid matrix.to URI\");\n }\n\n return this.transport\n .send<INavigateActionRequestData>(WidgetApiFromWidgetAction.MSC2931Navigate, { uri })\n .then();\n }\n\n /**\n * Starts watching for TURN servers, yielding an initial set of credentials as soon as possible,\n * and thereafter yielding new credentials whenever the previous ones expire.\n * @yields {ITurnServer} The TURN server URIs and credentials currently available to the widget.\n */\n public async *getTurnServers(): AsyncGenerator<ITurnServer> {\n let setTurnServer: (server: ITurnServer) => void;\n\n const onUpdateTurnServers = async (ev: CustomEvent<IUpdateTurnServersRequest>): Promise<void> => {\n ev.preventDefault();\n setTurnServer(ev.detail.data);\n this.transport.reply<IWidgetApiAcknowledgeResponseData>(ev.detail, {});\n };\n\n // Start listening for updates before we even start watching, to catch\n // TURN data that is sent immediately\n this.on(`action:${WidgetApiToWidgetAction.UpdateTurnServers}`, onUpdateTurnServers);\n\n // Only send the 'watch' action if we aren't already watching\n if (this.turnServerWatchers === 0) {\n try {\n await this.transport.send<IWidgetApiRequestEmptyData>(WidgetApiFromWidgetAction.WatchTurnServers, {});\n } catch (e) {\n this.off(`action:${WidgetApiToWidgetAction.UpdateTurnServers}`, onUpdateTurnServers);\n throw e;\n }\n }\n this.turnServerWatchers++;\n\n try {\n // Watch for new data indefinitely (until this generator's return method is called)\n while (true) {\n yield await new Promise<ITurnServer>((resolve) => (setTurnServer = resolve));\n }\n } finally {\n // The loop was broken by the caller - clean up\n this.off(`action:${WidgetApiToWidgetAction.UpdateTurnServers}`, onUpdateTurnServers);\n\n // Since sending the 'unwatch' action will end updates for all other\n // consumers, only send it if we're the only consumer remaining\n this.turnServerWatchers--;\n if (this.turnServerWatchers === 0) {\n await this.transport.send<IWidgetApiRequestEmptyData>(WidgetApiFromWidgetAction.UnwatchTurnServers, {});\n }\n }\n }\n\n /**\n * Search for users in the user directory.\n * @param searchTerm The term to search for.\n * @param limit The maximum number of results to return. If not supplied, the\n * @returns Resolves to the search results.\n */\n public async searchUserDirectory(\n searchTerm: string,\n limit?: number,\n ): Promise<IUserDirectorySearchFromWidgetResponseData> {\n const versions = await this.getClientVersions();\n if (!versions.includes(UnstableApiVersion.MSC3973)) {\n throw new Error(\"The user_directory_search action is not supported by the client.\");\n }\n\n const data: IUserDirectorySearchFromWidgetRequestData = {\n search_term: searchTerm,\n limit,\n };\n\n return this.transport.send<\n IUserDirectorySearchFromWidgetRequestData,\n IUserDirectorySearchFromWidgetResponseData\n >(WidgetApiFromWidgetAction.MSC3973UserDirectorySearch, data);\n }\n\n /**\n * Get the config for the media repository.\n * @returns Promise which resolves with an object containing the config.\n */\n public async getMediaConfig(): Promise<IGetMediaConfigActionFromWidgetResponseData> {\n const versions = await this.getClientVersions();\n if (!versions.includes(UnstableApiVersion.MSC4039)) {\n throw new Error(\"The get_media_config action is not supported by the client.\");\n }\n\n const data: IGetMediaConfigActionFromWidgetRequestData = {};\n\n return this.transport.send<\n IGetMediaConfigActionFromWidgetRequestData,\n IGetMediaConfigActionFromWidgetResponseData\n >(WidgetApiFromWidgetAction.MSC4039GetMediaConfigAction, data);\n }\n\n /**\n * Upload a file to the media repository on the homeserver.\n * @param file - The object to upload. Something that can be sent to\n * XMLHttpRequest.send (typically a File).\n * @returns Resolves to the location of the uploaded file.\n */\n public async uploadFile(file: XMLHttpRequestBodyInit): Promise<IUploadFileActionFromWidgetResponseData> {\n const versions = await this.getClientVersions();\n if (!versions.includes(UnstableApiVersion.MSC4039)) {\n throw new Error(\"The upload_file action is not supported by the client.\");\n }\n\n const data: IUploadFileActionFromWidgetRequestData = {\n file,\n };\n\n return this.transport.send<IUploadFileActionFromWidgetRequestData, IUploadFileActionFromWidgetResponseData>(\n WidgetApiFromWidgetAction.MSC4039UploadFileAction,\n data,\n );\n }\n\n /**\n * Download a file from the media repository on the homeserver.\n * @param contentUri - MXC URI of the file to download.\n * @returns Resolves to the contents of the file.\n */\n public async downloadFile(contentUri: string): Promise<IDownloadFileActionFromWidgetResponseData> {\n const versions = await this.getClientVersions();\n if (!versions.includes(UnstableApiVersion.MSC4039)) {\n throw new Error(\"The download_file action is not supported by the client.\");\n }\n\n const data: IDownloadFileActionFromWidgetRequestData = {\n content_uri: contentUri,\n };\n\n return this.transport.send<IDownloadFileActionFromWidgetRequestData, IDownloadFileActionFromWidgetResponseData>(\n WidgetApiFromWidgetAction.MSC4039DownloadFileAction,\n data,\n );\n }\n\n /**\n * Starts the communication channel. This should be done early to ensure\n * that messages are not missed. Communication can only be stopped by the client.\n */\n public start(): void {\n this.transport.start();\n this.getClientVersions().then((v) => {\n if (v.includes(UnstableApiVersion.MSC2974)) {\n this.supportsMSC2974Renegotiate = true;\n }\n });\n }\n\n private handleMessage(ev: CustomEvent<IWidgetApiRequest>): void | Promise<void> {\n const actionEv = new CustomEvent(`action:${ev.detail.action}`, {\n detail: ev.detail,\n cancelable: true,\n });\n this.emit(`action:${ev.detail.action}`, actionEv);\n if (!actionEv.defaultPrevented) {\n switch (ev.detail.action) {\n case WidgetApiToWidgetAction.SupportedApiVersions:\n return this.replyVersions(<ISupportedVersionsActionRequest>ev.detail);\n case WidgetApiToWidgetAction.Capabilities:\n return this.handleCapabilities(<ICapabilitiesActionRequest>ev.detail);\n case WidgetApiToWidgetAction.UpdateVisibility:\n return this.transport.reply(ev.detail, <IWidgetApiRequestEmptyData>{}); // ack to avoid error spam\n case WidgetApiToWidgetAction.NotifyCapabilities:\n return this.transport.reply(ev.detail, <IWidgetApiRequestEmptyData>{}); // ack to avoid error spam\n default:\n return this.transport.reply(ev.detail, <IWidgetApiErrorResponseData>{\n error: {\n message: \"Unknown or unsupported to-widget action: \" + ev.detail.action,\n },\n });\n }\n }\n }\n\n private replyVersions(request: ISupportedVersionsActionRequest): void {\n this.transport.reply<ISupportedVersionsActionResponseData>(request, {\n supported_versions: CurrentApiVersions,\n });\n }\n\n public getClientVersions(): Promise<ApiVersion[]> {\n if (Array.isArray(this.cachedClientVersions)) {\n return Promise.resolve(this.cachedClientVersions);\n }\n\n return this.transport\n .send<IWidgetApiRequestEmptyData, ISupportedVersionsActionResponseData>(\n WidgetApiFromWidgetAction.SupportedApiVersions,\n {},\n )\n .then((r) => {\n this.cachedClientVersions = r.supported_versions;\n return r.supported_versions;\n })\n .catch((e) => {\n console.warn(\"non-fatal error getting supported client versions: \", e);\n return [];\n });\n }\n\n private handleCapabilities(request: ICapabilitiesActionRequest): void | Promise<void> {\n if (this.capabilitiesFinished) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: {\n message: \"Capability negotiation already completed\",\n },\n });\n }\n\n // See if we can expect a capabilities notification or not\n return this.getClientVersions().then((v) => {\n if (v.includes(UnstableApiVersion.MSC2871)) {\n this.once(\n `action:${WidgetApiToWidgetAction.NotifyCapabilities}`,\n (ev: CustomEvent<INotifyCapabilitiesActionRequest>) => {\n this.approvedCapabilities = ev.detail.data.approved;\n this.emit(\"ready\");\n },\n );\n } else {\n // if we can't expect notification, we're as done as we can be\n this.emit(\"ready\");\n }\n\n // in either case, reply to that capabilities request\n this.capabilitiesFinished = true;\n return this.transport.reply<ICapabilitiesActionResponseData>(request, {\n capabilities: this.requestedCapabilities,\n });\n });\n }\n}\n","/*\n * Copyright 2020 - 2024 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Capability,\n IOpenIDCredentials,\n OpenIDRequestState,\n SimpleObservable,\n IRoomEvent,\n IRoomAccountData,\n ITurnServer,\n IWidgetApiErrorResponseDataDetails,\n} from \"..\";\n\nexport interface ISendEventDetails {\n roomId: string;\n eventId: string;\n}\n\nexport interface ISendDelayedEventDetails {\n roomId: string;\n delayId: string;\n}\n\nexport interface IOpenIDUpdate {\n state: OpenIDRequestState;\n token?: IOpenIDCredentials;\n}\n\nexport interface IReadEventRelationsResult {\n chunk: IRoomEvent[];\n nextBatch?: string;\n prevBatch?: string;\n}\n\nexport interface ISearchUserDirectoryResult {\n limited: boolean;\n results: Array<{\n userId: string;\n displayName?: string;\n avatarUrl?: string;\n }>;\n}\n\nexport interface IGetMediaConfigResult {\n [key: string]: unknown;\n\n \"m.upload.size\"?: number;\n}\n\n/**\n * Represents the functions and behaviour the widget-api is unable to\n * do, such as prompting the user for information or interacting with\n * the UI. Clients are expected to implement this class and override\n * any functions they need/want to support.\n *\n * This class assumes the client will have a context of a Widget\n * instance already.\n */\nexport abstract class WidgetDriver {\n /**\n * Verifies the widget's requested capabilities, returning the ones\n * it is approved to use. Mutating the requested capabilities will\n * have no effect.\n *\n * This SHOULD result in the user being prompted to approve/deny\n * capabilities.\n *\n * By default this rejects all capabilities (returns an empty set).\n * @param {Set<Capability>} requested The set of requested capabilities.\n * @returns {Promise<Set<Capability>>} Resolves to the allowed capabilities.\n */\n public validateCapabilities(requested: Set<Capability>): Promise<Set<Capability>> {\n return Promise.resolve(new Set());\n }\n\n /**\n * Sends an event into a room. If `roomId` is falsy, the client should send the event\n * into the room the user is currently looking at. The widget API will have already\n * verified that the widget is capable of sending the event to that room.\n * @param {string} eventType The event type to be sent.\n * @param {*} content The content for the event.\n * @param {string|null} stateKey The state key if this is a state event, otherwise null.\n * May be an empty string.\n * @param {string|null} roomId The room ID to send the event to. If falsy, the room the\n * user is currently looking at.\n * @returns {Promise<ISendEventDetails>} Resolves when the event has been sent with\n * details of that event.\n * @throws Rejected when the event could not be sent.\n */\n public sendEvent(\n eventType: string,\n content: unknown,\n stateKey: string | null = null,\n roomId: string | null = null,\n ): Promise<ISendEventDetails> {\n return Promise.reject(new Error(\"Failed to override function\"));\n }\n\n /**\n * @experimental Part of MSC4407\n * Sends a sticky event into a room. If `roomId` is falsy, the client should send the event\n * into the room the user is currently looking at. The widget API will have already\n * verified that the widget is capable of sending the event to that room.\n * @param {number} stickyDurationMs The length of time a sticky event may remain sticky, in milliseconds.\n * @param {string} eventType The event type to be sent.\n * @param {*} content The content for the event.\n * @param {string|null} roomId The room ID to send the event to. If falsy, the room the\n * user is currently looking at.\n * @returns {Promise<ISendEventDetails>} Resolves when the event has been sent with\n * details of that event.\n * @throws Rejected when the event could not be sent.\n */\n public sendStickyEvent(\n stickyDurationMs: number,\n eventType: string,\n content: unknown,\n roomId: string | null = null,\n ): Promise<ISendEventDetails> {\n throw new Error(\"Method not implemented.\");\n }\n\n /**\n * @experimental Part of MSC4140 & MSC4157\n * Sends a delayed event into a room. If `roomId` is falsy, the client should send it\n * into the room the user is currently looking at. The widget API will have already\n * verified that the widget is capable of sending the event to that room.\n * @param {number|null} delay How much later to send the event, or null to not send the\n * event automatically. May not be null if {@link parentDelayId} is null.\n * @param {string|null} parentDelayId The ID of the delayed event this one is grouped with,\n * or null if it will be put in a new group. May not be null if {@link delay} is null.\n * @param {string} eventType The event type of the event to be sent.\n * @param {*} content The content for the event to be sent.\n * @param {string|null} stateKey The state key if the event to be sent a state event,\n * otherwise null. May be an empty string.\n * @param {string|null} roomId The room ID to send the event to. If falsy, the room the\n * user is currently looking at.\n * @returns {Promise<ISendDelayedEventDetails>} Resolves when the delayed event has been\n * prepared with details of how to refer to it for updating/sending/canceling it later.\n * @throws Rejected when the delayed event could not be sent.\n */\n public sendDelayedEvent(\n delay: number | null,\n parentDelayId: string | null,\n eventType: string,\n content: unknown,\n stateKey: string | null = null,\n roomId: string | null = null,\n ): Promise<ISendDelayedEventDetails> {\n return Promise.reject(new Error(\"Failed to override function\"));\n }\n\n /**\n * @experimental Part of MSC4140, MSC4157 and MSC4407\n * Sends a delayed sticky event into a room. If `roomId` is falsy, the client should send the event\n * into the room the user is currently looking at. The widget API will have already\n * verified that the widget is capable of sending the event to that room.\n * @param {number} stickyDurationMs The length of time a sticky event may remain sticky, in milliseconds.\n * @param {number|null} delay How much later to send the event, or null to not send the\n * event automatically. May not be null if {@link parentDelayId} is null.\n * @param {string|null} parentDelayId The ID of the delayed event this one is grouped with,\n * or null if it will be put in a new group. May not be null if {@link delay} is null.\n * @param {string} eventType The event type to be sent.\n * @param {*} content The content for the event.\n * @param {string|null} roomId The room ID to send the event to. If falsy, the room the\n * user is currently looking at.\n * @returns {Promise<ISendDelayedEventDetails>} Resolves when the event has been sent with\n * details of that event.\n * @throws Rejected when the event could not be sent.\n */\n public sendDelayedStickyEvent(\n delay: number | null,\n parentDelayId: string | null,\n stickyDurationMs: number,\n eventType: string,\n content: unknown,\n roomId: string | null = null,\n ): Promise<ISendDelayedEventDetails> {\n throw new Error(\"Method not implemented.\");\n }\n\n /**\n * @experimental Part of MSC4140 & MSC4157\n * Cancel the scheduled delivery of the delayed event matching the provided {@link delayId}.\n * @throws Rejected when there is no matching delayed event,\n * or when the delayed event failed to be cancelled.\n */\n public cancelScheduledDelayedEvent(delayId: string): Promise<void> {\n return Promise.reject(new Error(\"Failed to override function\"));\n }\n\n /**\n * @experimental Part of MSC4140 & MSC4157\n * Restart the scheduled delivery of the delayed event matching the provided {@link delayId}.\n * @throws Rejected when there is no matching delayed event,\n * or when the delayed event failed to be restarted.\n */\n public restartScheduledDelayedEvent(delayId: string): Promise<void> {\n return Promise.reject(new Error(\"Failed to override function\"));\n }\n\n /**\n * @experimental Part of MSC4140 & MSC4157\n * Immediately send the delayed event matching the provided {@link delayId},\n * instead of waiting for its scheduled delivery.\n * @throws Rejected when there is no matching delayed event,\n * or when the delayed event failed to be sent.\n */\n public sendScheduledDelayedEvent(delayId: string): Promise<void> {\n return Promise.reject(new Error(\"Failed to override function\"));\n }\n\n /**\n * Sends a to-device event. The widget API will have already verified that the widget\n * is capable of sending the event.\n * @param {string} eventType The event type to be sent.\n * @param {boolean} encrypted Whether to encrypt the message contents.\n * @param {Object} contentMap A map from user ID and device ID to event content.\n * @returns {Promise<void>} Resolves when the event has been sent.\n * @throws Rejected when the event could not be sent.\n */\n public sendToDevice(\n eventType: string,\n encrypted: boolean,\n contentMap: { [userId: string]: { [deviceId: string]: object } },\n ): Promise<void> {\n return Promise.reject(new Error(\"Failed to override function\"));\n }\n\n /**\n * Reads an element of room account data. The widget API will have already verified that the widget is\n * capable of receiving the `eventType` of the requested information. If `roomIds` is supplied, it may\n * contain `Symbols.AnyRoom` to denote that the piece of room account data in each of the client's known\n * rooms should be returned. When `null`, only the room the user is currently looking at should be considered.\n * @param eventType The event type to be read.\n * @param roomIds When null, the user's currently viewed room. Otherwise, the list of room IDs\n * to look within, possibly containing Symbols.AnyRoom to denote all known rooms.\n * @returns {Promise<IRoomAccountData[]>} Resolves to the element of room account data, or an empty array.\n */\n public readRoomAccountData(eventType: string, roomIds: string[] | null = null): Promise<IRoomAccountData[]> {\n return Promise.resolve([]);\n }\n\n /**\n * Reads all events of the given type, and optionally `msgtype` (if applicable/defined),\n * the user has access to. The widget API will have already verified that the widget is\n * capable of receiving the events. Less events than the limit are allowed to be returned,\n * but not more. If `roomIds` is supplied, it may contain `Symbols.AnyRoom` to denote that\n * `limit` in each of the client's known rooms should be returned. When `null`, only the\n * room the user is currently looking at should be considered. If `since` is specified but\n * the event ID isn't present in the number of events fetched by the client due to `limit`,\n * the client will return all the events.\n * @param eventType The event type to be read.\n * @param msgtype The msgtype of the events to be read, if applicable/defined.\n * @param stateKey The state key of the events to be read, if applicable/defined.\n * @param limit The maximum number of events to retrieve per room. Will be zero to denote \"as many\n * as possible\".\n * @param roomIds When null, the user's currently viewed room. Otherwise, the list of room IDs\n * to look within, possibly containing Symbols.AnyRoom to denote all known rooms.\n * @param since When null, retrieves the number of events specified by the \"limit\" parameter.\n * Otherwise, the event ID at which only subsequent events will be returned, as many as specified\n * in \"limit\".\n * @returns {Promise<IRoomEvent[]>} Resolves to the room events, or an empty array.\n * @deprecated Clients are advised to implement {@link WidgetDriver.readRoomTimeline} instead.\n */\n public readRoomEvents(\n eventType: string,\n msgtype: string | undefined,\n limit: number,\n roomIds: string[] | null = null,\n since?: string,\n ): Promise<IRoomEvent[]> {\n return Promise.resolve([]);\n }\n\n /**\n * Reads all events of the given type, and optionally state key (if applicable/defined),\n * the user has access to. The widget API will have already verified that the widget is\n * capable of receiving the events. Less events than the limit are allowed to be returned,\n * but not more. If `roomIds` is supplied, it may contain `Symbols.AnyRoom` to denote that\n * `limit` in each of the client's known rooms should be returned. When `null`, only the\n * room the user is currently looking at should be considered.\n * @param eventType The event type to be read.\n * @param stateKey The state key of the events to be read, if applicable/defined.\n * @param limit The maximum number of events to retrieve. Will be zero to denote \"as many\n * as possible\".\n * @param roomIds When null, the user's currently viewed room. Otherwise, the list of room IDs\n * to look within, possibly containing Symbols.AnyRoom to denote all known rooms.\n * @returns {Promise<IRoomEvent[]>} Resolves to the state events, or an empty array.\n * @deprecated Clients are advised to implement {@link WidgetDriver.readRoomTimeline} instead.\n */\n public readStateEvents(\n eventType: string,\n stateKey: string | undefined,\n limit: number,\n roomIds: string[] | null = null,\n ): Promise<IRoomEvent[]> {\n return Promise.resolve([]);\n }\n\n /**\n * Gets all sticky events of the given type the user has access to.\n * The widget API will have already verified that the widget is capable of receiving the events.\n *\n * This is needed because widgets will get only live messages as they appear in the timeline.\n * However, sticky events act like a state, and the current state is made by events that may have been\n * sent before the widget was loaded.\n * Events are sticky for 1h maximum, so the widget has access to the past hour of sticky events maximum.\n *\n * @experimental Part of MSC4407 - Sticky Events (Widget API)\n * @param roomId - The ID of the room.\n */\n public readStickyEvents(roomId: string): Promise<IRoomEvent[]> {\n throw new Error(\"readStickyEvents is not implemented\");\n }\n\n /**\n * Reads all events of the given type, and optionally `msgtype` (if applicable/defined),\n * the user has access to. The widget API will have already verified that the widget is\n * capable of receiving the events. Less events than the limit are allowed to be returned,\n * but not more.\n * @param roomId The ID of the room to look within.\n * @param eventType The event type to be read.\n * @param msgtype The msgtype of the events to be read, if applicable/defined.\n * @param stateKey The state key of the events to be read, if applicable/defined.\n * @param limit The maximum number of events to retrieve. Will be zero to denote \"as many as\n * possible\".\n * @param since When null, retrieves the number of events specified by the \"limit\" parameter.\n * Otherwise, the event ID at which only subsequent events will be returned, as many as specified\n * in \"limit\".\n * @returns {Promise<IRoomEvent[]>} Resolves to the room events, or an empty array.\n */\n public readRoomTimeline(\n roomId: string,\n eventType: string,\n msgtype: string | undefined,\n stateKey: string | undefined,\n limit: number,\n since: string | undefined,\n ): Promise<IRoomEvent[]> {\n // For backward compatibility we try the deprecated methods, in case\n // they're implemented\n if (stateKey === undefined) return this.readRoomEvents(eventType, msgtype, limit, [roomId], since);\n else return this.readStateEvents(eventType, stateKey, limit, [roomId]);\n }\n\n /**\n * Reads the current values of all matching room state entries.\n * @param roomId The ID of the room.\n * @param eventType The event type of the entries to be read.\n * @param stateKey The state key of the entry to be read. If undefined,\n * all room state entries with a matching event type should be returned.\n * @returns {Promise<IRoomEvent[]>} Resolves to the events representing the\n * current values of the room state entries.\n */\n public readRoomState(roomId: string, eventType: string, stateKey: string | undefined): Promise<IRoomEvent[]> {\n return this.readStateEvents(eventType, stateKey, Number.MAX_SAFE_INTEGER, [roomId]);\n }\n\n /**\n * Reads all events that are related to a given event. The widget API will\n * have already verified that the widget is capable of receiving the event,\n * or will make sure to reject access to events which are returned from this\n * function, but are not capable of receiving. If `relationType` or `eventType`\n * are set, the returned events should already be filtered. Less events than\n * the limit are allowed to be returned, but not more.\n * @param eventId The id of the parent event to be read.\n * @param roomId The room to look within. When undefined, the user's\n * currently viewed room.\n * @param relationType The relationship type of child events to search for.\n * When undefined, all relations are returned.\n * @param eventType The event type of child events to search for. When undefined,\n * all related events are returned.\n * @param from The pagination token to start returning results from, as\n * received from a previous call. If not supplied, results start at the most\n * recent topological event known to the server.\n * @param to The pagination token to stop returning results at. If not\n * supplied, results continue up to limit or until there are no more events.\n * @param limit The maximum number of events to retrieve per room. If not\n * supplied, the server will apply a default limit.\n * @param direction The direction to search for according to MSC3715\n * @returns Resolves to the room relations.\n */\n public readEventRelations(\n eventId: string,\n roomId?: string,\n relationType?: string,\n eventType?: string,\n from?: string,\n to?: string,\n limit?: number,\n direction?: \"f\" | \"b\",\n ): Promise<IReadEventRelationsResult> {\n return Promise.resolve({ chunk: [] });\n }\n\n /**\n * Asks the user for permission to validate their identity through OpenID Connect. The\n * interface for this function is an observable which accepts the state machine of the\n * OIDC exchange flow. For example, if the client/user blocks the request then it would\n * feed back a `{state: Blocked}` into the observable. Similarly, if the user already\n * approved the widget then a `{state: Allowed}` would be fed into the observable alongside\n * the token itself. If the client is asking for permission, it should feed in a\n * `{state: PendingUserConfirmation}` followed by the relevant Allowed or Blocked state.\n *\n * The widget API will reject the widget's request with an error if this contract is not\n * met properly. By default, the widget driver will block all OIDC requests.\n * @param {SimpleObservable<IOpenIDUpdate>} observer The observable to feed updates into.\n */\n public askOpenID(observer: SimpleObservable<IOpenIDUpdate>): void {\n observer.update({ state: OpenIDRequestState.Blocked });\n }\n\n /**\n * Navigates the client with a matrix.to URI. In future this function will also be provided\n * with the Matrix URIs once matrix.to is replaced. The given URI will have already been\n * lightly checked to ensure it looks like a valid URI, though the implementation is recommended\n * to do further checks on the URI.\n * @param {string} uri The URI to navigate to.\n * @returns {Promise<void>} Resolves when complete.\n * @throws Throws if there's a problem with the navigation, such as invalid format.\n */\n public navigate(uri: string): Promise<void> {\n throw new Error(\"Navigation is not implemented\");\n }\n\n /**\n * Polls for TURN server data, yielding an initial set of credentials as soon as possible, and\n * thereafter yielding new credentials whenever the previous ones expire. The widget API will\n * have already verified that the widget has permission to access TURN servers.\n * @yields {ITurnServer} The TURN server URIs and credentials currently available to the client.\n */\n public getTurnServers(): AsyncGenerator<ITurnServer> {\n throw new Error(\"TURN server support is not implemented\");\n }\n\n /**\n * Search for users in the user directory.\n * @param searchTerm The term to search for.\n * @param limit The maximum number of results to return. If not supplied, the\n * @returns Resolves to the search results.\n */\n public searchUserDirectory(searchTerm: string, limit?: number): Promise<ISearchUserDirectoryResult> {\n return Promise.resolve({ limited: false, results: [] });\n }\n\n /**\n * Get the config for the media repository.\n * @returns Promise which resolves with an object containing the config.\n */\n public getMediaConfig(): Promise<IGetMediaConfigResult> {\n throw new Error(\"Get media config is not implemented\");\n }\n\n /**\n * Upload a file to the media repository on the homeserver.\n * @param file - The object to upload. Something that can be sent to\n * XMLHttpRequest.send (typically a File).\n * @returns Resolves to the location of the uploaded file.\n */\n public uploadFile(file: XMLHttpRequestBodyInit): Promise<{ contentUri: string }> {\n throw new Error(\"Upload file is not implemented\");\n }\n\n /**\n * Download a file from the media repository on the homeserver.\n * @param contentUri - MXC URI of the file to download.\n * @returns Resolves to the contents of the file.\n */\n public downloadFile(contentUri: string): Promise<{ file: XMLHttpRequestBodyInit }> {\n throw new Error(\"Download file is not implemented\");\n }\n\n /**\n * Gets the IDs of all joined or invited rooms currently known to the\n * client.\n * @returns The room IDs.\n */\n public getKnownRooms(): string[] {\n throw new Error(\"Querying known rooms is not implemented\");\n }\n\n /**\n * Expresses an error thrown by this driver in a format compatible with the Widget API.\n * @param error The error to handle.\n * @returns The error expressed as a {@link IWidgetApiErrorResponseDataDetails},\n * or undefined if it cannot be expressed as one.\n */\n public processError(error: unknown): IWidgetApiErrorResponseDataDetails | undefined {\n return undefined;\n }\n}\n","/*\nCopyright 2020 - 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\n// Primary structures\nexport * from \"./WidgetApi\";\nexport * from \"./ClientWidgetApi\";\nexport * from \"./Symbols\";\n\n// Transports (not sure why you'd use these directly, but might as well export all the things)\nexport type * from \"./transport/ITransport\";\nexport * from \"./transport/PostmessageTransport\";\n\n// Interfaces and simple models\nexport type * from \"./interfaces/ICustomWidgetData\";\nexport type * from \"./interfaces/IJitsiWidgetData\";\nexport type * from \"./interfaces/IStickerpickerWidgetData\";\nexport type * from \"./interfaces/IWidget\";\nexport * from \"./interfaces/WidgetType\";\nexport * from \"./interfaces/IWidgetApiErrorResponse\";\nexport type * from \"./interfaces/IWidgetApiRequest\";\nexport type * from \"./interfaces/IWidgetApiResponse\";\nexport * from \"./interfaces/WidgetApiAction\";\nexport * from \"./interfaces/WidgetApiDirection\";\nexport * from \"./interfaces/ApiVersion\";\nexport * from \"./interfaces/Capabilities\";\nexport type * from \"./interfaces/CapabilitiesAction\";\nexport type * from \"./interfaces/ContentLoadedAction\";\nexport type * from \"./interfaces/ScreenshotAction\";\nexport type * from \"./interfaces/StickerAction\";\nexport type * from \"./interfaces/StickyAction\";\nexport type * from \"./interfaces/SupportedVersionsAction\";\nexport type * from \"./interfaces/VisibilityAction\";\nexport * from \"./interfaces/GetOpenIDAction\";\nexport type * from \"./interfaces/OpenIDCredentialsAction\";\nexport * from \"./interfaces/WidgetKind\";\nexport * from \"./interfaces/ModalButtonKind\";\nexport * from \"./interfaces/ModalWidgetActions\";\nexport type * from \"./interfaces/SetModalButtonEnabledAction\";\nexport type * from \"./interfaces/WidgetConfigAction\";\nexport type * from \"./interfaces/SendEventAction\";\nexport type * from \"./interfaces/SendToDeviceAction\";\nexport type * from \"./interfaces/ReadEventAction\";\nexport type * from \"./interfaces/IRoomEvent\";\nexport type * from \"./interfaces/IRoomAccountData\";\nexport type * from \"./interfaces/NavigateAction\";\nexport type * from \"./interfaces/TurnServerActions\";\nexport type * from \"./interfaces/ReadRelationsAction\";\nexport type * from \"./interfaces/GetMediaConfigAction\";\nexport * from \"./interfaces/UpdateDelayedEventAction\";\nexport type * from \"./interfaces/UpdateStateAction\";\nexport type * from \"./interfaces/UploadFileAction\";\nexport type * from \"./interfaces/DownloadFileAction\";\nexport type * from \"./interfaces/ThemeChangeAction\";\nexport type * from \"./interfaces/LanguageChangeAction\";\n\n// Complex models\nexport * from \"./models/WidgetEventCapability\";\nexport * from \"./models/validation/url\";\nexport * from \"./models/validation/utils\";\nexport * from \"./models/Widget\";\nexport * from \"./models/WidgetParser\";\n\n// Utilities\nexport * from \"./templating/url-template\";\nexport * from \"./util/SimpleObservable\";\n\n// Drivers\nexport * from \"./driver/WidgetDriver\";\n","/*\n * Copyright 2020 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport enum MatrixApiVersion {\n Prerelease1 = \"0.0.1\",\n Prerelease2 = \"0.0.2\",\n //V010 = \"0.1.0\", // first release\n}\n\nexport enum UnstableApiVersion {\n MSC2762 = \"org.matrix.msc2762\",\n MSC2762_UPDATE_STATE = \"org.matrix.msc2762_update_state\",\n MSC2871 = \"org.matrix.msc2871\",\n MSC2873 = \"org.matrix.msc2873\",\n MSC2931 = \"org.matrix.msc2931\",\n MSC2974 = \"org.matrix.msc2974\",\n MSC2876 = \"org.matrix.msc2876\",\n MSC3819 = \"org.matrix.msc3819\",\n MSC3846 = \"town.robin.msc3846\",\n MSC3869 = \"org.matrix.msc3869\",\n MSC3973 = \"org.matrix.msc3973\",\n MSC4039 = \"org.matrix.msc4039\",\n}\n\nexport type ApiVersion = MatrixApiVersion | UnstableApiVersion | string;\n\nexport const CurrentApiVersions: ApiVersion[] = [\n MatrixApiVersion.Prerelease1,\n MatrixApiVersion.Prerelease2,\n //MatrixApiVersion.V010,\n UnstableApiVersion.MSC2762,\n UnstableApiVersion.MSC2762_UPDATE_STATE,\n UnstableApiVersion.MSC2871,\n UnstableApiVersion.MSC2873,\n UnstableApiVersion.MSC2931,\n UnstableApiVersion.MSC2974,\n UnstableApiVersion.MSC2876,\n UnstableApiVersion.MSC3819,\n UnstableApiVersion.MSC3846,\n UnstableApiVersion.MSC3869,\n UnstableApiVersion.MSC3973,\n UnstableApiVersion.MSC4039,\n];\n","/*\n * Copyright 2020 - 2021 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Symbols } from \"../Symbols\";\n\nexport enum MatrixCapabilities {\n Screenshots = \"m.capability.screenshot\",\n StickerSending = \"m.sticker\",\n AlwaysOnScreen = \"m.always_on_screen\",\n /**\n * @deprecated It is not recommended to rely on this existing - it can be removed without notice.\n * Ask Element to not give the option to move the widget into a separate tab.\n */\n RequiresClient = \"io.element.requires_client\",\n /**\n * @experimental It is not recommended to rely on this existing - it can be removed without notice.\n */\n MSC2931Navigate = \"org.matrix.msc2931.navigate\",\n /**\n * @experimental It is not recommended to rely on this existing - it can be removed without notice.\n */\n MSC3846TurnServers = \"town.robin.msc3846.turn_servers\",\n /**\n * @experimental It is not recommended to rely on this existing - it can be removed without notice.\n */\n MSC3973UserDirectorySearch = \"org.matrix.msc3973.user_directory_search\",\n /**\n * @experimental It is not recommended to rely on this existing - it can be removed without notice.\n */\n MSC4039UploadFile = \"org.matrix.msc4039.upload_file\",\n /**\n * @experimental It is not recommended to rely on this existing - it can be removed without notice.\n */\n MSC4039DownloadFile = \"org.matrix.msc4039.download_file\",\n /**\n * @experimental It is not recommended to rely on this existing - it can be removed without notice.\n */\n MSC4157SendDelayedEvent = \"org.matrix.msc4157.send.delayed_event\",\n /**\n * @experimental It is not recommended to rely on this existing - it can be removed without notice.\n */\n MSC4157UpdateDelayedEvent = \"org.matrix.msc4157.update_delayed_event\",\n /**\n * @experimental It is not recommended to rely on this existing - it can be removed without notice.\n */\n MSC4407SendStickyEvent = \"org.matrix.msc4407.send.sticky_event\",\n /**\n * @experimental It is not recommended to rely on this existing - it can be removed without notice.\n */\n MSC4407ReceiveStickyEvent = \"org.matrix.msc4407.receive.sticky_event\",\n}\n\nexport type Capability = MatrixCapabilities | string;\n\nexport const StickerpickerCapabilities: Capability[] = [MatrixCapabilities.StickerSending];\nexport const VideoConferenceCapabilities: Capability[] = [MatrixCapabilities.AlwaysOnScreen];\n\n/**\n * Determines if a capability is a capability for a timeline.\n * @param {Capability} capability The capability to test.\n * @returns {boolean} True if a timeline capability, false otherwise.\n */\nexport function isTimelineCapability(capability: Capability): boolean {\n // TODO: Change when MSC2762 becomes stable.\n return capability?.startsWith(\"org.matrix.msc2762.timeline:\");\n}\n\n/**\n * Determines if a capability is a timeline capability for the given room.\n * @param {Capability} capability The capability to test.\n * @param {string | Symbols.AnyRoom} roomId The room ID, or `Symbols.AnyRoom` for that designation.\n * @returns {boolean} True if a matching capability, false otherwise.\n */\nexport function isTimelineCapabilityFor(capability: Capability, roomId: string | Symbols.AnyRoom): boolean {\n return capability === `org.matrix.msc2762.timeline:${roomId}`;\n}\n\n/**\n * Gets the room ID described by a timeline capability.\n * @param {string} capability The capability to parse.\n * @returns {string} The room ID.\n */\nexport function getTimelineRoomIDFromCapability(capability: Capability): string {\n return capability.substring(capability.indexOf(\":\") + 1);\n}\n","/*\n * Copyright 2020 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { IWidgetApiRequest, IWidgetApiRequestData } from \"./IWidgetApiRequest\";\nimport { WidgetApiFromWidgetAction } from \"./WidgetApiAction\";\nimport { IWidgetApiResponseData } from \"./IWidgetApiResponse\";\n\nexport enum OpenIDRequestState {\n Allowed = \"allowed\",\n Blocked = \"blocked\",\n PendingUserConfirmation = \"request\",\n}\n\nexport interface IOpenIDCredentials {\n access_token?: string; // eslint-disable-line camelcase\n expires_in?: number; // eslint-disable-line camelcase\n matrix_server_name?: string; // eslint-disable-line camelcase\n token_type?: \"Bearer\" | string; // eslint-disable-line camelcase\n}\n\nexport interface IGetOpenIDActionRequestData extends IWidgetApiRequestData {\n // nothing\n}\n\nexport interface IGetOpenIDActionRequest extends IWidgetApiRequest {\n action: WidgetApiFromWidgetAction.GetOpenIDCredentials;\n data: IGetOpenIDActionRequestData;\n}\n\nexport interface IGetOpenIDActionResponseData extends IWidgetApiResponseData, IOpenIDCredentials {\n state: OpenIDRequestState;\n}\n\nexport interface IGetOpenIDActionResponse extends IGetOpenIDActionRequest {\n response: IGetOpenIDActionResponseData;\n}\n","/*\n * Copyright 2020 - 2024 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { IWidgetApiResponse, IWidgetApiResponseData } from \"./IWidgetApiResponse\";\n\n/**\n * The format of errors returned by Matrix API requests\n * made by a WidgetDriver.\n */\nexport interface IMatrixApiError {\n /** The HTTP status code of the associated request. */\n http_status: number; // eslint-disable-line camelcase\n /** Any HTTP response headers that are relevant to the error. */\n http_headers: { [name: string]: string }; // eslint-disable-line camelcase\n /** The URL of the failed request. */\n url: string;\n /** @see {@link https://spec.matrix.org/latest/client-server-api/#standard-error-response} */\n response: {\n errcode: string;\n error: string;\n } & IWidgetApiResponseData; // extensible\n}\n\nexport interface IWidgetApiErrorResponseDataDetails {\n /** Set if the error came from a Matrix API request made by a widget driver */\n matrix_api_error?: IMatrixApiError; // eslint-disable-line camelcase\n}\n\nexport interface IWidgetApiErrorResponseData extends IWidgetApiResponseData {\n error: {\n /** A user-friendly string describing the error */\n message: string;\n } & IWidgetApiErrorResponseDataDetails;\n}\n\nexport interface IWidgetApiErrorResponse extends IWidgetApiResponse {\n response: IWidgetApiErrorResponseData;\n}\n\nexport function isErrorResponse(responseData: IWidgetApiResponseData): responseData is IWidgetApiErrorResponseData {\n const error = responseData.error;\n return typeof error === \"object\" && error !== null && \"message\" in error && typeof error.message === \"string\";\n}\n","/*\n * Copyright 2020 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport enum ModalButtonKind {\n Primary = \"m.primary\",\n Secondary = \"m.secondary\",\n Warning = \"m.warning\",\n Danger = \"m.danger\",\n Link = \"m.link\",\n}\n","/*\n * Copyright 2020 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { IWidgetApiRequest, IWidgetApiRequestData } from \"./IWidgetApiRequest\";\nimport { WidgetApiFromWidgetAction, WidgetApiToWidgetAction } from \"./WidgetApiAction\";\nimport { IWidgetApiAcknowledgeResponseData, IWidgetApiResponse } from \"./IWidgetApiResponse\";\nimport { IWidget } from \"./IWidget\";\nimport { ModalButtonKind } from \"./ModalButtonKind\";\n\nexport enum BuiltInModalButtonID {\n Close = \"m.close\",\n}\nexport type ModalButtonID = BuiltInModalButtonID | string;\n\nexport interface IModalWidgetCreateData extends IWidgetApiRequestData {\n [key: string]: unknown;\n}\n\nexport interface IModalWidgetReturnData {\n [key: string]: unknown;\n}\n\n// Types for a normal modal requesting the opening a modal widget\nexport interface IModalWidgetOpenRequestDataButton {\n id: ModalButtonID;\n label: string;\n kind: ModalButtonKind | string;\n disabled?: boolean;\n}\n\nexport interface IModalWidgetOpenRequestData extends IModalWidgetCreateData, Omit<IWidget, \"id\" | \"creatorUserId\"> {\n buttons?: IModalWidgetOpenRequestDataButton[];\n}\n\nexport interface IModalWidgetOpenRequest extends IWidgetApiRequest {\n action: WidgetApiFromWidgetAction.OpenModalWidget;\n data: IModalWidgetOpenRequestData;\n}\n\nexport interface IModalWidgetOpenResponse extends IWidgetApiResponse {\n response: IWidgetApiAcknowledgeResponseData;\n}\n\n// Types for a modal widget receiving notifications that its buttons have been pressed\nexport interface IModalWidgetButtonClickedRequestData extends IWidgetApiRequestData {\n id: IModalWidgetOpenRequestDataButton[\"id\"];\n}\n\nexport interface IModalWidgetButtonClickedRequest extends IWidgetApiRequest {\n action: WidgetApiToWidgetAction.ButtonClicked;\n data: IModalWidgetButtonClickedRequestData;\n}\n\nexport interface IModalWidgetButtonClickedResponse extends IWidgetApiResponse {\n response: IWidgetApiAcknowledgeResponseData;\n}\n\n// Types for a modal widget requesting close\nexport interface IModalWidgetCloseRequest extends IWidgetApiRequest {\n action: WidgetApiFromWidgetAction.CloseModalWidget;\n data: IModalWidgetReturnData;\n}\n\nexport interface IModalWidgetCloseResponse extends IWidgetApiResponse {\n response: IWidgetApiAcknowledgeResponseData;\n}\n\n// Types for a normal widget being notified that the modal widget it opened has been closed\nexport interface IModalWidgetCloseNotificationRequest extends IWidgetApiRequest {\n action: WidgetApiToWidgetAction.CloseModalWidget;\n data: IModalWidgetReturnData;\n}\n\nexport interface IModalWidgetCloseNotificationResponse extends IWidgetApiResponse {\n response: IWidgetApiAcknowledgeResponseData;\n}\n","/*\n * Copyright 2020 - 2024 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { IWidgetApiRequest, IWidgetApiRequestData } from \"./IWidgetApiRequest\";\nimport { WidgetApiFromWidgetAction } from \"./WidgetApiAction\";\nimport { IWidgetApiResponseData } from \"./IWidgetApiResponse\";\n\nexport enum UpdateDelayedEventAction {\n Cancel = \"cancel\",\n Restart = \"restart\",\n Send = \"send\",\n}\n\nexport interface IUpdateDelayedEventFromWidgetRequestData extends IWidgetApiRequestData {\n delay_id: string; // eslint-disable-line camelcase\n action: UpdateDelayedEventAction;\n}\n\nexport interface IUpdateDelayedEventFromWidgetActionRequest extends IWidgetApiRequest {\n action: WidgetApiFromWidgetAction.MSC4157UpdateDelayedEvent;\n data: IUpdateDelayedEventFromWidgetRequestData;\n}\n\nexport interface IUpdateDelayedEventFromWidgetResponseData extends IWidgetApiResponseData {\n // nothing\n}\n\nexport interface IUpdateDelayedEventFromWidgetActionResponse extends IUpdateDelayedEventFromWidgetActionRequest {\n response: IUpdateDelayedEventFromWidgetResponseData;\n}\n","/*\n * Copyright 2020 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport enum WidgetApiToWidgetAction {\n SupportedApiVersions = \"supported_api_versions\",\n Capabilities = \"capabilities\",\n NotifyCapabilities = \"notify_capabilities\",\n ThemeChange = \"theme_change\",\n LanguageChange = \"language_change\",\n TakeScreenshot = \"screenshot\",\n UpdateVisibility = \"visibility\",\n OpenIDCredentials = \"openid_credentials\",\n WidgetConfig = \"widget_config\",\n CloseModalWidget = \"close_modal\",\n ButtonClicked = \"button_clicked\",\n SendEvent = \"send_event\",\n SendToDevice = \"send_to_device\",\n UpdateState = \"update_state\",\n UpdateTurnServers = \"update_turn_servers\",\n}\n\nexport enum WidgetApiFromWidgetAction {\n SupportedApiVersions = \"supported_api_versions\",\n ContentLoaded = \"content_loaded\",\n SendSticker = \"m.sticker\",\n UpdateAlwaysOnScreen = \"set_always_on_screen\",\n GetOpenIDCredentials = \"get_openid\",\n CloseModalWidget = \"close_modal\",\n OpenModalWidget = \"open_modal\",\n SetModalButtonEnabled = \"set_button_enabled\",\n SendEvent = \"send_event\",\n SendToDevice = \"send_to_device\",\n WatchTurnServers = \"watch_turn_servers\",\n UnwatchTurnServers = \"unwatch_turn_servers\",\n\n BeeperReadRoomAccountData = \"com.beeper.read_room_account_data\",\n\n /**\n * @experimental It is not recommended to rely on this existing - it can be removed without notice.\n */\n MSC2876ReadEvents = \"org.matrix.msc2876.read_events\",\n\n /**\n * @experimental It is not recommended to rely on this existing - it can be removed without notice.\n */\n MSC2931Navigate = \"org.matrix.msc2931.navigate\",\n\n /**\n * @experimental It is not recommended to rely on this existing - it can be removed without notice.\n */\n MSC2974RenegotiateCapabilities = \"org.matrix.msc2974.request_capabilities\",\n\n /**\n * @experimental It is not recommended to rely on this existing - it can be removed without notice.\n */\n MSC3869ReadRelations = \"org.matrix.msc3869.read_relations\",\n\n /**\n * @experimental It is not recommended to rely on this existing - it can be removed without notice.\n */\n MSC3973UserDirectorySearch = \"org.matrix.msc3973.user_directory_search\",\n\n /**\n * @experimental It is not recommended to rely on this existing - it can be removed without notice.\n */\n MSC4039GetMediaConfigAction = \"org.matrix.msc4039.get_media_config\",\n\n /**\n * @experimental It is not recommended to rely on this existing - it can be removed without notice.\n */\n MSC4039UploadFileAction = \"org.matrix.msc4039.upload_file\",\n\n /**\n * @experimental It is not recommended to rely on this existing - it can be removed without notice.\n */\n MSC4039DownloadFileAction = \"org.matrix.msc4039.download_file\",\n\n /**\n * @experimental It is not recommended to rely on this existing - it can be removed without notice.\n */\n MSC4157UpdateDelayedEvent = \"org.matrix.msc4157.update_delayed_event\",\n}\n\nexport type WidgetApiAction = WidgetApiToWidgetAction | WidgetApiFromWidgetAction | string;\n","/*\n * Copyright 2020 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport enum WidgetApiDirection {\n ToWidget = \"toWidget\",\n FromWidget = \"fromWidget\",\n}\n\nexport function invertedDirection(dir: WidgetApiDirection): WidgetApiDirection {\n if (dir === WidgetApiDirection.ToWidget) {\n return WidgetApiDirection.FromWidget;\n } else if (dir === WidgetApiDirection.FromWidget) {\n return WidgetApiDirection.ToWidget;\n } else {\n throw new Error(\"Invalid direction\");\n }\n}\n","/*\n * Copyright 2020 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport enum WidgetKind {\n Room = \"room\",\n Account = \"account\",\n Modal = \"modal\",\n}\n","/*\n * Copyright 2020 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport enum MatrixWidgetType {\n Custom = \"m.custom\",\n JitsiMeet = \"m.jitsi\",\n Stickerpicker = \"m.stickerpicker\",\n}\n\nexport type WidgetType = MatrixWidgetType | string;\n","/*\n * Copyright 2020 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ITemplateParams, IWidget, IWidgetData, runTemplate, WidgetType } from \"..\";\nimport { assertPresent } from \"./validation/utils\";\n\n/**\n * Represents the barest form of widget.\n */\nexport class Widget {\n public constructor(private readonly definition: IWidget) {\n if (!this.definition) throw new Error(\"Definition is required\");\n\n assertPresent(definition, \"id\");\n assertPresent(definition, \"creatorUserId\");\n assertPresent(definition, \"type\");\n assertPresent(definition, \"url\");\n }\n\n /**\n * The user ID who created the widget.\n */\n public get creatorUserId(): string {\n return this.definition.creatorUserId;\n }\n\n /**\n * The type of widget.\n */\n public get type(): WidgetType {\n return this.definition.type;\n }\n\n /**\n * The ID of the widget.\n */\n public get id(): string {\n return this.definition.id;\n }\n\n /**\n * The name of the widget, or null if not set.\n */\n public get name(): string | null {\n return this.definition.name || null;\n }\n\n /**\n * The title for the widget, or null if not set.\n */\n public get title(): string | null {\n return this.rawData.title || null;\n }\n\n /**\n * The templated URL for the widget.\n */\n public get templateUrl(): string {\n return this.definition.url;\n }\n\n /**\n * The origin for this widget.\n */\n public get origin(): string {\n return new URL(this.templateUrl).origin;\n }\n\n /**\n * Whether or not the client should wait for the iframe to load. Defaults\n * to true.\n */\n public get waitForIframeLoad(): boolean {\n if (this.definition.waitForIframeLoad === false) return false;\n if (this.definition.waitForIframeLoad === true) return true;\n return true; // default true\n }\n\n /**\n * The raw data for the widget. This will always be defined, though\n * may be empty.\n */\n public get rawData(): IWidgetData {\n return this.definition.data || {};\n }\n\n /**\n * Gets a complete widget URL for the client to render.\n * @param {ITemplateParams} params The template parameters.\n * @returns {string} A templated URL.\n */\n public getCompleteUrl(params: ITemplateParams): string {\n return runTemplate(this.templateUrl, this.definition, params);\n }\n}\n","/*\n * Copyright 2020 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Capability } from \"..\";\n\nexport enum EventKind {\n Event = \"event\",\n State = \"state_event\",\n ToDevice = \"to_device\",\n RoomAccount = \"room_account\",\n}\n\nexport enum EventDirection {\n Send = \"send\",\n Receive = \"receive\",\n}\n\nexport class WidgetEventCapability {\n private constructor(\n public readonly direction: EventDirection,\n public readonly eventType: string,\n public readonly kind: EventKind,\n public readonly keyStr: string | null,\n public readonly raw: string,\n ) {}\n\n public matchesAsStateEvent(direction: EventDirection, eventType: string, stateKey: string | null): boolean {\n if (this.kind !== EventKind.State) return false; // not a state event\n if (this.direction !== direction) return false; // direction mismatch\n if (this.eventType !== eventType) return false; // event type mismatch\n if (this.keyStr === null) return true; // all state keys are allowed\n if (this.keyStr === stateKey) return true; // this state key is allowed\n\n // Default not allowed\n return false;\n }\n\n public matchesAsToDeviceEvent(direction: EventDirection, eventType: string): boolean {\n if (this.kind !== EventKind.ToDevice) return false; // not a to-device event\n if (this.direction !== direction) return false; // direction mismatch\n if (this.eventType !== eventType) return false; // event type mismatch\n\n // Checks passed, the event is allowed\n return true;\n }\n\n public matchesAsRoomEvent(direction: EventDirection, eventType: string, msgtype: string | null = null): boolean {\n if (this.kind !== EventKind.Event) return false; // not a room event\n if (this.direction !== direction) return false; // direction mismatch\n if (this.eventType !== eventType) return false; // event type mismatch\n\n if (this.eventType === \"m.room.message\") {\n if (this.keyStr === null) return true; // all message types are allowed\n if (this.keyStr === msgtype) return true; // this message type is allowed\n } else {\n return true; // already passed the check for if the event is allowed\n }\n\n // Default not allowed\n return false;\n }\n\n public matchesAsRoomAccountData(direction: EventDirection, eventType: string): boolean {\n if (this.kind !== EventKind.RoomAccount) return false; // not room account data\n if (this.direction !== direction) return false; // direction mismatch\n if (this.eventType !== eventType) return false; // event type mismatch\n\n // Checks passed, the event is allowed\n return true;\n }\n\n public static forStateEvent(\n direction: EventDirection,\n eventType: string,\n stateKey?: string,\n ): WidgetEventCapability {\n // TODO: Enable support for m.* namespace once the MSC lands.\n // https://github.com/matrix-org/matrix-widget-api/issues/22\n eventType = eventType.replace(/#/g, \"\\\\#\");\n stateKey = stateKey !== null && stateKey !== undefined ? `#${stateKey}` : \"\";\n const str = `org.matrix.msc2762.${direction}.state_event:${eventType}${stateKey}`;\n\n // cheat by sending it through the processor\n return WidgetEventCapability.findEventCapabilities([str])[0];\n }\n\n public static forToDeviceEvent(direction: EventDirection, eventType: string): WidgetEventCapability {\n // TODO: Enable support for m.* namespace once the MSC lands.\n // https://github.com/matrix-org/matrix-widget-api/issues/56\n const str = `org.matrix.msc3819.${direction}.to_device:${eventType}`;\n\n // cheat by sending it through the processor\n return WidgetEventCapability.findEventCapabilities([str])[0];\n }\n\n public static forRoomEvent(direction: EventDirection, eventType: string): WidgetEventCapability {\n // TODO: Enable support for m.* namespace once the MSC lands.\n // https://github.com/matrix-org/matrix-widget-api/issues/22\n const str = `org.matrix.msc2762.${direction}.event:${eventType}`;\n\n // cheat by sending it through the processor\n return WidgetEventCapability.findEventCapabilities([str])[0];\n }\n\n public static forRoomMessageEvent(direction: EventDirection, msgtype?: string): WidgetEventCapability {\n // TODO: Enable support for m.* namespace once the MSC lands.\n // https://github.com/matrix-org/matrix-widget-api/issues/22\n msgtype = msgtype === null || msgtype === undefined ? \"\" : msgtype;\n const str = `org.matrix.msc2762.${direction}.event:m.room.message#${msgtype}`;\n\n // cheat by sending it through the processor\n return WidgetEventCapability.findEventCapabilities([str])[0];\n }\n\n public static forRoomAccountData(direction: EventDirection, eventType: string): WidgetEventCapability {\n const str = `com.beeper.capabilities.${direction}.room_account_data:${eventType}`;\n\n return WidgetEventCapability.findEventCapabilities([str])[0];\n }\n\n /**\n * Parses a capabilities request to find all the event capability requests.\n * @param {Iterable<Capability>} capabilities The capabilities requested/to parse.\n * @returns {WidgetEventCapability[]} An array of event capability requests. May be empty, but never null.\n */\n public static findEventCapabilities(capabilities: Iterable<Capability>): WidgetEventCapability[] {\n const parsed: WidgetEventCapability[] = [];\n for (const cap of capabilities) {\n let direction: EventDirection | null = null;\n let eventSegment: string | undefined;\n let kind: EventKind | null = null;\n\n // TODO: Enable support for m.* namespace once the MSCs land.\n // https://github.com/matrix-org/matrix-widget-api/issues/22\n // https://github.com/matrix-org/matrix-widget-api/issues/56\n\n if (cap.startsWith(\"org.matrix.msc2762.send.event:\")) {\n direction = EventDirection.Send;\n kind = EventKind.Event;\n eventSegment = cap.substring(\"org.matrix.msc2762.send.event:\".length);\n } else if (cap.startsWith(\"org.matrix.msc2762.send.state_event:\")) {\n direction = EventDirection.Send;\n kind = EventKind.State;\n eventSegment = cap.substring(\"org.matrix.msc2762.send.state_event:\".length);\n } else if (cap.startsWith(\"org.matrix.msc3819.send.to_device:\")) {\n direction = EventDirection.Send;\n kind = EventKind.ToDevice;\n eventSegment = cap.substring(\"org.matrix.msc3819.send.to_device:\".length);\n } else if (cap.startsWith(\"org.matrix.msc2762.receive.event:\")) {\n direction = EventDirection.Receive;\n kind = EventKind.Event;\n eventSegment = cap.substring(\"org.matrix.msc2762.receive.event:\".length);\n } else if (cap.startsWith(\"org.matrix.msc2762.receive.state_event:\")) {\n direction = EventDirection.Receive;\n kind = EventKind.State;\n eventSegment = cap.substring(\"org.matrix.msc2762.receive.state_event:\".length);\n } else if (cap.startsWith(\"org.matrix.msc3819.receive.to_device:\")) {\n direction = EventDirection.Receive;\n kind = EventKind.ToDevice;\n eventSegment = cap.substring(\"org.matrix.msc3819.receive.to_device:\".length);\n } else if (cap.startsWith(\"com.beeper.capabilities.receive.room_account_data:\")) {\n direction = EventDirection.Receive;\n kind = EventKind.RoomAccount;\n eventSegment = cap.substring(\"com.beeper.capabilities.receive.room_account_data:\".length);\n }\n\n if (direction === null || kind === null || eventSegment === undefined) continue;\n\n // The capability uses `#` as a separator between event type and state key/msgtype,\n // so we split on that. However, a # is also valid in either one of those so we\n // join accordingly.\n // Eg: `m.room.message##m.text` is \"m.room.message\" event with msgtype \"#m.text\".\n const expectingKeyStr = eventSegment.startsWith(\"m.room.message#\") || kind === EventKind.State;\n let keyStr: string | null = null;\n if (eventSegment.includes(\"#\") && expectingKeyStr) {\n // Dev note: regex is difficult to write, so instead the rules are manually written\n // out. This is probably just as understandable as a boring regex though, so win-win?\n\n // Test cases:\n // str eventSegment keyStr\n // -------------------------------------------------------------\n // m.room.message# m.room.message <empty string>\n // m.room.message#test m.room.message test\n // m.room.message\\# m.room.message# test\n // m.room.message##test m.room.message #test\n // m.room.message\\##test m.room.message# test\n // m.room.message\\\\##test m.room.message\\# test\n // m.room.message\\\\###test m.room.message\\# #test\n\n // First step: explode the string\n const parts = eventSegment.split(\"#\");\n\n // To form the eventSegment, we'll keep finding parts of the exploded string until\n // there's one that doesn't end with the escape character (\\). We'll then join those\n // segments together with the exploding character. We have to remember to consume the\n // escape character as well.\n const idx = parts.findIndex((p) => !p.endsWith(\"\\\\\"));\n eventSegment = parts\n .slice(0, idx + 1)\n .map((p) => (p.endsWith(\"\\\\\") ? p.substring(0, p.length - 1) : p))\n .join(\"#\");\n\n // The keyStr is whatever is left over.\n keyStr = parts.slice(idx + 1).join(\"#\");\n }\n\n parsed.push(new WidgetEventCapability(direction, eventSegment, kind, keyStr, cap));\n }\n return parsed;\n }\n}\n","/*\n * Copyright 2020 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Widget } from \"./Widget\";\nimport { IWidget } from \"..\";\nimport { isValidUrl } from \"./validation/url\";\n\nexport interface IStateEvent {\n event_id: string; // eslint-disable-line camelcase\n room_id: string; // eslint-disable-line camelcase\n type: string;\n sender: string;\n origin_server_ts: number; // eslint-disable-line camelcase\n unsigned?: unknown;\n content: unknown;\n state_key: string; // eslint-disable-line camelcase\n}\n\nexport interface IAccountDataWidgets {\n [widgetId: string]: {\n type: \"m.widget\";\n // the state_key is also the widget's ID\n state_key: string; // eslint-disable-line camelcase\n sender: string; // current user's ID\n content: IWidget;\n id?: string; // off-spec, but possible\n };\n}\n\nexport class WidgetParser {\n private constructor() {\n // private constructor because this is a util class\n }\n\n /**\n * Parses widgets from the \"m.widgets\" account data event. This will always\n * return an array, though may be empty if no valid widgets were found.\n * @param {IAccountDataWidgets} content The content of the \"m.widgets\" account data.\n * @returns {Widget[]} The widgets in account data, or an empty array.\n */\n public static parseAccountData(content: IAccountDataWidgets): Widget[] {\n if (!content) return [];\n\n const result: Widget[] = [];\n for (const widgetId of Object.keys(content)) {\n const roughWidget = content[widgetId];\n if (!roughWidget) continue;\n if (roughWidget.type !== \"m.widget\" && roughWidget.type !== \"im.vector.modular.widgets\") continue;\n if (!roughWidget.sender) continue;\n\n const probableWidgetId = roughWidget.state_key || roughWidget.id;\n if (probableWidgetId !== widgetId) continue;\n\n const asStateEvent: IStateEvent = {\n content: roughWidget.content,\n sender: roughWidget.sender,\n type: \"m.widget\",\n state_key: widgetId,\n event_id: \"$example\",\n room_id: \"!example\",\n origin_server_ts: 1,\n };\n\n const widget = WidgetParser.parseRoomWidget(asStateEvent);\n if (widget) result.push(widget);\n }\n\n return result;\n }\n\n /**\n * Parses all the widgets possible in the given array. This will always return\n * an array, though may be empty if no widgets could be parsed.\n * @param {IStateEvent[]} currentState The room state to parse.\n * @returns {Widget[]} The widgets in the state, or an empty array.\n */\n public static parseWidgetsFromRoomState(currentState: IStateEvent[]): Widget[] {\n if (!currentState) return [];\n const result: Widget[] = [];\n for (const state of currentState) {\n const widget = WidgetParser.parseRoomWidget(state);\n if (widget) result.push(widget);\n }\n return result;\n }\n\n /**\n * Parses a state event into a widget. If the state event does not represent\n * a widget (wrong event type, invalid widget, etc) then null is returned.\n * @param {IStateEvent} stateEvent The state event.\n * @returns {Widget|null} The widget, or null if invalid\n */\n public static parseRoomWidget(stateEvent: IStateEvent): Widget | null {\n if (!stateEvent) return null;\n\n // TODO: [Legacy] Remove legacy support\n if (stateEvent.type !== \"m.widget\" && stateEvent.type !== \"im.vector.modular.widgets\") {\n return null;\n }\n\n // Dev note: Throughout this function we have null safety to ensure that\n // if the caller did not supply something useful that we don't error. This\n // is done against the requirements of the interface because not everyone\n // will have an interface to validate against.\n\n const content = (stateEvent.content as IWidget) || {};\n\n // Form our best approximation of a widget with the information we have\n const estimatedWidget: IWidget = {\n id: stateEvent.state_key,\n creatorUserId: content[\"creatorUserId\"] || stateEvent.sender,\n name: content[\"name\"],\n type: content[\"type\"],\n url: content[\"url\"],\n waitForIframeLoad: content[\"waitForIframeLoad\"],\n data: content[\"data\"],\n };\n\n // Finally, process that widget\n return WidgetParser.processEstimatedWidget(estimatedWidget);\n }\n\n private static processEstimatedWidget(widget: IWidget): Widget | null {\n // Validate that the widget has the best chance of passing as a widget\n if (!widget.id || !widget.creatorUserId || !widget.type) {\n return null;\n }\n if (!isValidUrl(widget.url)) {\n return null;\n }\n // TODO: Validate data for known widget types\n return new Widget(widget);\n }\n}\n","/*\n * Copyright 2020 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function isValidUrl(val: string): boolean {\n if (!val) return false; // easy: not valid if not present\n\n try {\n const parsed = new URL(val);\n if (parsed.protocol !== \"http\" && parsed.protocol !== \"https\") {\n return false;\n }\n return true;\n } catch (e) {\n if (e instanceof TypeError) {\n return false;\n }\n throw e;\n }\n}\n","/*\n * Copyright 2020 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function assertPresent<O extends Record<any, any>>(obj: O, key: keyof O): void {\n if (!obj[key]) {\n throw new Error(`${String(key)} is required`);\n }\n}\n","/*\n * Copyright 2020, 2021 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { IWidget } from \"..\";\n\nexport interface ITemplateParams {\n widgetRoomId?: string;\n currentUserId: string;\n userDisplayName?: string;\n userHttpAvatarUrl?: string;\n clientId?: string;\n clientTheme?: string;\n clientLanguage?: string;\n deviceId?: string;\n baseUrl?: string;\n}\n\nexport function runTemplate(url: string, widget: IWidget, params: ITemplateParams): string {\n // Always apply the supplied params over top of data to ensure the data can't lie about them.\n const variables = Object.assign({}, widget.data, {\n \"matrix_room_id\": params.widgetRoomId || \"\",\n \"matrix_user_id\": params.currentUserId,\n \"matrix_display_name\": params.userDisplayName || params.currentUserId,\n \"matrix_avatar_url\": params.userHttpAvatarUrl || \"\",\n \"matrix_widget_id\": widget.id,\n\n // TODO: Convert to stable (https://github.com/matrix-org/matrix-doc/pull/2873)\n \"org.matrix.msc2873.client_id\": params.clientId || \"\",\n \"org.matrix.msc2873.client_theme\": params.clientTheme || \"\",\n \"org.matrix.msc2873.client_language\": params.clientLanguage || \"\",\n\n // TODO: Convert to stable (https://github.com/matrix-org/matrix-spec-proposals/pull/3819)\n \"org.matrix.msc3819.matrix_device_id\": params.deviceId || \"\",\n\n // TODO: Convert to stable (https://github.com/matrix-org/matrix-spec-proposals/pull/4039)\n \"org.matrix.msc4039.matrix_base_url\": params.baseUrl || \"\",\n });\n let result = url;\n for (const key of Object.keys(variables)) {\n // Regex escape from https://stackoverflow.com/a/6969486/7037379\n const pattern = `$${key}`.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\"); // $& means the whole matched string\n const rexp = new RegExp(pattern, \"g\");\n\n // This is technically not what we're supposed to do for a couple of reasons:\n // 1. We are assuming that there won't later be a $key match after we replace a variable.\n // 2. We are assuming that the variable is in a place where it can be escaped (eg: path or query string).\n result = result.replace(rexp, encodeURIComponent(toString(variables[key])));\n }\n return result;\n}\n\nexport function toString(a: unknown): string {\n if (a === null || a === undefined) {\n return `${a}`;\n }\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n return String(a);\n}\n","/*\n * Copyright 2020 - 2024 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { EventEmitter } from \"events\";\n\nimport { ITransport } from \"./ITransport\";\nimport {\n invertedDirection,\n isErrorResponse,\n IWidgetApiRequest,\n IWidgetApiRequestData,\n IWidgetApiResponse,\n IWidgetApiResponseData,\n WidgetApiResponseError,\n WidgetApiAction,\n WidgetApiDirection,\n WidgetApiToWidgetAction,\n} from \"..\";\n\ninterface IOutboundRequest {\n request: IWidgetApiRequest;\n resolve: (response: IWidgetApiResponse) => void;\n reject: (err: Error) => void;\n}\n\n/**\n * Transport for the Widget API over postMessage.\n */\nexport class PostmessageTransport extends EventEmitter implements ITransport {\n public strictOriginCheck = false;\n public targetOrigin = \"*\";\n public timeoutSeconds = 10;\n\n private _ready = false;\n private _widgetId: string | null;\n private readonly outboundRequests = new Map<string, IOutboundRequest | null>();\n private readonly stopController = new AbortController();\n\n public get ready(): boolean {\n return this._ready;\n }\n\n public get widgetId(): string | null {\n return this._widgetId || null;\n }\n\n public constructor(\n private readonly sendDirection: WidgetApiDirection,\n initialWidgetId: string | null,\n private readonly transportWindow: Window | typeof globalThis,\n private readonly inboundWindow: Window | typeof globalThis,\n ) {\n super();\n this._widgetId = initialWidgetId;\n }\n\n private get nextRequestId(): string {\n const idBase = `widgetapi-${Date.now()}`;\n let index = 0;\n let id = idBase;\n while (this.outboundRequests.has(id)) {\n id = `${idBase}-${index++}`;\n }\n\n // reserve the ID\n this.outboundRequests.set(id, null);\n\n return id;\n }\n\n private sendInternal(message: IWidgetApiRequest | IWidgetApiResponse): void {\n console.log(`[PostmessageTransport] Sending object to ${this.targetOrigin}: `, message);\n this.transportWindow.postMessage(message, this.targetOrigin);\n }\n\n public reply<T extends IWidgetApiResponseData>(request: IWidgetApiRequest, responseData: T): void {\n return this.sendInternal(<IWidgetApiResponse>{\n ...request,\n response: responseData,\n });\n }\n\n public send<T extends IWidgetApiRequestData, R extends IWidgetApiResponseData>(\n action: WidgetApiAction,\n data: T,\n ): Promise<R> {\n return this.sendComplete(action, data).then((r) => <R>r.response);\n }\n\n public sendComplete<T extends IWidgetApiRequestData, R extends IWidgetApiResponse>(\n action: WidgetApiAction,\n data: T,\n ): Promise<R> {\n if (!this.ready || !this.widgetId) {\n return Promise.reject(new Error(\"Not ready or unknown widget ID\"));\n }\n const request: IWidgetApiRequest = {\n api: this.sendDirection,\n widgetId: this.widgetId,\n requestId: this.nextRequestId,\n action: action,\n data: data,\n };\n if (action === WidgetApiToWidgetAction.UpdateVisibility) {\n request[\"visible\"] = data[\"visible\"];\n }\n return new Promise<R>((prResolve, prReject) => {\n const resolve = (response: IWidgetApiResponse): void => {\n cleanUp();\n prResolve(<R>response);\n };\n const reject = (err: Error): void => {\n cleanUp();\n prReject(err);\n };\n\n const timerId = setTimeout(() => reject(new Error(\"Request timed out\")), (this.timeoutSeconds || 1) * 1000);\n\n const onStop = (): void => reject(new Error(\"Transport stopped\"));\n this.stopController.signal.addEventListener(\"abort\", onStop);\n\n const cleanUp = (): void => {\n this.outboundRequests.delete(request.requestId);\n clearTimeout(timerId);\n this.stopController.signal.removeEventListener(\"abort\", onStop);\n };\n\n this.outboundRequests.set(request.requestId, { request, resolve, reject });\n this.sendInternal(request);\n });\n }\n\n public start(): void {\n this.inboundWindow.addEventListener(\"message\", this.handleMessage);\n this._ready = true;\n }\n\n public stop(): void {\n this._ready = false;\n this.stopController.abort();\n this.inboundWindow.removeEventListener(\"message\", this.handleMessage);\n }\n\n private readonly handleMessage = (ev: MessageEvent): void => {\n if (this.stopController.signal.aborted) return;\n if (!ev.data) return; // invalid event\n\n if (this.strictOriginCheck && ev.origin !== globalThis.origin) return; // bad origin\n\n // treat the message as a response first, then downgrade to a request\n const response = <IWidgetApiResponse>ev.data;\n if (!response.action || !response.requestId || !response.widgetId) return; // invalid request/response\n\n if (response.response) {\n if (response.api !== this.sendDirection) return; // wrong direction\n this.handleResponse(response);\n } else {\n const request = <IWidgetApiRequest>response;\n if (request.api !== invertedDirection(this.sendDirection)) return; // wrong direction\n this.handleRequest(request);\n }\n };\n\n private handleRequest(request: IWidgetApiRequest): void {\n if (this.widgetId) {\n if (this.widgetId !== request.widgetId) return; // wrong widget\n } else {\n this._widgetId = request.widgetId;\n }\n\n this.emit(\"message\", new CustomEvent(\"message\", { detail: request }));\n }\n\n private handleResponse(response: IWidgetApiResponse): void {\n if (response.widgetId !== this.widgetId) return; // wrong widget\n\n const req = this.outboundRequests.get(response.requestId);\n if (!req) return; // response to an unknown request\n\n if (isErrorResponse(response.response)) {\n const { message, ...data } = response.response.error;\n req.reject(new WidgetApiResponseError(message, data));\n } else {\n req.resolve(response);\n }\n }\n}\n","/*\n * Copyright 2020 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport type ObservableFunction<T> = (val: T) => void;\n\nexport class SimpleObservable<T> {\n private listeners: ObservableFunction<T>[] = [];\n\n public constructor(initialFn?: ObservableFunction<T>) {\n if (initialFn) this.listeners.push(initialFn);\n }\n\n public onUpdate(fn: ObservableFunction<T>): void {\n this.listeners.push(fn);\n }\n\n public update(val: T): void {\n for (const listener of this.listeners) {\n listener(val);\n }\n }\n\n public close(): void {\n this.listeners = []; // reset\n }\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","(() => {\n if (typeof __webpack_require__ !== 'undefined') {\n var oldGetScript = __webpack_require__.u;\n var oldLoadScript = __webpack_require__.e;\n var queryMap = {};\n var countMap = {};\n var getRetryDelay = function () {\n return 500;\n };\n __webpack_require__.u = function (chunkId) {\n var result = oldGetScript(chunkId);\n return (\n result +\n (queryMap.hasOwnProperty(chunkId) ? '?' + queryMap[chunkId] : '')\n );\n };\n __webpack_require__.e = function (chunkId) {\n var result = oldLoadScript(chunkId);\n return result.catch(function (error) {\n var retries = countMap.hasOwnProperty(chunkId) ? countMap[chunkId] : 3;\n if (retries < 1) {\n var realSrc = oldGetScript(chunkId);\n error.message =\n 'Loading chunk ' +\n chunkId +\n ' failed after 3 retries.\\n(' +\n realSrc +\n ')';\n error.request = realSrc;\n throw error;\n }\n return new Promise(function (resolve) {\n var retryAttempt = 3 - retries + 1;\n setTimeout(function () {\n var retryAttemptString = '&retry-attempt=' + retryAttempt;\n var cacheBust = (() => Date.now())();\n +retryAttemptString;\n queryMap[chunkId] = cacheBust;\n countMap[chunkId] = retries - 1;\n resolve(__webpack_require__.e(chunkId));\n }, getRetryDelay(retryAttempt));\n });\n });\n };\n }\n})();\n","/*\nCopyright 2018 André Jaenisch\nCopyright 2019-2025 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport loglevel from \"loglevel\";\n\n/** Backwards-compatibility hack to expose `log` to applications that might still be relying on it. */\ninterface LoggerWithLogMethod extends Logger {\n /**\n * Output debug message to the logger.\n *\n * @param msg - Data to log.\n *\n * @deprecated prefer {@link Logger.debug}.\n */\n log(...msg: any[]): void;\n}\n\n/** Logger interface used within the js-sdk codebase */\nexport interface Logger extends BaseLogger {\n /**\n * Create a child logger.\n *\n * This child will use the `methodFactory` of the parent, so any log extensions applied to the parent\n * at the time of calling `getChild` will be applied to the child as well.\n * It will NOT apply changes to the parent's `methodFactory` after the child was created.\n * Those changes need to be applied to the child manually.\n *\n * @param namespace - name to add to the current logger to generate the child. Some implementations of `Logger`\n * use this as a prefix; others use a different mechanism.\n */\n getChild(namespace: string): Logger;\n}\n\n/** The basic interface for a logger which doesn't support children */\nexport interface BaseLogger {\n /**\n * Output trace message to the logger, with stack trace.\n *\n * @param msg - Data to log.\n */\n trace(this: void, ...msg: any[]): void;\n\n /**\n * Output debug message to the logger.\n *\n * @param msg - Data to log.\n */\n debug(this: void, ...msg: any[]): void;\n\n /**\n * Output info message to the logger.\n *\n * @param msg - Data to log.\n */\n info(this: void, ...msg: any[]): void;\n\n /**\n * Output warn message to the logger.\n *\n * @param msg - Data to log.\n */\n warn(this: void, ...msg: any[]): void;\n\n /**\n * Output error message to the logger.\n *\n * @param msg - Data to log.\n */\n error(this: void, ...msg: any[]): void;\n}\n\n// This is to demonstrate, that you can use any namespace you want.\n// Namespaces allow you to turn on/off the logging for specific parts of the\n// application.\n// An idea would be to control this via an environment variable (on Node.js).\n// See https://www.npmjs.com/package/debug to see how this could be implemented\n// Part of #332 is introducing a logging library in the first place.\nconst DEFAULT_NAMESPACE = \"matrix\";\n\n// because rageshakes in react-sdk hijack the console log, also at module load time,\n// initializing the logger here races with the initialization of rageshakes.\n// to avoid the issue, we override the methodFactory of loglevel that binds to the\n// console methods at initialization time by a factory that looks up the console methods\n// when logging so we always get the current value of console methods.\nloglevel.methodFactory = function (methodName, logLevel, loggerName) {\n return function (this: PrefixedLogger, ...args): void {\n /* eslint-disable @typescript-eslint/no-invalid-this */\n if (this.prefix) {\n args.unshift(this.prefix);\n }\n /* eslint-enable @typescript-eslint/no-invalid-this */\n const supportedByConsole =\n methodName === \"error\" ||\n methodName === \"warn\" ||\n methodName === \"trace\" ||\n methodName === \"info\" ||\n methodName === \"debug\";\n /* eslint-disable no-console */\n if (supportedByConsole) {\n return console[methodName](...args);\n } else {\n return console.log(...args);\n }\n /* eslint-enable no-console */\n };\n};\n\n/**\n * Implementation of {@link Logger} based on `loglevel`.\n */\ninterface PrefixedLogger extends loglevel.Logger, LoggerWithLogMethod {\n prefix?: string;\n}\n\n/**\n * Internal utility function: gets a {@link Logger} based on `loglevel`.\n *\n * Child loggers produced by {@link Logger.getChild} add the name of the child logger as a prefix on each log line.\n *\n * @param prefix Prefix to add to each logged line. If undefined, no prefix will be added.\n */\nfunction getPrefixedLogger(prefix?: string): PrefixedLogger {\n const loggerName = DEFAULT_NAMESPACE + (prefix === undefined ? \"\" : `-${prefix}`);\n const prefixLogger = loglevel.getLogger(loggerName) as PrefixedLogger;\n\n if (prefixLogger.getChild === undefined) {\n // This is a new loglevel Logger which has not been turned into a PrefixedLogger yet.\n prefixLogger.prefix = prefix;\n prefixLogger.getChild = (childPrefix): Logger => {\n // create the new child logger\n const childLogger = getPrefixedLogger((prefix ?? \"\") + childPrefix);\n // Assign the methodFactory from the parent logger.\n // This is useful if we add extensions to the parent logger that modifies\n // its methodFactory. (An example extension is: storing each log to a rageshake db)\n childLogger.methodFactory = prefixLogger.methodFactory;\n // Rebuild the child logger with the new methodFactory.\n childLogger.rebuild();\n return childLogger;\n };\n prefixLogger.setLevel(loglevel.levels.DEBUG, false);\n }\n\n return prefixLogger;\n}\n\n/**\n * Drop-in replacement for `console` using {@link https://www.npmjs.com/package/loglevel|loglevel}.\n * Can be tailored down to specific use cases if needed.\n *\n * @deprecated avoid the use of this unless you are the constructor of `MatrixClient`: you should be using the logger\n * associated with `MatrixClient`.\n */\nexport const logger = getPrefixedLogger() as LoggerWithLogMethod;\n\n/**\n * A \"span\" for grouping related log lines together.\n *\n * The current implementation just adds the name at the start of each log line.\n *\n * This offers a lighter-weight alternative to 'child' loggers returned by {@link Logger#getChild}. In particular,\n * it's not possible to apply individual filters to the LogSpan such as setting the verbosity level. On the other hand,\n * no reference to the LogSpan is retained in the logging framework, so it is safe to make lots of them over the course\n * of an application's life and just drop references to them when the job is done.\n */\nexport class LogSpan implements BaseLogger {\n private readonly name;\n\n public constructor(\n private readonly parent: BaseLogger,\n name: string,\n ) {\n this.name = name + \":\";\n }\n\n public trace(...msg: any[]): void {\n this.parent.trace(this.name, ...msg);\n }\n\n public debug(...msg: any[]): void {\n this.parent.debug(this.name, ...msg);\n }\n\n public info(...msg: any[]): void {\n this.parent.info(this.name, ...msg);\n }\n\n public warn(...msg: any[]): void {\n this.parent.warn(this.name, ...msg);\n }\n\n public error(...msg: any[]): void {\n this.parent.error(this.name, ...msg);\n }\n}\n\n/**\n * A simplification of the `Debugger` type exposed by the `debug` library. We reimplement the bits we need here\n * to avoid a dependency on `debug`.\n */\ninterface Debugger {\n (formatter: any, ...args: any[]): void;\n extend: (namespace: string, delimiter?: string) => Debugger;\n}\n\n/**\n * A `Logger` instance, suitable for use in {@link ICreateClientOpts.logger}, which will write to the `debug` library.\n *\n * @example\n * ```js\n * import debug from \"debug\";\n *\n * const client = createClient({\n * baseUrl: homeserverUrl,\n * userId: userId,\n * accessToken: \"akjgkrgjs\",\n * deviceId: \"xzcvb\",\n * logger: new DebugLogger(debug(`matrix-js-sdk:${userId}`)),\n * });\n * ```\n */\nexport class DebugLogger implements Logger {\n public constructor(private debugInstance: Debugger) {}\n\n public trace(...msg: any[]): void {\n this.debugWithPrefix(\"[TRACE]\", ...msg);\n }\n\n public debug(...msg: any[]): void {\n this.debugWithPrefix(\"[DEBUG]\", ...msg);\n }\n\n public info(...msg: any[]): void {\n this.debugWithPrefix(\"[INFO]\", ...msg);\n }\n\n public warn(...msg: any[]): void {\n this.debugWithPrefix(\"[WARN]\", ...msg);\n }\n\n public error(...msg: any[]): void {\n this.debugWithPrefix(\"[ERROR]\", ...msg);\n }\n\n public getChild(namespace: string): DebugLogger {\n return new DebugLogger(this.debugInstance.extend(namespace));\n }\n\n private debugWithPrefix(prefix: string, ...msg: any[]): void {\n let formatter: string;\n\n // Convert the first argument to a string, so that we can safely add a prefix. This is much the same logic that\n // `debug()` uses.\n if (msg.length === 0) {\n formatter = \"\";\n } else if (msg[0] instanceof Error) {\n const err = msg.shift();\n formatter = err.stack || err.message;\n } else if (typeof msg[0] == \"string\") {\n formatter = msg.shift();\n } else {\n formatter = \"%O\";\n }\n this.debugInstance(prefix + \" \" + formatter, ...msg);\n }\n}\n","/*\n * Copyright 2024 New Vector Ltd.\n * Copyright 2020-2022 The Matrix.org Foundation C.I.C.\n *\n * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial\n * Please see LICENSE files in the repository root for full details.\n */\n\nimport { type IWidgetApiRequest } from \"matrix-widget-api\";\n\nexport enum ElementWidgetActions {\n // All of these actions are currently specific to Jitsi and Element Call\n JoinCall = \"io.element.join\",\n HangupCall = \"im.vector.hangup\",\n Close = \"io.element.close\",\n CallParticipants = \"io.element.participants\",\n StartLiveStream = \"im.vector.start_live_stream\",\n\n // Actions for switching layouts\n TileLayout = \"io.element.tile_layout\",\n SpotlightLayout = \"io.element.spotlight_layout\",\n\n OpenIntegrationManager = \"integration_manager_open\",\n /**\n * @deprecated Use MSC2931 instead\n */\n ViewRoom = \"io.element.view_room\",\n\n // This action type is used as a `fromWidget` and a `toWidget` action.\n // fromWidget: updates the client about the current device mute state\n // toWidget: the client requests a specific device mute configuration\n // The reply will always be the resulting configuration\n // It is possible to sent an empty configuration to retrieve the current values or\n // just one of the fields to update that particular value\n // An undefined field means that EC will keep the mute state as is.\n // -> this will allow the client to only get the current state\n //\n // The data of the widget action request and the response are:\n // {\n // audio_enabled?: boolean,\n // video_enabled?: boolean\n // }\n // NOTE: this is currently unused. Its only here to make EW aware\n // of this action so it does not throw errors.\n DeviceMute = \"io.element.device_mute\",\n}\n\nexport interface IHangupCallApiRequest extends IWidgetApiRequest {\n data: {\n errorMessage?: string;\n };\n}\n\n/**\n * @deprecated Use MSC2931 instead\n */\nexport interface IViewRoomApiRequest extends IWidgetApiRequest {\n data: {\n room_id: string; // eslint-disable-line camelcase\n };\n}\n","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","/*\nCopyright 2024 New Vector Ltd.\nCopyright 2022 The Matrix.org Foundation C.I.C.\n\nSPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nexport function snakeToCamel(s: string): string {\n return s.replace(/._./g, (v) => `${v[0]}${v[2].toUpperCase()}`);\n}\n\nexport class SnakedObject<T = Record<string, any>> {\n private fallbackWarnings = new Set<string>();\n\n public constructor(private obj: T) {}\n\n public get<K extends string & keyof T>(key: K, altCaseName?: string): T[K] {\n const val = this.obj[key];\n if (val !== undefined) return val;\n\n const fallbackKey = altCaseName ?? snakeToCamel(key);\n const fallback = this.obj[<K>fallbackKey];\n if (!!fallback && !this.fallbackWarnings.has(fallbackKey)) {\n this.fallbackWarnings.add(fallbackKey);\n console.warn(`Using deprecated camelCase config ${fallbackKey}`);\n console.warn(\n \"See https://github.com/vector-im/element-web/blob/develop/docs/config.md#-deprecation-notice\",\n );\n }\n return fallback;\n }\n\n // Make JSON.stringify() pretend that everything is fine\n public toJSON(): T {\n return this.obj;\n }\n}\n","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","/*\n * Copyright 2024 New Vector Ltd.\n * Copyright 2020 The Matrix.org Foundation C.I.C.\n *\n * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial\n * Please see LICENSE files in the repository root for full details.\n */\n\nexport enum ElementWidgetCapabilities {\n /**\n * @deprecated Use MSC2931 instead.\n */\n CanChangeViewedRoom = \"io.element.view_room\",\n /**\n * Ask Element to not give the option to move the widget into a separate tab.\n * This replaces RequiresClient in MatrixCapabilities.\n */\n RequiresClient = \"io.element.requires_client\",\n}\n","/*\nCopyright 2018-2024 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nimport type { IConfigOptions } from \"../IConfigOptions\";\n\n// Load the config file. First try to load up a domain-specific config of the\n// form \"config.$domain.json\" and if that fails, fall back to config.json.\nexport async function getVectorConfig(relativeLocation = \"\"): Promise<IConfigOptions | undefined> {\n if (relativeLocation !== \"\" && !relativeLocation.endsWith(\"/\")) relativeLocation += \"/\";\n\n // Handle trailing dot FQDNs\n let domain = window.location.hostname.trimEnd();\n if (domain.endsWith(\".\")) {\n domain = domain.slice(0, -1);\n }\n\n const specificConfigPromise = getConfig(`${relativeLocation}config.${domain}.json`);\n const generalConfigPromise = getConfig(relativeLocation + \"config.json\");\n\n try {\n const configJson = await specificConfigPromise;\n // 404s succeed with an empty json config, so check that there are keys\n if (!configJson || Object.keys(configJson).length === 0) {\n throw new Error(); // throw to enter the catch\n }\n return configJson;\n } catch {\n return generalConfigPromise;\n }\n}\n\nasync function getConfig(configJsonFilename: string): Promise<IConfigOptions | undefined> {\n const url = new URL(configJsonFilename, window.location.href);\n url.searchParams.set(\"cachebuster\", Date.now().toString());\n const res = await fetch(url, {\n cache: \"no-cache\",\n method: \"GET\",\n });\n\n if (res.status === 404 || res.status === 0) {\n // Lack of a config isn't an error, we should just use the defaults.\n // Also treat a blank config as no config, assuming the status code is 0, because we don't get 404s from file:\n // URIs so this is the only way we can not fail if the file doesn't exist when loading from a file:// URI.\n return {} as IConfigOptions;\n }\n\n if (res.ok) {\n return res.json();\n }\n}\n","/*\nCopyright 2020-2024 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nimport { KJUR } from \"jsrsasign\";\nimport {\n type IOpenIDCredentials,\n type IWidgetApiRequest,\n type IWidgetApiRequestData,\n type IWidgetApiResponseData,\n VideoConferenceCapabilities,\n WidgetApi,\n type WidgetApiAction,\n} from \"matrix-widget-api\";\nimport { logger } from \"matrix-js-sdk/src/logger\";\n\nimport type {\n JitsiMeetExternalAPIConstructor,\n ExternalAPIEventCallbacks,\n JitsiMeetExternalAPI as _JitsiMeetExternalAPI,\n LogEvent,\n VideoMuteStatusChangedEvent,\n ExternalAPIOptions as _ExternalAPIOptions,\n Config as _Config,\n InterfaceConfig as _InterfaceConfig,\n} from \"jitsi-meet\";\nimport { ElementWidgetActions } from \"../../stores/widgets/ElementWidgetActions\";\nimport { type IConfigOptions } from \"../../IConfigOptions\";\nimport { SnakedObject } from \"../../utils/SnakedObject\";\nimport { ElementWidgetCapabilities } from \"../../stores/widgets/ElementWidgetCapabilities\";\nimport { getVectorConfig } from \"../getconfig\";\n\n// We have to trick webpack into loading our CSS for us.\nimport \"./index.pcss\";\n\ninterface Config extends _Config {\n // Jitsi's types are missing these fields\n prejoinConfig?: {\n enabled: boolean;\n hideDisplayName?: boolean;\n hideExtraJoinButtons?: string[];\n };\n toolbarButtons?: string[];\n conferenceInfo?: {\n alwaysVIsible?: string[];\n autoHide?: string[];\n };\n disableSelfViewSettings?: boolean;\n}\n\ninterface InterfaceConfig extends _InterfaceConfig {\n // XXX: It is unclear whether this is a typo of TOOLBAR_BUTTONS or if its just really undocumented,\n // either way it is missing in types, yet we try and use it\n MAIN_TOOLBAR_BUTTONS?: string[];\n}\n\ninterface ExternalAPIOptions extends _ExternalAPIOptions {\n configOverwrite?: Config;\n interfaceConfigOverwrite?: InterfaceConfig;\n // Jitsi's types are missing these fields\n lang?: string;\n}\n\nconst JITSI_OPENIDTOKEN_JWT_AUTH = \"openidtoken-jwt\";\n\n// Dev note: we use raw JS without many dependencies to reduce bundle size.\n// We do not need all of React to render a Jitsi conference.\n\ndeclare let JitsiMeetExternalAPI: JitsiMeetExternalAPIConstructor;\n\nlet inConference = false;\n\n// Jitsi params\nlet jitsiDomain: string;\nlet conferenceId: string;\nlet displayName: string;\nlet avatarUrl: string;\nlet userId: string;\nlet jitsiAuth: string;\nlet roomId: string;\nlet roomName: string;\nlet startAudioOnly: boolean;\nlet startWithAudioMuted: boolean | undefined;\nlet startWithVideoMuted: boolean | undefined;\nlet isVideoChannel: boolean;\nlet supportsScreensharing: boolean;\nlet language: string;\n\nlet widgetApi: WidgetApi | undefined;\nlet meetApi: _JitsiMeetExternalAPI | undefined;\nlet skipOurWelcomeScreen = false;\n\nasync function checkAudioVideoEnabled(): Promise<[audioEnabled: boolean, videoEnabled: boolean]> {\n if (!meetApi) return [false, false];\n const [audioEnabled, videoEnabled] = (await Promise.all([meetApi.isAudioMuted(), meetApi.isVideoMuted()])).map(\n (muted) => !muted,\n );\n return [audioEnabled, videoEnabled];\n}\n\nconst setupCompleted = (async (): Promise<string | void> => {\n try {\n // Queue a config.json lookup asap, so we can use it later on. We want this to be concurrent with\n // other setup work and therefore do not block.\n const configPromise = getVectorConfig();\n\n // The widget's options are encoded into the fragment to avoid leaking info to the server.\n const widgetQuery = new URLSearchParams(window.location.hash.substring(1));\n // The widget spec on the other hand requires the widgetId and parentUrl to show up in the regular query string.\n const realQuery = new URLSearchParams(window.location.search.substring(1));\n const qsParam = (name: string, optional = false): string => {\n const vals = widgetQuery.has(name) ? widgetQuery.getAll(name) : realQuery.getAll(name);\n if (!optional && vals.length !== 1) {\n throw new Error(`Expected singular ${name} in query string`);\n }\n return vals[0];\n };\n const parseBooleanOrUndefined = (value: string | undefined): boolean | undefined => {\n if (value === undefined) {\n return undefined;\n }\n\n return value === \"true\";\n };\n\n // If we have these params, expect a widget API to be available (ie. to be in an iframe\n // inside a matrix client). Otherwise, assume we're on our own, eg. have been popped\n // out into a browser.\n const parentUrl = qsParam(\"parentUrl\", true);\n const widgetId = qsParam(\"widgetId\", true);\n const theme = qsParam(\"theme\", true);\n language = qsParam(\"language\", true) ?? \"en\";\n\n if (theme) {\n document.body.classList.add(`theme-${theme.replace(\" \", \"_\")}`);\n }\n\n // Set this up as early as possible because Element will be hitting it almost immediately.\n let widgetApiReady: Promise<void> | undefined;\n if (parentUrl && widgetId) {\n const parentOrigin = new URL(qsParam(\"parentUrl\")).origin;\n widgetApi = new WidgetApi(qsParam(\"widgetId\"), parentOrigin);\n\n widgetApiReady = new Promise<void>((resolve) => widgetApi!.once(\"ready\", resolve));\n widgetApi.requestCapabilities(VideoConferenceCapabilities);\n\n // jitsi cannot work in a popup if auth token is provided because widgetApi is not available there\n // so check the token and request the 'requires_client' capability to hide the popup icon in the Element\n if (qsParam(\"auth\", true) === \"openidtoken-jwt\") {\n widgetApi.requestCapability(ElementWidgetCapabilities.RequiresClient);\n }\n\n widgetApi.start();\n\n const handleAction = (\n action: WidgetApiAction,\n handler: (request: IWidgetApiRequestData) => Promise<IWidgetApiResponseData | void>,\n ): void => {\n widgetApi!.on(`action:${action}`, async (ev: CustomEvent<IWidgetApiRequest>) => {\n ev.preventDefault();\n await setupCompleted;\n\n let response: IWidgetApiResponseData;\n try {\n response = (await handler(ev.detail.data)) ?? {};\n } catch (e) {\n if (e instanceof Error) {\n response = { error: { message: e.message } };\n } else {\n throw e;\n }\n }\n\n widgetApi!.transport.reply(ev.detail, response);\n });\n };\n\n handleAction(ElementWidgetActions.JoinCall, async ({ audioInput, videoInput }) => {\n void joinConference(audioInput as string | null, videoInput as string | null);\n });\n handleAction(ElementWidgetActions.HangupCall, async ({ force }) => {\n if (force === true) {\n meetApi?.dispose();\n void notifyHangup();\n meetApi = undefined;\n closeConference();\n } else {\n meetApi?.executeCommand(\"hangup\");\n }\n });\n handleAction(ElementWidgetActions.DeviceMute, async (params) => {\n if (!meetApi) return;\n\n const [audioEnabled, videoEnabled] = await checkAudioVideoEnabled();\n\n if (Object.keys(params).length === 0) {\n // Handle query\n return {\n audio_enabled: audioEnabled,\n video_enabled: videoEnabled,\n };\n }\n\n if (params.audio_enabled !== audioEnabled) {\n meetApi.executeCommand(\"toggleAudio\");\n }\n if (params.video_enabled !== videoEnabled) {\n meetApi.executeCommand(\"toggleVideo\");\n }\n return params;\n });\n handleAction(ElementWidgetActions.TileLayout, async () => {\n meetApi?.executeCommand(\"setTileView\", true);\n });\n handleAction(ElementWidgetActions.SpotlightLayout, async () => {\n meetApi?.executeCommand(\"setTileView\", false);\n });\n handleAction(ElementWidgetActions.StartLiveStream, async ({ rtmpStreamKey }) => {\n if (!meetApi) throw new Error(\"Conference not joined\");\n meetApi.executeCommand(\"startRecording\", {\n mode: \"stream\",\n // this looks like it should be rtmpStreamKey but we may be on too old\n // a version of jitsi meet\n //rtmpStreamKey,\n youtubeStreamKey: rtmpStreamKey,\n });\n });\n } else {\n logger.warn(\"No parent URL or no widget ID - assuming no widget API is available\");\n }\n\n // Populate the Jitsi params now\n jitsiDomain = qsParam(\"conferenceDomain\");\n conferenceId = qsParam(\"conferenceId\");\n displayName = qsParam(\"displayName\", true);\n avatarUrl = qsParam(\"avatarUrl\", true); // http not mxc\n userId = qsParam(\"userId\");\n jitsiAuth = qsParam(\"auth\", true);\n roomId = qsParam(\"roomId\", true);\n roomName = qsParam(\"roomName\", true);\n startAudioOnly = qsParam(\"isAudioOnly\", true) === \"true\";\n startWithAudioMuted = parseBooleanOrUndefined(qsParam(\"startWithAudioMuted\", true));\n startWithVideoMuted = parseBooleanOrUndefined(qsParam(\"startWithVideoMuted\", true));\n isVideoChannel = qsParam(\"isVideoChannel\", true) === \"true\";\n supportsScreensharing = qsParam(\"supportsScreensharing\", true) === \"true\";\n\n // We've reached the point where we have to wait for the config, so do that then parse it.\n const instanceConfig = new SnakedObject<IConfigOptions>((await configPromise) ?? <IConfigOptions>{});\n const jitsiConfig = instanceConfig.get(\"jitsi_widget\");\n if (jitsiConfig) {\n skipOurWelcomeScreen = new SnakedObject(jitsiConfig).get(\"skip_built_in_welcome_screen\") ?? false;\n }\n\n // Either reveal the prejoin screen, or skip straight to Jitsi depending on the config.\n // We don't set up the call yet though as this might lead to failure without the widget API.\n toggleConferenceVisibility(skipOurWelcomeScreen);\n\n if (widgetApi) {\n await widgetApiReady;\n }\n\n // Now that everything should be set up, skip to the Jitsi splash screen if needed\n if (skipOurWelcomeScreen) {\n skipToJitsiSplashScreen();\n }\n\n enableJoinButton(); // always enable the button\n } catch (e) {\n logger.error(\"Error setting up Jitsi widget\", e);\n document.getElementById(\"widgetActionContainer\")!.innerText = \"Failed to load Jitsi widget\";\n }\n})();\n\nfunction enableJoinButton(): void {\n document.getElementById(\"joinButton\")!.onclick = (): Promise<void> => joinConference();\n}\n\nfunction switchVisibleContainers(): void {\n inConference = !inConference;\n\n // Our welcome screen is managed by other code, so just don't switch to it ever\n // if we're not supposed to.\n if (!skipOurWelcomeScreen) {\n toggleConferenceVisibility(inConference);\n }\n}\n\nfunction toggleConferenceVisibility(inConference: boolean): void {\n document.getElementById(\"jitsiContainer\")!.style.visibility = inConference ? \"unset\" : \"hidden\";\n document.getElementById(\"joinButtonContainer\")!.style.visibility = inConference ? \"hidden\" : \"unset\";\n}\n\nfunction skipToJitsiSplashScreen(): void {\n // really just a function alias for self-documenting code\n void joinConference();\n}\n\n/**\n * Create a JWT token for jitsi openidtoken-jwt auth\n *\n * See https://github.com/matrix-org/prosody-mod-auth-matrix-user-verification\n */\nfunction createJWTToken(openIdToken: IOpenIDCredentials): string {\n // Header\n const header = { alg: \"HS256\", typ: \"JWT\" };\n // Payload\n const payload = {\n // As per Jitsi token auth, `iss` needs to be set to something agreed between\n // JWT generating side and Prosody config. Since we have no configuration for\n // the widgets, we can't set one anywhere. Using the Jitsi domain here probably makes sense.\n iss: jitsiDomain,\n sub: jitsiDomain,\n aud: `https://${jitsiDomain}`,\n room: \"*\",\n context: {\n matrix: {\n token: openIdToken.access_token,\n room_id: roomId,\n server_name: openIdToken.matrix_server_name,\n },\n user: {\n avatar: avatarUrl,\n name: displayName,\n },\n },\n };\n // Sign JWT\n // The secret string here is irrelevant, we're only using the JWT\n // to transport data to Prosody in the Jitsi stack.\n return KJUR.jws.JWS.sign(\"HS256\", JSON.stringify(header), JSON.stringify(payload), \"notused\");\n}\n\nasync function notifyHangup(errorMessage?: string): Promise<void> {\n if (widgetApi) {\n // We send the hangup event before setAlwaysOnScreen, because the latter\n // can cause the receiving side to instantly stop listening.\n try {\n await widgetApi.transport.send(ElementWidgetActions.HangupCall, { errorMessage });\n } finally {\n await widgetApi.setAlwaysOnScreen(false);\n }\n }\n}\n\nfunction closeConference(): void {\n switchVisibleContainers();\n document.getElementById(\"jitsiContainer\")!.innerHTML = \"\";\n\n if (skipOurWelcomeScreen) {\n skipToJitsiSplashScreen();\n }\n}\n\n// Converts from IETF language tags used by Element (en-US) to the format used\n// by Jitsi (enUS)\nfunction normalizeLanguage(language: string): string {\n const [lang, variant] = language.replace(\"_\", \"-\").split(\"-\");\n\n if (!variant || lang === variant) {\n return lang;\n }\n\n return lang + variant.toUpperCase();\n}\n\nfunction mapLanguage(language: string): string {\n // Element and Jitsi don't agree how to interpret en, so we go with Elements\n // interpretation to stay consistent\n switch (language) {\n case \"en\":\n return \"enGB\";\n case \"enUS\":\n return \"en\";\n default:\n return language;\n }\n}\n\n// event handler bound in HTML\n// An audio input of undefined instructs Jitsi to start unmuted with whatever\n// audio input it can find, while an input of null instructs it to start muted,\n// and a non-nullish input specifies the label of a specific device to use.\n// Same for video inputs.\nasync function joinConference(audioInput?: string | null, videoInput?: string | null): Promise<void> {\n let jwt: string | undefined;\n if (jitsiAuth === JITSI_OPENIDTOKEN_JWT_AUTH) {\n // See https://github.com/matrix-org/prosody-mod-auth-matrix-user-verification\n const openIdToken = await widgetApi?.requestOpenIDConnectToken();\n logger.log(\"Got OpenID Connect token\");\n\n if (!openIdToken?.access_token) {\n // eslint-disable-line camelcase\n // We've failing to get a token, don't try to init conference\n logger.warn(\"Expected to have an OpenID credential, cannot initialize widget.\");\n document.getElementById(\"widgetActionContainer\")!.innerText = \"Failed to load Jitsi widget\";\n return;\n }\n jwt = createJWTToken(openIdToken);\n }\n\n switchVisibleContainers();\n\n logger.warn(\n \"[Jitsi Widget] The next few errors about failing to parse URL parameters are fine if \" +\n \"they mention 'external_api' or 'jitsi' in the stack. They're just Jitsi Meet trying to parse \" +\n \"our fragment values and not recognizing the options.\",\n );\n\n const options: ExternalAPIOptions = {\n width: \"100%\",\n height: \"100%\",\n parentNode: document.querySelector(\"#jitsiContainer\") ?? undefined,\n roomName: conferenceId,\n devices: {\n audioInput,\n videoInput,\n },\n userInfo: {\n displayName,\n email: userId,\n },\n interfaceConfigOverwrite: {\n SHOW_JITSI_WATERMARK: false,\n SHOW_WATERMARK_FOR_GUESTS: false,\n MAIN_TOOLBAR_BUTTONS: [],\n VIDEO_LAYOUT_FIT: \"height\",\n },\n configOverwrite: {\n subject: roomName,\n startAudioOnly,\n startWithAudioMuted: audioInput === null ? true : startWithAudioMuted,\n startWithVideoMuted: videoInput === null ? true : startWithVideoMuted,\n // Request some log levels for inclusion in rageshakes\n // Ideally we would capture all possible log levels, but this can\n // cause Jitsi Meet to try to post various circular data structures\n // back over the iframe API, and therefore end up crashing\n // https://github.com/jitsi/jitsi-meet/issues/11585\n apiLogLevels: [\"warn\", \"error\"],\n } as any,\n jwt: jwt,\n lang: mapLanguage(normalizeLanguage(language)),\n };\n\n // Video channel widgets need some more tailored config options\n if (isVideoChannel) {\n // We don't skip jitsi's prejoin screen for video rooms.\n options.configOverwrite!.prejoinConfig = { enabled: true };\n // Use a simplified set of toolbar buttons\n options.configOverwrite!.toolbarButtons = [\"microphone\", \"camera\", \"tileview\", \"hangup\"];\n // Note: We can hide the screenshare button in video rooms but not in\n // normal conference calls, since in video rooms we control exactly what\n // set of controls appear, but in normal calls we need to leave that up\n // to the deployment's configuration.\n // https://github.com/element-hq/element-web/issues/4880#issuecomment-940002464\n if (supportsScreensharing) options.configOverwrite!.toolbarButtons.splice(2, 0, \"desktop\");\n // Hide all top bar elements\n options.configOverwrite!.conferenceInfo = { autoHide: [] };\n // Remove the ability to hide your own tile, since we're hiding the\n // settings button which would be the only way to get it back\n options.configOverwrite!.disableSelfViewSettings = true;\n }\n\n meetApi = new JitsiMeetExternalAPI(jitsiDomain, options);\n\n // fires once when user joins the conference\n // (regardless of video on or off)\n meetApi.on(\"videoConferenceJoined\", onVideoConferenceJoined);\n meetApi.on(\"videoConferenceLeft\", onVideoConferenceLeft);\n meetApi.on(\"readyToClose\", closeConference as ExternalAPIEventCallbacks[\"readyToClose\"]);\n meetApi.on(\"errorOccurred\", onErrorOccurred);\n meetApi.on(\"audioMuteStatusChanged\", onMuteStatusChanged);\n meetApi.on(\"videoMuteStatusChanged\", onVideoMuteStatusChanged);\n\n ([\"videoConferenceJoined\", \"participantJoined\", \"participantLeft\"] as const).forEach((event) => {\n meetApi!.on(event, updateParticipants);\n });\n\n // Patch logs into rageshakes\n meetApi.on(\"log\", onLog);\n}\n\nconst onVideoConferenceJoined = (): void => {\n // Although we set our displayName with the userInfo option above, that\n // option has a bug where it causes the name to be the HTML encoding of\n // what was actually intended. So, we use the displayName command to at\n // least ensure that the name is correct after entering the meeting.\n // https://github.com/jitsi/jitsi-meet/issues/11664\n // We can't just use these commands immediately after creating the\n // iframe, because there's *another* bug where they can crash Jitsi by\n // racing with its startup process.\n if (displayName) meetApi?.executeCommand(\"displayName\", displayName);\n // This doesn't have a userInfo equivalent, so has to be set via commands\n if (avatarUrl) meetApi?.executeCommand(\"avatarUrl\", avatarUrl);\n\n if (widgetApi) {\n // ignored promise because we don't care if it works\n // noinspection JSIgnoredPromiseFromCall\n void widgetApi.setAlwaysOnScreen(true);\n void widgetApi.transport.send(ElementWidgetActions.JoinCall, {});\n }\n\n // Video rooms should start in tile mode\n if (isVideoChannel) meetApi?.executeCommand(\"setTileView\", true);\n};\n\nconst onVideoConferenceLeft = (): void => {\n void notifyHangup();\n meetApi = undefined;\n};\n\nconst onErrorOccurred = ({ error }: Parameters<ExternalAPIEventCallbacks[\"errorOccurred\"]>[0]): void => {\n if (error.isFatal) {\n // We got disconnected. Since Jitsi Meet might send us back to the\n // prejoin screen, we're forced to act as if we hung up entirely.\n void notifyHangup(error.message);\n meetApi = undefined;\n closeConference();\n }\n};\n\nconst onMuteStatusChanged = async (): Promise<void> => {\n if (!meetApi) return;\n const [audioEnabled, videoEnabled] = await checkAudioVideoEnabled();\n void widgetApi?.transport.send(ElementWidgetActions.DeviceMute, {\n audio_enabled: audioEnabled,\n video_enabled: videoEnabled,\n });\n};\n\nconst onVideoMuteStatusChanged = ({ muted }: VideoMuteStatusChangedEvent): void => {\n if (muted) {\n // Jitsi Meet always sends a \"video muted\" event directly before\n // hanging up, which we need to ignore by padding the timeout here,\n // otherwise the React SDK will mistakenly think the user turned off\n // their video by hand\n setTimeout(() => onMuteStatusChanged, 200);\n } else {\n void onMuteStatusChanged();\n }\n};\n\nconst updateParticipants = (): void => {\n void widgetApi?.transport.send(ElementWidgetActions.CallParticipants, {\n participants: meetApi?.getParticipantsInfo(),\n });\n};\n\nconst onLog = ({ logLevel, args }: LogEvent): void =>\n (parent as unknown as typeof global).mx_rage_logger?.log(logLevel, ...args);\n"],"names":["ReflectOwnKeys","R","Reflect","ReflectApply","apply","target","receiver","args","Function","prototype","call","ownKeys","Object","getOwnPropertySymbols","getOwnPropertyNames","concat","NumberIsNaN","Number","isNaN","value","EventEmitter","init","this","module","exports","once","emitter","name","Promise","resolve","reject","errorListener","err","removeListener","resolver","slice","arguments","eventTargetAgnosticAddListener","handler","flags","on","addErrorHandlerIfEventEmitter","_events","undefined","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","listener","TypeError","_getMaxListeners","that","_addListener","type","prepend","m","events","existing","warning","create","newListener","emit","unshift","push","length","warned","w","Error","String","count","console","warn","onceWrapper","fired","wrapFn","_onceWrap","state","wrapped","bind","_listeners","unwrap","evlistener","arr","ret","Array","i","unwrapListeners","arrayClone","listenerCount","n","copy","addEventListener","wrapListener","arg","removeEventListener","defineProperty","enumerable","get","set","RangeError","getPrototypeOf","setMaxListeners","getMaxListeners","doError","error","er","message","context","len","listeners","addListener","prependListener","prependOnceListener","list","position","originalListener","shift","index","pop","spliceOne","off","removeAllListeners","key","keys","rawListeners","eventNames","e","a","b","j","l","h","d","c","k","navigator","window","CryptoJS","Math","lib","Base","extend","p","o","mixIn","hasOwnProperty","$super","toString","clone","WordArray","words","sigBytes","stringify","t","q","s","clamp","r","ceil","random","enc","Hex","join","parse","parseInt","substr","Latin1","fromCharCode","charCodeAt","Utf8","decodeURIComponent","escape","unescape","encodeURIComponent","BufferedBlockAlgorithm","reset","_data","_nDataBytes","_append","_process","x","blockSize","u","max","_minBufferSize","min","_doProcessBlock","splice","Hasher","cfg","_doReset","update","finalize","_doFinalize","_createHelper","_createHmacHelper","HMAC","algo","f","x64","Word","high","low","toX32","Cipher","g","Base64","v","EvpKDF","createEncryptor","_ENC_XFORM_MODE","createDecryptor","_DEC_XFORM_MODE","_xformMode","_key","process","keySize","ivSize","encrypt","decrypt","StreamCipher","mode","_iv","_prevBlock","BlockCipherMode","Encryptor","Decryptor","_cipher","processBlock","encryptBlock","decryptBlock","CBC","pad","Pkcs7","unpad","BlockCipher","padding","iv","_mode","CipherParams","formatter","format","OpenSSL","ciphertext","salt","SerializableCipher","algorithm","_parse","kdf","execute","compute","PasswordBasedCipher","y","z","A","B","C","D","E","F","AES","_nRounds","_keySchedule","_invKeySchedule","_doCryptBlock","_lBlock","_rBlock","DES","_subKeys","_invSubKeys","TripleDES","_des1","_des2","_des3","_map","charAt","indexOf","abs","sin","MD5","_hash","floor","HmacMD5","SHA1","HmacSHA1","sqrt","pow","SHA256","HmacSHA256","SHA224","HmacSHA224","T","ea","SHA512","G","H","I","J","X","K","Y","L","Z","M","$","N","aa","O","ba","P","ca","Q","U","S","V","W","fa","da","HmacSHA512","SHA384","HmacSHA384","RIPEMD160","HmacRIPEMD160","_hasher","_oKey","_iKey","PBKDF2","hasher","iterations","dbits","b64map","hex2b64","substring","b64tohex","int2char","b64toBA","BigInteger","fromNumber","fromString","nbi","appName","am","DB","DM","DV","FV","F1","F2","rr","vv","BI_RC","intAt","nbv","fromInt","nbits","Classic","Montgomery","mp","invDigit","mpl","mph","um","mt2","op_and","op_or","op_xor","op_andnot","lbit","cbit","NullExp","nNop","Barrett","r2","q3","ONE","dlShiftTo","mu","divide","convert","compareTo","mod","revert","reduce","divRemTo","mulTo","multiplyTo","sqrTo","squareTo","ZERO","subTo","copyTo","drShiftTo","fromRadix","lShiftTo","rShiftTo","isEven","exp","negate","toRadix","bitLength","modPowInt","multiplyUpperTo","multiplyLowerTo","dAddOffset","lowprimes","lplim","Arcfour","chunkSize","LN2","log","signum","intValue","dMultiply","testBit","bitwiseTo","shiftLeft","isProbablePrime","nextBytes","changeBit","addTo","modInt","millerRabin","subtract","getLowestSetBit","shiftRight","modPow","byteValue","shortValue","toByteArray","equals","and","or","xor","andNot","not","bitCount","setBit","clearBit","flipBit","add","multiply","remainder","divideAndRemainder","modInverse","gcd","square","next","rng_state","rng_pool","rng_pptr","rng_psize","rng_seed_time","rng_seed_int","Date","getTime","crypto","msCrypto","getRandomValues","ua","Uint8Array","appVersion","globalThis","ga","rng_get_byte","SecureRandom","parseBigInt","RSAKey","dmp1","dmq1","coeff","ECFieldElementFp","ECPointFp","curve","zinv","ECCurveFp","fromBigInteger","infinity","doPublic","setPublic","isPublic","isPrivate","doPrivate","setPrivate","setPrivateEx","generate","toBigInteger","getX","getY","isInfinity","twice","getInfinity","multiplyTwo","getQ","getA","getB","decodePointHex","getByteLength","getEncoded","toByteArrayUnsigned","decodeFrom","decodeFromHex","add2D","twice2D","valueOf","multiply2D","isOnCurve","validate","jsonParse","RegExp","match","replace","KJUR","asn1","ASN1Util","integerToByteHex","bigIntToMinTwosComplementsHex","twoscompl","getPEMStringFromHex","hextopem","newObject","ASN1Object","DERBoolean","DERInteger","DERBitString","DEROctetString","DERNull","DERObjectIdentifier","DEREnumerated","DERUTF8String","DERNumericString","DERPrintableString","DERTeletexString","DERIA5String","DERUTCTime","DERGeneralizedTime","DERVisibleString","DERBMPString","DERSequence","DERSet","DERTaggedObject","array","tag","explicit","obj","jsonToASN1HEX","tohex","oidHexToInt","oidIntToHex","split","params","getLengthHexFromValue","hV","hTLV","isModified","getFreshValueHex","hL","hT","getEncodedHex","getValueHex","setByParam","tlv","DERAbstractString","superclass","constructor","getString","setString","utf8tohex","toLowerCase","setStringHex","str","hex","extendClass","DERAbstractTime","localDateToUTC","getTimezoneOffset","formatDate","zeroPadding","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","setByDate","date","setByDateValue","UTC","DERAbstractStructured","setByASN1ObjectArray","asn1Array","appendASN1Object","setByBigInteger","bigint","setByInteger","setValueHex","setHexValueIncludingUnusedBits","setUnusedBitsAndHexValue","setByBinaryString","setByBooleanArray","newFalseArray","bin","setValueOidString","oidtohex","setValueName","x509","OID","name2oid","setValueNameOrOid","oid","stohex","millis","sortFlag","sort","sortflag","ASN1HEX","getV","isASN1HEX","isExplicit","asn1Object","setASN1Object","tage","tagi","utf8tob64u","b64utoutf8","stoBA","BAtos","BAtohex","b64tob64u","b64utob64","hextob64u","b64utohex","uricmptohex","encodeURIComponentAll","hextoutf8","hextouricmp","iso88591hextoutf8","iso88591hextoutf8hex","hextorstr","rstrtohex","hextob64","foldnl","b64nltohex","pemtohex","zulutomsec","timetogen","zulutosec","round","ipv6tohex","repeat","hextoipv6","map","hextoip","ipprefixlen","iptohex","ipnetmask","ucs2hextoutf8","ishex","isBase64URLDot","hextoposhex","getLblen","getL","getVblen","getVidx","getTLV","getTLVblen","getNextSiblingIdx","getChildIdx","getNthChildIdx","getIdxbyList","getIdxbyListEx","isContextTag","getTLVbyList","getTLVbyListEx","getVbyList","getVbyListEx","getInt","bitstrtoint","getOID","hextooid","getOIDName","oid2name","hextooidstr","dump","ommit_long_octet","oidname","JSON","x509ExtName","bool","int","bitstr","bitstrtobinstr","octstr","null","enum","checkStrictDER","lang","isHex","Certificate","TBSCertificate","AlgorithmIdentifier","sign","sigalg","tbsobj","Signature","alg","cakey","updateHex","sighex","getPEM","Time","X500Name","Extensions","SubjectPublicKeyInfo","version","serial","issuer","notbefore","notafter","subject","KEYUTIL","getKey","sbjpubkey","ext","aParam","extname","extn","PrivateExtension","SubjectKeyIdentifier","KeyUsage","SubjectAltName","IssuerAltName","BasicConstraints","NameConstraints","CRLDistributionPoints","CertificatePolicies","PolicyMappings","PolicyConstraints","InhibitAnyPolicy","AuthorityKeyIdentifier","ExtKeyUsage","AuthorityInfoAccess","CRLNumber","CRLReason","OCSPNonce","OCSPNoCheck","AdobeTimeStamp","SubjectDirectoryAttributes","Extension","getExtnValueHex","critical","digitalSignature","nonRepudiation","keyEncipherment","dataEncipherment","keyAgreement","keyCertSign","cRLSign","encipherOnly","decipherOnly","getBinValue","asn1ExtnValue","names","namearraytobinstr","cA","pathLen","setByDPArray","DistributionPoint","setByOneURI","fulluri","uri","DistributionPointName","asn1DP","dpobj","dpname","full","asn1Obj","asn1V","GeneralNames","isPrototypeOf","PolicyInformation","PolicyQualifierInfo","policyoid","UserNotice","cps","unotice","DisplayText","NoticeReference","noticeref","exptext","org","noticenum","seq","reqexp","inhibit","skip","GeneralSubtree","permit","exclude","GeneralName","setPurposeArray","Util","isKey","asn1KID","asn1CertIssuer","asn1CertSN","dn","setKIDByParam","getKeyID","setCertIssuerByParam","ldapstr","certsubject","certissuer","setCertSNByParam","X509","readCertPEM","getSerialNumberHex","kid","sn","issuersn","setAccessDescriptionArray","ocsp","caissuer","setNameArray","attr","utf8str","gentime","prnstr","CRL","TBSCertList","getRevCertSequence","revcert","thisupdate","nextupdate","CRLEntry","setCertSerial","setRevocationDate","time","TLV","num","code","reqauth","paramArray","sRule","RDN","setByString","rule","setByLdapString","ldapToCompat","setByObject","getIssuerHex","getSubjectHex","compatToLDAP","reverse","onelineToLDAP","ldapToOneline","AttributeTypeAndValue","addByMultiValuedString","addByString","parseString","sType","sValue","dsType","isMail","isPrintable","ds","attrTypeAndValueStr","setByAttrTypeAndValueStr","_getDsType","getValueObj","atype2obj","ECDSA","DSA","getASN1Object","asn1AlgId","asn1SubjPKey","setPubKey","curveName","asn1params","pubKeyHex","setTimeParams","timeParams","getType","Time_bak","nameAlg","asn1Alg","asn1Params","paramEmpty","PSSNAME2ASN1TLV","name2obj","paramempty","SHAwithRSAandMGF1","SHA256withRSAandMGF1","SHA384withRSAandMGF1","SHA512withRSAandMGF1","OtherName","other","rfc822","dns","ldapdn","certsubj","ip","setByParamArray","name2oidList","sha1","sha256","sha384","sha512","sha224","md5","md2","ripemd160","hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512","MD2withRSA","MD4withRSA","MD5withRSA","SHA1withRSA","rsaPSS","SHA224withRSA","SHA256withRSA","SHA384withRSA","SHA512withRSA","SHA1withECDSA","SHA224withECDSA","SHA256withECDSA","SHA384withECDSA","SHA512withECDSA","dsa","SHA1withDSA","SHA224withDSA","SHA256withDSA","rsaEncryption","commonName","countryName","localityName","stateOrProvinceName","streetAddress","organizationName","organizationalUnitName","domainComponent","userId","surname","givenName","title","distinguishedName","emailAddress","description","businessCategory","postalCode","uniqueIdentifier","organizationIdentifier","jurisdictionOfIncorporationL","jurisdictionOfIncorporationSP","jurisdictionOfIncorporationC","subjectDirectoryAttributes","subjectKeyIdentifier","keyUsage","subjectAltName","issuerAltName","basicConstraints","cRLNumber","cRLReason","nameConstraints","cRLDistributionPoints","certificatePolicies","anyPolicy","policyMappings","authorityKeyIdentifier","policyConstraints","extKeyUsage","inhibitAnyPolicy","authorityInfoAccess","ocspBasic","ocspNonce","ocspNoCheck","caIssuers","anyExtendedKeyUsage","serverAuth","clientAuth","codeSigning","emailProtection","timeStamping","ocspSigning","smtpUTF8Mailbox","dateOfBirth","placeOfBirth","gender","countryOfCitizenship","countryOfResidence","ecPublicKey","secp256r1","secp256k1","secp384r1","secp521r1","pkcs5PBES2","pkcs5PBKDF2","data","tstinfo","signingCertificate","timeStampToken","signaturePolicyIdentifier","etsArchiveTimeStamp","signingCertificateV2","etsArchiveTimeStampV2","extensionRequest","contentType","messageDigest","signingTime","counterSignature","archiveTimeStampV3","pdfRevocationInfoArchival","adobeTimeStamp","smimeMailboxLegacy","smimeMailboxMulti","smimeMailboxStrict","smimeOrganizationLegacy","smimeOrganizationMulti","smimeOrganizationStrict","smimeSponsorLegacy","smimeSponsorMulti","smimeSponsorStrict","smimeIndividualLegacy","smimeIndividualMulti","smimeIndividualStrict","atype2oidList","CN","ST","OU","STREET","DC","UID","SN","GN","DN","serialNumber","objCache","registerOIDs","checkOIDs","oid2atype","X509Util","newCertPEM","cms","Attribute","typeOid","getValueArray","ContentType","MessageDigest","SigningTime","SigningCertificate","ESSCertID","hasis","cert","IssuerSerial","getCertHash","hash","hashHex","SigningCertificateV2","ESSCertIDv2","getIssuer","SignerIdentifier","IssuerAndSerialNumber","IssuerAndSerialName","skid","getExtSubjectKeyIdentifier","AttributeList","cades","SignaturePolicyIdentifier","SignatureTimeStamp","SignerInfo","EncapsulatedContentInfo","SignedData","sattrs","signkey","id","hashalg","sigalgfield","uattrs","content","isDetached","ContentInfo","CertificateSet","RevocationInfoChoices","checkAndFixParam","_setDigestAlgs","_setContentTypeByEContent","_setMessageDigestByEContent","_setSignerInfoVersion","_setSignedDataVersion","sinfos","hashalgs","econtent","_getAttrParamByName","_getSignedDataVersion","revinfos","getEncodedHexPrepare","fixed","certs","getContentInfo","getContentInfoEncodedHex","RevocationInfoChoice","crl","OtherRevocationFormat","CMSUtil","newSignedData","verifySignedData","idx","signerid_issuer1","signerid_serial1","idxSignedAttrs","sigval","signedAttrIdxList","saSigningTime","saMessageDigest","verifyDetail","validMessageDigest","certsIdx","certkeys","readCertHex","getPublicKey","cccc","cccci","certkey_idx","validSignatureValue","signedattrshex","verify","validSignatureValue_isValid","isValid","cmsType","revinfosIdx","signerinfosIdx","signerInfos","signerInfoIdxList","CMSParser","getCMSSignedData","getSignedData","getHashAlgArray","getEContent","getCertificateSet","getSignerInfos","getAlgorithmIdentifierName","getSignerInfo","getIssuerAndSerialNumber","getAttributeList","getSignerIdentifier","getX500Name","getAttribute","valhex","setContentType","setMessageDigest","setSigningTime","setSigningCertificate","setSigningCertificateV2","setSignaturePolicyIdentifier","getESSCertID","polhex","getESSCertIDv2","getIssuerSerial","getGeneralNames","tsp","TimeStampToken","TSTInfo","MessageImprint","Accuracy","dVersion","dPolicy","dMessageImprint","dSerial","dGenTime","dAccuracy","dOrdering","dNonce","dTsa","policy","messageImprint","genTime","accuracy","ordering","nonce","tsa","seconds","micros","TimeStampReq","certreq","TimeStampResp","PKIStatusInfo","tst","statusinfo","PKIStatus","PKIFreeText","PKIFailureInfo","status","statusstr","failinfo","granted","grantedWithMods","rejection","waiting","revocationWarning","revocationNotification","badAlg","badRequest","badDataFormat","timeNotAvailable","unacceptedPolicy","unacceptedExtension","addInfoNotAvailable","systemFailure","AbstractTSAAdapter","getTSTHex","SimpleTSAAdapter","FixedTSAAdapter","TSPUtil","newTimeStampToken","parseTimeStampReq","TSPParser","getTimeStampReq","parseMessageImprint","getMessageImprint","getResponse","getPKIStatusInfo","getToken","setTSTInfo","getTSTInfo","getAccuracy","pGeneralNames","getExtParamArray","getPKIFreeText","getPKIFailureInfo","SignaturePolicyId","OtherHashAlgAndValue","OtherHashValue","res","CompleteCertificateRefs","OtherCertID","_isHex","OtherHash","CAdESUtil","parseSignedDataForAddingUnsigned","parseSignerInfoForAddingUnsigned","si","digalg","sig","dCMSVersion","dSignerIdentifier","dDigestAlgorithm","dSignedAttrs","dSigAlg","dSig","dUnsignedAttrs","csr","CertificationRequest","CertificationRequestInfo","sbjprvkey","attrs","password","extreq","CSRUtil","newCSRPEM","getParam","tbs","verifySignature","alert","DEFAULT_HASH","OCSPResponse","ResponseBytes","_getStatusCode","resstatus","BasicOCSPResponse","restype","ResponderID","_SingleResponseList","SingleResponseList","_ResponseData","ResponseData","tbsresp","reskey","respid","prodat","getSubject","SingleResponse","CertID","CertStatus","certid","setByValue","issname","isskey","sbjsn","setByCert","issuerCert","subjectCert","getParamByCerts","getPublicKeyHex","reason","Request","dReqCert","dExt","TBSRequest","dRequestorName","dRequestList","dRequestExt","setRequestListByParam","reqList","OCSPRequest","dTbsRequest","dOptionalSignature","OCSPUtil","getRequestHex","getOCSPResponseInfo","responseStatus","certStatus","revocationTime","thisUpdate","nextUpdate","OCSPParser","getOCSPRequest","getTBSRequest","getRequestList","getRequest","getCertID","getOCSPResponse","getResponseBytes","getBasicOCSPResponse","getResponseData","getResponderID","getSingleResponseList","getSingleResponse","getCertStatus","Buffer","from","isInteger","isBase64","isBase64URL","isIntegerArray","isIA5","timingSafeEqual","subtle","timingSafeEqualImpl","strpad","inttohex","NaN","inttobitstr","aryval","DIGESTINFOHEAD","DEFAULTPROVIDER","hmacmd5","hmacsha1","hmacsha224","hmacsha256","hmacsha384","hmacsha512","hmacripemd160","RIPEMD160withRSA","MD5withECDSA","RIPEMD160withECDSA","MD5withRSAandMGF1","SHA1withRSAandMGF1","SHA224withRSAandMGF1","RIPEMD160withRSAandMGF1","CRYPTOJSMESSAGEDIGESTNAME","getDigestInfoHex","getPaddedDigestInfoHex","hashString","digestString","digestHex","sha256Hex","sha512Hex","prov","SECURERANDOMGEN","getRandomHexOfNbytes","getRandomBigIntegerOfNbytes","getRandomHexOfNbits","getRandomBigIntegerOfNbits","getRandomBigIntegerZeroToMax","getRandomBigIntegerMinToMax","setAlgAndProvider","getCanonicalAlgName","md","updateString","digest","sjcl","codec","toBits","fromBits","algName","provName","getHashLength","HASHLENGTH","Mac","algProv","mac","pass","doFinal","doFinalString","doFinalHex","setPassword","utf8","rstr","b64","b64u","_setAlgNames","mdAlgName","pubkeyAlgName","_zeroPaddingOfSignature","prvKey","pubKey","sHashHex","ecprvhex","eccurvename","prv","hSign","signWithMessageHashPSS","pssSaltLen","signWithMessageHash","signString","signHex","ecpubhex","pub","verifyWithMessageHashPSS","verifyWithMessageHash","algProvName","initParams","psssaltlen","prvkeypem","prvkeypas","encalg","hEnc","oidhex2name","ECParameterDB","getName","getBigRandom","setNamedCurve","ecparams","getByName","prvKeyHex","setPrivateKeyHex","setPublicKeyHex","getPublicKeyXYHex","keycharlen","getShortNISTPCurveName","generateKeyPairHex","generatePublicKeyHex","biRSSigToASN1Sig","fromByteArrayUnsigned","serializeSig","verifyHex","parseSigHex","verifyRaw","Bitcoin","isArray","parseSig","toByteArraySigned","parseSigCompact","readPKCS5PrvKeyHex","readPKCS8PrvKeyHex","readPKCS8PubKeyHex","readCertPubKeyHex","parseSigHexInHexRS","asn1SigToConcatSig","concatSigToASN1Sig","hexRSSigToASN1Sig","regist","setPrivateHex","setPublicHex","parseASN1Signature","proc","eproc","keylen","ivlen","cipher","ivsalt","keyhex","ivhex","parsePKCS5PEM","getKeyAndUnusedIvByPasscodeAndIvsalt","decryptKeyB64","getDecryptedKeyHex","getEncryptedPKCS5PEMFromPrvKeyHex","toUpperCase","getEncryptedPKCS8PEM","getEncryptedPKCS8Hex","plain","initPBES2Param","encryptPBES2Param","generatePBES2ASN1Param","iter","prf","enciv","getDKFromPBES2Param","parseHexOfEncryptedPKCS8","encryptionSchemeAlg","encryptionSchemeIV","pbkdf2Salt","pbkdf2Iter","getPBKDF2KeyHexFromParam","_getPlainPKCS8HexFromEncryptedPKCS8PEM","parsePBES2","getPlainHexFromEncryptedPKCS8PEM","getKeyFromEncryptedPKCS8PEM","getKeyFromPlainPrivatePKCS8Hex","parsePlainPrivatePKCS8Hex","algoid","algparam","keyidx","getKeyFromPlainPrivatePKCS8PEM","_getKeyFromPublicPKCS8Hex","parsePublicRawRSAKeyHex","parsePublicPKCS8Hex","xy","kty","dp","dq","co","qi","crv","getPublicKeyFromCertHex","getPublicKeyFromCertPEM","generateKeypair","prvKeyObj","pubKeyObj","passcode","getKeyFromCSRPEM","getKeyFromCSRHex","parseCSRHex","p8pubkeyhex","getJWK","jws","JWS","getJWKthumbprint","x5c","x5t","getJWKFromKey","getPosArrayOfChildrenFromHex","getHexValueArrayOfChildrenFromHex","readPrivateKeyFromPEMString","readPKCS5PubKeyHex","pss_mgf1_str","_rsasign_getAlgNameAndHashFromHexDisgestInfo","HEX2STAG","foffset","aExtInfo","getVersion","getSignatureAlgorithmField","getIssuerString","getSubjectString","getNotBefore","getNotAfter","getSPKI","getSPKIValue","getPublicKeyIdx","getPublicKeyContentIdx","getSignatureAlgorithmName","getSignatureValueHex","parseExt","vidx","getExtInfo","getCriticalExtV","getExtBasicConstraints","getExtNameConstraints","getGeneralSubtree","getGeneralName","getExtKeyUsage","getExtKeyUsageString","getExtKeyUsageBin","KEYUSAGE_NAME","getExtAuthorityKeyIdentifier","getExtExtKeyUsage","getExtExtKeyUsageName","getExtSubjectAltName","getExtIssuerAltName","getOtherName","getExtSubjectAltName2","hex2dn","getExtCRLDistributionPoints","getDistributionPoint","getDistributionPointName","getExtCRLDistributionPointsURI","getExtAIAInfo","getExtAuthorityInfoAccess","getExtCertificatePolicies","getPolicyInformation","getPolicyQualifierInfo","getUserNotice","_asn1ToUnotice","_asn1ToNoticeRef","asn1ToDisplayText","_asn1ToNoticeNum","getDisplayText","ia5str","visstr","bmpstr","getExtPolicyMappings","getExtPolicyConstraints","getExtInhibitAnyPolicy","getExtCRLNumber","getExtCRLReason","getExtOcspNonce","getExtOcspNoCheck","getExtAdobeTimeStamp","getExtSubjectDirectoryAttributes","numstr","telstr","Erorr","getX500NameRule","getAttrTypeAndValue","getRDN","getX500NameArray","dnarraytostr","canon","c14nRDNArray","dncanon","dnhex","tbshex","nodnarray","getExtParam","EXT_PARSER","findExt","updateExtCDPFullURI","updateExtAIAOCSP","updateExtAIACAIssuer","setCanonicalizedDN","getInfo","ac","dname","signPSS","verifyPSS","SALT_LEN_HLEN","SALT_LEN_MAX","SALT_LEN_RECOVER","registExtParser","hex2rdn","hex2attrTypeValue","getPublicKeyInfoPropOfCertPEM","isSafeJSONString","parseJWS","parsedJWS","sigvalH","headB64U","payloadB64U","sigvalB64U","sigvalBI","headS","payloadS","readSafeJSONString","jwsalg2sigalg","crit","headerObj","payloadObj","headerPP","payloadPP","sigHex","verifyJWT","inArray","includedArray","iss","sub","aud","IntDate","getNow","verifyAt","gracePeriod","nbf","iat","jti","HS256","HS384","HS512","RS256","RS384","RS512","ES256","ES384","ES512","PS256","PS384","PS512","none","getEncodedSignatureValueFromJWS","getZulu","intDate2UTCString","toUTCString","intDate2Zulu","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","JWSJS","aHeader","sPayload","aSignature","initWithJWS","addSignature","verifyAll","verifyNth","readJWSJS","headers","payload","signatures","getJSON","isEmpty","pj","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","noop","undefinedType","isIE","test","userAgent","logMethods","_loggersByName","defaultLogger","bindMethod","methodName","method","traceForIE","trace","realMethod","replaceLoggingMethods","level","getLevel","methodFactory","debug","levels","SILENT","enableLoggingWhenConsoleArrives","defaultMethodFactory","_level","_loggerName","Logger","factory","inheritedLevel","defaultLevel","userLevel","self","storageKey","persistLevelIfPossible","levelNum","levelName","localStorage","ignore","document","cookie","getPersistedLevel","storedLevel","cookieName","location","exec","clearPersistedLevel","removeItem","normalizeLevel","input","TRACE","DEBUG","INFO","WARN","ERROR","setLevel","persist","setDefaultLevel","resetLevel","enableAll","disableAll","rebuild","childName","initialLevel","getLogger","logger","_log","noConflict","getLoggers","__webpack_require__","require","_PostmessageTransport","_WidgetApiDirection","_WidgetApiAction","_Capabilities","_ApiVersion","_WidgetEventCapability","_GetOpenIDAction","_SimpleObservable","_Symbols","_UpdateDelayedEventAction","_typeof","Symbol","iterator","object","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","_objectSpread","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_createForOfIteratorHelper","allowArrayLike","it","_unsupportedIterableToArray","done","_e","normalCompletion","didErr","step","_e2","_toConsumableArray","_arrayLikeToArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","minLen","arr2","_regeneratorRuntime","Op","hasOwn","desc","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","configurable","writable","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","makeInvokeMethod","tryCatch","fn","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","values","Gp","defineIteratorMethods","_invoke","AsyncIterator","PromiseImpl","invoke","record","result","__await","then","unwrapped","previousPromise","callInvokeWithMethodAndArg","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","info","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","displayName","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","async","val","skipTempReset","prev","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","_defineProperties","props","descriptor","_toPropertyKey","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","construct","sham","Proxy","Boolean","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","_assertThisInitialized","_possibleConstructorReturn","ReferenceError","hint","prim","toPrimitive","_toPrimitive","_asyncIterator","sync","retry","AsyncFromSyncIterator","AsyncFromSyncIteratorContinuation","return","throw","thr","ClientWidgetApi","_EventEmitter","subClass","superClass","_inherits","Constructor","protoProps","staticProps","_feedStateUpdate","_pushStickyState","_flushRoomState","_feedToDevice","_feedEvent","_handleDownloadFile","_handleUploadFile","_handleGetMediaConfig","_handleUserDirectorySearch","_handleReadRelations","_handleUnwatchTurnServers","_handleWatchTurnServers","_pollTurnServers","_handleSendToDevice","_handleReadEvents","_supportsUpdateState","_getWidgetVersions","_super","widget","iframe","driver","_this","instance","_classCallCheck","Set","Map","contentWindow","transport","PostmessageTransport","WidgetApiDirection","ToWidget","targetOrigin","origin","handleMessage","onIframeLoad","start","capability","allowedCapabilities","has","roomId","hasCapability","Symbols","AnyRoom","eventType","msgtype","allowedEvents","some","matchesAsRoomEvent","EventDirection","Send","stateKey","matchesAsStateEvent","matchesAsToDeviceEvent","Receive","matchesAsRoomAccountData","isStopped","_callee","_context","cachedWidgetVersions","send","WidgetApiToWidgetAction","SupportedApiVersions","supported_versions","t0","requestedCaps","_this2","Capabilities","caps","capabilities","validateCapabilities","allowedCaps","allowCapabilities","allowed","requested","_this$allowedEvents","_this3","_step2","_iterator2","WidgetEventCapability","findEventCapabilities","NotifyCapabilities","approved","_step3","_iterator3","isTimelineCapability","getTimelineRoomIDFromCapability","_step5","_iterator5","getKnownRooms","pushRoomState","includes","MatrixCapabilities","MSC4407ReceiveStickyEvent","roomIds","timelineCapability","flatMap","roomIdOrWildcard","_step4","_iterator4","_loop","pushStickyState","viewedRoomId","canUseRoomTimeline","ev","waitForIframeLoad","beginCapabilities","contentLoadedWaitTimer","setTimeout","contentLoadedActionSent","action","clearTimeout","reply","request","CurrentApiVersions","_callee2","_context2","getWidgetVersions","UnstableApiVersion","MSC2762_UPDATE_STATE","_request$data","_this4","newlyRequested","size","_request$data2","_this5","MSC2931Navigate","startsWith","onErr","handleDriverError","navigate","_this6","phase","replyState","credential","OpenIDCredentials","original_request_id","requestId","replyError","msg","OpenIDRequestState","Blocked","observer","SimpleObservable","PendingUserConfirmation","close","Allowed","token","askOpenID","_this7","readRoomAccountData","canReceiveRoomAccountData","evs","_callee3","askRoomIds","_iterator6","_step6","limit","since","_stateKey","_this8","_context3","room_ids","state_key","canReceiveStateEvent","canReceiveRoomEvent","readRoomEvents","readStateEvents","supportsUpdateState","all","readRoomTimeline","flat","t1","readRoomState","_x","_this9","room_id","isDelayedEvent","delay","parent_delay_id","MSC4157SendDelayedEvent","sendEventPromise","isStickyEvent","sticky_duration_ms","MSC4407SendStickyEvent","canSendStateEvent","_request$data$delay","_request$data$parent_","sendDelayedEvent","sendEvent","canSendRoomEvent","_request$data$delay2","_request$data$parent_2","sendDelayedStickyEvent","_this$driver","_request$data$delay3","_request$data$parent_3","sendStickyEvent","_this$driver2","sentEvent","event_id","eventId","delay_id","delayId","updateDelayedEvent","_this10","MSC4157UpdateDelayedEvent","UpdateDelayedEventAction","Cancel","cancelScheduledDelayedEvent","Restart","restartScheduledDelayedEvent","sendScheduledDelayedEvent","_callee4","_context4","messages","encrypted","canSendToDeviceEvent","sendToDevice","_x2","_callee5","turnServers","initialServer","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_step","server","_context5","UpdateTurnServers","_x3","_x4","_callee6","_yield$turnServers$ne","_context6","MSC3846TurnServers","getTurnServers","pollTurnServers","_x5","_callee7","_context7","_x6","_callee8","chunk","_this11","_context8","readEventRelations","rel_type","event_type","to","direction","prev_batch","prevBatch","next_batch","nextBatch","_x7","_callee9","_context9","MSC3973UserDirectorySearch","search_term","searchUserDirectory","limited","results","user_id","display_name","avatar_url","avatarUrl","_x8","_callee10","_context10","MSC4039UploadFile","getMediaConfig","_x9","_callee11","_context11","uploadFile","file","content_uri","contentUri","_x10","_callee12","_context12","MSC4039DownloadFile","downloadFile","_x11","processError","actionEv","CustomEvent","detail","cancelable","defaultPrevented","WidgetApiFromWidgetAction","ContentLoaded","handleContentLoadedAction","replyVersions","SendEvent","handleSendEvent","SendToDevice","handleSendToDevice","GetOpenIDCredentials","handleOIDC","handleNavigate","MSC2974RenegotiateCapabilities","handleCapabilitiesRenegotiate","MSC2876ReadEvents","handleReadEvents","WatchTurnServers","handleWatchTurnServers","UnwatchTurnServers","handleUnwatchTurnServers","MSC3869ReadRelations","handleReadRelations","handleUserDirectorySearch","BeeperReadRoomAccountData","handleReadRoomAccountData","MSC4039GetMediaConfigAction","handleGetMediaConfig","MSC4039UploadFileAction","handleUploadFile","MSC4039DownloadFileAction","handleDownloadFile","handleUpdateDelayedEvent","theme","ThemeChange","LanguageChange","TakeScreenshot","isVisible","UpdateVisibility","visible","WidgetConfig","ButtonClicked","CloseModalWidget","_callee13","rawEvent","currentViewedRoomId","_rawEvent$content","_context13","setViewedRoomId","_x12","_x13","_callee14","_context14","canReceiveToDeviceEvent","_x14","_x15","_callee15","_iterator7","_step7","eventTypeMap","_iterator8","_step8","stateKeyMap","_context15","pushRoomStateTasks","pushRoomStateResult","UpdateState","flushRoomStateTask","_callee17","_this12","_context17","readStickyEvents","filtered","_e$content","stickyEvents","_ref2","_callee16","_ref","promises","_context16","_x17","_x16","_step9","_this13","_iterator9","_loop2","cap","kind","EventKind","State","_cap$keyStr","_this13$flushRoomStat","task","keyStr","_step10","_iterator10","event","flushRoomState","_callee18","_context18","_x18","_WidgetType","_ModalWidgetActions","_createClass","_wrapNativeSuper","Class","_cache","Wrapper","_construct","Parent","_awaitAsyncGenerator","_OverloadYield","_AsyncGenerator","front","back","resume","overloaded","nextKey","settle","WidgetApiResponseError","_Error","WidgetApi","_downloadFile","_uploadFile","_getMediaConfig","_searchUserDirectory","_readEventRelations","_super2","widgetId","clientOrigin","parent","FromWidget","approvedCapabilities","requestedCapabilities","capabilitiesFinished","supportsMSC2974Renegotiate","requestCapability","forStateEvent","raw","forToDeviceEvent","forRoomEvent","forRoomMessageEvent","forRoomAccountData","sendComplete","response","rdata","handlerFn","preventDefault","sticker","SendSticker","UpdateAlwaysOnScreen","success","url","buttons","MatrixWidgetType","Custom","OpenModalWidget","parentDelayId","stickyDurationMs","contentMap","relationType","getClientVersions","MSC3869","buttonId","isEnabled","BuiltInModalButtonID","Close","SetModalButtonEnabled","button","enabled","setTurnServer","onUpdateTurnServers","turnServerWatchers","searchTerm","MSC3973","MSC4039","MSC2974","handleCapabilities","cachedClientVersions","MSC2871","_","WidgetDriver","MAX_SAFE_INTEGER","_WidgetApi","_ClientWidgetApi","_IWidgetApiErrorResponse","_WidgetKind","_ModalButtonKind","_url","_utils","_Widget","_WidgetParser","_urlTemplate","_WidgetDriver","MatrixApiVersion","Prerelease1","Prerelease2","MSC2762","MSC2873","MSC2931","MSC2876","MSC3819","MSC3846","StickerpickerCapabilities","StickerSending","VideoConferenceCapabilities","AlwaysOnScreen","responseData","ModalButtonKind","dir","WidgetKind","Widget","definition","assertPresent","creatorUserId","rawData","URL","templateUrl","runTemplate","ToDevice","Event","RoomAccount","parsed","eventSegment","expectingKeyStr","parts","findIndex","endsWith","WidgetParser","_i","_Object$keys","roughWidget","sender","asStateEvent","origin_server_ts","parseRoomWidget","currentState","stateEvent","estimatedWidget","processEstimatedWidget","isValidUrl","protocol","variables","assign","matrix_room_id","widgetRoomId","matrix_user_id","currentUserId","matrix_display_name","userDisplayName","matrix_avatar_url","userHttpAvatarUrl","matrix_widget_id","clientId","clientTheme","clientLanguage","deviceId","baseUrl","pattern","rexp","_excluded","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","sendDirection","initialWidgetId","transportWindow","inboundWindow","AbortController","stopController","signal","aborted","strictOriginCheck","api","handleResponse","invertedDirection","handleRequest","_widgetId","_ready","idBase","now","outboundRequests","postMessage","sendInternal","ready","nextRequestId","prResolve","prReject","cleanUp","timerId","timeoutSeconds","onStop","abort","req","isErrorResponse","_response$response$er","initialFn","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","prop","oldGetScript","oldLoadScript","queryMap","countMap","chunkId","retries","realSrc","cacheBust","loglevel","logLevel","loggerName","prefix","getPrefixedLogger","prefixLogger","getChild","childPrefix","childLogger","ElementWidgetActions","toPropertyKey","SnakedObject","altCaseName","fallbackKey","fallback","fallbackWarnings","toJSON","ElementWidgetCapabilities","getConfig","configJsonFilename","href","searchParams","fetch","cache","ok","json","jitsiDomain","conferenceId","jitsiAuth","roomName","startAudioOnly","startWithAudioMuted","startWithVideoMuted","isVideoChannel","supportsScreensharing","language","widgetApi","meetApi","inConference","skipOurWelcomeScreen","checkAudioVideoEnabled","audioEnabled","videoEnabled","isAudioMuted","isVideoMuted","muted","setupCompleted","_qsParam","_await$configPromise","configPromise","relativeLocation","domain","hostname","trimEnd","specificConfigPromise","generalConfigPromise","configJson","getVectorConfig","widgetQuery","URLSearchParams","realQuery","search","qsParam","optional","vals","getAll","parseBooleanOrUndefined","parentUrl","widgetApiReady","body","classList","parentOrigin","requestCapabilities","RequiresClient","handleAction","_await$handler","JoinCall","audioInput","videoInput","joinConference","HangupCall","force","_meetApi","_meetApi2","dispose","notifyHangup","closeConference","executeCommand","DeviceMute","audio_enabled","video_enabled","TileLayout","_meetApi3","SpotlightLayout","_meetApi4","StartLiveStream","rtmpStreamKey","youtubeStreamKey","jitsiConfig","_SnakedObject$get","toggleConferenceVisibility","skipToJitsiSplashScreen","getElementById","onclick","innerText","switchVisibleContainers","style","visibility","errorMessage","setAlwaysOnScreen","innerHTML","normalizeLanguage","variant","mapLanguage","_document$querySelect","jwt","_widgetApi","openIdToken","requestOpenIDConnectToken","access_token","room","matrix","server_name","matrix_server_name","user","avatar","typ","createJWTToken","options","width","height","parentNode","querySelector","devices","userInfo","email","interfaceConfigOverwrite","SHOW_JITSI_WATERMARK","SHOW_WATERMARK_FOR_GUESTS","MAIN_TOOLBAR_BUTTONS","VIDEO_LAYOUT_FIT","configOverwrite","apiLogLevels","prejoinConfig","toolbarButtons","conferenceInfo","autoHide","disableSelfViewSettings","JitsiMeetExternalAPI","onVideoConferenceJoined","onVideoConferenceLeft","onErrorOccurred","onMuteStatusChanged","onVideoMuteStatusChanged","updateParticipants","onLog","_meetApi5","_meetApi6","_meetApi7","isFatal","_widgetApi2","_widgetApi3","_meetApi8","CallParticipants","participants","getParticipantsInfo","_mx_rage_logger","mx_rage_logger"],"sourceRoot":""}