thingsboard/ui/node_modules/jquery.terminal/js/jquery.terminal.min.js
2020-05-19 11:43:42 +03:00

41 lines
114 KiB
JavaScript

/**@license
* __ _____ ________ __
* / // _ /__ __ _____ ___ __ _/__ ___/__ ___ ______ __ __ __ ___ / /
* __ / // // // // // _ // _// // / / // _ // _// // // \/ // _ \/ /
* / / // // // // // ___// / / // / / // ___// / / / / // // /\ // // / /__
* \___//____ \\___//____//_/ _\_ / /_//____//_/ /_/ /_//_//_/ /_/ \__\_\___/
* \/ /____/ version 1.23.2
*
* This file is part of jQuery Terminal. http://terminal.jcubic.pl
*
* Copyright (c) 2010-2018 Jakub Jankiewicz <http://jcubic.pl/me>
* Released under the MIT license
*
* Contains:
*
* Storage plugin Distributed under the MIT License
* modified to work from Data URIs that block storage and cookies in Chrome
* Copyright (c) 2010 Dave Schindler
*
* jQuery Timers licenced with the WTFPL
* <http://jquery.offput.ca/timers/>
*
* Cross-Browser Split 1.1.1
* Copyright 2007-2012 Steven Levithan <stevenlevithan.com>
* Available under the MIT License
*
* jQuery Caret
* Copyright (c) 2009, Gideon Sireling
* 3 clause BSD License
*
* sprintf.js
* Copyright (c) 2007-2013 Alexandru Marasteanu <hello at alexei dot ro>
* licensed under 3 clause BSD license
*
* emoji regex v7.0.1 by Mathias Bynens
* MIT license
*
* Date: Tue, 18 Sep 2018 14:16:35 +0000
*/
(function(e){var m=function(){if(!m.cache.hasOwnProperty(arguments[0])){m.cache[arguments[0]]=m.parse(arguments[0])}return m.format.call(null,m.cache[arguments[0]],arguments)};m.format=function(e,t){var n=1,r=e.length,i="",o,a=[],u,s,l,f,c,p;for(u=0;u<r;u++){i=D(e[u]);if(i==="string"){a.push(e[u])}else if(i==="array"){l=e[u];if(l[2]){o=t[n];for(s=0;s<l[2].length;s++){if(!o.hasOwnProperty(l[2][s])){throw m('[sprintf] property "%s" does not exist',l[2][s])}o=o[l[2][s]]}}else if(l[1]){o=t[l[1]]}else{o=t[n++]}if(/[^s]/.test(l[8])&&D(o)!=="number"){throw m("[sprintf] expecting number but found %s",D(o))}switch(l[8]){case"b":o=o.toString(2);break;case"c":o=String.fromCharCode(o);break;case"d":o=parseInt(o,10);break;case"e":o=l[7]?o.toExponential(l[7]):o.toExponential();break;case"f":o=l[7]?parseFloat(o).toFixed(l[7]):parseFloat(o);break;case"o":o=o.toString(8);break;case"s":o=(o=String(o))&&l[7]?o.substring(0,l[7]):o;break;case"u":o=o>>>0;break;case"x":o=o.toString(16);break;case"X":o=o.toString(16).toUpperCase();break}o=/[def]/.test(l[8])&&l[3]&&o>=0?" +"+o:o;c=l[4]?l[4]==="0"?"0":l[4].charAt(1):" ";p=l[6]-String(o).length;f=l[6]?d(c,p):"";a.push(l[5]?o+f:f+o)}}return a.join("")};m.cache={};m.parse=function(e){var t=e,n=[],r=[],i=0;while(t){if((n=/^[^\x25]+/.exec(t))!==null){r.push(n[0])}else if((n=/^\x25{2}/.exec(t))!==null){r.push("%")}else if((n=/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(t))!==null){if(n[2]){i|=1;var o=[],a=n[2],u=[];if((u=/^([a-z_][a-z_\d]*)/i.exec(a))!==null){o.push(u[1]);while((a=a.substring(u[0].length))!==""){if((u=/^\.([a-z_][a-z_\d]*)/i.exec(a))!==null){o.push(u[1])}else if((u=/^\[(\d+)\]/.exec(a))!==null){o.push(u[1])}else{throw"[sprintf] huh?"}}}else{throw"[sprintf] huh?"}n[2]=o}else{i|=2}if(i===3){throw"[sprintf] mixing positional and named placeholders is not (yet) supported"}r.push(n)}else{throw"[sprintf] huh?"}t=t.substring(n[0].length)}return r};var t=function(e,t,n){n=t.slice(0);n.splice(0,0,e);return m.apply(null,n)};function D(e){return Object.prototype.toString.call(e).slice(8,-1).toLowerCase()}function d(e,t){for(var n=[];t>0;n[--t]=e){}return n.join("")}e.sprintf=m;e.vsprintf=t})(typeof global!=="undefined"?global:window);(function(r,i){var e=typeof window!=="undefined"?window:global;if(typeof define==="function"&&define.amd){define(["jquery","wcwidth"],r)}else if(typeof module==="object"&&module.exports){module.exports=function(e,t,n){if(t===i){if(window!==i){t=require("jquery")}else{t=require("jquery")(e)}}if(n===i){n=require("wcwidth")}r(t,n);return t}}else{r(e.jQuery,e.wcwidth)}})(function($,wcwidth,undefined){"use strict";function debug(e){if(false){console.log(e)}}function DelayQueue(){var t=$.Callbacks();var n=false;this.resolve=function(){t.fire();n=true};this.add=function(e){if(n){e()}else{t.add(e)}}}$.omap=function(n,r){var i={};$.each(n,function(e,t){i[e]=r.call(n,e,t)});return i};$.fn.text_length=function(){return this.map(function(){return $(this).text().length}).get().reduce(function(e,t){return e+t},0)};var Clone={clone_object:function(e){var t={};if(typeof e==="object"){if($.isArray(e)){return this.clone_array(e)}else if(e===null){return e}else{for(var n in e){if($.isArray(e[n])){t[n]=this.clone_array(e[n])}else if(typeof e[n]==="object"){t[n]=this.clone_object(e[n])}else{t[n]=e[n]}}}}return t},clone_array:function(e){if(!is_function(Array.prototype.map)){throw new Error("Your browser don't support ES5 array map "+"use es5-shim")}return e.slice(0).map(function(e){if(typeof e==="object"){return this.clone_object(e)}else{return e}}.bind(this))}};var clone=function(e){return Clone.clone_object(e)};var localStorage;(function(){var e=function(){try{var e="test",t=window.localStorage;t.setItem(e,"1");t.removeItem(e);return true}catch(e){return false}};var t=function(){try{document.cookie.split(";");return true}catch(e){return false}};var n=e();function r(e,t){var n;if(typeof e==="string"&&typeof t==="string"){localStorage[e]=t;return true}else if(typeof e==="object"&&typeof t==="undefined"){for(n in e){if(e.hasOwnProperty(n)){localStorage[n]=e[n]}}return true}return false}function i(e,t){var n,r,i;n=new Date;n.setTime(n.getTime()+31536e6);r="; expires="+n.toGMTString();if(typeof e==="string"&&typeof t==="string"){document.cookie=e+"="+t+r+"; path=/";return true}else if(typeof e==="object"&&typeof t==="undefined"){for(i in e){if(e.hasOwnProperty(i)){document.cookie=i+"="+e[i]+r+"; path=/"}}return true}return false}function o(e){return localStorage[e]}function a(e){var t,n,r,i;t=e+"=";n=document.cookie.split(";");for(r=0;r<n.length;r++){i=n[r];while(i.charAt(0)===" "){i=i.substring(1,i.length)}if(i.indexOf(t)===0){return i.substring(t.length,i.length)}}return null}function u(e){return delete localStorage[e]}function s(e){return i(e,"",-1)}if(!t()&&!n){localStorage={};$.extend({Storage:{set:r,get:o,remove:u}})}else{if(n){localStorage=window.localStorage}$.extend({Storage:{set:n?r:i,get:n?o:a,remove:n?u:s}})}})();var jQuery=$;(function(e){jQuery.fn.extend({everyTime:function(e,t,n,r,i){return this.each(function(){jQuery.timer.add(this,e,t,n,r,i)})},oneTime:function(e,t,n){return this.each(function(){jQuery.timer.add(this,e,t,n,1)})},stopTime:function(e,t){return this.each(function(){jQuery.timer.remove(this,e,t)})}});jQuery.extend({timer:{guid:1,global:{},regex:/^([0-9]+)\s*(.*s)?$/,powers:{ms:1,cs:10,ds:100,s:1e3,das:1e4,hs:1e5,ks:1e6},timeParse:function(e){if(e===undefined||e===null){return null}var t=this.regex.exec(jQuery.trim(e.toString()));if(t[2]){var n=parseInt(t[1],10);var r=this.powers[t[2]]||1;return n*r}else{return e}},add:function(e,t,n,r,i,o){var a=0;if(jQuery.isFunction(n)){if(!i){i=r}r=n;n=t}t=jQuery.timer.timeParse(t);if(typeof t!=="number"||isNaN(t)||t<=0){return}if(i&&i.constructor!==Number){o=!!i;i=0}i=i||0;o=o||false;if(!e.$timers){e.$timers={}}if(!e.$timers[n]){e.$timers[n]={}}r.$timerID=r.$timerID||this.guid++;var u=function(){if(o&&u.inProgress){return}u.inProgress=true;if(++a>i&&i!==0||r.call(e,a)===false){jQuery.timer.remove(e,n,r)}u.inProgress=false};u.$timerID=r.$timerID;if(!e.$timers[n][r.$timerID]){e.$timers[n][r.$timerID]=window.setInterval(u,t)}if(!this.global[n]){this.global[n]=[]}this.global[n].push(e)},remove:function(e,t,n){var r=e.$timers,i;if(r){if(!t){for(var o in r){if(r.hasOwnProperty(o)){this.remove(e,o,n)}}}else if(r[t]){if(n){if(n.$timerID){window.clearInterval(r[t][n.$timerID]);delete r[t][n.$timerID]}}else{for(var a in r[t]){if(r[t].hasOwnProperty(a)){window.clearInterval(r[t][a]);delete r[t][a]}}}for(i in r[t]){if(r[t].hasOwnProperty(i)){break}}if(!i){i=null;delete r[t]}}for(i in r){if(r.hasOwnProperty(i)){break}}if(!i){e.$timers=null}}}}});if(/(msie) ([\w.]+)/.exec(navigator.userAgent.toLowerCase())){e(window).one("unload",function(){var e=jQuery.timer.global;for(var t in e){if(e.hasOwnProperty(t)){var n=e[t],r=n.length;while(--r){jQuery.timer.remove(n[r],t)}}}})}})(jQuery);(function(f){if(!String.prototype.split.toString().match(/\[native/)){return}var c=String.prototype.split,p=/()??/.exec("")[1]===f,n;n=function(e,t,n){if(Object.prototype.toString.call(t)!=="[object RegExp]"){return c.call(e,t,n)}var r=[],i=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.extended?"x":"")+(t.sticky?"y":""),o=0,a,u,s,l;t=new RegExp(t.source,i+"g");e+="";if(!p){a=new RegExp("^"+t.source+"$(?!\\s)",i)}n=n===f?-1>>>0:n>>>0;while(u=t.exec(e)){s=u.index+u[0].length;if(s>o){r.push(e.slice(o,u.index));if(!p&&u.length>1){u[0].replace(a,function(){for(var e=1;e<arguments.length-2;e++){if(arguments[e]===f){u[e]=f}}})}if(u.length>1&&u.index<e.length){Array.prototype.push.apply(r,u.slice(1))}l=u[0].length;o=s;if(r.length>=n){break}}if(t.lastIndex===u.index){t.lastIndex++}}if(o===e.length){if(l||!t.test("")){r.push("")}}else{r.push(e.slice(o))}return r.length>n?r.slice(0,n):r};String.prototype.split=function(e,t){return n(this,e,t)};return n})();$.fn.caret=function(e){var t=this[0];var n=t.contentEditable==="true";if(arguments.length===0){if(window.getSelection){if(n){t.focus();var r=window.getSelection().getRangeAt(0),i=r.cloneRange();i.selectNodeContents(t);i.setEnd(r.endContainer,r.endOffset);return i.toString().length}return t.selectionStart}if(document.selection){t.focus();if(n){var r=document.selection.createRange(),i=document.body.createTextRange();i.moveToElementText(t);i.setEndPoint("EndToEnd",r);return i.text.length}var e=0,o=t.createTextRange(),i=document.selection.createRange().duplicate(),a=i.getBookmark();o.moveToBookmark(a);while(o.moveStart("character",-1)!==0)e++;return e}return 0}if(e===-1)e=this[n?"text":"val"]().length;if(window.getSelection){if(n){t.focus();window.getSelection().collapse(t.firstChild,e)}else t.setSelectionRange(e,e)}else if(document.body.createTextRange){var o=document.body.createTextRange();o.moveToElementText(t);o.moveStart("character",e);o.collapse(true);o.select()}if(!n&&!this.is(":focus")){t.focus()}return e};$.fn.resizer=function(u){var s=arguments[0]==="unbind";if(!s&&!is_function(u)){throw new Error('Invalid argument, it need to a function or string "unbind".')}if(s){u=is_function(arguments[1])?arguments[1]:null}return this.each(function(){var e=$(this);var t;var n;function r(){n.fire()}if(s){n=e.data("callbacks");if(u&&n){n.remove(u);if(!n.has()){n=null}}else{n=null}if(!n){e.removeData("callbacks");if(window.ResizeObserver){var i=e.data("observer");if(i){i.unobserve(this);e.removeData("observer")}}else{t=e.find("> iframe");if(t.length){$(t[0].contentWindow).off("resize").remove();t.remove()}else if(e.is("body")){$(window).off("resize.resizer")}}}}else if(e.data("callbacks")){$(this).data("callbacks").add(u)}else{n=$.Callbacks();n.add(u);e.data("callbacks",n);var o;var a=true;if(window.ResizeObserver){o=new ResizeObserver(function(){if(!a){r()}a=false});o.observe(this);e.data("observer",o)}else if(e.is("body")){$(window).on("resize.resizer",r)}else{t=$("<iframe/>").addClass("resizer").appendTo(this)[0];$(t.contentWindow).on("resize",r)}}})};function a11y_hide(e){e.attr({role:"presentation","aria-hidden":"true"})}var excepctions=[];function alert_exception(e,t){var n=(e?e+": ":"")+exception_message(t);if(excepctions.indexOf(n)===-1){excepctions.push(n);alert(n+(t.stack?"\n"+t.stack:""))}}function scrollbar_event(e,t){var n=t.offset().left;return t.outerWidth()<=e.clientX-n}function exception_message(e){if(typeof e==="string"){return e}else if(typeof e.fileName==="string"){return e.fileName+": "+e.message}else{return e.message}}function Cycle(){var r=[].slice.call(arguments);var n=0;$.extend(this,{get:function(){return r},index:function(){return n},rotate:function(e){if(!e){var t=r.filter(function(e){return typeof e!=="undefined"});if(!t.length){return}}if(!r.length){return}if(r.length===1){return r[0]}else{if(n===r.length-1){n=0}else{++n}if(typeof r[n]!=="undefined"){return r[n]}else{return this.rotate(true)}}},length:function(){return r.length},remove:function(e){delete r[e]},set:function(e){for(var t=r.length;t--;){if(r[t]===e){n=t;return}}this.append(e);n=r.length-1},front:function(){if(r.length){var e=n;var t=false;while(!r[e]){e++;if(e>r.length){if(t){break}e=0;t=true}}return r[e]}},map:function(n){return r.map(function(e,t){if(typeof e!=="undefined"){return n(e,t)}return null}).filter(Boolean)},forEach:function(n){return r.forEach(function(e,t){if(typeof e!=="undefined"){n(e,t)}})},append:function(e){r.push(e)}})}function Stack(e){var t=e instanceof Array?e:e?[e]:[];$.extend(this,{data:function(){return t},map:function(e){return $.map(t,e)},size:function(){return t.length},pop:function(){if(t.length===0){return null}else{var e=t[t.length-1];t=t.slice(0,t.length-1);return e}},push:function(e){t=t.concat([e]);return e},top:function(){return t.length>0?t[t.length-1]:null},clone:function(){return new Stack(t.slice(0))}})}function History(e,t,n){var r=true;var i="";if(typeof e==="string"&&e!==""){i=e+"_"}i+="commands";var o;if(n){o=[]}else{o=$.Storage.get(i);o=o?JSON.parse(o):[]}var a=o.length-1;$.extend(this,{append:function(e){if(r){if(o[o.length-1]!==e){o.push(e);if(t&&o.length>t){o=o.slice(-t)}a=o.length-1;if(!n){$.Storage.set(i,JSON.stringify(o))}}}},set:function(e){if(e instanceof Array){o=e;if(!n){$.Storage.set(i,JSON.stringify(o))}}},data:function(){return o},reset:function(){a=o.length-1},last:function(){return o[o.length-1]},end:function(){return a===o.length-1},position:function(){return a},current:function(){return o[a]},next:function(){var e=a;if(a<o.length-1){++a}if(e!==a){return o[a]}},previous:function(){var e=a;if(a>0){--a}if(e!==a){return o[a]}},clear:function(){o=[];this.purge()},enabled:function(){return r},enable:function(){r=true},purge:function(){if(!n){$.Storage.remove(i)}},disable:function(){r=false},toggle:function(e){if(typeof e==="undefined"){r=!r}else{r=e}}})}var cmd_index=0;$.cmd={defaults:{mask:false,caseSensitiveSearch:true,historySize:60,prompt:"> ",enabled:true,history:true,onPositionChange:$.noop,onCommandChange:$.noop,clickTimeout:200,holdTimeout:400,holdRepeatTimeout:200,tabs:4}};$.fn.cmd=function(e){var C=$.extend({},$.cmd.defaults,e);var E=this;var t=E.data("cmd");if(t){return t}var u=cmd_index++;E.addClass("cmd");E.append('<span class="prompt"></span>');E.append('<div class="cursor-line">'+"<span></span>"+'<span class="cursor">&nbsp;</span>'+"<span></span>"+"</div>");a11y_hide(E.find(".cursor-line"));var o=$("<textarea>").attr({autocapitalize:"off",spellcheck:"false",tabindex:1}).addClass("clipboard").appendTo(E).val(" ");if(C.width){E.width(C.width)}var F;var a;var x;var k;var c=E.find(".prompt");var s=false;var l="";var f=null;var n;var A="";var r;var p="";var m=0;var i;var D;var T=0;var d,h;var S=E.find(".cursor");var g;var R;var v=0;function _(e){var t=$(e.target);if(t.is("span")){t=t.closest("[data-text]");return t.index()+t.parent("span").prevAll().find("[data-text]").length+t.closest('[role="presentation"]').prevUntil(".prompt").find("[data-text]").length}else if(t.is('div[role="presentation"]')){var n=!t.nextUntil("textarea").length;return t.find("span[data-text]").length+t.prevUntil(".prompt").find("span[data-text]").length-(n?0:1)}}var y={SPACEBAR:" ",UP:"ARROWUP",DOWN:"ARROWDOWN",LEFT:"ARROWLEFT",RIGHT:"ARROWRIGHT",DEL:"DELETE",MULTIPLY:"*",DIVIDE:"/",SUBTRACT:"-",ADD:"+"};function b(e){if(e.key){var t=e.key.toUpperCase();if(y[t]){t=y[t]}if(t==="CONTROL"){return"CTRL"}else{var n=[];if(e.ctrlKey){n.push("CTRL")}if(e.metaKey&&t!=="META"){n.push("META")}if(e.shiftKey&&t!=="SHIFT"){n.push("SHIFT")}if(e.altKey&&t!=="ALT"){n.push("ALT")}if(n.length&&t===" "){t="SPACEBAR"}if(e.key){n.push(t)}return n.join("+")}}}var w;var B={"ALT+D":j(true),"HOLD+DELETE":j(false),"HOLD+SHIFT+DELETE":j(false),ENTER:function(){if(h&&A&&!C.mask&&(is_function(C.historyFilter)&&C.historyFilter(A))||C.historyFilter instanceof RegExp&&A.match(C.historyFilter)||!C.historyFilter){h.append(A)}var e=A;h.reset();Ce="";ge=true;E.set("");if(C.commands){C.commands.call(E,e)}if(is_function(i)){se()}o.val("");return false},"SHIFT+ENTER":function(){E.insert("\n");return true},BACKSPACE:N,"SHIFT+BACKSPACE":N,TAB:function(){E.insert("\t")},"CTRL+D":function(){E["delete"](1);return false},DELETE:function(){E["delete"](1);return true},ARROWUP:I,"CTRL+P":I,ARROWDOWN:P,"CTRL+N":P,ARROWLEFT:H,"HOLD+ARROWLEFT":H,"CTRL+B":H,"CTRL+ARROWLEFT":function(){var e=m-1;var t=0;if(A[e]===" "){--e}for(var n=e;n>0;--n){if(A[n]===" "&&A[n+1]!==" "){t=n+1;break}else if(A[n]==="\n"&&A[n+1]!=="\n"){t=n;break}}E.position(t)},"CTRL+R":function(){if(s){X(true)}else{n=i;G();r=A;E.set("");ae();s=true}return false},"CTRL+G":function(){if(s){i=n;se();E.set(r);ae();s=false;l="";return false}},ARROWRIGHT:M,"HOLD+ARROWRIGHT":M,"CTRL+F":M,"CTRL+ARROWRIGHT":function(){if(A[m]===" "){++m}var e=/\S[\n\s]{2,}|[\n\s]+\S?/;var t=A.slice(m).match(e);if(!t||t[0].match(/^\s+$/)){E.position(A.length)}else if(t[0][0]!==" "){m+=t.index+1}else{m+=t.index+t[0].length-1;if(t[0][t[0].length-1]!==" "){--m}}ae()},F12:O,END:q,"CTRL+E":q,HOME:U,"CTRL+A":U,"SHIFT+INSERT":z,"CTRL+SHIFT+T":O,"CTRL+W":L(true),"HOLD+BACKSPACE":L(false),"HOLD+SHIFT+BACKSPACE":L(false),"CTRL+H":function(){if(A!==""&&m>0){E["delete"](-1)}return false},"CTRL+X":O,"CTRL+C":O,"CTRL+T":O,"CTRL+Y":function(){if(p!==""){E.insert(p)}},"CTRL+V":z,"META+V":z,"CTRL+K":function(){if(A.length-m){p=E["delete"](A.length-m);text_to_clipboard(E,p)}return false},"CTRL+U":function(){if(A!==""&&m!==0){p=E["delete"](-m);text_to_clipboard(E,p)}return false},"CTRL+TAB":function(){return false},"META+`":O,"META+R":O,"META+L":O};function j(i){return function e(){var t=/ *[^ ]+ *(?= )|[^ ]+$/;var n=A.slice(m);var r=n.match(t);if(r){p=r[0];if(i){text_to_clipboard(E,p)}}E.set(A.slice(0,m)+A.slice(m).replace(t,""),true);return false}}function L(n){return function e(){if(A!==""&&m!==0){var t=A.slice(0,m).match(/([^ ]+ *$)/);if(t[0].length){p=E["delete"](-t[0].length);if(n){text_to_clipboard(E,p)}}}return false}}function O(){return true}function z(){o.val("");v=0;if(E.isenabled()&&!o.is(":focus")){o.trigger("focus",[true])}o.one("input",le);return true}function I(){if(ce){r=A;E.set(h.current())}else{E.set(h.previous())}ce=false;return false}function P(){E.set(h.end()?r:h.next());return false}function N(){if(s){l=l.slice(0,-1);G()}else if(A!==""&&m>0){E["delete"](-1)}E.oneTime(1,function(){ge=true})}function H(){if(m>0){E.position(-1,true);ae()}}function M(){if(m<A.length){E.position(1,true)}return false}function U(){E.position(0)}function q(){E.position(A.length)}function W(){var e=o.is(":focus");if(D){if(!e){}E.oneTime(10,function(){if(!o.is(":focus")&&D){o.trigger("focus",[true])}})}else if(e&&(is_mobile||!D)){o.trigger("blur",[true])}}function K(){if(animation_supported){var e=window.getComputedStyle(S[0]);var t=e.getPropertyValue("--animation");t=t.replace(/^\s*|\s*$/g,"");var n=E.attr("class");if(n.match(/-animation/)){n=n.replace(/[a-z]+-animation/g,"")}if(t&&!t.match(/blink/)){var r=t.replace(/terminal-/,"")+"-animation";if(!n.match(r)){n+=" "+r}}if(n!==E.attr("class")){E.attr("class",n)}}}function J(e){if(!E.isenabled()){return}E.oneTime(10,function(){if(o.val()!==A&&!e){o.val(" "+A)}if(D){E.oneTime(10,function(){try{if(o.caret()!==m+1){o.caret(m+1)}}catch(e){}})}})}if(animation_supported&&!is_android){g=function(e){if(e){S.addClass("blink")}else{S.removeClass("blink")}};R=function(){var e=S.clone();e.insertBefore(S);S.remove();S=e}}else{var Q=false;g=function(e){if(e&&!Q){Q=true;S.addClass("inverted blink");E.everyTime(500,"blink",Y)}else if(Q&&!e){Q=false;E.stopTime("blink",Y);S.removeClass("inverted blink")}};R=function(){g(false);g(true)}}function Y(){S.toggleClass("inverted")}function G(){i="(reverse-i-search)`"+l+"': ";se()}function V(){i=n;s=false;f=null;l=""}function X(e){var t=h.data();var n,r;var i=t.length;if(e&&f>0){i-=f}if(l.length>0){for(var o=l.length;o>0;o--){r=$.terminal.escape_regex(l.substring(0,o));if(C.caseSensitiveSearch){n=new RegExp(r)}else{n=new RegExp(r,"i")}for(var a=i;a--;){if(n.test(t[a])){f=t.length-a;E.position(t[a].indexOf(r));E.set(t[a],true);ae();if(l.length!==o){l=l.substring(0,o);G()}return}}}}l=""}function Z(){var e=E.find(".prompt").html("<span>&nbsp;</span>");var t=E.width();var n=e.find("span")[0].getBoundingClientRect().width;F=Math.floor(t/n)}function ee(e){function t(e){return $.terminal.split_equal(e,F)}function n(e){return e.filter(function(e){return!$.terminal.strip(e).match(/^ $/)})}var r=c.find(".line");var i;if(r.length){i=r.nextUntil(".line").text()}else{i=c.text()}i=$.terminal.escape_brackets(i);var o=new RegExp("^"+$.terminal.escape_regex(i));var a;if(e.match(/\n/)){var u=e.split("\n");var s=F-k-1;for(var l=0;l<u.length-1;++l){u[l]+=" "}if(strlen(u[0])>s){a=t(i+u[0]);a[0]=a[0].replace(o,"");a=n(a)}else{a=[u[0]]}for(l=1;l<u.length;++l){if(strlen(u[l])>F){var f=t(u[l]);if(l<u.length-1){f=n(f)}a=a.concat(f)}else{a.push(u[l])}}}else{a=t(i+e,F);a[0]=a[0].replace(o,"")}if(a.length>1&&a[a.length-1].length===F){a.push("")}return a}function te(t,e){try{t=$.terminal.escape_formatting(t);var n=$.extend({},C,{unixFormattingEscapeBrackets:true,position:m});var r=$.terminal.apply_formatters(t,n);t=r[0];if(!e){T=r[1]}t=$.terminal.normalize(t);var i=$.terminal.length(t);if(T>i){T=i}return t}catch(e){alert_exception("[Formatting]",e.stack);return t}}function ne(e,t){var n=$.terminal.encode(re(e),{tabs:C.tabs,before:t});e=$.terminal.format(n,{char_width:C.char_width});var r=/(<span[^>]+data-text[^>]+>)(.*?)(<\/span>)/g;return e.replace(r,"$1<span>$2</span>$3")}function re(e){function t(e){if($.terminal.is_formatting(e)){if(e.match(/\]\\\]/)){e=e.replace(/\]\\\]/g,"]\\\\]")}}else{if(e.match(/\\$/)){e+="\\"}e="[[;;]"+e+"]"}return e}var n=ie(e);if(n===1){return t(e)}var r=[];for(var i=0;i<n;++i){var o=$.terminal.substring(e,i,i+1);r.push(t(o))}return r.join("")}function ie(e){return $.terminal.length(e)}function oe(e,t,n){return $.terminal.substring(e,t,n)}var ae=function(){var h=S.prev();var g=S.next();var v=S.parent();function _(e,t){var n=$.extend({prompt:"",last:false},t);var r=n.position;var i=ie(e);var o=n.prompt;var a;if(r===i){h.html(ne(e));S.html("<span><span>&nbsp;</span></span>");g.html("")}else if(r===0){h.html("");a=oe(e,0,1);S.html(ne(a));g.html(ne(oe(e,1),o+a))}else{var u=$.terminal.substring(e,0,r);h.html(ne(u,o));a=oe(e,r,r+1);var s=(o+u).replace(/^.*\t/,"");S.html(ne(a,s));if(r===i-1){g.html("")}else{if(a.match(/\t/)){s=""}else{s+=a}g.html(ne(oe(e,r+1),s))}}var l=n.position===(n.last?i:i-1);S.toggleClass("noselect",l);K();R()}function y(e,t){return'<div role="presentation" aria-hidden="true">'+ne(e,t||"")+"</div>"}function b(e){var n=v;$.each(e,function(e,t){n=$(y(t)).insertAfter(n)})}function w(e){$.each(e,function(e,t){v.before(y(t,e===0?x:""))})}return function(){var e;switch(typeof C.mask){case"boolean":e=C.mask?A.replace(/./g,"*"):A;break;case"string":e=A.replace(/./g,C.mask);break}e=te(e);var t=T;var n;E.find("div:not(.cursor-line,.clipboard-wrapper)").remove();h.html("");if(strlen(text(e))>F-k-1||e.match(/\n/)){var r=e.match(/\t/g);var i=e;if(r){e=e.replace(/\t/g,"\0\0\0\0")}var o=ee(e);if(r){o=$.map(o,function(e){return e.replace(/\x00\x00\x00\x00/g,"\t")})}var a=ie(o[0]);if(a===0&&o.length===1){}else if(t<a){_(o[0],{position:t,prompt:x});b(o.slice(1))}else if(t===a){v.before(y(o[0],x));_(o[1]||"",{position:0});if(o.length>1){b(o.slice(2))}}else{var u=o.slice(-1)[0];var s=ie(i);var l=s-t;var f=ie(u);var c=0;if(l===-1){l=0}if(l<=f){w(o.slice(0,-1));if(f===l){c=0}else{c=f-l}_(u,{position:c,last:true})}else{var p;var m;c=t;for(n=0;n<o.length;++n){var D=$.terminal.length(o[n]);if(c>D){c-=D}else{break}}m=o[n];p=n;if(c===ie(m)){c=0;m=o[++p];if(m===undefined){var d=$.terminal.defaults.strings.redrawError;throw new Error(d)}}_(m,{position:c});w(o.slice(0,p));b(o.slice(p+1))}}E.find(".cursor-line ~ div:last-of-type").append("<span></span>")}else if(e===""){h.html("");S.html("<span><span>&nbsp;</span></span>");g.html("")}else{_(e,{position:t})}}}();var ue=function(){function u(e,t){var n=$.extend({},C,{position:t});var r=$.terminal.apply_formatters(A,n)[1];if(r===e){return 0}else if(r<e){return 1}else{return-1}}return function(e,t){if(t===0){return 0}e=text(e);var n=e.length;var r=binary_search(0,n,t,u);var i=$.terminal.split_characters(e);if(n>i.length){var o=0;for(var a=0;a<i.length;++a){o+=i[a].length;if(o>=r){return o}}}return r}}();var se=function(){function e(e){e=$.terminal.apply_formatters(e,{});e=$.terminal.normalize(e);e=crlf(e);a=e;var t=$.terminal.split_equal(e,F);var n={char_width:C.char_width};x=t[t.length-1];var r=$.terminal.encode(t[t.length-1],{tabs:C.tabs});var i=$.terminal.format(r,n);var o=t.slice(0,-1).map(function(e){e=$.terminal.encode(e,{tabs:C.tabs});return'<span class="line">'+$.terminal.format(e,n)+"</span>"}).concat([i]).join("\n");if(c.html()!==o){c.html(o);k=strlen(text(r))}}return function(){switch(typeof i){case"string":e(i);break;case"function":i.call(E,e);break}}}();function le(){if(v++>0){return}if(E.isenabled()){E.oneTime(100,function(){E.insert(o.val());o.val(A);J()})}}function fe(){if(is_function(C.onCommandChange)){C.onCommandChange.call(E,A)}}$.extend(E,{option:function(e,t){if(typeof t==="undefined"){return C[e]}else{C[e]=t}return E},name:function(e){if(e!==undefined){d=e;var t=h&&h.enabled()||!h;h=new History(d,C.historySize,C.history==="memory");if(!t){h.disable()}return E}else{return d}},purge:function(){h.clear();return E},history:function(){return h},delete:function(e,t){var n;if(e===0){return""}else if(e<0){if(m>0){n=A.slice(0,m).slice(e);A=A.slice(0,m+e)+A.slice(m,A.length);if(!t){E.position(m+e)}fe()}}else if(A!==""&&m<A.length){n=A.slice(m).slice(0,e);A=A.slice(0,m)+A.slice(m+e,A.length);fe()}ae();J();return n},set:function(e,t,n){if(e!==undefined){A=e;if(!t){E.position(A.length)}ae();J();if(!n){fe()}}return E},keymap:function(e,t){function n(e,t){var n=B[e];if(is_function(n)){n=n.bind(E)}return function(e){return t.call(E,e,n)}}if(typeof e==="undefined"){return w}else if(typeof e==="string"){if(typeof t==="undefined"){if(w[e]){return w[e]}else if(B[e]){return B[e]}}else{w[e]=n(e,t)}}else{w=$.extend({},w?w:B,$.omap(e||{},n));return E}},insert:function(e,t){if(m===A.length){A+=e}else if(m===0){A=e+A}else{A=A.slice(0,m)+e+A.slice(m)}if(!t){E.position(e.length,true,true)}else{J()}ae();fe();J();return E},get:function(){return A},commands:function(e){if(e){C.commands=e;return E}else{return e}},destroy:function(){Ae.unbind("keypress.cmd",Te);Ae.unbind("keydown.cmd",$e);Ae.unbind("input.cmd",Re);E.stopTime("blink",Y);E.find(".cursor").next().remove().end().prev().remove().end().remove();E.find(".prompt, .clipboard").remove();E.removeClass("cmd").removeData("cmd").off(".cmd");return E},prompt:function(e){if(e===true){return a}else if(e===undefined){return i}else{if(typeof e==="string"||typeof e==="function"){i=e}else{throw new Error("prompt must be a function or string")}se();ae();return E}},kill_text:function(){return p},position:function(e,t,n){if(typeof e==="number"){var r=m;if(t){m+=e}else if(e<0){m=0}else if(e>A.length){m=A.length}else{m=e}if(r!==m&&!n){ae();if(is_function(C.onPositionChange)){C.onPositionChange(m,T)}J(true)}return E}else{return m}},refresh:function(){se();ae();return E},display_position:function(e,t){if(e===undefined){return T}else{var n=te(A,true);var r=$.terminal.length(n);var i=text(A).length;var o;if(t){o=T+e}else if(e>r){o=r}else{o=e}if(r===o){T=o;return E.position(i)}var a=ue(A,o);if(a!==-1){T=o;E.position(a)}return E}},visible:function(){var e=E.visible;return function(){e.apply(E,[]);ae();se();return E}}(),show:function(){var e=E.show;return function(){e.apply(E,[]);ae();se();return E}}(),resize:function(e){if(e){F=e}else{Z()}ae();se();return E},enable:function(e){if(!D){D=true;E.addClass("enabled");try{o.caret(m)}catch(e){}g(true);if(!e){se()}K();J()}W();return E},isenabled:function(){return D},disable:function(e){D=false;E.removeClass("enabled");g(false);if(!e){W()}return E},mask:function(e){if(typeof e==="undefined"){return C.mask}else{C.mask=e;ae();return E}}});E.name(C.name||C.prompt||"");if(typeof C.prompt==="string"){i=C.prompt}else{i="> "}se();if(C.enabled===true){E.enable()}if(!C.history){h.disable()}var ce=true;var pe=false;var me=false;var De=false;var de=false;var he=false;var ge=true;var ve=false;var _e=false;var ye=false;var be=false;var we;var Ce="";function Ee(e){return e.key.toUpperCase()==="BACKSPACE"||e.which===8}function Fe(e){return e.key&&e.key.length===1&&!e.ctrlKey}function xe(e){return e.which===35||e.which===36||e.which===37||e.which===38||e.which===39||e.which===40||e.which===13||e.which===27}function $e(e){debug('keydown "'+e.key+'" '+e.fake+" "+e.which);_e=(e.key||"").toLowerCase()==="process"||e.which===0;var t;me=de&&De&&!Ee(e);try{if(!e.fake){De=Fe(e);he=String(e.key).toLowerCase()==="unidentified";ve=Ee(e)}}catch(e){}if(e.key==="Unidentified"){ge=true;return}if(!e.fake){de=true;ge=false}o.off("input",le);var n=b(e);if(is_function(C.keydown)){t=C.keydown.call(E,e);if(t!==undefined){if(!t){we=true}return t}}if(D){E.oneTime(C.holdTimeout,"hold",function(){ye=true});if(ye){n="HOLD+"+n;if(be){return}if(C.holdRepeatTimeout>0){be=true;E.oneTime(C.holdRepeatTimeout,"delay",function(){be=false})}}R();we=["CTRL+V","META+V"].indexOf(n)!==-1;if(e.which!==38&&!(e.which===80&&e.ctrlKey)){ce=true}if(s&&xe(e)){V();se();if(e.which===27){E.set("")}ae();if(e.which===13){$e.call(this,e)}}else if(is_function(w[n])){t=w[n](e);if(t===true){return}if(t!==undefined){return t}}else if(e.altKey){return}else{pe=false;return}}}function ke(){E.stopTime("hold");be=ye=false}var Ae=$(document.documentElement||window);E.keymap(C.keymap||{});function Te(e){debug('keypress "'+e.key+'" '+e.fake);ke();var t;if(!e.fake){de=false}if((e.ctrlKey||e.metaKey)&&!e.altKey){return}if(pe){return}if(is_function(C.keypress)){t=C.keypress.call(E,e);if(t!==undefined){if(!t){we=true}return t}}if(D){if(e.fake){return}var n;if(is_key_native||e.fake){n=e.key;var r=n.toUpperCase();if(y[r]){n=y[r]}}if(!n||he){n=String.fromCharCode(e.which)}if($.inArray(e.which,[13,0,8])>-1){if(e.keyCode===123){return}return false}else if(n&&(!e.ctrlKey||e.ctrlKey&&e.ctrlKey)&&(!(e.altKey&&e.which===100)||e.altKey)&&!me){if(s){l+=n;X();G()}else if(n.length===1){E.insert(n)}}}}function Se(e,t,n){var r=$.Event(e);r.which=n;r.key=t;r.fake=true;Ae.trigger(r)}function Re(){debug("input "+ge+" || "+_e+" (("+de+" || "+me+") && !"+we+" && ("+De+" || "+he+") && !"+ve+")");var e=o.val().replace(/^ /,"");if((ge||_e||(de||me)&&!we&&(De||he)&&!ve)&&e!==A){var t=m;if(ge){var n=Ce;ve=n.substring(0,n.length-1).length===e.length}if(s){l=e;X();G()}else{var r=e.substring(m);if(r.length===1||ve){if(ge){var i;if(ve){i=8}else{i=r.toUpperCase().charCodeAt(0)}Se("keydown",ve?"Backspace":r,i)}if(de&&!ve){Se("keypress",r,r.charCodeAt(0))}}if(ve){Ce=A;return}if(we){we=false;return}E.set(e)}if(ve){E.position(t-1)}else{E.position(t+Math.abs(e.length-Ce.length))}}Ce=A;we=false;ge=true}Ae.bind("keypress.cmd",Te).bind("keydown.cmd",$e).bind("keyup.cmd",ke).bind("input.cmd",Re);(function(){var o=false;var a=0;E.on("mousedown.cmd",function(){o=true}).on("mouseup.cmd",function(t){function e(){var e=$(t.target);if(!e.is(".prompt")&&i){if(D){if(e.is(".cmd")){E.position(A.length)}else{E.display_position(_(t))}}}a=0}var n;if(t.originalEvent===undefined){n=t.button}else{n=t.originalEvent.button}if(n===0&&get_selected_text()===""){var r="click_"+u;if(++a===1){var i=o;if(D){if(C.clickTimeout===0){e()}else{E.oneTime(C.clickTimeout,r,e)}}else{a=0}}else{E.stopTime(r);a=0}}o=false})})();E.data("cmd",E);if(!("KeyboardEvent"in window&&"key"in window.KeyboardEvent.prototype)){setTimeout(function(){throw new Error("key event property not supported try https://github."+"com/inexorabletash/polyfill/blob/master/keyboard.js")},0)}return E};var combine_chr_re=/^(.(?:[\u0300-\u036F]|[\u1AB0-\u1abE]|[\u1DC0-\u1DF9]|[\u1DFB-\u1DFF]|[\u20D0-\u20F0]|[\uFE20-\uFE2F])+)/;var astral_symbols_re=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;var emoji_re=/^(\uD83C\uDFF4(?:\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74)\uDB40\uDC7F|\u200D\u2620\uFE0F)|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC68(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDB0-\uDDB3])|(?:\uD83C[\uDFFB-\uDFFF])\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDB0-\uDDB3]))|\uD83D\uDC69\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDB0-\uDDB3])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2695\u2696\u2708]|\uD83D\uDC68(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83D\uDC69\u200D[\u2695\u2696\u2708])\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC68(?:\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDB0-\uDDB3])|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDD1-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDEEB\uDEEC\uDEF4-\uDEF9]|\uD83E[\uDD10-\uDD3A\uDD3C-\uDD3E\uDD40-\uDD45\uDD47-\uDD70\uDD73-\uDD76\uDD7A\uDD7C-\uDDA2\uDDB0-\uDDB9\uDDC0-\uDDC2\uDDD0-\uDDFF])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEF9]|\uD83E[\uDD10-\uDD3A\uDD3C-\uDD3E\uDD40-\uDD45\uDD47-\uDD70\uDD73-\uDD76\uDD7A\uDD7C-\uDDA2\uDDB0-\uDDB9\uDDC0-\uDDC2\uDDD0-\uDDFF])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC69\uDC6E\uDC70-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD18-\uDD1C\uDD1E\uDD1F\uDD26\uDD30-\uDD39\uDD3D\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDD1-\uDDDD]))/;var mobile_re=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i;var tablet_re=/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i;var format_split_re=/(\[\[[!gbiuso]*;[^;]*;[^\]]*\](?:[^\]]*[^\\](\\\\)*\\\][^\]]*|[^\]]*|[^[]*\[[^\]]*)\]?)/i;var format_parts_re=/\[\[([!gbiuso]*);([^;]*);([^;\]]*);?([^;\]]*);?([^\]]*)\]([^\]]*\\\][^\]]*|[^\]]*|[^[]*\[[^\]]*)\]?/gi;var format_re=/\[\[([!gbiuso]*;[^;\]]*;[^;\]]*(?:;|[^\]()]*);?[^\]]*)\]([^\]]*\\\][^\]]*|[^\]]*|[^[]*\[[^\]]*)\]?/gi;var format_exist_re=/\[\[([!gbiuso]*;[^;\]]*;[^;\]]*(?:;|[^\]()]*);?[^\]]*)\]([^\]]*\\\][^\]]*|[^\]]*|[^[]*\[[^\]]*)\]/gi;var format_full_re=/^\[\[([!gbiuso]*;[^;\]]*;[^;\]]*(?:;|[^\]()]*);?[^\]]*)\]([^\]]*\\\][^\]]*|[^\]]*|[^[]*\[[^\]]*)\]$/gi;var color_hex_re=/^#([0-9a-f]{3}|[0-9a-f]{6})$/i;var url_re=/(\bhttps?:\/\/(?:(?:(?!&[^;]+;)|(?=&amp;))[^\s"'<>\][)])+)/gi;var url_nf_re=/\b(?![^\s[\]]*])(https?:\/\/(?:(?:(?!&[^;]+;)|(?=&amp;))[^\s"'<>\][)])+)/gi;var email_re=/((([^<>('")[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,})))/g;var command_re=/((?:"[^"\\]*(?:\\[\S\s][^"\\]*)*"|'[^'\\]*(?:\\[\S\s][^'\\]*)*'|\/[^\/\\]*(?:\\[\S\s][^\/\\]*)*\/[gimsuy]*(?=\s|$)|(?:\\\s|\S))+)(?=\s|$)/gi;var extended_command_re=/^\s*((terminal|cmd)::([a-z_]+)\(([\s\S]*)\))\s*$/;var format_begin_re=/(\[\[[!gbiuso]*;[^;]*;[^\]]*\])/i;var format_start_re=/^(\[\[[!gbiuso]*;[^;]*;[^\]]*\])/i;var format_end_re=/\[\[[!gbiuso]*;[^;]*;[^\]]*\]?$/i;var format_exec_re=/(\[\[(?:[^\][]|\\\])+\]\])/;var float_re=/^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$/;var re_re=/^\/((?:\\\/|[^/]|\[[^\]]*\/[^\]]*\])+)\/([gimsuy]*)$/;var string_re=/("(?:[^"\\]|\\(?:\\\\)*"|\\\\)*"|'(?:[^'\\]|\\(?:\\\\)*'|\\\\)*')/;var unclosed_strings_re=/^(?=((?:[^"']+|"[^"\\]*(?:\\[^][^"\\]*)*"|'[^'\\]*(?:\\[^][^'\\]*)*')*))\1./;var animation_supported=function(){var e=false,t="Webkit Moz O ms Khtml".split(" "),n=document.createElement("div");if(n.style.animationName){e=true}if(e===false){for(var r=0;r<t.length;r++){var i=t[r]+"AnimationName";if(n.style[i]!==undefined){e=true;break}}}n=null;return e}();var is_ch_unit_supported=function(){var e=window.navigator.userAgent;if(e.match(/MSIE|Trident/)&&!e.match(/IEMobile/)){return false}var t=document.createElement("div");t.style.width="1ch";return t.style.width==="1ch"}();var is_css_variables_supported=window.CSS&&window.CSS.supports&&window.CSS.supports("--fake-var",0);var is_android=navigator.userAgent.toLowerCase().indexOf("android")!==-1;var is_safari=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);var is_key_native=function e(){if(!("KeyboardEvent"in window&&"key"in window.KeyboardEvent.prototype)){return false}var t=window.KeyboardEvent.prototype;var n=Object.getOwnPropertyDescriptor(t,"key").get;return n.toString().match(/\[native code\]/)}();var is_mobile=function(e){var t=false;if(mobile_re.test(e)||tablet_re.test(e.substr(0,4))){t=true}return t}(navigator.userAgent||navigator.vendor||window.opera);var strlen=function(){if(typeof wcwidth==="undefined"){return function(e){return $.terminal.length(e)}}else{return wcwidth}}();function bare_text(e){if(!e.match(/&/)){return e}return $("<span>"+safe(e)+"</span>").text()}function text(e){return bare_text($.terminal.strip(e))}function safe(e){if(!e.match(/[<>&]/)){return e}return e.replace(/&(?![^;]+;)/g,"&amp;").replace(/>/g,"&gt;").replace(/</g,"&lt;")}function crlf(e){return e.replace(/\r/g,"")}function get_next_character(e){var t=e.match(emoji_re);if(t){return t[1]}else if(e.substring(0,2).replace(astral_symbols_re,"_")===1){if(e.substring(1).match(combine_chr_re)){return e.substring(0,3)}return e.substring(0,2)}else{var n=e.match(combine_chr_re);if(n){return n[1]}return e[0]}}function normalize_position(e,r){if(r===0){return r}e=$.terminal.strip(e);var t=$.terminal.split_characters(e).reduce(function(e,t){if(typeof e==="number"){return e}var n=e.length+t.length;if(n>=r){return e.position+1}return{position:e.position+1,length:n}},{position:0,length:0});if(typeof t==="number"){return t}else{return t.position}}function char_width_prop(e,t){if(is_ch_unit_supported){return"width: "+e+"ch"}else if(!is_css_variables_supported){if(t.char_width){return"width: "+t.char_width*e+"px"}}else{return"--length: "+e}return""}function extra_css(e,t){if(typeof wcwidth!=="undefined"){var n=bare_text(e);var r=strlen(n);if(r!==$.terminal.length(n)){return char_width_prop(r,t)}}return""}function wide_characters(e,n){if(typeof wcwidth!=="undefined"){var t=bare_text(e);var r=$.terminal.split_characters(t);if(r.length===1){return e}var i=r.map(function(e){return{len:strlen(e),chr:e}}).reduce(function(e,t){var n=e[e.length-1];if(n){if(n.len!==t.len){return e.concat([{sum:t.len,len:t.len,str:t.chr}])}else{e.pop();return e.concat([{sum:n.sum+t.len,len:n.len,str:n.str+t.chr}])}}return[{sum:t.len,str:t.chr,len:t.len}]},[]);return i.map(function(e){if(e.len===1){return e.str}var t=char_width_prop(e.sum,n);if(e.sum===r.length||!t.length){return"<span>"+e.str+"</span>"}else{return'<span style="'+t+'">'+e.str+"</span>"}}).join("")}return e}function binary_search(e,t,n,r){var i=t-e;var o=e+Math.floor(i/2);var a=r(n,o);if(a===0){return o}else if(a>0&&i>1){return binary_search(o,t,n,r)}else if(a<0&&i>1){return binary_search(e,o,n,r)}else{return-1}}var get_selected_text=function(){if(window.getSelection||document.getSelection){return function(){var e=(window.getSelection||document.getSelection)();if(e.text){return e.text}else{return e.toString()}}}else if(document.selection&&document.selection.type!=="Control"){return function(){return document.selection.createRange().text}}return function(){return""}}();function text_to_clipboard(e,t){var n=$("<div>"+t.replace(/\n/,"<br/>")+"<div>");n.appendTo("body");select_all(n[0]);try{document.execCommand("copy")}catch(e){}n.remove()}var get_textarea_selection=function(){var e=document.createElement("textarea");var t="selectionStart"in e;e=null;if(t){return function(e){var t=e.selectionEnd-e.selectionStart;return e.value.substr(e.selectionStart,t)}}else if(document.selection){return function(){var e=document.selection.createRange();return e.text()}}else{return function(){return""}}}();function clear_textarea_selection(e){e.selectionStart=e.selectionEnd=0}function common_string(e,t,n){if(!t.length){return""}var r=string_case(e);var i=[];for(var o=e.length;o<t[0].length;++o){var a=false;var u=t[0].charAt(o),s=u.toLowerCase();for(var l=1;l<t.length;++l){a=true;var f=t[l].charAt(o),c=f.toLowerCase();if(u!==f){if(n||r==="mixed"){a=false;break}else if(s===c){if(r==="lower"){u=u.toLowerCase()}else if(r==="upper"){u=u.toUpperCase()}else{a=false;break}}else{a=false;break}}}if(a){i.push(u)}else{break}}return e+i.join("")}function trigger_terminal_change(t){terminals.forEach(function(e){e.settings().onTerminalChange.call(e,t)})}var select=function(){if(window.getSelection){var e=window.getSelection();if(e.setBaseAndExtent){return function(e,t){var n=window.getSelection();n.setBaseAndExtent(e,0,t,1)}}else{return function(e,t){var n=window.getSelection();var r=document.createRange();r.setStart(e,0);r.setEnd(t,t.childNodes.length);n.removeAllRanges();n.addRange(r)}}}else{return $.noop}}();function select_all(e){if(window.getSelection){var t=window.getSelection();if(t.setBaseAndExtent){t.setBaseAndExtent(e,0,e,1)}else if(document.createRange){var n=document.createRange();n.selectNodeContents(e);t.removeAllRanges();t.addRange(n)}}}function process_command(e,t){var n=e.match(command_re)||[];if(n.length){var r=n.shift();var i=$.map(n,function(e){if(e.match(/^["']/)){e=e.replace(/\n/g,"\\u0000\\u0000\\u0000\\u0000");e=t(e);return e.replace(/\x00\x00\x00\x00/g,"\n")}return t(e)});var o=$.map(n,function(e){var t=e.match(/^(['"]).*\1$/);return t&&t[1]||""});var a=e.substring(r.length).trim();return{command:e,name:r,args:i,args_quotes:o,rest:a}}else{return{command:e,name:"",args:[],args_quotes:o,rest:""}}}$.terminal={version:"1.23.2",date:"Tue, 18 Sep 2018 14:16:35 +0000",color_names:["transparent","currentcolor","black","silver","gray","white","maroon","red","purple","fuchsia","green","lime","olive","yellow","navy","blue","teal","aqua","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],Cycle:Cycle,History:History,Stack:Stack,valid_color:function e(t){if(t.match(color_hex_re)){return true}else{return $.inArray(t.toLowerCase(),$.terminal.color_names)!==-1}},unclosed_strings:function e(t){return!!t.match(unclosed_strings_re)},escape_regex:function e(t){if(typeof t==="string"){var n=/([-\\^$[\]()+{}?*.|])/g;return t.replace(n,"\\$1")}},have_formatting:function e(t){return typeof t==="string"&&!!t.match(format_exist_re)},is_formatting:function e(t){return typeof t==="string"&&!!t.match(format_full_re)},format_split:function e(t){return t.split(format_split_re).filter(Boolean)},tracking_replace:function e(i,t,n,r){function o(e,t,n){return e.substring(t,n)}function a(e){return $.terminal.strip(e).length}function u(e){var t=a(i.substring(0,e));for(var n=e;n<i.length;++n){var r=a(i.substring(0,n));if(r===t+1){return t}t=r}return t}var s="";var l;var f=0;var c;var p=u(r);var m;t.lastIndex=0;while(l=t.exec(i)){if(t.global){var D=u(t.lastIndex);var d=a(o(i,0,D));m=d-a(l[0])}else{m=u(l.index);d=m+a(l[0])}if(f<m){s+=o(i,f,m)}f=d;if(typeof n==="function"){c=n.apply(null,l)}else{c=n.replace(/\$(\$|\d)/g,function(e,t){if(t==="$"){return"$"}return l[t]})}s+=c;if(m<r){if(d<r){p=Math.max(0,p+a(c)-a(l[0]))}else{p+=a(c)-(r-m)}}if(!t.global){break}}if(f<a(i)){s+=o(i,f)}if(i===s){return[i,r]}return[s,p]},iterate_formatting:function e(t,n){function r(e){return t.substring(e-6,e)==="&nbsp;"||t.substring(e-1,e).match(/\s/)}var i=/^(&(?:[a-z\d]+|#\d+|#x[a-f\d]+);)/i;function o(e){return t.substring(e).match(i)}function a(e){return t[e]==="["&&t[e+1]==="["}function u(e){return t[e]==="]"&&t[e-1]==="\\"}function s(e){return _&&(t[e]!=="]"||!l)&&!y}var l=$.terminal.have_formatting(t);var f="";var c=false;var p=0;var m;var D=-1;var d;var h=0;for(var g=0;g<t.length;g++){var v=t.substring(g);m=v.match(format_start_re);if(m){f=m[1];c=false}else if(f){if(t[g]==="]"){if(c){f="";c=false}else{c=true}}}else{c=true}var _=f&&c||!f;var y=a(g);if(r(g)&&(_||y)){if(D===-1&&d!==g||D!==-1){D=g}}var b=t[g].match(/[[\]]/);if(_){if(t[g]==="&"){m=o(g);if(m){g+=m[1].length-2;continue}++p;++h}else if(u(g)){--p;--h}else if(!b||!l){++p;++h}}if(s(g)){if(strlen(t[g])===2){h++}var w={count:p,index:g,formatting:f,length:h,text:c,space:D};var C=n(w);if(C===false){break}else if(C){if(C.count!==undefined){p=C.count}if(C.length!==undefined){h=C.length}if(C.space!==undefined){d=D;D=C.space}if(C.index!==undefined){g=C.index;continue}}}else if(g===t.length-1){n({count:p+1,index:g,formatting:f,length:0,text:c,space:D})}var E=get_next_character(v);if(E.length>1){g+=E.length-1}}},substring:function e(n,r,i){var t=$.terminal.split_characters(text(n));if(!t.slice(r,i).length){return""}var o=0;var a;var u="";var s="";var l;var f=/(&[^;]+);$/;$.terminal.iterate_formatting(n,function(e){var t;if(r&&e.count===r+1){o=e.index;t=n.substring(0,o+1).match(f);if(t){o-=t[1].length}if(e.formatting){u=e.formatting}}if(i&&e.count===i){s=e.formatting;l=e.index}if(e.count===i+1){a=e.index;t=n.substring(0,a+1).match(f);if(t){a-=t[1].length}if(e.formatting){a=l+1}}});if(r&&!o){return""}if(a===undefined){a=n.length}n=u+n.substring(o,a);if(s){n=n.replace(/(\[\[^\]]+)?\]$/,"");n+="]"}return n},normalize:function e(t){return t.replace(format_re,function(e,t,n){if(n===""){return""}function r(e){return e.replace(/\\\]/g,"&#93;").replace(/\n/g,"\\n").replace(/&nbsp;/g," ")}t=r(t);var i=t.match(/;/g).length;if(i>=4){var o=t.split(/;/);var a=o.slice(0,4).join(";");var u=o.slice(4).join(";");return"[["+a+";"+(u||n)+"]"+n+"]"}else if(i===2){i=";;"}else if(i===3){i=";"}else{i=""}return"[["+t+i+r(n)+"]"+n+"]"})},split_equal:function e(t,p,m){var D="";var d=[];var n=$.terminal.normalize(t).split(/\n/g);for(var r=0,i=n.length;r<i;++r){if(n[r]===""){d.push("");continue}var h=n[r];var g=0;var v;var _=h.length;var o=$.terminal.split_characters(text(h));var y=o[o.length-1];$.terminal.iterate_formatting(h,function(e){var t=e.index===_-y.length;var n,r;if(e.length>=p||t||e.length===p-1&&strlen(h[e.index+1])===2){var i=false;if(m&&e.space!==-1){var o=text(h.substring(e.space));var a=o.length;var u=e.index+p+1;o=o.substring(0,u);if(o.match(/\s|&nbsp;/)||u>a){i=true}}var s;if(m&&e.space!==-1&&e.index!==_-1&&i){v=h.substring(g,e.space);s=e.space-1}else{r=h.substring(e.index);n=get_next_character(r);v=h.substring(g,e.index)+n;s=e.index+n.length-1}if(m){v=v.replace(/^(&nbsp;|\s)+|(&nbsp;|\s)+$/g,"")}g=(s||e.index)+1;if(D){var l=v.match(/^[^\]]*\]/);v=D+v;if(l){D=""}}var f=v.match(format_re);if(f){var c=f[f.length-1];if(c[c.length-1]!=="]"){D=c.match(format_begin_re)[1];v+="]"}else if(v.match(format_end_re)){v=v.replace(format_end_re,"");D=c.match(format_begin_re)[1]}}d.push(v);return{index:s,length:0,space:-1}}})}return d},amp:function e(t){return t.replace(/&(?!#[0-9]+;|[a-zA-Z]+;)/g,"&amp;")},encode:function e(t,n){var s=$.extend({tabs:4,before:""},n);return $.terminal.amp(t).replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/ /g,"&nbsp;").split("\n").map(function(e){var u=e.split(/((?:\[\[[^\]]+\])?\t(?:\])?)/);u=u.filter(Boolean);return u.map(function(e,a){if(e.match(/\t/)){return e.replace(/\t([^\t]*)$/,function(e,t){if(a!==0&&u[a-1].match(/\t\]?$/)){var n=new Array(s.tabs+1).join("&nbsp;");return n+t}else{var r=u.slice(a-1,a).join("");if(s.before&&a<=1){r=s.before+r}var i=$.terminal.length(r);var o=s.tabs-i%s.tabs;if(o===0){o=4}return new Array(o+1).join("&nbsp;")+t}})}return e}).join("")}).join("\n")},nested_formatting:function e(t){if(!$.terminal.have_formatting(t)){return t}var n=[];var r=/((?:\[\[(?:[^\][]|\\\])+\])?(?:[^\][]|\\\])*\]?)/;var i=/(\[\[(?:[^\][]|\\\])+\])[\s\S]*/;return t.split(r).filter(Boolean).map(function(e){if(e.match(/^\[\[/)){if(!$.terminal.is_formatting(e)){e+="]";n.push(e.replace(i,"$1"))}}else{var t=false;if(e.match(/\]/)){t=true}if(n.length){e=n[n.length-1]+e}if(t){n.pop()}else if(n.length){e+="]"}}return e}).join("")},escape_formatting:function e(t){return $.terminal.escape_brackets(t)},apply_formatters:function e(t,i){if(t===""){if(typeof i.position==="number"){return["",i.position]}else{return""}}function o(e,t,n,r){if(!e.__no_warn__&&$.terminal.length(n)!==$.terminal.length(r)){warn("Your formatter["+t+"] change length of the string, "+"you should use [regex, replacement] formatter or function "+" that return [replacement, position] instead")}}var n=$.terminal.defaults.formatters;i=i||{};var f=0;function c(e,t){var n=$.extend({},i,{position:t[1]});var r=e(t[0],n);if(typeof r==="string"){o(e,f-1,r,t[0]);if(typeof r==="string"){return[r,n.position]}return t}else if(r instanceof Array&&r.length===2){return r}else{return t}}var r;if(typeof i.position==="number"){r=[t,i.position]}else{r=[t,0]}try{var a=n.reduce(function(a,u){f++;if(typeof u==="function"&&u.__meta__){return c(u,a)}else{var s=0;var l=false;var e=$.terminal.format_split(a[0]);var t=e.map(function(e){var t;var n=text(e).length;if(a[1]<=s+n&&!l){t=a[1]-s;l=true}else{t=-1}var r=s;var i;s+=n;if($.terminal.is_formatting(e)){return[e,-1]}else{if(u instanceof Array){var o=u[2]||{};i=[e,t<0?0:t];if(i[0].match(u[0])){if(o.loop){while(i[0].match(u[0])){i=$.terminal.tracking_replace(i[0],u[0],u[1],i[1])}}else{i=$.terminal.tracking_replace(i[0],u[0],u[1],i[1])}}if(t<0){return[i[0],-1]}}else if(typeof u==="function"){i=c(u,[e,t])}if(typeof i!=="undefined"){if(i[1]!==-1){i[1]+=r}return i}return[e,-1]}});var n=t.filter(function(e){return e[1]!==-1})[0];var r=t.map(function(e){return e[0]}).join("");var i;if(typeof n==="undefined"){i=a[1]}else{i=n[1]}var o=text(r).length;if(i>o){i=o}if(r===a[0]){return a}return[r,i]}},r);if(typeof i.position==="number"){var u=$.terminal.strip(a[0]).length;if($.terminal.length(a[0])<u){var s=a[1];s=normalize_position(a[0],s);var l=$.terminal.length(a[0]);if(s>l){s=l}a[1]=s}return a}else{return a[0]}}catch(e){var p="Error in formatter ["+(f-1)+"]";n.splice(f-1);throw new $.terminal.Exception("formatting",p,e.stack)}},format:function e(t,m){function D(e){if(e.match(/\\]/)){e=e.replace(/(\\+)]/g,function(e,t){if(t.length%2===1){return"]"}else{return t.replace(/../,"\\")}})}return safe(e)}var d=$.extend({},{linksNoReferrer:false,linksNoFollow:false,anyLinks:false},m||{});if(typeof t==="string"){var n=$.terminal.format_split(t);t=$.map(n,function(e){if(e===""){return e}else if($.terminal.is_formatting(e)){e=e.replace(/\[\[[^\]]+\]/,function(e){return e.replace(/&nbsp;/g," ")});return e.replace(format_parts_re,function(e,t,n,r,i,o,a){if(a===""){return""}a=D(a);var u="";if(t.indexOf("b")!==-1){u+="font-weight:bold;"}var s=[];if(t.indexOf("u")!==-1){s.push("underline")}if(t.indexOf("s")!==-1){s.push("line-through")}if(t.indexOf("o")!==-1){s.push("overline")}if(s.length){u+="text-decoration:"+s.join(" ")+";"}if(t.indexOf("i")!==-1){u+="font-style:italic;"}if($.terminal.valid_color(n)){u+="color:"+n+";"+"--color:"+n+";";if(t.indexOf("g")!==-1){u+="text-shadow:0 0 5px "+n+";"}}if($.terminal.valid_color(r)){u+="background-color:"+r}var l;if(o===""){l=a}else{l=o.replace(/&#93;/g,"]").replace(/>/g,"&gt;").replace(/</g,"&lt;")}var f=extra_css(a,m);if(f){a=wide_characters(a,m);u+=f}var c;if(t.indexOf("!")!==-1){if(l.match(email_re)){c='<a href="mailto:'+l+'"'}else{if(!d.anyLinks&&!l.match(/^(https?|ftp):\/\//)){l=""}c='<a target="_blank" href="'+l+'"';var p=["noopener"];if(d.linksNoReferrer){p.unshift("noreferrer")}if(d.linksNoFollow){p.unshift("nofollow")}c+=' rel="'+p.join(" ")+'"'}c+=' tabindex="1000"'}else{c="<span"}if(u!==""){c+=' style="'+u+'"'}if(i!==""){c+=' class="'+i+'"'}if(t.indexOf("!")!==-1){c+=">"+a+"</a>"}else{c+=' data-text="'+l.replace(/"/g,"&quote;")+'">'+a+"</span>"}return c})}else{e=D(e);var t=extra_css(e,m);if(t.length){e=wide_characters(e,m);return'<span style="'+t+'">'+e+"</span>"}else{return"<span>"+e+"</span>"}}}).join("");return t.replace(/<span><br\s*\/?><\/span>/gi,"<br/>")}else{return""}},escape_brackets:function e(t){return t.replace(/\[/g,"&#91;").replace(/\]/g,"&#93;")},unescape_brackets:function e(t){return t.replace(/&#91;/g,"[").replace(/&#93;/g,"]")},length:function(e){return $.terminal.split_characters(text(e)).length},split_characters:function e(t){var n=[];while(t.length){var r=get_next_character(t);t=t.substring(r.length);n.push(r)}return n},columns:function(e,t,n){var r=e.map(function(e){return $.terminal.strip(e)});var i=r.map(function(e){return strlen(e)});if(typeof n==="undefined"){n=4}var o=Math.max.apply(null,i)+n;var a=Math.floor(t/o)-1;if(a<1){return e.join("\n")}var u=[];for(var s=0,l=e.length;s<l;s+=a){var f=e.slice(s,s+a);var c=f.pop();u.push(f.reduce(function(e,t){var n=$.terminal.strip(t);var r=new Array(o-n.length+1).join(" ");e.push(t+r);return e},[]).join("")+c)}return u.join("\n")},strip:function e(t){t=t.replace(format_parts_re,"$6");return t.replace(/\\([[\]])/g,function(e,t){return t})},active:function e(){return terminals.front()},last_id:function e(){var t=terminals.length();return t-1},parse_argument:function e(t,n){function r(e){return e.split(string_re).map(function(e){if(e.match(/^['"]/)){if(e==='""'||e==="''"){return""}var t=e[0];var n=new RegExp("(^|(?:\\\\(?:\\\\)*)?)"+t,"g");e=e.replace(n,"$1")}e='"'+e+'"';return JSON.parse(e)}).join("")}if(n===false){if(t[0]==="'"&&t[t.length-1]==="'"){return t.replace(/^'|'$/g,"")}else if(t[0]==='"'&&t[t.length-1]==='"'){return t.replace(/^"|"$/g,"").replace(/\\([" ])/g,"$1")}else if(t.match(/\/.*\/[gimy]*$/)){return t}else if(t.match(/['"]]/)){return r(t)}else{return t.replace(/\\ /g," ")}}var i=t.match(re_re);if(i){return new RegExp(i[1],i[2])}else if(t.match(/['"]/)){return r(t)}else if(t.match(/^-?[0-9]+$/)){return parseInt(t,10)}else if(t.match(float_re)){return parseFloat(t)}else{return t.replace(/\\(['"() ])/g,"$1")}},parse_arguments:function e(t){return $.map(t.match(command_re)||[],$.terminal.parse_argument)},split_arguments:function e(t){return $.map(t.match(command_re)||[],function(e){return $.terminal.parse_argument(e,false)})},parse_command:function e(t){return process_command(t,$.terminal.parse_argument)},split_command:function e(t){return process_command(t,function(e){return $.terminal.parse_argument(e,false)})},parse_options:function e(t,n){var o=$.extend({},{boolean:[]},n);if(typeof t==="string"){return e($.terminal.split_arguments(t),n)}var a={_:[]};function u(e){this.value=e}var r=t.reduce(function(e,t){if(typeof t!=="string"){t=String(t)}if(t.match(/^-/)&&e instanceof u){a[e.value]=true}if(t.match(/^--/)){var n=t.replace(/^--/,"");if(o.boolean.indexOf(n)===-1){return new u(n)}else{a[n]=true}}else if(t.match(/^-/)){var r=t.replace(/^-/,"").split("");if(o.boolean.indexOf(r.slice(-1)[0])===-1){var i=r.pop()}r.forEach(function(e){a[e]=true});if(i){return new u(i)}}else if(e instanceof u){a[e.value]=t}else if(t){a._.push(t)}return null},null);if(r instanceof u){a[r.value]=true}return a},extended_command:function extended_command(term,string,options){var settings=$.extend({invokeMethods:false},options);try{change_hash=false;var m=string.match(extended_command_re);if(m){if(!settings.invokeMethods){warn("To invoke terminal or cmd methods you need to enable "+"invokeMethods option");return}string=m[1];var obj=m[2]==="terminal"?term:term.cmd();var fn=m[3];try{var args=eval("["+m[4]+"]");if(!obj[fn]){term.error("Unknow function "+fn)}else{obj[fn].apply(term,args)}}catch(e){term.error("Invalid invocation in "+$.terminal.escape_brackets(string))}}else{term.exec(string,true).done(function(){change_hash=true})}}catch(e){}},iterator:function(t){function n(e){if($.terminal.is_formatting(e)){if(e.match(/\]\\\]/)){e=e.replace(/\]\\\]/g,"]\\\\]")}}return e}if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){var r=$.terminal.length(t);var i=0;var e={};e[Symbol.iterator]=function(){return{next:function(){if(i<r){var e=$.terminal.substring(t,i,i+1);i++;return{value:n(e)}}else{return{done:true}}}}};return e}},formatter:new function(){try{this[Symbol.split]=function(e){return $.terminal.format_split(e)};this[Symbol.match]=function(e){return e.match(format_re)};this[Symbol.replace]=function(e,t){return e.replace(format_parts_re,t)};this[Symbol.search]=function(e){return e.search(format_re)}}catch(e){}},new_formatter:function(e){var t=$.terminal.defaults.formatters;for(var n=0;n<t.length;++n){if(t[n]===$.terminal.nested_formatting){t.splice(n,0,e);return}}t.push(e)}};$.terminal.Exception=function e(t,n,r){if(arguments.length===1){this.message=arguments[0];this.type="TERMINAL"}else{this.type=t;this.message=n;if(r){this.stack=r}}};$.terminal.Exception.prototype=new Error;$.terminal.Exception.prototype.toString=function(){return this.message+"\n"+this.stack};$.fn.visible=function(){return this.css("visibility","visible")};$.fn.hidden=function(){return this.css("visibility","hidden")};var warnings=[];function warn(e){e="[jQuery Terminal] "+e;if(warnings.indexOf(e)===-1){warnings.push(e);if(console){if(console.warn){console.warn(e)}else if(console.log){console.log(e)}}else{setTimeout(function(){throw new Error("WARN: "+e)},0)}}}var ids={};$.jrpc=function(e,t,n,r,i){var a=new $.Deferred;var u;if($.isPlainObject(e)){u=e}else{u={url:e,method:t,params:n,success:r,error:i}}function s(e){return $.isNumeric(e.id)&&(typeof e.result!=="undefined"||typeof e.error!=="undefined")}ids[u.url]=ids[u.url]||0;var o={jsonrpc:"2.0",method:u.method,params:u.params,id:++ids[u.url]};$.ajax({url:u.url,beforeSend:function e(t,n){if(is_function(u.request)){u.request(t,o)}n.data=JSON.stringify(o)},success:function e(t,n,r){var i=r.getResponseHeader("Content-Type");if(!i.match(/(application|text)\/json/)){warn("Response Content-Type is neither application/json"+" nor text/json")}var o;try{o=JSON.parse(t)}catch(e){if(u.error){u.error(r,"Invalid JSON",e)}else{throw new $.terminal.Exception("JSON","Invalid JSON",e.stack)}a.reject({message:"Invalid JSON",response:t});return}if(is_function(u.response)){u.response(r,o)}if(s(o)||u.method==="system.describe"){if(u.success){u.success(o,n,r)}a.resolve(o)}else{if(u.error){u.error(r,"Invalid JSON-RPC")}a.reject({message:"Invalid JSON-RPC",response:t})}},error:u.error,contentType:"application/json",dataType:"text",async:true,cache:false,type:"POST"});return a.promise()};function get_char_size(e){var t=$('<div class="terminal temp"><div class="terminal-output">'+'<div><div class="line" style="float: left"><span>&nbsp;</span>'+"</div></div></div></div>").appendTo("body");t.addClass(e.attr("class"));if(e){var n=e.attr("style");if(n){n=n.split(/\s*;\s*/).filter(function(e){return!e.match(/display\s*:\s*none/i)}).join(";");t.attr("style",n)}}var r=t.find(".line")[0].getBoundingClientRect();var i={width:r.width,height:r.height};t.remove();return i}function get_num_chars(e,t){var n=e.find(".terminal-fill").width();var r=Math.floor(n/t.width);return r||1e3}function get_num_rows(e,t){return Math.floor(e.find(".terminal-fill").height()/t.height)}function all(e,t){var n=e.filter(function(e){return e[t]()===e});return n.length===e.length}function string_case(e){var t=e.split("");if(all(t,"toLowerCase")){return"lower"}else if(all(t,"toUpperCase")){return"upper"}else{return"mixed"}}function same_case(e){return string_case(e)!=="mixed"}function is_function(e){return get_type(e)==="function"}function get_type(e){return typeof e==="function"?"function":$.type(e)}var version_set=!$.terminal.version.match(/^\{\{/);var copyright="Copyright (c) 2011-2018 Jakub Jankiewicz <http://jcubic"+".pl/me>";var version_string=version_set?" v. "+$.terminal.version:" ";var reg=new RegExp(" {"+version_string.length+"}$");var name_ver="jQuery Terminal Emulator"+(version_set?version_string:"");var signatures=[["jQuery Terminal","(c) 2011-2018 jcubic"],[name_ver,copyright.replace(/^Copyright | *<.*>/g,"")],[name_ver,copyright.replace(/^Copyright /,"")],[" _______ ________ __"," / / _ /_ ____________ _/__ ___/______________ _____ / /"," __ / / // / // / _ / _/ // / / / _ / _/ / / \\/ / _ \\/ /","/ / / // / // / ___/ // // / / / ___/ // / / / / /\\ / // / /__","\\___/____ \\\\__/____/_/ \\__ / /_/____/_//_/_/_/_/_/ \\/\\__\\_\\___/"," \\/ /____/ ".replace(reg," ")+version_string,copyright],[" __ _____ ________ "+" __"," / // _ /__ __ _____ ___ __ _/__ ___/__ ___ ______ __ __ __ ___ "+" / /"," __ / // // // // // _ // _// // / / // _ // _// // // \\/ // _ "+"\\/ /","/ / // // // // // ___// / / // / / // ___// / / / / // // /\\ // // "+"/ /__","\\___//____ \\\\___//____//_/ _\\_ / /_//____//_/ /_/ /_//_//_/ /_/ \\"+"__\\_\\___/",(" \\/ /____/ "+" ").replace(reg,"")+version_string,copyright]];$.terminal.nested_formatting.__meta__=true;$.terminal.nested_formatting.__no_warn__=true;$.terminal.defaults={prompt:"> ",history:true,exit:true,clear:true,enabled:true,maskChar:"*",wrap:true,checkArity:true,raw:false,invokeMethods:false,exceptionHandler:null,pauseEvents:true,softPause:false,memory:false,cancelableAjax:true,processArguments:true,linksNoReferrer:false,anyLinks:false,linksNoFollow:false,processRPCResponse:null,completionEscape:true,onCommandChange:null,convertLinks:true,extra:{},tabs:4,historySize:60,scrollObject:null,historyState:false,importHistory:false,historyFilter:null,echoCommand:true,scrollOnEcho:true,login:null,outputLimit:-1,formatters:[$.terminal.nested_formatting],onAjaxError:null,pasteImage:true,scrollBottomOffset:20,wordAutocomplete:true,caseSensitiveAutocomplete:true,caseSensitiveSearch:true,clickTimeout:200,holdTimeout:400,holdRepeatTimeout:200,request:$.noop,response:$.noop,describe:"procs",onRPCError:null,doubleTab:null,completion:false,onInit:$.noop,onClear:$.noop,onBlur:$.noop,onFocus:$.noop,onTerminalChange:$.noop,onExit:$.noop,onPush:$.noop,onPop:$.noop,keypress:$.noop,keydown:$.noop,onAfterRedraw:$.noop,onEchoCommand:$.noop,onFlush:$.noop,strings:{comletionParameters:"From version 1.0.0 completion function need to"+" have two arguments",wrongPasswordTryAgain:"Wrong password try again!",wrongPassword:"Wrong password!",ajaxAbortError:"Error while aborting ajax call!",wrongArity:"Wrong number of arguments. Function '%s' expects %s got"+" %s!",commandNotFound:"Command '%s' Not Found!",oneRPCWithIgnore:"You can use only one rpc with describe == false "+"or rpc without system.describe",oneInterpreterFunction:"You can't use more than one function (rpc "+"without system.describe or with option describe == false count"+"s as one)",loginFunctionMissing:"You didn't specify a login function",noTokenError:"Access denied (no token)",serverResponse:"Server responded",wrongGreetings:"Wrong value of greetings parameter",notWhileLogin:"You can't call `%s' function while in login",loginIsNotAFunction:"Authenticate must be a function",canExitError:"You can't exit from main interpreter",invalidCompletion:"Invalid completion",invalidSelector:"Sorry, but terminal said that you use invalid "+"selector!",invalidTerminalId:"Invalid Terminal ID",login:"login",password:"password",recursiveCall:"Recursive call detected, skip",notAString:"%s function: argument is not a string",redrawError:"Internal error, wrong position in cmd redraw",invalidStrings:"Command %s have unclosed strings",defunctTerminal:"You can't call method on terminal that was destroyed"}};var requests=[];var terminals=new Cycle;var save_state=[];var hash_commands;var change_hash=false;var fire_hash_change=true;var first_instance=true;$.fn.terminal=function(e,t){function n(n){if(n){this.storage={}}this.set=function(e,t){if(n){this.storage[e]=t}else{$.Storage.set(e,t)}};this.get=function(e){if(n){return this.storage[e]}else{return $.Storage.get(e)}};this.remove=function(e){if(n){delete this.storage[e]}else{$.Storage.remove(e)}}}function f(e){if($.terminal.unclosed_strings(e)){var t=$.terminal.escape_brackets(e);var n=sprintf(H().invalidStrings,"`"+t+"`");throw new $.terminal.Exception(n)}else if(is_function(le.processArguments)){return process_command(e,le.processArguments)}else if(le.processArguments){return $.terminal.parse_command(e)}else{return $.terminal.split_command(e)}}function p(e){if(typeof e==="string"){M.echo(e)}else if(e instanceof Array){M.echo($.map(e,function(e){return JSON.stringify(e)}).join(" "))}else if(typeof e==="object"){M.echo(JSON.stringify(e))}else{M.echo(e)}}function c(e){var t=/(.*):([0-9]+):([0-9]+)$/;var i=e.match(t);if(i){M.pause(le.softPause);$.get(i[1],function(e){var t=i[1];M.echo("[[b;white;]"+t+"]");var n=e.split("\n");var r=+i[2]-1;M.echo(n.slice(r-2,r+3).map(function(e,t){if(t===2){e="[[;#f00;]"+$.terminal.escape_brackets(e)+"]"}return"["+(r+t-1)+"]: "+e}).join("\n")).resume()},"text")}}function a(e){if(is_function(le.onRPCError)){le.onRPCError.call(M,e)}else{M.error("&#91;RPC&#93; "+e.message);if(e.error&&e.error.message){e=e.error;var t="\t"+e.message;if(e.file){t+=' in file "'+e.file.replace(/.*\//,"")+'"'}if(e.at){t+=" at line "+e.at}M.error(t)}}}function m(n,r){var i=function(e,t){M.pause(le.softPause);$.jrpc({url:n,method:e,params:t,request:function(e,t){try{le.request.call(M,e,t,M)}catch(e){g(e,"USER")}},response:function(e,t){try{le.response.call(M,e,t,M)}catch(e){g(e,"USER")}},success:function e(t){if(t.error){a(t.error)}else if(is_function(le.processRPCResponse)){le.processRPCResponse.call(M,t.result,M)}else{p(t.result)}M.resume()},error:d})};return function(e,t){if(e===""){return}try{e=f(e)}catch(e){g(e,"TERMINAL (get_processed_command)");return}if(!r||e.name==="help"){i(e.name,e.args)}else{var n=t.token();if(n){i(e.name,[n].concat(e.args))}else{t.error("&#91;AUTH&#93; "+H().noTokenError)}}}}function D(a,u,s,l){return function(e,t){if(e===""){return}var n;try{n=f(e)}catch(e){if(is_function(le.exception)){le.exception(e,M)}else{M.error("Error: "+(e.message||e))}return}var r=a[n.name];var i=get_type(r);if(i==="function"){if(u&&r.length!==n.args.length){M.error("&#91;Arity&#93; "+sprintf(H().wrongArity,n.name,r.length,n.args.length))}else{return r.apply(M,n.args)}}else if(i==="object"||i==="string"){var o=[];if(i==="object"){o=Object.keys(r);r=D(r,u,s)}t.push(r,{prompt:n.name+"> ",name:n.name,completion:i==="object"?o:undefined})}else if(is_function(l)){l(e,M)}else if(is_function(le.onCommandNotFound)){le.onCommandNotFound.call(M,e,M)}else{t.error(sprintf(H().commandNotFound,n.name))}}}function d(e,t,n){M.resume();if(is_function(le.onAjaxError)){le.onAjaxError.call(M,e,t,n)}else if(t!=="abort"){M.error("&#91;AJAX&#93; "+t+" - "+H().serverResponse+":\n"+$.terminal.escape_brackets(e.responseText))}}function h(o,u,i){function s(e){if(e.error){a(e.error)}else if(is_function(le.processRPCResponse)){le.processRPCResponse.call(M,e.result,M)}else{p(e.result)}M.resume()}function l(e,t){try{le.request.call(M,e,t,M)}catch(e){g(e,"USER")}}function f(e,t){try{le.response.call(M,e,t,M)}catch(e){g(e,"USER")}}function e(n){var r=n;if(le.describe!==""){le.describe.split(".").forEach(function(e){r=r[e]})}if(r&&r.length){var t={};$.each(r,function(e,i){if($.isPlainObject(i)&&typeof i.name==="string"){t[i.name]=function(){var e=u&&i.name!=="help";var t=Array.prototype.slice.call(arguments);var n=t.length+(e?1:0);if(le.checkArity&&i.params&&i.params.length!==n){M.error("&#91;Arity&#93; "+sprintf(H().wrongArity,i.name,i.params.length,n))}else{M.pause(le.softPause);if(e){var r=M.token(true);if(r){t=[r].concat(t)}else{M.error("&#91;AUTH&#93; "+H().noTokenError)}}$.jrpc({url:o,method:i.name,params:t,request:l,response:f,success:s,error:d})}}}});var a=typeof u==="string"?u:"login";t.help=t.help||function(i){if(typeof i==="undefined"){var e=n.procs.map(function(e){return e.name}).join(", ")+", help";M.echo("Available commands: "+e)}else{var o=false;$.each(r,function(e,t){if(t.name===i){o=true;var n="";n+="[[bu;;]"+t.name+"]";if(t.params){var r=t.params;if(u&&t.name!==a){r=r.slice(1)}n+=" "+r.join(" ")}if(t.help){n+="\n"+t.help}M.echo(n);return false}});if(!o){if(i==="help"){M.echo("[[bu;;]help] [method]\ndisplay help "+"for the method or list of methods if not"+" specified")}else{var t="Method `"+i+"' not found ";M.error(t)}}}};i(t)}else{i(null)}}return $.jrpc({url:o,method:"system.describe",params:[],success:e,request:l,response:f,error:function e(){i(null)}})}function s(t,a,n){n=n||$.noop;var e=get_type(t);var u;var r={};var s=0;var l;if(e==="array"){u={};(function t(e,n){if(e.length){var r=e[0];var i=e.slice(1);var o=get_type(r);if(o==="string"){M.pause(le.softPause);if(le.describe===false){if(++s===1){l=m(r,a)}else{M.error(H().oneRPCWithIgnore)}t(i,n)}else{h(r,a,function(e){if(e){$.extend(u,e)}else if(++s===1){l=m(r,a)}else{M.error(H().oneRPCWithIgnore)}M.resume();t(i,n)})}}else if(o==="function"){if(l){M.error(H().oneInterpreterFunction)}else{l=r}t(i,n)}else if(o==="object"){$.extend(u,r);t(i,n)}}else{n()}})(t,function(){n({interpreter:D(u,false,a,l.bind(M)),completion:Object.keys(u)})})}else if(e==="string"){if(le.ignoreSystemDescribe){u={interpreter:m(t,a)};if($.isArray(le.completion)){u.completion=le.completion}n(u)}else{M.pause(le.softPause);h(t,a,function(e){if(e){r.interpreter=D(e,false,a);r.completion=Object.keys(e)}else{r.interpreter=m(t,a)}n(r);M.resume()})}}else if(e==="object"){n({interpreter:D(t,le.checkArity,a),completion:Object.keys(t)})}else{if(e==="undefined"){t=$.noop}else if(e!=="function"){var i=e+" is invalid interpreter value";throw new $.terminal.Exception(i)}n({interpreter:t,completion:le.completion})}}function l(r,e){var i=get_type(e)==="boolean"?"login":e;return function(e,t,n){M.pause(le.softPause);$.jrpc({url:r,method:i,params:[e,t],request:function(e,t){try{le.request.call(M,e,t,M)}catch(e){g(e,"USER")}},response:function(e,t){try{le.response.call(M,e,t,M)}catch(e){g(e,"USER")}},success:function e(t){if(!t.error&&t.result){n(t.result)}else{n(null)}M.resume()},error:d})}}function g(e,t,n){if(is_function(le.exceptionHandler)){le.exceptionHandler.call(M,e,t)}else{M.exception(e,t);if(!n){setTimeout(function(){throw e},0)}}}var v=[];var _=1;function u(e,t,n){var r,i;v.push(_);if(e===""){}else if(!n.raw){var o={linksNoReferrer:le.linksNoReferrer,linksNoFollow:le.linksNoFollow,anyLinks:le.anyLinks,char_width:ne.width};var a=M.cols();if((strlen(e)>a||e.match(/\n/))&&(le.wrap===true&&n.wrap===undefined||le.wrap===false&&n.wrap===true)){var u=n.keepWords;var s=$.terminal.split_equal(e,a,u);for(r=0,i=s.length;r<i;++r){if(s[r]===""||s[r]==="\r"){v.push("<span></span>")}else{v.push($.terminal.format(s[r],o))}}}else{e=$.terminal.normalize(e);e=$.terminal.format(e,o);e.split(/\n/).forEach(function(e){v.push(e)})}}else{v.push(e)}v.push({finalize:n.finalize,index:t})}function o(e){try{var n=$.extend({exec:true,raw:false,finalize:$.noop},e.options||{});var t;var r=e.string;var i=is_function(r);if(i){r=r()}if(get_type(r)!=="string"){if(is_function(le.parseObject)){var o=le.parseObject(r);if(get_type(o)==="string"){t=o}}else if(r instanceof Array){t=$.terminal.columns(r,M.cols(),le.tabs)}else{t=String(r)}}else{t=r}if(t!==""){if(t!==""){if(!n.raw){if(le.convertLinks){t=t.replace(email_re,"[[!;;]$1]").replace(url_nf_re,"[[!;;]$1]")}if(n.formatters){try{t=$.terminal.apply_formatters(t,le)}catch(e){g(e,"FORMATTING")}}var a=t.split(format_exec_re);t=$.map(a,function(e){if(e&&e.match(format_exec_re)&&!$.terminal.is_formatting(e)){e=e.replace(/^\[\[|\]\]$/g,"");if(n.exec){var t;if(W){W=W.command.trim()}if(t===e.trim()){M.error(H().recursiveCall)}else{$.terminal.extended_command(M,e,{invokeMethods:le.invokeMethods})}}return""}else{return e}}).join("");if(t!==""){t=crlf($.terminal.normalize(t));t=$.terminal.encode(t,{tabs:le.tabs})}}if(t!==""){u(t,e.index,n)}}}if(t===""&&i){u(t,e.index,n)}}catch(e){v=[];if(is_function(le.exceptionHandler)){le.exceptionHandler.call(M,e,"TERMINAL")}else{alert_exception("[Internal Exception(process_line)]",e)}}}function r(e){e=$.extend({},{update:false,scroll:true},e||{});if(!e.update){ve.resize(Y);var t=J.empty().detach()}var i=[];if(le.outputLimit>=0){var n;if(le.outputLimit===0){n=M.rows()}else{n=le.outputLimit}ce.forEach(function(e,t){var n=e[0];var r=e[1];if(get_type(n)==="function"){n=n()}if(get_type(n)!=="string"){n=String(n)}i.push({string:n,index:t,options:r})});i=i.slice(i.length-n-1)}else{i=ce.map(function(e,t){return{string:e[0],index:t,options:e[1]}})}try{v=[];$.each(i,function(e,t){o(t)});if(!e.update){ve.before(t)}M.flush(e);try{le.onAfterRedraw.call(M,M)}catch(e){le.onAfterRedraw=$.noop;g(e,"onAfterRedraw")}}catch(e){if(is_function(le.exceptionHandler)){le.exceptionHandler.call(M,e,"TERMINAL (redraw)")}else{alert_exception("[redraw]",e)}}}function y(){if(le.outputLimit>=0){var e;if(le.outputLimit===0){e=M.rows()}else{e=le.outputLimit}var t=J.find("> div > div");if(t.length+1>e){var n=t.length-e+1;var r=t.slice(0,n);var i=r.parent();r.remove();i.each(function(){var e=$(this);if(e.is(":empty")){e.remove()}})}}}function i(){if(le.greetings===undefined){M.echo(M.signature,{finalize:a11y_hide,formatters:false})}else if(le.greetings){var e=typeof le.greetings;if(e==="string"){M.echo(le.greetings)}else if(e==="function"){try{le.greetings.call(M,M.echo)}catch(e){le.greetings=null;g(e,"greetings")}}else{M.error(H().wrongGreetings)}}}function b(n){if(typeof n==="undefined"){n=M.get_command()}var e=ve.prompt(true);var t=ve.mask();switch(typeof t){case"string":n=n.replace(/./g,t);break;case"boolean":if(t){n=n.replace(/./g,le.maskChar)}else{n=$.terminal.escape_formatting(n)}break}var r={finalize:function e(t){a11y_hide(t.addClass("command"));try{le.onEchoCommand.call(M,t,n)}catch(e){le.onEchoCommand=$.noop;M.exception(e)}}};if(is_function(e)){var i=e(function(e){M.echo(e+n,r)});if(i&&is_function(i.then)){i.then(function(e){if(typeof e==="string"){M.echo(e+n,r)}})}}else{M.echo(e+n,r)}}function w(){if(M.is("body")){return window.innerWidth-document.documentElement.clientWidth>0}return $e.outerWidth()!==M.outerWidth()}function C(e){var t=terminals.get()[e[0]];if(!t){throw new $.terminal.Exception(H().invalidTerminalId)}var n=e[1];if(save_state[n]){t.import_view(save_state[n])}else{change_hash=false;var r=e[2];if(r){t.exec(r).done(function(){change_hash=true;save_state[n]=t.export_view()})}}}function E(){if(change_hash){fire_hash_change=false;location.hash="#"+JSON.stringify(hash_commands);setTimeout(function(){fire_hash_change=true},100)}}var F=true;var x=[];function k(t,e,n){function r(){if(le.historyState||le.execHash&&n){if(!save_state.length){M.save_state()}else{M.save_state(null)}}}function i(){if(!n){change_hash=true;if(le.historyState){M.save_state(t,false)}change_hash=l}s.resolve();if(is_function(le.onAfterCommand)){le.onAfterCommand.call(M,M,t)}}function o(e){if(typeof e!=="undefined"){p(e)}i();M.resume()}function a(){var e=u.interpreter.call(M,t,M);if(e){M.pause(le.softPause);if(is_function(e.done||e.then)){(e.done||e.then).call(e,o)}else{return $.when(e).done(o)}}else if(de){x.push(function(){i()})}else{i()}}if(F){F=false;r()}try{if(is_function(le.onBeforeCommand)){if(le.onBeforeCommand.call(M,M,t)===false){return}}if(!n){W=$.terminal.split_command(t)}if(!L()){if(n&&(is_function(le.historyFilter)&&le.historyFilter(t)||t.match(le.historyFilter))){ve.history().append(t)}}var u=ge.top();if(!e&&le.echoCommand){b(t)}var s=new $.Deferred;var l=change_hash;if(t.match(/^\s*login\s*$/)&&M.token(true)){if(M.level()>1){M.logout(true)}else{M.logout()}i()}else if(le.exit&&t.match(/^\s*exit\s*$/)&&!ie){var f=M.level();if(f===1&&M.get_token()||f>1){if(M.get_token(true)){M.set_token(undefined,true)}M.pop()}i()}else if(le.clear&&t.match(/^\s*clear\s*$/)&&!ie){M.clear();i()}else{var c=a();if(c){return c}}return s.promise()}catch(e){g(e,"USER",n);M.resume();if(n){throw e}}}function A(){if(is_function(le.onBeforeLogout)){try{if(le.onBeforeLogout.call(M,M)===false){return}}catch(e){le.onBeforeLogout=$.noop;g(e,"onBeforeLogout")}}T();if(is_function(le.onAfterLogout)){try{le.onAfterLogout.call(M,M)}catch(e){le.onAfterLogout=$.noop;g(e,"onAfterlogout")}}M.login(Se,true,j)}function T(){var e=M.prefix_name(true)+"_";pe.remove(e+"token");pe.remove(e+"login")}function S(e){var t=M.prefix_name()+"_interpreters";var n=pe.get(t);if(n){n=JSON.parse(n)}else{n=[]}if($.inArray(e,n)===-1){n.push(e);pe.set(t,JSON.stringify(n))}}function R(e){var n=ge.top();var t=M.prefix_name(true);if(!L()){S(t)}var r=M.login_name(true);ve.name(t+(r?"_"+r:""));if(n.prompt!==ve.prompt()){if(is_function(n.prompt)){ve.prompt(function(t){var e=n.prompt.call(M,t,M);if(e&&is_function(e.then)){e.then(function(e){if(typeof e==="string"){t(e)}})}})}else{ve.prompt(n.prompt)}}if(typeof n.history!=="undefined"){M.history().toggle(n.history)}if($.isPlainObject(n.keymap)){ve.keymap($.omap(n.keymap,function(e,t){return function(){var e=[].slice.call(arguments);try{return t.apply(M,e)}catch(e){g(e,"USER KEYMAP")}}}))}ve.set("");ee.resolve();if(!e&&is_function(n.onStart)){n.onStart.call(M,M)}}function B(){if(fire_hash_change&&le.execHash){try{if(location.hash){var e=location.hash.replace(/^#/,"");hash_commands=JSON.parse(decodeURIComponent(e))}else{hash_commands=[]}if(hash_commands.length){C(hash_commands[hash_commands.length-1])}else if(save_state[0]){M.import_view(save_state[0])}}catch(e){g(e,"TERMINAL")}}}function j(){R();i();if(ce.length){M.refresh()}var e=false;if(is_function(le.onInit)){oe=function(){e=true};try{le.onInit.call(M,M)}catch(e){g(e,"OnInit")}finally{oe=$.noop;if(!e&&M.enabled()){M.resume()}}}if(first_instance){first_instance=false;$(window).on("hashchange",B)}}function L(){return ie||ve.mask()!==false}function O(e){var t,n=ge.top();if(is_function(n.keydown)){t=n.keydown.call(M,e,M);if(t!==undefined){return t}}else if(is_function(le.keydown)){t=le.keydown.call(M,e,M);if(t!==undefined){return t}}}var z={"CTRL+D":function(e,t){if(!ie){if(ve.get()===""){if(ge.size()>1||is_function(Se)){M.pop("")}else{M.resume();M.echo("")}}else{t()}}return false},"CTRL+C":function(){if(get_selected_text()===""){var e=M.get_command();var t=M.get_position();e=e.substring(0,t)+"^C"+e.substring(t+2);b(e);M.set_command("")}},"CTRL+L":function(){M.clear()},TAB:function(e,t){var n=ge.top(),r,i;if(typeof n.caseSensitiveAutocomplete!=="undefined"){i=n.caseSensitiveAutocomplete}else{i=le.caseSensitiveAutocomplete}if(le.completion&&get_type(le.completion)!=="boolean"&&n.completion===undefined){r=le.completion}else{r=n.completion}if(r==="settings"){r=le.completion}function o(e){M.complete(e,{echo:true,word:le.wordAutocomplete,escape:le.completionEscape,caseSensitive:i,doubleTab:le.doubleTab})}if(r){switch(get_type(r)){case"function":var a=M.before_cursor(le.wordAutocomplete);if(r.length===3){var u=new Error(H().comletionParameters);g(u,"USER");return false}var s=r.call(M,a,o);if(s&&is_function(s.then)){s.then(o)}break;case"array":o(r);break;default:throw new $.terminal.Exception(H().invalidCompletion)}}else{t()}return false},"CTRL+V":function(e,t){t(e);M.oneTime(200,function(){M.scroll_to_bottom()});return true},"CTRL+TAB":function(){if(terminals.length()>1){M.focus(false);return false}},PAGEDOWN:function(){M.scroll(M.height())},PAGEUP:function(){M.scroll(-M.height())}};function I(t){var e,n;if(M.enabled()){if(!M.paused()){e=O(t);if(e!==undefined){return e}if(t.which!==9){K=0}}else{if(!le.pauseEvents){e=O(t);if(e!==undefined){return e}}if(t.which===68&&t.ctrlKey){if(le.pauseEvents){e=O(t);if(e!==undefined){return e}}if(requests.length){for(n=requests.length;n--;){var r=requests[n];if(r.readyState!==4){try{r.abort()}catch(e){if(is_function(le.exceptionHandler)){le.exceptionHandler.call(M,t,"AJAX ABORT")}else{M.error(H().ajaxAbortError)}}}}requests=[]}M.resume()}return false}}}function P(e){var t=ge.top();if(me&&(!de||!le.pauseEvents)){if(is_function(t.keypress)){return t.keypress.call(M,e,M)}else if(is_function(le.keypress)){return le.keypress.call(M,e,M)}}}function N(t){return function(e){t.add(e)}}function H(){return $.extend({},$.terminal.defaults.strings,le&&le.strings||{})}var M=this;if(this.length>1){return this.each(function(){$.fn.terminal.call($(this),e,$.extend({name:M.selector},t))})}if(M.data("terminal")){return M.data("terminal")}if(M.length===0){var U=sprintf(H().invalidSelector);throw new $.terminal.Exception(U)}var q;var W;var K=0;var J;var Q=terminals.length();var Y;var G;var V;var X=new Stack;var Z=new DelayQueue;var ee=new DelayQueue;var te=N(ee);var ne=get_char_size(M);var re=N(Z);var ie=false;var oe=$.noop;var ae,ue;var se=[];var le=$.extend({},$.terminal.defaults,{name:M.selector,exit:!!(t&&t.login||!t)},t||{});delete le.formatters;var fe=false;var ce=[];var pe=new n(le.memory);var me=le.enabled;var De=false;var de=false;var he=true;var ge;var ve;var _e;var ye;var be;$.extend(M,$.omap({id:function(){return Q},clear:function(){J.html("");ce=[];try{le.onClear.call(M,M)}catch(e){g(e,"onClear")}M.attr({scrollTop:0});return M},export_view:function(){var e={};if(is_function(le.onExport)){try{e=le.onExport.call(M)}catch(e){g(e,"onExport")}}return $.extend({},{focus:me,mask:ve.mask(),prompt:M.get_prompt(),command:M.get_command(),position:ve.position(),lines:clone(ce),interpreters:ge.clone(),history:ve.history().data},e)},import_view:function(t){if(ie){throw new Error(sprintf(H().notWhileLogin,"import_view"))}if(is_function(le.onImport)){try{le.onImport.call(M,t)}catch(e){le.onImport=$.noop;g(e,"onImport")}}te(function e(){M.set_prompt(t.prompt);M.set_command(t.command);ve.position(t.position);ve.mask(t.mask);if(t.focus){M.focus()}ce=clone(t.lines).filter(function(e){return e[0]});if(t.interpreters instanceof Stack){ge=t.interpreters}if(le.importHistory){ve.history().set(t.history)}r()});return M},save_state:function(e,t,n){if(typeof n!=="undefined"){save_state[n]=M.export_view()}else{save_state.push(M.export_view())}if(!$.isArray(hash_commands)){hash_commands=[]}if(e!==undefined&&!t){var r=[Q,save_state.length-1,e];hash_commands.push(r);E()}return M},exec:function(n,r,e){var i=e||new $.Deferred;re(function e(){if($.isArray(n)){(function e(){var t=n.shift();if(t){M.exec(t,r).done(e)}else{i.resolve()}})()}else if(de){se.push([n,r,i])}else{var t=k(n,r,true);if(t&&(t.done||t.then)){(t.done||t.then).call(t,function(){i.resolve(M)})}}});return i.promise()},autologin:function(e,t,n){M.trigger("terminal.autologin",[e,t,n]);return M},login:function(r,i,o,a){X.push([].slice.call(arguments));if(ie){throw new Error(sprintf(H().notWhileLogin,"login"))}if(!is_function(r)){throw new Error(H().loginIsNotAFunction)}ie=true;if(M.token()&&M.level()===1&&!he){ie=false;M.logout(true)}else if(M.token(true)&&M.login_name(true)){ie=false;if(is_function(o)){o()}return M}if(le.history){ve.history().disable()}var u=M.level();function s(e,t,n){if(t){while(M.level()>u){M.pop(undefined,true)}if(le.history){ve.history().enable()}var r=M.prefix_name(true)+"_";pe.set(r+"token",t);pe.set(r+"login",e);ie=false;if(is_function(o)){o()}}else{if(i){if(!n){M.error(H().wrongPasswordTryAgain)}M.pop(undefined,true).set_mask(false)}else{ie=false;if(!n){M.error(H().wrongPassword)}M.pop(undefined,true).pop(undefined,true)}if(is_function(a)){a()}}M.off("terminal.autologin")}M.on("terminal.autologin",function(e,t,n,r){s(t,n,r)});M.push(function(n){M.set_mask(le.maskChar).push(function(e){try{var t=r.call(M,n,e,function(e,t){s(n,e,t)});if(t&&is_function(t.then)){M.pause();t.then(function(e){s(n,e);M.resume()})}}catch(e){g(e,"AUTH")}},{prompt:H().password+": ",name:"password"})},{prompt:H().login+": ",name:"login"});return M},settings:function(){return le},before_cursor:function(e){var t=ve.position();var n=ve.get().substring(0,t);var r=n.split(" ");var i;if(e){if(r.length===1){i=r[0]}else{var o=n.match(/(\\?")/g);var a=o?o.filter(function(e){return!e.match(/^\\/)}).length:0;o=n.match(/'/g);var u=o?o.length:0;if(u%2===1){i=n.match(/('[^']*)$/)[0]}else if(a%2===1){i=n.match(/("(?:[^"]|\\")*)$/)[0]}else{i=r[r.length-1];for(Ae=r.length-1;Ae>0;Ae--){var s=r[Ae-1];if(s[s.length-1]==="\\"){i=r[Ae-1]+" "+i}else{break}}}}}else{i=n}return i},complete:function(r,i){i=$.extend({word:true,echo:false,escape:true,caseSensitive:true,doubleTab:null},i||{});var o=i.caseSensitive;var a=M.before_cursor(i.word).replace(/\\"/g,'"');var s=false;if(i.word){if(a.match(/^"/)){s='"'}else if(a.match(/^'/)){s="'"}if(s){a=a.replace(/^["']/,"")}}r=r.slice();if(le.clear&&$.inArray("clear",r)===-1){r.push("clear")}if(le.exit&&$.inArray("exit",r)===-1){r.push("exit")}if(K%2===0){V=M.before_cursor(i.word)}else{var e=M.before_cursor(i.word);if(e!==V){return}}var t=$.terminal.escape_regex(a);if(i.escape){t=t.replace(/(\\+)(["'() ])/g,function(e,t,n){if(n.match(/[()]/)){return t+"\\?\\"+n}else{return t+"?"+n}})}function n(){var e=[];for(var t=r.length;t--;){if(l.test(r[t])){var n=r[t];if(s==='"'){n=n.replace(/"/g,'\\"')}if(!s&&i.escape){n=n.replace(/(["'() ])/g,"\\$1")}if(!o&&same_case(n)){if(a.toLowerCase()===a){n=n.toLowerCase()}else if(a.toUpperCase()===a){n=n.toUpperCase()}}e.push(n)}}return e}var u=o?"":"i";var l=new RegExp("^"+t,u);var f=n();function c(e,t){var n=M.get_command();var r=M.get_position();var i=new RegExp("^"+e,"i");var o=n.substring(0,r);var a=n.substring(r);var u=t.replace(i,"")+(s||"");M.set_command(o+u+a);M.set_position((o+u).length)}if(f.length===1){if(i.escape){c(t,f[0])}else{M.insert(f[0].replace(l,"")+(s||""))}V=M.before_cursor(i.word);return true}else if(f.length>1){if(++K>=2){K=0;if(i.echo){if(is_function(i.doubleTab)){var p=i.doubleTab.call(M,a,f,b);if(typeof p==="undefined"){return true}else{return p}}else if(i.doubleTab!==false){b();var m=f.reverse().join("\t");M.echo($.terminal.escape_brackets(m),{keepWords:true,formatters:false})}return true}}else{var D=common_string(a,f,o);if(D){c(a,D);V=M.before_cursor(i.word);return true}}}},commands:function(){return ge.top().interpreter},set_interpreter:function(e,t){function n(){M.pause(le.softPause);s(e,t,function(e){M.resume();var t=ge.top();$.extend(t,e);R(true)})}if(is_function(t)){M.login(t,true,n)}else if(get_type(e)==="string"&&t){M.login(l(e,t),true,n)}else{n()}return M},greetings:function(){i();return M},paused:function(){return de},pause:function(t){re(function e(){oe();de=true;ve.disable(t||is_android);if(!t){ve.find(".prompt").hidden()}if(is_function(le.onPause)){le.onPause.call(M)}});return M},resume:function(){re(function e(){de=false;if(me&&terminals.front()===M){ve.enable(true)}ve.find(".prompt").visible();var t=se;se=[];for(var n=0;n<t.length;++n){M.exec.apply(M,t[n])}M.trigger("resume");var r=x.shift();if(r){r()}M.scroll_to_bottom();if(is_function(le.onResume)){le.onResume.call(M)}});return M},cols:function(){if(le.numChars){return le.numChars}if(typeof Y==="undefined"||Y===1e3){Y=get_num_chars(M,ne)}return Y},rows:function(){if(le.numRows){return le.numRows}if(typeof G==="undefined"){G=get_num_rows(M,ne)}return G},history:function(){return ve.history()},history_state:function(e){function t(){le.historyState=true;if(!save_state.length){M.save_state()}else if(terminals.length()>1){M.save_state(null)}}if(e){if(typeof window.setImmediate==="undefined"){setTimeout(t,0)}else{setImmediate(t)}}else{le.historyState=false}return M},clear_history_state:function(){hash_commands=[];save_state=[];return M},next:function(){if(terminals.length()===1){return M}else{terminals.front().disable();var e=terminals.rotate().enable();var t=e.offset().top-50;$("html,body").animate({scrollTop:t},500);try{trigger_terminal_change(e)}catch(e){g(e,"onTerminalChange")}return e}},focus:function(n,r){re(function e(){if(terminals.length()===1){if(n===false){M.disable(r)}else{M.enable(r)}}else if(n===false){M.next()}else{var t=terminals.front();if(t!==M){terminals.forEach(function(e){if(e!==M&&e.enabled()){e.disable(r)}});if(!r){try{trigger_terminal_change(M)}catch(e){g(e,"onTerminalChange")}}}terminals.set(M);M.enable(r)}});return M},freeze:function(t){te(function e(){if(t){M.disable();De=true}else{De=false;M.enable()}});return M},frozen:function(){return De},enable:function(n){if(!me&&!De){if(Y===undefined){M.resize()}re(function e(){var t;if(!n&&!me){try{t=le.onFocus.call(M,M)}catch(e){le.onFocus=$.noop;g(e,"onFocus")}}if(!n&&t===undefined||n){me=true;if(!M.paused()){ve.enable(true)}}})}return M},disable:function(n){re(function e(){var t;if(!n&&me){try{t=le.onBlur.call(M,M)}catch(e){le.onBlur=$.noop;g(e,"onBlur")}}if(!n&&t===undefined||n){me=false;ve.disable()}});return M},enabled:function(){return me},signature:function(){var e=M.cols();for(var t=signatures.length;t--;){var n=signatures[t].map(function(e){return e.length});if(Math.max.apply(null,n)<=e){return signatures[t].join("\n")+"\n"}}return""},version:function(){return $.terminal.version},cmd:function(){return ve},get_command:function(){return ve.get()},set_command:function(t,n){te(function e(){if(typeof t!=="string"){t=JSON.stringify(t)}ve.set(t,undefined,n)});return M},set_position:function(t,n){te(function e(){ve.position(t,n)});return M},get_position:function(){return ve.position()},insert:function(n,r){if(typeof n==="string"){te(function e(){var t=M.is_bottom();ve.insert(n,r);if(le.scrollOnEcho||t){M.scroll_to_bottom()}});return M}else{throw new Error(sprintf(H().notAString,"insert"))}},set_prompt:function(t){te(function e(){if(is_function(t)){ve.prompt(function(e){t.call(M,e,M)})}else{ve.prompt(t)}ge.top().prompt=t});return M},get_prompt:function(){return ge.top().prompt},set_mask:function(t){te(function e(){ve.mask(t===true?le.maskChar:t)});return M},get_output:function(e){if(e){return ce}else{return $.map(ce,function(e){return is_function(e[0])?e[0]():e[0]}).join("\n")}},resize:function(e,t){if(!M.is(":visible")){M.stopTime("resize");M.oneTime(500,"resize",function(){M.resize(e,t)})}else{if(e&&t){M.width(e);M.height(t)}e=M.width();t=M.height();if(typeof le.numChars!=="undefined"||typeof le.numRows!=="undefined"){ve.resize(le.numChars);M.refresh();return}var n=get_num_chars(M,ne);var r=get_num_rows(M,ne);if(n!==Y||r!==G){Y=n;G=r;ve.resize(Y);M.refresh();var i=ge.top();if(is_function(i.resize)){i.resize.call(M,M)}else if(is_function(le.onResize)){le.onResize.call(M,M)}}}return M},refresh:function(){if(ne.width!==0){M[0].style.setProperty("--char-width",ne.width)}r({scroll:false,update:true});return M},flush:function(i){i=$.extend({},{update:false,scroll:true},i||{});try{var e=M.is_bottom();var o;$.each(v,function(e,t){if(t===_){o=$("<div></div>")}else if($.isPlainObject(t)&&is_function(t.finalize)){if(i.update){var n="> div[data-index="+t.index+"]";var r=J.find(n);if(r.html()!==o.html()){r.replaceWith(o)}}else{o.appendTo(J)}t.finalize(o.attr("data-index",t.index))}else{$("<div/>").html(t).appendTo(o).width("100%")}});y();try{le.onFlush.call(M,M)}catch(e){le.onFlush=$.noop;g(e,"onFlush")}if(le.scrollOnEcho&&i.scroll||e){M.scroll_to_bottom()}v=[]}catch(e){if(is_function(le.exceptionHandler)){le.exceptionHandler.call(M,e,"TERMINAL (Flush)")}else{alert_exception("[Flush]",e)}}return M},update:function(t,n,r){te(function e(){if(t<0){t=ce.length+t}if(!ce[t]){M.error("Invalid line number "+t)}else if(n===null){ce.splice(t,1);J.find("[data-index="+t+"]").remove()}else{ce[t][0]=n;if(r){ce[t][1]=r}o({string:n,index:t,options:r});M.flush({scroll:false,update:true})}});return M},remove_line:function(e){return M.update(e,null)},last_index:function(){return ce.length-1},echo:function(e,t){function n(e){try{var n=$.extend({flush:true,raw:le.raw,finalize:$.noop,keepWords:false,formatters:true},t||{});(function(t){n.finalize=function(e){if(n.raw){e.addClass("raw")}try{if(is_function(t)){t(e)}}catch(e){g(e,"USER:echo(finalize)");t=null}}})(n.finalize);if(n.flush){if(v.length){M.flush()}v=[]}if(typeof e==="function"){e=e.bind(M)}o({string:e,options:n,index:ce.length});ce.push([e,$.extend(n,{exec:false})]);if(n.flush){M.flush()}}catch(e){if(is_function(le.exceptionHandler)){le.exceptionHandler.call(M,e,"TERMINAL (echo)")}else{alert_exception("[Terminal.echo]",e)}}}if(e!==undefined&&is_function(e.then)){$.when(e).done(n)}else{n(e)}return M},error:function(e,t){t=$.extend({},t,{raw:false,formatters:false});function n(e){if(typeof e!=="string"){e=String(e)}var t=$.terminal.escape_brackets(e).replace(/\\$/,"&#92;").replace(url_re,"]$1[[;;;error]");return"[[;;;error]"+t+"]"}if(typeof e==="function"){return M.echo(function(){return n(e.call(M))},t)}if(e&&e.then){e.then(function(e){M.echo(n(e))});return M}return M.echo(n(e),t)},exception:function(r,e){var t=exception_message(r);if(e){t="&#91;"+e+"&#93;: "+t}if(t){M.error(t,{finalize:function(e){e.addClass("exception message")},keepWords:true})}if(typeof r.fileName==="string"){M.pause(le.softPause);$.get(r.fileName,function(e){var t=r.lineNumber-1;var n=e.split("\n")[t];if(n){M.error("["+r.lineNumber+"]: "+n)}M.resume()},"text")}if(r.stack){var n=$.terminal.escape_brackets(r.stack);M.echo(n.split(/\n/g).map(function(e){return"[[;;;error]"+e.replace(url_re,function(e){return"]"+e+"[[;;;error]"})+"]"}).join("\n"),{finalize:function(e){e.addClass("exception stack-trace")},formatters:false})}return M},scroll:function(e){var t;e=Math.round(e);if(q.prop){if(e>q.prop("scrollTop")&&e>0){q.prop("scrollTop",0)}t=q.prop("scrollTop");q.scrollTop(t+e)}else{if(e>q.attr("scrollTop")&&e>0){q.attr("scrollTop",0)}t=q.attr("scrollTop");q.scrollTop(t+e)}return M},logout:function(n){if(ie){throw new Error(sprintf(H().notWhileLogin,"logout"))}te(function e(){if(n){var t=X.pop();M.set_token(undefined,true);M.login.apply(M,t)}else if(ge.size()===1&&M.token()){M.logout(true)}else{while(ge.size()>1){if(M.token()){M.logout(true).pop().pop()}else{M.pop()}}}});return M},token:function(e){return pe.get(M.prefix_name(e)+"_token")},set_token:function(e,t){var n=M.prefix_name(t)+"_token";if(typeof e==="undefined"){pe.remove(n)}else{pe.set(n,e)}return M},get_token:function(e){return M.token(e)},login_name:function(e){return pe.get(M.prefix_name(e)+"_login")},name:function(){return ge.top().name},prefix_name:function(e){var t=(le.name?le.name+"_":"")+Q;if(e&&ge.size()>1){var n=ge.map(function(e){return e.name||""}).slice(1).join("_");if(n){t+="_"+n}}return t},read:function(e,t,n){var r=jQuery.Deferred();var i=false;M.push(function(e){i=true;r.resolve(e);if(is_function(t)){t(e)}M.pop();if(le.history){ve.history().enable()}},{name:"read",history:false,prompt:e||"",onExit:function(){if(!i){r.reject();if(is_function(n)){n()}}}});if(le.history){ve.history().disable()}return r.promise()},push:function(a,u){re(function e(){u=u||{};var t={infiniteLogin:false};var r=$.extend({},t,u);if(!r.name&&W){r.name=W.name}if(r.prompt===undefined){r.prompt=(r.name||">")+" "}var n=ge.top();if(n){n.mask=ve.mask()}var i=de;function o(){le.onPush.call(M,n,ge.top(),M);R()}s(a,u.login,function(e){ge.push($.extend({},e,r));if(r.completion===true){if($.isArray(e.completion)){ge.top().completion=e.completion}else if(!e.completion){ge.top().completion=false}}if(r.login){var t;var n=get_type(r.login);if(n==="function"){t=r.infiniteLogin?$.noop:M.pop;M.login(r.login,r.infiniteLogin,o,t)}else if(get_type(a)==="string"&&n==="string"||n==="boolean"){t=r.infiniteLogin?$.noop:M.pop;M.login(l(a,r.login),r.infiniteLogin,o,t)}}else{o()}if(!i&&M.enabled()){M.resume()}})});return M},pop:function(e,t){if(e!==undefined){b(e)}var n=M.token(true);var r;if(ge.size()===1){r=ge.top();if(le.login){if(!t){le.onPop.call(M,r,null,M)}A();if(is_function(le.onExit)){try{le.onExit.call(M,M)}catch(e){le.onExit=$.noop;g(e,"onExit")}}}else{M.error(H().canExitError)}}else{if(n){T()}var i=ge.pop();r=ge.top();R();if(!t){le.onPop.call(M,i,r)}if(ie&&M.get_prompt()!==H().login+": "){ie=false}if(is_function(i.onExit)){try{i.onExit.call(M,M)}catch(e){i.onExit=$.noop;g(e,"onExit")}}M.set_mask(r.mask)}return M},option:function(e,t){if(typeof t==="undefined"){if(typeof e==="string"){return le[e]}else if(typeof e==="object"){$.each(e,function(e,t){le[e]=t})}}else{le[e]=t;if(e.match(/^num(Chars|Rows)$/)){r()}}return M},invoke_key:function(e){var t=e.toUpperCase().split("+");var n=t.pop();var r=t.indexOf("CTRL")!==-1;var i=t.indexOf("SHIFT")!==-1;var o=t.indexOf("ALT")!==-1;var a=t.indexOf("META")!==-1;var u=$.Event("keydown",{ctrlKey:r,shiftKey:i,altKey:o,metaKey:a,which:Ee[n],key:n});var s=$(document.documentElement||window);s.trigger(u);u=$.Event("keypress");u.key=n;u.which=u.keyCode=0;s.trigger(u);return M},keymap:function(e,n){if(arguments.length===0){return ve.keymap()}if(typeof n==="undefined"){if(typeof e==="string"){return ve.keymap(e)}else if($.isPlainObject(e)){e=$.omap(e||{},function(n,r){if(!Le[n]){return r.bind(M)}return function(e,t){return r.call(M,e,function(){return Le[n](e,t)})}});ve.keymap(e)}}else if(typeof n==="function"){var r=e;if(!Le[r]){ve.keymap(r,n.bind(M))}else{ve.keymap(r,function(e,t){return n.call(M,e,function(){return Le[r](e,t)})})}}},level:function(){return ge.size()},reset:function(){te(function e(){M.clear();while(ge.size()>1){ge.pop()}j()});return M},purge:function(){te(function e(){var t=M.prefix_name()+"_";var n=pe.get(t+"interpreters");if(n){$.each(JSON.parse(n),function(e,t){pe.remove(t+"_commands");pe.remove(t+"_token");pe.remove(t+"_login")})}ve.purge();pe.remove(t+"interpreters")});return M},destroy:function(){te(function e(){ve.destroy().remove();J.remove();Fe.remove();$(document).unbind(".terminal_"+M.id());$(window).unbind(".terminal_"+M.id());M.unbind("click wheel mousewheel mousedown mouseup");M.removeData("terminal").removeClass("terminal").unbind(".terminal");if(le.width){M.css("width","")}if(le.height){M.css("height","")}$(window).off("blur",Be).off("focus",Re);M.find(".terminal-fill").remove();M.stopTime();terminals.remove(Q);if(ye){if(ye.unobserve){ye.unobserve(M[0])}else{clearInterval(ye)}}if(be){be.disconnect()}M.resizer("unbind");xe.resizer("unbind").remove();if(!terminals.length()){$(window).off("hashchange")}fe=true});return M},scroll_to_bottom:function(){var e;if(q.prop){e=q.prop("scrollHeight")}else{e=q.attr("scrollHeight")}q.scrollTop(e);return M},is_bottom:function(){if(le.scrollBottomOffset===-1){return false}else{var e,t,n;if(M.is("body")){e=$(document).height();t=$(window).scrollTop();n=window.innerHeight}else{e=q[0].scrollHeight;t=q.scrollTop();n=q.outerHeight()}var r=e-le.scrollBottomOffset;return t+n>r}}},function(t,e){return function(){if(fe){if(!le.exceptionHandler){throw new $.terminal.Exception(H().defunctTerminal)}}try{return e.apply(M,[].slice.apply(arguments))}catch(e){if(t!=="exec"&&t!=="resume"){g(e,e.type||"TERMINAL",true)}if(!le.exceptionHandler){throw e}}}}));var we={3:"Cancel",6:"Help",8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",28:"Convert",29:"NonConvert",30:"Accept",31:"ModeChange",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",41:"Select",42:"Print",43:"Execute",44:"PrintScreen",45:"Insert",46:"Delete",48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],91:"OS",93:"ContextMenu",144:"NumLock",145:"ScrollLock",181:"VolumeMute",182:"VolumeDown",183:"VolumeUp",186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"'],224:"Meta",225:"AltGraph",246:"Attn",247:"CrSel",248:"ExSel",249:"EraseEof",250:"Play",251:"ZoomOut"};for(Ae=1;Ae<25;Ae++){we[111+Ae]="F"+Ae}var Ce="";for(Ae=65;Ae<91;Ae++){Ce=String.fromCharCode(Ae);we[Ae]=[Ce.toLowerCase(),Ce.toUpperCase()]}var Ee={};Object.keys(we).forEach(function(t){if(we[t]instanceof Array){we[t].forEach(function(e){Ee[e.toUpperCase()]=t})}else{Ee[we[t].toUpperCase()]=t}});if(le.ignoreSystemDescribe===true){le.describe=false}if(le.width){M.width(le.width)}if(le.height){M.height(le.height)}if(le.scrollObject!==null){q=$(le.scrollObject)}else{q=M}if(q.is("body")&&!is_safari){q=$("html,body")}$(document).bind("ajaxSend.terminal_"+M.id(),function(e,t){requests.push(t)});var Fe=$('<div class="terminal-wrapper"/>').appendTo(M);var xe=$('<div class="font">&nbsp;</div>').appendTo(M);var $e=$('<div class="terminal-fill"/>').appendTo(M);J=$("<div>").addClass("terminal-output").attr("role","log").appendTo(Fe);M.addClass("terminal");if(le.login&&is_function(le.onBeforeLogin)){try{if(le.onBeforeLogin.call(M,M)===false){he=false}}catch(e){le.onBeforeLogin=$.noop;g(e,"onBeforeLogin")}}var ke;if(typeof e==="string"){ke=e}else if(e instanceof Array){for(var Ae=0,Te=e.length;Ae<Te;++Ae){if(typeof e[Ae]==="string"){ke=e[Ae];break}}}var Se;if(is_function(le.login)){Se=le.login}else if(ke&&(typeof le.login==="string"||le.login===true)){Se=l(ke,le.login)}terminals.append(M);function Re(){if(_e){M.focus()}}function Be(){_e=me;M.disable().find(".cmd textarea").trigger("blur",[true])}function je(e){e=e.originalEvent;function t(e,t){return e.type.indexOf(t)!==-1}if(e.clipboardData){if(M.enabled()){var n=e.clipboardData.items;if(n){for(var r=0;r<n.length;r++){if(t(n[r],"image")&&le.pasteImage){var i=n[r].getAsFile();var o=window.URL||window.webkitURL;var a=o.createObjectURL(i);M.echo('<img src="'+a+'"/>',{raw:true})}else if(t(n[r],"text/plain")){n[r].getAsString(M.insert)}}}else if(e.clipboardData.getData){var u=e.clipboardData.getData("text/plain");M.insert(u)}return false}}}$(document).on("paste.terminal_"+M.id(),je);var Le=$.extend({},z,$.omap(le.keymap||{},function(n,r){if(!z[n]){return r.bind(M)}return function(e,t){return r.call(M,e,function(){return z[n](e,t)})}}));s(e,le.login,function(e){if(le.completion&&typeof le.completion!=="boolean"||!le.completion){e.completion="settings"}ge=new Stack($.extend({},le.extra,{name:le.name,prompt:le.prompt,keypress:le.keypress,keydown:le.keydown,resize:le.onResize,greetings:le.greetings,mousewheel:le.mousewheel,history:le.history,keymap:Le},e));ve=$("<div/>").appendTo(Fe).cmd({prompt:le.prompt,history:le.memory?"memory":le.history,historyFilter:le.historyFilter,historySize:le.historySize,caseSensitiveSearch:le.caseSensitiveSearch,width:"100%",enabled:false,char_width:ne.width,keydown:I,keymap:Le,clickTimeout:le.clickTimeout,holdTimeout:le.holdTimeout,holdRepeatTimeout:le.holdRepeatTimeout,keypress:P,tabs:le.tabs,onCommandChange:function(e){if(is_function(le.onCommandChange)){try{le.onCommandChange.call(M,e,M)}catch(e){le.onCommandChange=$.noop;g(e,"onCommandChange")}}M.scroll_to_bottom()},commands:k});function t(e){e=e.originalEvent;if(e){var t=document.elementFromPoint(e.clientX,e.clientY);if(!$(t).closest(".terminal").length&&M.enabled()){M.disable()}}}M.oneTime(100,function(){$(document).bind("click.terminal_"+M.id(),t).bind("contextmenu.terminal_"+M.id(),t)});var n=$(window);document.addEventListener("resume",function(){M.disable()});if(is_mobile){M.click(function(){if(!De){if(!M.enabled()){M.focus();ve.enable()}else{M.disable()}}})}else{n.on("focus.terminal_"+M.id(),Re).on("blur.terminal_"+M.id(),Be);(function(){var t=0;var n;var r="click_"+M.id();var i=M.find(".cmd textarea");function o(){if(n.is(".terminal")||n.is(".terminal-wrapper")){var e=M.get_command().length;M.set_position(e)}else if(n.closest(".prompt").length){M.set_position(0)}if(!i.is(":focus")){i.focus()}a()}function a(){t=0;n=null}var e;M.find(".cmd textarea").on("focus",function(){if(typeof e!=="undefined"){q.scrollTop(e)}}).on("blur",function(){e=q.scrollTop()});M.mousedown(function(e){if(!scrollbar_event(e,$e)){n=$(e.target)}}).mouseup(function(){if(get_selected_text()===""&&n){if(++t===1){if(!De){if(!me){M.focus()}else{var e=le.clickTimeout;M.oneTime(e,r,o);return}}}else{M.stopTime(r)}}a()}).dblclick(function(){a();M.stopTime(r)})})();(function(){var n=M.find(".cmd textarea");M.on("contextmenu.terminal",function(e){if(get_selected_text()===""){if(!$(e.target).is("img,value,audio,object,canvas,a")){if(!M.enabled()){M.enable()}var t=ve.offset();n.css({left:e.pageX-t.left-20,top:e.pageY-t.top-20,width:"5em",height:"4em"});if(!n.is(":focus")){n.focus()}M.stopTime("textarea");M.oneTime(100,"textarea",function(){n.css({left:"",top:"",width:"",height:""})});M.stopTime("selection");M.everyTime(20,"selection",function(){if(n[0].selection!==n[0].value){if(get_textarea_selection(n[0])){clear_textarea_selection(n[0]);select(M.find(".terminal-output")[0],M.find(".cmd div:last-of-type")[0]);M.stopTime("selection")}}})}}})})()}M.on("click","a",function(e){var t=$(this);if(t.closest(".exception").length){var n=t.attr("href");if(n.match(/:[0-9]+$/)){e.preventDefault();c(n)}}if(me){M.find(".cmd textarea").focus()}});function r(){var e=ne.width;ne=get_char_size(M);if(e!==ne.width){ve.option("char_width",ne.width).refresh()}}i();function i(){if(M.is(":visible")){var e=$e.width();var t=$e.height();if(ue!==t||ae!==e){M.resize()}ue=t;ae=e}}function o(){M.resizer("unbind").resizer(i);xe.resizer("unbind").resizer(function(){r();M.resize()})}if(M.is(":visible")){o()}function a(){if(ye){if(ye.unobserve){ye.unobserve(M[0])}else{clearInterval(ye)}}var e=M.enabled();var t=M.is(":visible");if(t){o()}function n(){if(M.is(":visible")&&!t){t=true;o();r();i();if(e){M.enable()}}else if(t&&!M.is(":visible")){t=false;e=$.terminal.active()===M&&M.enabled();M.disable()}}if(window.IntersectionObserver){ye=new IntersectionObserver(n,{root:document.body});ye.observe(M[0])}else{ye=setInterval(n,400)}}var u=!!M.closest("body").length;var s=window.MutationObserver||window.WebKitMutationObserver;if(s){be=new s(function(){if(M.closest("body").length){if(!u){M.scroll_to_bottom();if(window.IntersectionObserver){a()}i()}u=true}else if(u){u=false}});be.observe(document.body,{childList:true})}if(u){a()}Z.resolve();if(me&&M.is(":visible")&&!is_mobile){M.focus(undefined,true)}else{M.disable()}if(is_function(Se)){M.login(Se,true,j)}else{j()}function l(e){var t=terminals.get()[e[0]];if(t&&Q===t.id()){if(!e[2]){n.resolve();return n.promise()}else if(de){var n=$.Deferred();x.push(function(){return t.exec(e[2]).done(function(){t.save_state(e[2],true,e[1]);n.resolve()})});return n.promise()}else{return t.exec(e[2]).done(function(){t.save_state(e[2],true,e[1])})}}}if(le.execHash){if(location.hash){setTimeout(function(){try{var e=location.hash.replace(/^#/,"");hash_commands=JSON.parse(decodeURIComponent(e));var n=0;(function e(){var t=hash_commands[n++];if(t){l(t).done(e)}else{change_hash=true}})()}catch(e){}})}else{change_hash=true}}else{change_hash=true}(function(){var i=false;$(document).bind("keydown.terminal_"+M.id(),function(e){if(e.shiftKey){i=true}}).bind("keyup.terminal_"+M.id(),function(e){if(e.shiftKey||e.which===16){i=false}});function n(e,t){if(!i){var n=ge.top();var r;if(is_function(n.mousewheel)){r=n.mousewheel(e,t,M)}else if(is_function(le.mousewheel)){r=le.mousewheel(e,t,M)}if(w()||r===false){e.stopPropagation();e.preventDefault()}if(r===false){return false}else if(r===true){return}if(t>0){M.scroll(-40)}else{M.scroll(40)}}}if($.event.special.mousewheel){M.on("mousewheel",n)}else{var r;var e=document.createElement("div");if("onwheel"in e){r="wheel"}else if(document.onmousewheel!==undefined){r="mousewheel"}else{r="DOMMouseScroll"}e=null;M.on(r,function(e){var t;if(r==="mousewheel"){t=-1/40*e.originalEvent.wheelDelta}else{t=e.originalEvent.deltaY||e.originalEvent.detail}n(e,-t)})}})()});M.data("terminal",M);return M}});
//# sourceMappingURL=jquery.terminal.min.js.map