window.chesscom=window.chesscom||{};window.chesscom.routes=window.chesscom.routes||{};Object.assign(window.chesscom.routes,{web_bff_oauth_token:{tokens:[["text","/bff-token"]],defaults:{host:"www.chess.com"},requirements:{host:"(www|schach|ru|uk|ajedrez|fr|scacchi|sakk|schaken|szachy)?(\\.)?[^\\s]+",_locale:"af_ZA|ar_AR|az_AZ|be_BY|bg_BG|bn_BD|bs_BA|ca|cs_CZ|da_DK|de_DE|el_GR|en_US|es_ES|et_EE|eu_ES|fa_IR|fi_FI|fil_PH|fr_FR|gl_ES|he_IL|hi_IN|hr_HR|hu_HU|hy_AM|id_ID|is_IS|it_IT|ja_JP|ka_GE|ko_KR|lt_LT|lv_LV|nl_BE|ms_MY|nl_NL|no_NO|pl_PL|pt_BR|pt_PT|ro_RO|ru_RU|sk_SK|sl_SI|sq_AL|sr_RS|sv_SE|tk_TM|tr_TR|uk_UA|ur_PK|vi_VN|zh_CN|zh_HK|zh_TW"},hosttokens:[["variable","","(?:www|schach|ru|uk|ajedrez|fr|scacchi|sakk|schaken|szachy)?(?:\\.)?[^\\s]+","host",!0]],methods:["POST"],schemes:["https"]},web_analysis_board_editor:{tokens:[["text","/analysis"]],defaults:{host:"www.chess.com"},requirements:{host:"(www|schach|ru|uk|ajedrez|fr|scacchi|sakk|schaken|szachy)?(\\.)?[^\\s]+",_locale:"af_ZA|ar_AR|az_AZ|be_BY|bg_BG|bn_BD|bs_BA|ca|cs_CZ|da_DK|de_DE|el_GR|en_US|es_ES|et_EE|eu_ES|fa_IR|fi_FI|fil_PH|fr_FR|gl_ES|he_IL|hi_IN|hr_HR|hu_HU|hy_AM|id_ID|is_IS|it_IT|ja_JP|ka_GE|ko_KR|lt_LT|lv_LV|nl_BE|ms_MY|nl_NL|no_NO|pl_PL|pt_BR|pt_PT|ro_RO|ru_RU|sk_SK|sl_SI|sq_AL|sr_RS|sv_SE|tk_TM|tr_TR|uk_UA|ur_PK|vi_VN|zh_CN|zh_HK|zh_TW"},hosttokens:[["variable","","(?:www|schach|ru|uk|ajedrez|fr|scacchi|sakk|schaken|szachy)?(?:\\.)?[^\\s]+","host",!0]],methods:[],schemes:["https"]},i18n_web_analysis_board_editor:{tokens:[["text","/analysis"],["variable","/","es|fr|de|pl|ru|sv|el|pt|it|zh|ja|ko|nl|hy|bg|hr|cs|da|fi|hu|lt|no|ro|sk|sl|tr|uk|af|ar|az|be|bs|et|fa|gl|he|hi|id|is|ka|lv|ms|pt-BR|sq|sr|vi|zh-HK|zh-TW|fil|nl-BE|bn|tk|uz|ca|ur|--locale--","_locale",!0]],defaults:{host:"www.chess.com",_locale:""},requirements:{host:"(www|schach|ru|uk|ajedrez|fr|scacchi|sakk|schaken|szachy)?(\\.)?[^\\s]+",_locale:"es|fr|de|pl|ru|sv|el|pt|it|zh|ja|ko|nl|hy|bg|hr|cs|da|fi|hu|lt|no|ro|sk|sl|tr|uk|af|ar|az|be|bs|et|fa|gl|he|hi|id|is|ka|lv|ms|pt-BR|sq|sr|vi|zh-HK|zh-TW|fil|nl-BE|bn|tk|uz|ca|ur|--locale--"},hosttokens:[["variable","","(?:www|schach|ru|uk|ajedrez|fr|scacchi|sakk|schaken|szachy)?(?:\\.)?[^\\s]+","host",!0]],methods:[],schemes:["https"]},web_votechess_game:{tokens:[["variable","/","[^/]++","id",!0],["text","/votechess/game"]],defaults:{host:"www.chess.com"},requirements:{host:"(www|schach|ru|uk|ajedrez|fr|scacchi|sakk|schaken|szachy)?(\\.)?[^\\s]+",_locale:"af_ZA|ar_AR|az_AZ|be_BY|bg_BG|bn_BD|bs_BA|ca|cs_CZ|da_DK|de_DE|el_GR|en_US|es_ES|et_EE|eu_ES|fa_IR|fi_FI|fil_PH|fr_FR|gl_ES|he_IL|hi_IN|hr_HR|hu_HU|hy_AM|id_ID|is_IS|it_IT|ja_JP|ka_GE|ko_KR|lt_LT|lv_LV|nl_BE|ms_MY|nl_NL|no_NO|pl_PL|pt_BR|pt_PT|ro_RO|ru_RU|sk_SK|sl_SI|sq_AL|sr_RS|sv_SE|tk_TM|tr_TR|uk_UA|ur_PK|vi_VN|zh_CN|zh_HK|zh_TW"},hosttokens:[["variable","","(?:www|schach|ru|uk|ajedrez|fr|scacchi|sakk|schaken|szachy)?(?:\\.)?[^\\s]+","host",!0]],methods:[],schemes:["https"]},i18n_web_votechess_game:{tokens:[["variable","/","[^/]++","id",!0],["text","/votechess/game"],["variable","/","es|fr|de|pl|ru|sv|el|pt|it|zh|ja|ko|nl|hy|bg|hr|cs|da|fi|hu|lt|no|ro|sk|sl|tr|uk|af|ar|az|be|bs|et|fa|gl|he|hi|id|is|ka|lv|ms|pt-BR|sq|sr|vi|zh-HK|zh-TW|fil|nl-BE|bn|tk|uz|ca|ur|--locale--","_locale",!0]],defaults:{host:"www.chess.com",_locale:""},requirements:{host:"(www|schach|ru|uk|ajedrez|fr|scacchi|sakk|schaken|szachy)?(\\.)?[^\\s]+",_locale:"es|fr|de|pl|ru|sv|el|pt|it|zh|ja|ko|nl|hy|bg|hr|cs|da|fi|hu|lt|no|ro|sk|sl|tr|uk|af|ar|az|be|bs|et|fa|gl|he|hi|id|is|ka|lv|ms|pt-BR|sq|sr|vi|zh-HK|zh-TW|fil|nl-BE|bn|tk|uz|ca|ur|--locale--"},hosttokens:[["variable","","(?:www|schach|ru|uk|ajedrez|fr|scacchi|sakk|schaken|szachy)?(?:\\.)?[^\\s]+","host",!0]],methods:[],schemes:["https"]},web_diagram_callback_get:{tokens:[["variable","/","[^/]++","id",!0],["text","/callback/diagram"]],defaults:{host:"www.chess.com"},requirements:{host:"(www|schach|ru|uk|ajedrez|fr|scacchi|sakk|schaken|szachy)?(\\.)?[^\\s]+",_locale:"af_ZA|ar_AR|az_AZ|be_BY|bg_BG|bn_BD|bs_BA|ca|cs_CZ|da_DK|de_DE|el_GR|en_US|es_ES|et_EE|eu_ES|fa_IR|fi_FI|fil_PH|fr_FR|gl_ES|he_IL|hi_IN|hr_HR|hu_HU|hy_AM|id_ID|is_IS|it_IT|ja_JP|ka_GE|ko_KR|lt_LT|lv_LV|nl_BE|ms_MY|nl_NL|no_NO|pl_PL|pt_BR|pt_PT|ro_RO|ru_RU|sk_SK|sl_SI|sq_AL|sr_RS|sv_SE|tk_TM|tr_TR|uk_UA|ur_PK|vi_VN|zh_CN|zh_HK|zh_TW"},hosttokens:[["variable","","(?:www|schach|ru|uk|ajedrez|fr|scacchi|sakk|schaken|szachy)?(?:\\.)?[^\\s]+","host",!0]],methods:["GET"],schemes:["https"]}});!function(){var e={2505:function(e,t,n){e.exports=n(8015)},5592:function(e,t,n){"use strict";var a=n(9516),l=n(7522),c=n(3948),d=n(9106),f=n(9615),m=n(2012),h=n(4202),_=n(4896),g=n(5845),b=n(8563),v=n(5656),x=n(5721);e.exports=function xhrAdapter(e){return new Promise(function dispatchXhrRequest(t,n){var y,A=e.data,w=e.headers,C=e.responseType,k=e.withXSRFToken;function done(){e.cancelToken&&e.cancelToken.unsubscribe(y);e.signal&&e.signal.removeEventListener("abort",y)}a.isFormData(A)&&a.isStandardBrowserEnv()&&delete w["Content-Type"];var T=new XMLHttpRequest;if(e.auth){var E=e.auth.username||"",S=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";w.Authorization="Basic "+btoa(E+":"+S)}var M=f(e.baseURL,e.url,e.allowAbsoluteUrls);T.open(e.method.toUpperCase(),d(M,e.params,e.paramsSerializer),!0);T.timeout=e.timeout;function onloadend(){if(T){var a="getAllResponseHeaders"in T?m(T.getAllResponseHeaders()):null;l(function _resolve(e){t(e);done()},function _reject(e){n(e);done()},{data:C&&"text"!==C&&"json"!==C?T.response:T.responseText,status:T.status,statusText:T.statusText,headers:a,config:e,request:T});T=null}}"onloadend"in T?T.onloadend=onloadend:T.onreadystatechange=function handleLoad(){T&&4===T.readyState&&(0!==T.status||T.responseURL&&0===T.responseURL.indexOf("file:"))&&setTimeout(onloadend)};T.onabort=function handleAbort(){if(T){n(new g("Request aborted",g.ECONNABORTED,e,T));T=null}};T.onerror=function handleError(){n(new g("Network Error",g.ERR_NETWORK,e,T));T=null};T.ontimeout=function handleTimeout(){var t=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded",a=e.transitional||_;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage);n(new g(t,a.clarifyTimeoutError?g.ETIMEDOUT:g.ECONNABORTED,e,T));T=null};if(a.isStandardBrowserEnv()){k&&a.isFunction(k)&&(k=k(e));if(k||!1!==k&&h(M)){var N=e.xsrfHeaderName&&e.xsrfCookieName&&c.read(e.xsrfCookieName);N&&(w[e.xsrfHeaderName]=N)}}"setRequestHeader"in T&&a.forEach(w,function setRequestHeader(e,t){void 0===A&&"content-type"===t.toLowerCase()?delete w[t]:T.setRequestHeader(t,e)});a.isUndefined(e.withCredentials)||(T.withCredentials=!!e.withCredentials);C&&"json"!==C&&(T.responseType=e.responseType);"function"==typeof e.onDownloadProgress&&T.addEventListener("progress",e.onDownloadProgress);"function"==typeof e.onUploadProgress&&T.upload&&T.upload.addEventListener("progress",e.onUploadProgress);if(e.cancelToken||e.signal){y=function(t){if(T){n(!t||t.type?new b(null,e,T):t);T.abort();T=null}};e.cancelToken&&e.cancelToken.subscribe(y);e.signal&&(e.signal.aborted?y():e.signal.addEventListener("abort",y))}A||!1===A||0===A||""===A||(A=null);var L=v(M);if(L&&-1===x.protocols.indexOf(L)){n(new g("Unsupported protocol "+L+":",g.ERR_BAD_REQUEST,e));return}T.send(A)})}},8015:function(e,t,n){"use strict";var a=n(9516),l=n(9012),c=n(5155),d=n(5343),f=n(7412),m=n(4298);function createInstance(e){var t=new c(e),n=l(c.prototype.request,t);return a.extend(n,c.prototype,t),a.extend(n,t),n.create=function create(t){return createInstance(d(e,t))},n}var h=createInstance(f);h.Axios=c;h.CanceledError=n(8563);h.CancelToken=n(3191);h.isCancel=n(3864);h.VERSION=n(9641).version;h.toFormData=n(6440);h.AxiosError=n(5845);h.Cancel=h.CanceledError;h.all=function all(e){return Promise.all(e)};h.spread=n(7980);h.isAxiosError=n(5019);h.formToJSON=function(e){return m(a.isHTMLForm(e)?new FormData(e):e)};e.exports=h;e.exports.default=h},3191:function(e,t,n){"use strict";var a=n(8563);function CancelToken(e){if("function"!=typeof e)throw TypeError("executor must be a function.");this.promise=new Promise(function promiseExecutor(e){t=e});var t,n=this;this.promise.then(function(e){if(n._listeners){for(var t=n._listeners.length;t-- >0;)n._listeners[t](e);n._listeners=null}});this.promise.then=function(e){var t,a=new Promise(function(e){n.subscribe(e);t=e}).then(e);return a.cancel=function reject(){n.unsubscribe(t)},a};e(function cancel(e,l,c){if(!n.reason){n.reason=new a(e,l,c);t(n.reason)}})}CancelToken.prototype.throwIfRequested=function throwIfRequested(){if(this.reason)throw this.reason};CancelToken.prototype.subscribe=function subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]};CancelToken.prototype.unsubscribe=function unsubscribe(e){if(this._listeners){var t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}};CancelToken.source=function source(){var e;return{token:new CancelToken(function executor(t){e=t}),cancel:e}};e.exports=CancelToken},8563:function(e,t,n){"use strict";var a=n(5845);function CanceledError(e,t,n){a.call(this,null==e?"canceled":e,a.ERR_CANCELED,t,n);this.name="CanceledError"}n(9516).inherits(CanceledError,a,{__CANCEL__:!0});e.exports=CanceledError},3864:function(e){"use strict";e.exports=function isCancel(e){return!!(e&&e.__CANCEL__)}},5155:function(e,t,n){"use strict";var a=n(9516),l=n(9106),c=n(3471),d=n(4490),f=n(5343),m=n(9615),h=n(4841),_=h.validators;function Axios(e){this.defaults=e;this.interceptors={request:new c,response:new c}}Axios.prototype.request=function request(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{};(t=f(this.defaults,t)).method?t.method=t.method.toLowerCase():this.defaults.method?t.method=this.defaults.method.toLowerCase():t.method="get";var n,l=t.transitional;void 0!==l&&h.assertOptions(l,{silentJSONParsing:_.transitional(_.boolean),forcedJSONParsing:_.transitional(_.boolean),clarifyTimeoutError:_.transitional(_.boolean)},!1);var c=t.paramsSerializer;null!=c&&(a.isFunction(c)?t.paramsSerializer={serialize:c}:h.assertOptions(c,{encode:_.function,serialize:_.function},!0));var m=[],g=!0;this.interceptors.request.forEach(function unshiftRequestInterceptors(e){if("function"!=typeof e.runWhen||!1!==e.runWhen(t)){g=g&&e.synchronous;m.unshift(e.fulfilled,e.rejected)}});var b=[];this.interceptors.response.forEach(function pushResponseInterceptors(e){b.push(e.fulfilled,e.rejected)});if(!g){var v=[d,void 0];Array.prototype.unshift.apply(v,m);v=v.concat(b);n=Promise.resolve(t);for(;v.length;)n=n.then(v.shift(),v.shift());return n}for(var x=t;m.length;){var y=m.shift(),A=m.shift();try{x=y(x)}catch(e){A(e);break}}try{n=d(x)}catch(e){return Promise.reject(e)}for(;b.length;)n=n.then(b.shift(),b.shift());return n};Axios.prototype.getUri=function getUri(e){return l(m((e=f(this.defaults,e)).baseURL,e.url,e.allowAbsoluteUrls),e.params,e.paramsSerializer)};a.forEach(["delete","get","head","options"],function forEachMethodNoData(e){Axios.prototype[e]=function(t,n){return this.request(f(n||{},{method:e,url:t,data:(n||{}).data}))}});a.forEach(["post","put","patch"],function forEachMethodWithData(e){function generateHTTPMethod(t){return function httpMethod(n,a,l){return this.request(f(l||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:n,data:a}))}}Axios.prototype[e]=generateHTTPMethod();Axios.prototype[e+"Form"]=generateHTTPMethod(!0)});e.exports=Axios},5845:function(e,t,n){"use strict";var a=n(9516);function AxiosError(e,t,n,a,l){Error.call(this);Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=Error().stack;this.message=e;this.name="AxiosError";t&&(this.code=t);n&&(this.config=n);a&&(this.request=a);l&&(this.response=l)}a.inherits(AxiosError,Error,{toJSON:function toJSON(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var l=AxiosError.prototype,c={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(function(e){c[e]={value:e}});Object.defineProperties(AxiosError,c);Object.defineProperty(l,"isAxiosError",{value:!0});AxiosError.from=function(e,t,n,c,d,f){var m=Object.create(l);return a.toFlatObject(e,m,function filter(e){return e!==Error.prototype}),AxiosError.call(m,e.message,t,n,c,d),m.cause=e,m.name=e.name,f&&Object.assign(m,f),m};e.exports=AxiosError},3471:function(e,t,n){"use strict";var a=n(9516);function InterceptorManager(){this.handlers=[]}InterceptorManager.prototype.use=function use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1};InterceptorManager.prototype.eject=function eject(e){this.handlers[e]&&(this.handlers[e]=null)};InterceptorManager.prototype.clear=function clear(){this.handlers&&(this.handlers=[])};InterceptorManager.prototype.forEach=function forEach(e){a.forEach(this.handlers,function forEachHandler(t){null!==t&&e(t)})};e.exports=InterceptorManager},9615:function(e,t,n){"use strict";var a=n(9137),l=n(4680);e.exports=function buildFullPath(e,t,n){var c=!a(t);return e&&(c||!1===n)?l(e,t):t}},4490:function(e,t,n){"use strict";var a=n(9516),l=n(2881),c=n(3864),d=n(7412),f=n(8563),m=n(7018);function throwIfCancellationRequested(e){e.cancelToken&&e.cancelToken.throwIfRequested();if(e.signal&&e.signal.aborted)throw new f}e.exports=function dispatchRequest(e){return throwIfCancellationRequested(e),e.headers=e.headers||{},e.data=l.call(e,e.data,e.headers,null,e.transformRequest),m(e.headers,"Accept"),m(e.headers,"Content-Type"),e.headers=a.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),a.forEach(["delete","get","head","post","put","patch","common"],function cleanHeaderConfig(t){delete e.headers[t]}),(e.adapter||d.adapter)(e).then(function onAdapterResolution(t){return throwIfCancellationRequested(e),t.data=l.call(e,t.data,t.headers,t.status,e.transformResponse),t},function onAdapterRejection(t){if(!c(t)){throwIfCancellationRequested(e);t&&t.response&&(t.response.data=l.call(e,t.response.data,t.response.headers,t.response.status,e.transformResponse))}return Promise.reject(t)})}},5343:function(e,t,n){"use strict";var a=n(9516);e.exports=function mergeConfig(e,t){t=t||{};var n={};function getMergedValue(e,t){return a.isPlainObject(e)&&a.isPlainObject(t)?a.merge(e,t):a.isEmptyObject(t)?a.merge({},e):a.isPlainObject(t)?a.merge({},t):a.isArray(t)?t.slice():t}function mergeDeepProperties(n){return a.isUndefined(t[n])?a.isUndefined(e[n])?void 0:getMergedValue(void 0,e[n]):getMergedValue(e[n],t[n])}function valueFromConfig2(e){if(!a.isUndefined(t[e]))return getMergedValue(void 0,t[e])}function defaultToConfig2(n){return a.isUndefined(t[n])?a.isUndefined(e[n])?void 0:getMergedValue(void 0,e[n]):getMergedValue(void 0,t[n])}function mergeDirectKeys(n){return n in t?getMergedValue(e[n],t[n]):n in e?getMergedValue(void 0,e[n]):void 0}var l={url:valueFromConfig2,method:valueFromConfig2,data:valueFromConfig2,baseURL:defaultToConfig2,transformRequest:defaultToConfig2,transformResponse:defaultToConfig2,paramsSerializer:defaultToConfig2,timeout:defaultToConfig2,timeoutMessage:defaultToConfig2,withCredentials:defaultToConfig2,withXSRFToken:defaultToConfig2,adapter:defaultToConfig2,responseType:defaultToConfig2,xsrfCookieName:defaultToConfig2,xsrfHeaderName:defaultToConfig2,onUploadProgress:defaultToConfig2,onDownloadProgress:defaultToConfig2,decompress:defaultToConfig2,maxContentLength:defaultToConfig2,maxBodyLength:defaultToConfig2,beforeRedirect:defaultToConfig2,transport:defaultToConfig2,httpAgent:defaultToConfig2,httpsAgent:defaultToConfig2,cancelToken:defaultToConfig2,socketPath:defaultToConfig2,responseEncoding:defaultToConfig2,validateStatus:mergeDirectKeys};return a.forEach(Object.keys(e).concat(Object.keys(t)),function computeConfigValue(e){var t=l[e]||mergeDeepProperties,c=t(e);a.isUndefined(c)&&t!==mergeDirectKeys||(n[e]=c)}),n}},7522:function(e,t,n){"use strict";var a=n(5845);e.exports=function settle(e,t,n){var l=n.config.validateStatus;!n.status||!l||l(n.status)?e(n):t(new a("Request failed with status code "+n.status,[a.ERR_BAD_REQUEST,a.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}},2881:function(e,t,n){"use strict";var a=n(9516),l=n(7412);e.exports=function transformData(e,t,n,c){var d=this||l;return a.forEach(c,function transform(a){e=a.call(d,e,t,n)}),e}},7412:function(e,t,n){"use strict";var a=n(5606),l=n(9516),c=n(7018),d=n(5845),f=n(4896),m=n(6440),h=n(6069),_=n(5721),g=n(4298),b={"Content-Type":"application/x-www-form-urlencoded"};function setContentTypeIfUnset(e,t){!l.isUndefined(e)&&l.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}function stringifySafely(e,t,n){if(l.isString(e))try{(t||JSON.parse)(e);return l.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(n||JSON.stringify)(e)}var v={transitional:f,adapter:function getDefaultAdapter(){var e;return"undefined"!=typeof XMLHttpRequest?e=n(5592):void 0!==a&&"[object process]"===Object.prototype.toString.call(a)&&(e=n(5592)),e}(),transformRequest:[function transformRequest(e,t){c(t,"Accept");c(t,"Content-Type");var n,a=t&&t["Content-Type"]||"",d=a.indexOf("application/json")>-1,f=l.isObject(e);f&&l.isHTMLForm(e)&&(e=new FormData(e));var _=l.isFormData(e);if(_)return d?JSON.stringify(g(e)):e;if(l.isArrayBuffer(e)||l.isBuffer(e)||l.isStream(e)||l.isFile(e)||l.isBlob(e))return e;if(l.isArrayBufferView(e))return e.buffer;if(l.isURLSearchParams(e))return setContentTypeIfUnset(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString();if(f){if(-1!==a.indexOf("application/x-www-form-urlencoded"))return h(e,this.formSerializer).toString();if((n=l.isFileList(e))||a.indexOf("multipart/form-data")>-1){var b=this.env&&this.env.FormData;return m(n?{"files[]":e}:e,b&&new b,this.formSerializer)}}return f||d?(setContentTypeIfUnset(t,"application/json"),stringifySafely(e)):e}],transformResponse:[function transformResponse(e){var t=this.transitional||v.transitional,n=t&&t.forcedJSONParsing,a="json"===this.responseType;if(e&&l.isString(e)&&(n&&!this.responseType||a)){var c=t&&t.silentJSONParsing;try{return JSON.parse(e)}catch(e){if(!c&&a){if("SyntaxError"===e.name)throw d.from(e,d.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:_.classes.FormData,Blob:_.classes.Blob},validateStatus:function validateStatus(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};l.forEach(["delete","get","head"],function forEachMethodNoData(e){v.headers[e]={}});l.forEach(["post","put","patch"],function forEachMethodWithData(e){v.headers[e]=l.merge(b)});e.exports=v},4896:function(e){"use strict";e.exports={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1}},786:function(e,t,n){e.exports=n(1894)},9641:function(e){e.exports={version:"0.30.0"}},170:function(e,t,n){"use strict";var a=n(6440);function encode(e){var t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'\(\)~]|%20|%00/g,function replacer(e){return t[e]})}function AxiosURLSearchParams(e,t){this._pairs=[];e&&a(e,this,t)}var l=AxiosURLSearchParams.prototype;l.append=function append(e,t){this._pairs.push([e,t])};l.toString=function toString(e){var t=e?function(t){return e.call(this,t,encode)}:encode;return this._pairs.map(function each(e){return t(e[0])+"="+t(e[1])},"").join("&")};e.exports=AxiosURLSearchParams},9012:function(e){"use strict";e.exports=function bind(e,t){return function wrap(){return e.apply(t,arguments)}}},9106:function(e,t,n){"use strict";var a=n(9516),l=n(170);function encode(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}e.exports=function buildURL(e,t,n){if(!t)return e;var c,d=e.indexOf("#");-1!==d&&(e=e.slice(0,d));var f=n&&n.encode||encode,m=n&&n.serialize;return(c=m?m(t,n):a.isURLSearchParams(t)?t.toString():new l(t,n).toString(f))&&(e+=(-1===e.indexOf("?")?"?":"&")+c),e}},4680:function(e){"use strict";e.exports=function combineURLs(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}},3948:function(e,t,n){"use strict";var a=n(9516);e.exports=a.isStandardBrowserEnv()?function standardBrowserEnv(){return{write:function write(e,t,n,l,c,d){var f=[];f.push(e+"="+encodeURIComponent(t));a.isNumber(n)&&f.push("expires="+new Date(n).toGMTString());a.isString(l)&&f.push("path="+l);a.isString(c)&&f.push("domain="+c);!0===d&&f.push("secure");document.cookie=f.join("; ")},read:function read(e){var t=document.cookie.match(RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function remove(e){this.write(e,"",Date.now()-864e5)}}}():function nonStandardBrowserEnv(){return{write:function write(){},read:function read(){return null},remove:function remove(){}}}()},4298:function(e,t,n){"use strict";var a=n(9516);function parsePropPath(e){return a.matchAll(/\w+|\[(\w*)]/g,e).map(function(e){return"[]"===e[0]?"":e[1]||e[0]})}function arrayToObject(e){var t,n,a={},l=Object.keys(e),c=l.length;for(t=0;t=e.length;return(c=!c&&a.isArray(n)?n.length:c,f)?a.hasOwnProperty(n,c)?n[c]=[n[c],t]:n[c]=t:(n[c]&&a.isObject(n[c])||(n[c]=[]),buildPath(e,t,n[c],l)&&a.isArray(n[c])&&(n[c]=arrayToObject(n[c]))),!d}if(a.isFormData(e)&&a.isFunction(e.entries)){var t={};return a.forEachEntry(e,function(e,n){buildPath(parsePropPath(e),n,t,0)}),t}return null}e.exports=formDataToJSON},9137:function(e){"use strict";e.exports=function isAbsoluteURL(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}},5019:function(e,t,n){"use strict";var a=n(9516);e.exports=function isAxiosError(e){return a.isObject(e)&&!0===e.isAxiosError}},4202:function(e,t,n){"use strict";var a=n(9516);e.exports=a.isStandardBrowserEnv()?function standardBrowserEnv(){var e,t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function resolveURL(e){var a=e;if(t){n.setAttribute("href",a);a=n.href}return n.setAttribute("href",a),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return e=resolveURL(window.location.href),function isURLSameOrigin(t){var n=a.isString(t)?resolveURL(t):t;return n.protocol===e.protocol&&n.host===e.host}}():function nonStandardBrowserEnv(){return function isURLSameOrigin(){return!0}}()},7018:function(e,t,n){"use strict";var a=n(9516);e.exports=function normalizeHeaderName(e,t){a.forEach(e,function processHeader(n,a){if(a!==t&&a.toUpperCase()===t.toUpperCase()){e[t]=n;delete e[a]}})}},2012:function(e,t,n){"use strict";var a=n(9516),l=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function parseHeaders(e){var t,n,c,d={};return e&&a.forEach(e.split("\n"),function parser(e){c=e.indexOf(":");t=a.trim(e.slice(0,c)).toLowerCase();n=a.trim(e.slice(c+1));if(t){if(d[t]&&l.indexOf(t)>=0)return;"set-cookie"===t?d[t]=(d[t]?d[t]:[]).concat([n]):d[t]=d[t]?d[t]+", "+n:n}}),d}},5656:function(e){"use strict";e.exports=function parseProtocol(e){var t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}},7980:function(e){"use strict";e.exports=function spread(e){return function wrap(t){return e.apply(null,t)}}},6440:function(e,t,n){"use strict";var a=n(9516),l=n(5845),c=n(786);function isVisitable(e){return a.isPlainObject(e)||a.isArray(e)}function removeBrackets(e){return a.endsWith(e,"[]")?e.slice(0,-2):e}function renderKey(e,t,n){return e?e.concat(t).map(function each(e,t){return e=removeBrackets(e),!n&&t?"["+e+"]":e}).join(n?".":""):t}function isFlatArray(e){return a.isArray(e)&&!e.some(isVisitable)}var d=a.toFlatObject(a,{},null,function filter(e){return/^is[A-Z]/.test(e)});function isSpecCompliant(e){return e&&a.isFunction(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator]}function toFormData(e,t,n){if(!a.isObject(e))throw TypeError("target must be an object");t=t||new(c||FormData);var f=(n=a.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function defined(e,t){return!a.isUndefined(t[e])})).metaTokens,m=n.visitor||defaultVisitor,h=n.dots,_=n.indexes,g=(n.Blob||"undefined"!=typeof Blob&&Blob)&&isSpecCompliant(t);if(!a.isFunction(m))throw TypeError("visitor must be a function");function convertValue(e){if(null===e)return"";if(a.isDate(e))return e.toISOString();if(!g&&a.isBlob(e))throw new l("Blob is not supported. Use a Buffer instead.");return a.isArrayBuffer(e)||a.isTypedArray(e)?g&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function defaultVisitor(e,n,l){var c=e;if(e&&!l&&"object"==typeof e){if(a.endsWith(n,"{}")){n=f?n:n.slice(0,-2);e=JSON.stringify(e)}else if(a.isArray(e)&&isFlatArray(e)||a.isFileList(e)||a.endsWith(n,"[]")&&(c=a.toArray(e)))return n=removeBrackets(n),c.forEach(function each(e,l){a.isUndefined(e)||null===e||t.append(!0===_?renderKey([n],l,h):null===_?n:n+"[]",convertValue(e))}),!1}return!!isVisitable(e)||(t.append(renderKey(l,n,h),convertValue(e)),!1)}var b=[],v=Object.assign(d,{defaultVisitor:defaultVisitor,convertValue:convertValue,isVisitable:isVisitable});function build(e,n){if(!a.isUndefined(e)){if(-1!==b.indexOf(e))throw Error("Circular reference detected in "+n.join("."));b.push(e);a.forEach(e,function each(e,l){!0===(!(a.isUndefined(e)||null===e)&&m.call(t,e,a.isString(l)?l.trim():l,n,v))&&build(e,n?n.concat(l):[l])});b.pop()}}if(!a.isObject(e))throw TypeError("data must be an object");return build(e),t}e.exports=toFormData},6069:function(e,t,n){"use strict";var a=n(9516),l=n(6440),c=n(5721);e.exports=function toURLEncodedForm(e,t){return l(e,new c.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,l){return c.isNode&&a.isBuffer(e)?(this.append(t,e.toString("base64")),!1):l.defaultVisitor.apply(this,arguments)}},t))}},4841:function(e,t,n){"use strict";var a=n(9641).version,l=n(5845),c={};["object","boolean","number","function","string","symbol"].forEach(function(e,t){c[e]=function validator(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}});var d={};c.transitional=function transitional(e,t,n){function formatMessage(e,t){return"[Axios v"+a+"] Transitional option '"+e+"'"+t+(n?". "+n:"")}return function(n,a,c){if(!1===e)throw new l(formatMessage(a," has been removed"+(t?" in "+t:"")),l.ERR_DEPRECATED);if(t&&!d[a]){d[a]=!0;console.warn(formatMessage(a," has been deprecated since v"+t+" and will be removed in the near future"))}return!e||e(n,a,c)}};function assertOptions(e,t,n){if("object"!=typeof e)throw new l("options must be an object",l.ERR_BAD_OPTION_VALUE);for(var a=Object.keys(e),c=a.length;c-- >0;){var d=a[c],f=t[d];if(f){var m=e[d],h=void 0===m||f(m,d,e);if(!0!==h)throw new l("option "+d+" must be "+h,l.ERR_BAD_OPTION_VALUE);continue}if(!0!==n)throw new l("Unknown option "+d,l.ERR_BAD_OPTION)}}e.exports={assertOptions:assertOptions,validators:c}},243:function(e){"use strict";e.exports=FormData},2002:function(e,t,n){"use strict";var a=n(170);e.exports="undefined"!=typeof URLSearchParams?URLSearchParams:a},9490:function(e,t,n){"use strict";e.exports={isBrowser:!0,classes:{URLSearchParams:n(2002),FormData:n(243),Blob:Blob},protocols:["http","https","file","blob","url","data"]}},5721:function(e,t,n){"use strict";e.exports=n(9490)},9516:function(e,t,n){"use strict";var a=n(9012),l=Object.prototype.toString,c=function(e){return function(t){var n=l.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())}}(Object.create(null));function kindOfTest(e){return e=e.toLowerCase(),function isKindOf(t){return c(t)===e}}function isArray(e){return Array.isArray(e)}function isUndefined(e){return void 0===e}function isBuffer(e){return null!==e&&!isUndefined(e)&&null!==e.constructor&&!isUndefined(e.constructor)&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}var d=kindOfTest("ArrayBuffer");function isArrayBufferView(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&d(e.buffer)}function isString(e){return"string"==typeof e}function isNumber(e){return"number"==typeof e}function isObject(e){return null!==e&&"object"==typeof e}function isPlainObject(e){if("object"!==c(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function isEmptyObject(e){return e&&0===Object.keys(e).length&&Object.getPrototypeOf(e)===Object.prototype}var f=kindOfTest("Date"),m=kindOfTest("File"),h=kindOfTest("Blob"),_=kindOfTest("FileList");function isFunction(e){return"[object Function]"===l.call(e)}function isStream(e){return isObject(e)&&isFunction(e.pipe)}function isFormData(e){var t="[object FormData]";return e&&("function"==typeof FormData&&e instanceof FormData||l.call(e)===t||isFunction(e.toString)&&e.toString()===t)}var g=kindOfTest("URLSearchParams");function trim(e){return e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}function isStandardBrowserEnv(){var e;return("undefined"==typeof navigator||"ReactNative"!==(e=navigator.product)&&"NativeScript"!==e&&"NS"!==e)&&"undefined"!=typeof window&&"undefined"!=typeof document}function forEach(e,t){if(null!=e){"object"!=typeof e&&(e=[e]);if(isArray(e))for(var n=0,a=e.length;n0;){d=l[c];if((!a||a(d,e,t))&&!f[d]){t[d]=e[d];f[d]=!0}}e=!1!==n&&Object.getPrototypeOf(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t}function endsWith(e,t,n){e=String(e);(void 0===n||n>e.length)&&(n=e.length);n-=t.length;var a=e.indexOf(t,n);return -1!==a&&a===n}function toArray(e){if(!e)return null;if(isArray(e))return e;var t=e.length;if(!isNumber(t))return null;for(var n=Array(t);t-- >0;)n[t]=e[t];return n}var b=function(e){return function(t){return e&&t instanceof e}}("undefined"!=typeof Uint8Array&&Object.getPrototypeOf(Uint8Array));function forEachEntry(e,t){for(var n,a=(e&&e[Symbol.iterator]).call(e);(n=a.next())&&!n.done;){var l=n.value;t.call(e,l[0],l[1])}}function matchAll(e,t){for(var n,a=[];null!==(n=e.exec(t));)a.push(n);return a}var v=kindOfTest("HTMLFormElement"),x=function resolver(e){return function(t,n){return e.call(t,n)}}(Object.prototype.hasOwnProperty);e.exports={isArray:isArray,isArrayBuffer:d,isBuffer:isBuffer,isFormData:isFormData,isArrayBufferView:isArrayBufferView,isString:isString,isNumber:isNumber,isObject:isObject,isPlainObject:isPlainObject,isEmptyObject:isEmptyObject,isUndefined:isUndefined,isDate:f,isFile:m,isBlob:h,isFunction:isFunction,isStream:isStream,isURLSearchParams:g,isStandardBrowserEnv:isStandardBrowserEnv,forEach:forEach,merge:merge,extend:extend,trim:trim,stripBOM:stripBOM,inherits:inherits,toFlatObject:toFlatObject,kindOf:c,kindOfTest:kindOfTest,endsWith:endsWith,toArray:toArray,isTypedArray:b,isFileList:_,forEachEntry:forEachEntry,matchAll:matchAll,isHTMLForm:v,hasOwnProperty:x}},7634:function(e,t){var n,a,l;!function(c,d){a=[],void 0!==(l="function"==typeof(n=d().Routing)?n.apply(t,a):n)&&(e.exports=l)}(0,function(){var e={};"use strict";e.__esModule=!0;e.Routing=e.Router=void 0;var t=function(){function Router2(e,t){this.context_=e||{base_url:"",prefix:"",host:"",port:"",scheme:"",locale:""};this.setRoutes(t||{})}return Router2.getInstance=function(){return e.Routing},Router2.setData=function(e){Router2.getInstance().setRoutingData(e)},Router2.prototype.setRoutingData=function(e){this.setBaseUrl(e.base_url);this.setRoutes(e.routes);void 0!==e.prefix&&this.setPrefix(e.prefix);void 0!==e.port&&this.setPort(e.port);void 0!==e.locale&&this.setLocale(e.locale);this.setHost(e.host);void 0!==e.scheme&&this.setScheme(e.scheme)},Router2.prototype.setRoutes=function(e){this.routes_=Object.freeze(e)},Router2.prototype.getRoutes=function(){return this.routes_},Router2.prototype.setBaseUrl=function(e){this.context_.base_url=e},Router2.prototype.getBaseUrl=function(){return this.context_.base_url},Router2.prototype.setPrefix=function(e){this.context_.prefix=e},Router2.prototype.setScheme=function(e){this.context_.scheme=e},Router2.prototype.getScheme=function(){return this.context_.scheme},Router2.prototype.setHost=function(e){this.context_.host=e},Router2.prototype.getHost=function(){return this.context_.host},Router2.prototype.setPort=function(e){this.context_.port=e},Router2.prototype.getPort=function(){return this.context_.port},Router2.prototype.setLocale=function(e){this.context_.locale=e},Router2.prototype.getLocale=function(){return this.context_.locale},Router2.prototype.buildQueryParams=function(e,t,n){var a,l=this,c=new RegExp(/\[\]$/);if(t instanceof Array)t.forEach(function(t,a){c.test(e)?n(e,t):l.buildQueryParams(e+"["+("object"==typeof t?a:"")+"]",t,n)});else if("object"==typeof t)for(a in t)this.buildQueryParams(e+"["+a+"]",t[a],n);else n(e,t)},Router2.prototype.getRoute=function(e){var t=[this.context_.prefix+e,e+"."+this.context_.locale,this.context_.prefix+e+"."+this.context_.locale,e];for(var n in t)if(t[n]in this.routes_)return this.routes_[t[n]];throw Error('The route "'+e+'" does not exist.')},Router2.prototype.generate=function(e,t,n){var a=this.getRoute(e),l=t||{},c=Object.assign({},l),d="",f=!0,m="",h=void 0===this.getPort()||null===this.getPort()?"":this.getPort();a.tokens.forEach(function(t){if("text"===t[0]&&"string"==typeof t[1]){d=Router2.encodePathComponent(t[1])+d;f=!1;return}if("variable"===t[0]){6===t.length&&!0===t[5]&&(f=!1);var n=a.defaults&&!Array.isArray(a.defaults)&&"string"==typeof t[3]&&t[3]in a.defaults;if(!1===f||!n||"string"==typeof t[3]&&t[3]in l&&!Array.isArray(a.defaults)&&l[t[3]]!=a.defaults[t[3]]){var m=void 0;if("string"==typeof t[3]&&t[3]in l){m=l[t[3]];delete c[t[3]]}else if("string"==typeof t[3]&&n&&!Array.isArray(a.defaults))m=a.defaults[t[3]];else if(f)return;else throw Error('The route "'+e+'" requires the parameter "'+t[3]+'".');var h=!0===m||!1===m||""===m;if(!h||!f){var _=Router2.encodePathComponent(m);"null"===_&&null===m&&(_="");d=t[1]+_+d}f=!1}else n&&"string"==typeof t[3]&&t[3]in c&&delete c[t[3]];return}throw Error('The token type "'+t[0]+'" is not supported.')});""===d&&(d="/");a.hosttokens.forEach(function(e){var t;if("text"===e[0]){m=e[1]+m;return}if("variable"===e[0]){if(e[3]in l){t=l[e[3]];delete c[e[3]]}else a.defaults&&!Array.isArray(a.defaults)&&e[3]in a.defaults&&(t=a.defaults[e[3]]);m=e[1]+t+m}});d=this.context_.base_url+d;if(a.requirements&&"_scheme"in a.requirements&&this.getScheme()!=a.requirements._scheme){var _=m||this.getHost();d=a.requirements._scheme+"://"+_+(_.indexOf(":"+h)>-1||""===h?"":":"+h)+d}else if(void 0!==a.schemes&&void 0!==a.schemes[0]&&this.getScheme()!==a.schemes[0]){var _=m||this.getHost();d=a.schemes[0]+"://"+_+(_.indexOf(":"+h)>-1||""===h?"":":"+h)+d}else m&&this.getHost()!==m+(m.indexOf(":"+h)>-1||""===h?"":":"+h)?d=this.getScheme()+"://"+m+(m.indexOf(":"+h)>-1||""===h?"":":"+h)+d:!0===n&&(d=this.getScheme()+"://"+this.getHost()+(this.getHost().indexOf(":"+h)>-1||""===h?"":":"+h)+d);if(Object.keys(c).length>0){var g=[],add=function(e,t){t=null===(t="function"==typeof t?t():t)?"":t;g.push(Router2.encodeQueryComponent(e)+"="+Router2.encodeQueryComponent(t))};for(var b in c)c.hasOwnProperty(b)&&this.buildQueryParams(b,c[b],add);d=d+"?"+g.join("&")}return d},Router2.customEncodeURIComponent=function(e){return encodeURIComponent(e).replace(/%2F/g,"/").replace(/%40/g,"@").replace(/%3A/g,":").replace(/%21/g,"!").replace(/%3B/g,";").replace(/%2C/g,",").replace(/%2A/g,"*").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/'/g,"%27")},Router2.encodePathComponent=function(e){return Router2.customEncodeURIComponent(e).replace(/%3D/g,"=").replace(/%2B/g,"+").replace(/%21/g,"!").replace(/%7C/g,"|")},Router2.encodeQueryComponent=function(e){return Router2.customEncodeURIComponent(e).replace(/%3F/g,"?")},Router2}();return e.Router=t,e.Routing=new t,e.default=e.Routing,{Router:e.Router,Routing:e.Routing}})},4907:function(e,t,n){"use strict";var a;n.d(t,{E:function(){return a}});(e=>{(e=>{e.BoardId="board-id";e.MoveColorsEnabled="move-colors-enabled";e.DisplayDirection="display-direction";e.DisableCommentsEditing="disable-comments-editing";e.DisableContextMenu="disable-context-menu";e.DisableResultNode="disable-result-node";e.DisplayType="display-type";e.EngineName="engine-name";e.GameId="game-id";e.IsActive="is-active";e.LinkToExplorer="link-to-explorer";e.MoveListId="move-list-id";e.OpeningIsClickable="opening-is-clickable";e.ExplorerIsClickable="explorer-is-clickable";e.ExplorerIsVisible="explorer-is-visible";e.ScrollContainerId="scroll-container-id";e.TimestampMethod="timestamp-method";e.ToggleTimestamps="toggle-timestamps";e.PlayerColor="player-color";e.UpdateManually="update-manually";e.VariationVisibility="variation-visibility";e.VerticalLayout="vertical-layout"})(e.ObservedAttributes||(e.ObservedAttributes={}));(e=>{e.BoardInitialized="board-initialized";e.BoardAttached="board-attached";e.BoardDetached="board-detached";e.MoveListAccessible="move-list-accesible"})(e.Events||(e.Events={}));(e=>{e.ChessBoard="wc-chess-board";e.MoveList="wc-move-list";e.SimpleMoveList="wc-simple-move-list";e.CapturedPieces="wc-captured-pieces";e.EcoOpening="wc-eco-opening";e.ModeSwapMoveList="wc-mode-swap-move-list"})(e.Elements||(e.Elements={}))})(a||(a={}))},6547:function(e,t,n){"use strict";n.d(t,{L:function(){return removeChessboardActivePlugins}});var a=n(4287),l=n(6618);function removeChessboardActivePlugins(e){e.game.plugins.remove(a.t.Plugin.Name);e.game.plugins.remove(l.I.Plugin.Name)}},1682:function(e,t,n){"use strict";n.d(t,{z:function(){return a}});let a="boardOptionsCache"},5475:function(e,t,n){"use strict";n.d(t,{T:function(){return a}});let a=["boardStyle","pieceStyle","soundTheme"]},9107:function(e,t,n){"use strict";n.d(t,{g:function(){return a}});let a=(0,n(5591).createContext)()},4552:function(e,t,n){"use strict";n.d(t,{N:function(){return getChessboard}});var a=n(4955);function getChessboard(e){return a.I.chessboards[e]}},4955:function(e,t,n){"use strict";n.d(t,{I:function(){return f}});var a=n(1682),l=n(6036);function getBoardOptionsFromLocalStorage(){let e={},t=window.localStorage.getItem(a.z);if(t)try{e=JSON.parse(t)}catch{}return(0,l.c)(e)}var c=n(5145);function getDefaultBoardOptions(){let{animationType:e,boardStyle:t,coordinates:n,darkMode:a,highlightLegalMoves:l,highlightMoves:d,moveListDisplayType:f,moveMethod:m,pieceStyle:h,playSounds:_,soundTheme:g,moveListClassificationStyle:b}=(0,c.q)();return{animationType:e,boardStyle:t,coordinates:n,darkMode:a,highlightLegalMoves:l,highlightMoves:d,isWhiteOnBottom:!1,moveListDisplayType:f,moveListClassificationStyle:b,moveMethod:m,pieceStyle:h,playSounds:_,showTimestamps:!0,soundTheme:g}}var d=n(7118);let f=(0,d.reactive)({soundPlugin:null,arrowKeysPlugin:null,previousPlaceholder:null,chessboards:(0,d.shallowReactive)({}),boardOptions:{...getDefaultBoardOptions(),...getBoardOptionsFromLocalStorage()}})},6036:function(e,t,n){"use strict";n.d(t,{c:function(){return cleanCachedBoardOptions}});var a=n(5475);let l=["id","enabled","allowMarkings","captureKeyStrokes","fadeSetup","fetched","flipBoard","flipped","highlightColor","highlightOpacity","moveListContextMenuEnabled","overlayInAnalysisMode"];function cleanCachedBoardOptions(e){let t={...e};return l.forEach(e=>{delete t[e]}),a.T.forEach(e=>{delete t[e]}),t.highlightColor=void 0,t}},185:function(e,t,n){"use strict";n.d(t,{d:function(){return a}});let a={CHESS_GAME:"chessGame",CHESS_PROBLEM:"chessProblem",SIMPLE_DIAGRAM:"simpleDiagram"}},6150:function(e,t,n){"use strict";n.d(t,{z:function(){return isChessGame}});var a=n(185);let isChessGame=e=>e===a.d.CHESS_GAME},4949:function(e,t,n){"use strict";n.d(t,{g:function(){return isChessProblem}});var a=n(185);let isChessProblem=e=>e===a.d.CHESS_PROBLEM},8899:function(e,t,n){"use strict";n.d(t,{z:function(){return a}});let a={Load:"Load",Update:"Update"}},1836:function(e,t,n){"use strict";n.d(t,{j:function(){return a}});let a=(0,n(5591).createQueuedEmitter)()},1516:function(e,t,n){"use strict";n.d(t,{U:function(){return a}});let a=(0,n(5591).createContext)()},1478:function(e,t,n){"use strict";n.d(t,{C:function(){return postErrorToClientMetrics}});var a=n(2505);let l=/*#__PURE__*/n.n(a)().create();async function postErrorToClientMetrics(e){if(window.chesscom.features.includes("client_metrics_error_reporting"))return l.post(`${window.chesscom.clientMetricsDomain}/error-reporting/web`,{ip:window.context.ip,user:window.context.user?{countryCode:window.context.user.country.code,id:window.context.user.id,membershipCode:window.context.user.membershipCode,membershipLevel:window.context.user.membershipLevel,timezone:window.context.user.timezone,username:window.context.user.username}:{},userAgent:window.navigator.userAgent,error:e})}},1001:function(e,t,n){"use strict";n.d(t,{z:function(){return postHttpRequestErrorToClientMetrics}});var a=n(1478);let l=[/api\.iterable\.com/];async function postHttpRequestErrorToClientMetrics(e){if(!l.some(t=>t.test(e.requestUrl)))return(0,a.C)({message:e.message,method:e.method,requestHost:e.requestHost??window.location.hostname,requestUrl:e.requestUrl,stack:e.stack,status:e.status,type:"HTTP_REQUEST"})}},3189:function(e,t,n){"use strict";n.d(t,{o:function(){return getDomainFromRoute}});function getDomainFromRoute(e=window.location.href){return new URL(e).hostname.split(".").slice(-2).join(".")}},9946:function(e,t,n){"use strict";n.d(t,{A:function(){return C}});var a=n(2505),l=/*#__PURE__*/n.n(a)(),c=n(9877),d=n(8226);let f=["delete","patch","post","put"],m={LOGIN_REGISTER_MODAL:"login-register-modal",OFFLINE_CHALLENGE_TOASTER:"offline-challenge-toaster",NAV_ROOT:"sb",SHAREABLE_GAME_URL_MODAL:"shareable-game-url-modal",SHAREABLE_GAME_SHORT_UUID:"shareable-game-short-uuid"},random=()=>Math.random().toString(36).substring(2,15),generateRequestId=e=>{let t=random();for(;t.length{let e=document.getElementById(m.NAV_ROOT);return!!e&&!!e.dataset.featureClientRequestId},boolToInt=(e,t=/* @__PURE__ */new WeakSet)=>("object"!=typeof e||null===e||t.has(e)||(t.add(e),Object.keys(e).forEach(n=>{let a=e[n];"boolean"==typeof a?e[n]=Number(a):"object"==typeof a&&null!==a&&(e[n]=boolToInt(a,t))})),e);var h=[function addCsrfToken(e){return!e||(0,d.tO)(e.url)||!f.includes(e.method)||(e.data instanceof FormData?e.data.append("_token",window.context.csrf.token):e.data instanceof URLSearchParams?e.data.append("_token",window.context.csrf.token):e.data=Object.assign({_token:window.context.csrf.token},e.data||{})),e},function addRequestId(e){return shouldAddRequestId()&&(e.headers.common["X-Chesscom-Request-Id"]=generateRequestId(32)),e},function castBoolsToInts(e){return!e||(0,d.tO)(e.url)||"object"==typeof e.data&&(e.data=boolToInt(e.data)),e}],_=n(3189),g=n(4361),b=n(6283);let v=[],x=!1;async function responseCloudflareManagedChallengeInterceptor(e){let t=e.response,n=t?.status===403,a=t?.headers["cf-mitigated"]==="challenge";if(!n||!a)return Promise.reject(e);let c=new Promise((t,n)=>{v.push([()=>{try{e.config.data=JSON.parse(e.config.data)}catch(e){}l(e.config).then(t)},()=>{n(e)}])});return x||startManagedChallenge(),c}async function startManagedChallenge(){x=!0;let e=0,t=await (0,g.h)({callback:(e,t)=>{t?v.forEach(([e])=>{e()}):redirectToVerificationPage();endManagedChallenge()},"error-callback":()=>{e++;if(e>=3){window.turnstile.remove(t);(0,b.Bq)();v.forEach(([,e])=>{e()});endManagedChallenge()}},action:"xhr-managed-challenge"})}function endManagedChallenge(){x=!1;v=[]}function redirectToVerificationPage(){let e=new URL(window.location.href),t=(0,_.o)(),n=e.pathname,a=new URL(`https://verify.${t}`);a.searchParams.set("redirect","referer");a.searchParams.set("path",n);window.location.assign(a)}var y=n(1001);function responseErrorInterceptor(e){let t=e.config,n=e.response;if("Cancel"===e.toString())return Promise.reject(e);try{t.data=JSON.parse(t.data)}catch(t){return Promise.reject(e)}if(n?.status===403&&n?.headers["x-chesscom-csrf-token"]&&t&&!t.data.retry){let e=n.headers["x-chesscom-csrf-token"];return t.data._token=e,t.data.retry=!0,window.context.csrf.token=e,l(t)}if(n?.status>=400)try{(0,y.z)({message:e.message,method:e.config.method,requestUrl:e.config.url.replace("https://www.chess.com",""),stack:e.stack,status:e.response.status})}catch(e){}return Promise.reject(e)}var A=n(1347),w=n(502);async function setSentryContext(e){await (0,w.T)()&&(await (0,A.Q)()).configureScope(t=>{Object.keys(e).forEach(n=>{t.setExtra(n,e[n])})})}let register=({key:e,value:t})=>{window.chesscom||(window.chesscom={});window.chesscom[e]||(window.chesscom[e]=t)},checkWindowObject=()=>{register({key:"logData",value:{}})},log=({key:e,value:t})=>{checkWindowObject();window.chesscom.logData[e]=t;setSentryContext({[e]:t})};function responseInterceptor(e){if(e.headers&&e.headers["x-chesscom-request-id-cdn"]){log({key:"x-chesscom-request-id-cdn",value:e.headers["x-chesscom-request-id-cdn"]});log({key:"x-chesscom-request-id-lb",value:e.headers["x-chesscom-request-id-lb"]})}return e}function findExistingInterceptor(e,t){if(!t.name)throw Error("interceptor must be a named function");return e.handlers?.find(e=>e.fulfilled?.name===t.name||e.rejected?.name===t.name)}!function registerInterceptors(e){h.forEach(t=>{findExistingInterceptor(e.interceptors.request,t)||e.interceptors.request.use(t)});window.chesscom?.features?.includes("cf_managed_challenge_handler")&&!findExistingInterceptor(e.interceptors.response,responseCloudflareManagedChallengeInterceptor)&&e.interceptors.response.use(void 0,responseCloudflareManagedChallengeInterceptor);findExistingInterceptor(e.interceptors.response,c.A)||e.interceptors.response.use(void 0,c.A);findExistingInterceptor(e.interceptors.response,responseInterceptor)||e.interceptors.response.use(responseInterceptor,responseErrorInterceptor)}(l);var C=l},8226:function(e,t,n){"use strict";n.d(t,{RZ:function(){return isPlatformRequest},tO:function(){return isSpecialRequest}});function isSpecialRequest(e){return isPlatformRequest(e)||isChessbombRequest(e)||isSubdomainRequest(e)||isRpcRequest(e)||isCoursesRequest(e)}function isPlatformRequest(e){return e.startsWith("/service/")||e.includes(".com/service/")}function isChessbombRequest(e){return e.includes("chessbomb.com")||e.includes("chessbomb.gcp-staging")||e.includes(".com/events/v1/api/")}function isSubdomainRequest(e){return/https:\/\/(?!www)([\S]+)chess.com/.test(e)}function isRpcRequest(e){return e.startsWith("/rpc/")||e.includes(".com/rpc/")||e.includes(".net/rpc/")}function isCoursesRequest(e){return!!window.chesscom?.courses?.service?.baseURL&&e.startsWith(window.chesscom.courses.service.baseURL)}},9877:function(e,t,n){"use strict";n.d(t,{A:function(){return oauthUnauthorizedInterceptor}});var a=n(9946),l=n(8226),c=n(2648);async function oauthUnauthorizedInterceptor(e){let t=e.config,n=e.response;if(n?.status!==401||!(0,l.RZ)(t.url))return Promise.reject(e);try{t.data=JSON.parse(t.data)}catch(e){}return t.headers["x-chesscom-retried-request"]?Promise.reject(e):(0,c.M)().then(()=>(t.headers["x-chesscom-retried-request"]="true",(0,a.A)(t))).catch(()=>Promise.reject(e))}},2648:function(e,t,n){"use strict";let a;n.d(t,{M:function(){return refreshOauthToken}});var l=n(9946),c=n(3306);async function refreshOauthToken(){return a||(a=l.A.post(c.A.generate("web_bff_oauth_token")).finally(()=>{a=void 0})),a}},5133:function(e,t,n){"use strict";n.d(t,{J:function(){return isCI}});function isCI(){return!!(window.Cypress||window.Config?.cypress||window.location.host.includes("localhost:"))}},3306:function(e,t,n){"use strict";n.d(t,{A:function(){return _}});var a=n(3189),l=n(5133),c=n(7634),d=/*#__PURE__*/n.n(c);function getRouting(){return d()}var f=n(1055);function copyRoute(e){let t=getRouting();if(t.routes_[e])return;try{Object.assign(t.context_,{base_url:"",prefix:"",host:"www.chess.com",port:"",scheme:"https",locale:""})}catch(e){}Object.isFrozen(t.routes_)&&(t.routes_=Object.assign({},t.routes_));let n=".chess-dev.com",a=window.location.host.replace(/^[^.]+/,""),l=!window.Config?.cypress&&a;l&&t.context_.host.includes(n)&&(t.context_.host=t.context_.host.replace(n,a));if(window.chesscom?.routes?.[e]){let c=window.chesscom.routes[e];if(l){c.defaults?.host?.includes(n)&&(c.defaults.host=c.defaults.host.replace(n,a));c.hosttokens?.forEach(e=>{e.forEach((t,l)=>{f.Kg(t)&&t.includes(n)&&(e[l]=t.replace(n,a))})})}t.routes_[e]=c}}var m=n(6398);class h{generate(e,t,n){let c=t||{};"string"==typeof c.username&&(c.username=c.username.toLowerCase());copyRoute(e);try{let t=getRouting().generate(e,c,n);if(t.startsWith("http"))try{if(new URL(t).hostname===window.location.hostname)return t;let e=(0,a.o)(),n=(0,a.o)(t);t=t.replace(n,e)}catch(a){let t=Error(`Failed replacing hostname in route '${e}'.`);(0,m.C)(t,{routeName:e,routeParams:c,absoluteUrl:n})}return t}catch(n){let t=Error(`Couldn't find missing route '${e}'.`);window.Jest||console.error(t);(0,l.J)()||(0,m.C)(t,{missing_route:e});return"/"}}i18nable(e){return`i18n_${e}`in window.chesscom.routes}i18n(e,t,n){let a=e,l=t||{};if(window.context?.route?.startsWith("i18n")&&this.i18nable(e)){l._locale=window.context.locale.slice(0,2);a=`i18n_${e}`}let c=this.generate(a,l,n);return n?c:c.replace(/^.*\/\/[^/]+/,"")}}var _=new h},6398:function(e,t,n){"use strict";n.d(t,{C:function(){return captureException}});var a=n(1347),l=n(502);async function enableSentry(e=0){if(!await (0,l.T)())return;window.chesscom.sudoEnableSentry=!0;let t=await (0,a.Q)();for(;window.chesscom.queuedSentryReports?.length;)t.captureException(window.chesscom.queuedSentryReports.shift());if(e>0){let t=Date.now()+864e5*e;window.localStorage.setItem("enableSentryUntil",t.toString())}}async function captureException(e,t){if(!await (0,l.T)())return;await enableSentry();let n=await (0,a.Q)(),c=e instanceof Error?e:Error(e);t?n.withScope(e=>{Object.keys(t).forEach(n=>e.setExtra(n,t[n]));n.captureException(c)}):n.captureException(c)}},1347:function(e,t,n){"use strict";n.d(t,{Q:function(){return getSentryBrowser}});async function getSentryBrowser(){return n.e(440).then(n.bind(n,8440))}},502:function(e,t,n){"use strict";n.d(t,{T:function(){return isSentryAvailable}});var a=n(1347);async function isSentryAvailable(){try{return!!(await (0,a.Q)()).getCurrentHub().getClient()}catch(e){return!1}}},5834:function(e,t,n){"use strict";n.d(t,{X6:function(){return getCountries},pw:function(){return trans},Mq:function(){return transChoice},dn:function(){return unsafeTrans}});var a=n(8583),l=/*#__PURE__*/n.n(a);/*! @license DOMPurify 3.2.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.5/LICENSE */let{entries:c,setPrototypeOf:d,isFrozen:f,getPrototypeOf:m,getOwnPropertyDescriptor:h}=Object,{freeze:_,seal:g,create:b}=Object,{apply:v,construct:x}="undefined"!=typeof Reflect&&Reflect;_||(_=function freeze(e){return e});g||(g=function seal(e){return e});v||(v=function apply(e,t,n){return e.apply(t,n)});x||(x=function construct(e,t){return new e(...t)});let y=unapply(Array.prototype.forEach),A=unapply(Array.prototype.lastIndexOf),w=unapply(Array.prototype.pop),C=unapply(Array.prototype.push),k=unapply(Array.prototype.splice),T=unapply(String.prototype.toLowerCase),E=unapply(String.prototype.toString),S=unapply(String.prototype.match),M=unapply(String.prototype.replace),N=unapply(String.prototype.indexOf),L=unapply(String.prototype.trim),P=unapply(Object.prototype.hasOwnProperty),O=unapply(RegExp.prototype.test),R=unconstruct(TypeError);function unapply(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var n=arguments.length,a=Array(n>1?n-1:0),l=1;l2&&void 0!==arguments[2]?arguments[2]:T;d&&d(e,null);let a=t.length;for(;a--;){let l=t[a];if("string"==typeof l){let e=n(l);if(e!==l){f(t)||(t[a]=e);l=e}}e[l]=!0}return e}function cleanArray(e){for(let t=0;t/gm),Z=g(/\$\{[\w\W]*/gm),K=g(/^data-[\-\w.\u00B7-\uFFFF]+$/),Q=g(/^aria-[\-\w]+$/),Y=g(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),J=g(/^(?:\w+script|data):/i),X=g(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),ee=g(/^html$/i);var et=/*#__PURE__*/Object.freeze({__proto__:null,ARIA_ATTR:Q,ATTR_WHITESPACE:X,CUSTOM_ELEMENT:g(/^[a-z][.\w]*(-[.\w]+)+$/i),DATA_ATTR:K,DOCTYPE_NAME:ee,ERB_EXPR:G,IS_ALLOWED_URI:Y,IS_SCRIPT_OR_DATA:J,MUSTACHE_EXPR:W,TMPLIT_EXPR:Z});let en={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},_createTrustedTypesPolicy=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;let n=null,a="data-tt-policy-suffix";t&&t.hasAttribute(a)&&(n=t.getAttribute(a));let l="dompurify"+(n?"#"+n:"");try{return e.createPolicy(l,{createHTML:e=>e,createScriptURL:e=>e})}catch(e){console.warn("TrustedTypes policy "+l+" could not be created.");return null}},_createHooksMap=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function createDOMPurify(){let e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){return"undefined"==typeof window?null:window}(),DOMPurify=e=>createDOMPurify(e);DOMPurify.version="3.2.5";DOMPurify.removed=[];if(!t||!t.document||t.document.nodeType!==en.document||!t.Element)return DOMPurify.isSupported=!1,DOMPurify;let{document:n}=t,a=n,l=a.currentScript,{DocumentFragment:d,HTMLTemplateElement:f,Node:m,Element:h,NodeFilter:g,NamedNodeMap:v=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:x,DOMParser:W,trustedTypes:G}=t,Z=h.prototype,K=lookupGetter(Z,"cloneNode"),Q=lookupGetter(Z,"remove"),J=lookupGetter(Z,"nextSibling"),X=lookupGetter(Z,"childNodes"),eo=lookupGetter(Z,"parentNode");if("function"==typeof f){let e=n.createElement("template");e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let ea="",{implementation:ei,createNodeIterator:er,createDocumentFragment:es,getElementsByTagName:el}=n,{importNode:ec}=a,ed=_createHooksMap();DOMPurify.isSupported="function"==typeof c&&"function"==typeof eo&&ei&&void 0!==ei.createHTMLDocument;let{MUSTACHE_EXPR:eu,ERB_EXPR:ef,TMPLIT_EXPR:ep,DATA_ATTR:em,ARIA_ATTR:eh,IS_SCRIPT_OR_DATA:e_,ATTR_WHITESPACE:eg,CUSTOM_ELEMENT:eb}=et,{IS_ALLOWED_URI:ev}=et,ex=null,ey=addToSet({},[...$,...I,...D,...H,...F]),eA=null,ew=addToSet({},[...z,...j,...q,...U]),eC=Object.seal(b(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ek=null,eT=null,eE=!0,eS=!0,eM=!1,eN=!0,eL=!1,eP=!0,eO=!1,eR=!1,e$=!1,eI=!1,eD=!1,eB=!1,eH=!0,eV=!1,eF=!0,ez=!1,ej={},eq=null,eU=addToSet({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),eW=null,eG=addToSet({},["audio","video","img","source","image","track"]),eZ=null,eK=addToSet({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),eQ="http://www.w3.org/1998/Math/MathML",eY="http://www.w3.org/2000/svg",eJ="http://www.w3.org/1999/xhtml",eX=eJ,e0=!1,e1=null,e2=addToSet({},[eQ,eY,eJ],E),e3=addToSet({},["mi","mo","mn","ms","mtext"]),e9=addToSet({},["annotation-xml"]),e8=addToSet({},["title","style","font","a","script"]),e5=null,e6=["application/xhtml+xml","text/html"],e4=null,e7=null,te=n.createElement("form"),isRegexOrFunction=function(e){return e instanceof RegExp||e instanceof Function},_parseConfig=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!e7||e7!==t){t&&"object"==typeof t||(t={});t=clone(t);e4="application/xhtml+xml"===(e5=-1===e6.indexOf(t.PARSER_MEDIA_TYPE)?"text/html":t.PARSER_MEDIA_TYPE)?E:T;ex=P(t,"ALLOWED_TAGS")?addToSet({},t.ALLOWED_TAGS,e4):ey;eA=P(t,"ALLOWED_ATTR")?addToSet({},t.ALLOWED_ATTR,e4):ew;e1=P(t,"ALLOWED_NAMESPACES")?addToSet({},t.ALLOWED_NAMESPACES,E):e2;eZ=P(t,"ADD_URI_SAFE_ATTR")?addToSet(clone(eK),t.ADD_URI_SAFE_ATTR,e4):eK;eW=P(t,"ADD_DATA_URI_TAGS")?addToSet(clone(eG),t.ADD_DATA_URI_TAGS,e4):eG;eq=P(t,"FORBID_CONTENTS")?addToSet({},t.FORBID_CONTENTS,e4):eU;ek=P(t,"FORBID_TAGS")?addToSet({},t.FORBID_TAGS,e4):{};eT=P(t,"FORBID_ATTR")?addToSet({},t.FORBID_ATTR,e4):{};ej=!!P(t,"USE_PROFILES")&&t.USE_PROFILES;eE=!1!==t.ALLOW_ARIA_ATTR;eS=!1!==t.ALLOW_DATA_ATTR;eM=t.ALLOW_UNKNOWN_PROTOCOLS||!1;eN=!1!==t.ALLOW_SELF_CLOSE_IN_ATTR;eL=t.SAFE_FOR_TEMPLATES||!1;eP=!1!==t.SAFE_FOR_XML;eO=t.WHOLE_DOCUMENT||!1;eI=t.RETURN_DOM||!1;eD=t.RETURN_DOM_FRAGMENT||!1;eB=t.RETURN_TRUSTED_TYPE||!1;e$=t.FORCE_BODY||!1;eH=!1!==t.SANITIZE_DOM;eV=t.SANITIZE_NAMED_PROPS||!1;eF=!1!==t.KEEP_CONTENT;ez=t.IN_PLACE||!1;ev=t.ALLOWED_URI_REGEXP||Y;eX=t.NAMESPACE||eJ;e3=t.MATHML_TEXT_INTEGRATION_POINTS||e3;e9=t.HTML_INTEGRATION_POINTS||e9;eC=t.CUSTOM_ELEMENT_HANDLING||{};t.CUSTOM_ELEMENT_HANDLING&&isRegexOrFunction(t.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(eC.tagNameCheck=t.CUSTOM_ELEMENT_HANDLING.tagNameCheck);t.CUSTOM_ELEMENT_HANDLING&&isRegexOrFunction(t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(eC.attributeNameCheck=t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck);t.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(eC.allowCustomizedBuiltInElements=t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements);eL&&(eS=!1);eD&&(eI=!0);if(ej){ex=addToSet({},F);eA=[];if(!0===ej.html){addToSet(ex,$);addToSet(eA,z)}if(!0===ej.svg){addToSet(ex,I);addToSet(eA,j);addToSet(eA,U)}if(!0===ej.svgFilters){addToSet(ex,D);addToSet(eA,j);addToSet(eA,U)}if(!0===ej.mathMl){addToSet(ex,H);addToSet(eA,q);addToSet(eA,U)}}if(t.ADD_TAGS){ex===ey&&(ex=clone(ex));addToSet(ex,t.ADD_TAGS,e4)}if(t.ADD_ATTR){eA===ew&&(eA=clone(eA));addToSet(eA,t.ADD_ATTR,e4)}t.ADD_URI_SAFE_ATTR&&addToSet(eZ,t.ADD_URI_SAFE_ATTR,e4);if(t.FORBID_CONTENTS){eq===eU&&(eq=clone(eq));addToSet(eq,t.FORBID_CONTENTS,e4)}eF&&(ex["#text"]=!0);eO&&addToSet(ex,["html","head","body"]);if(ex.table){addToSet(ex,["tbody"]);delete ek.tbody}if(t.TRUSTED_TYPES_POLICY){if("function"!=typeof t.TRUSTED_TYPES_POLICY.createHTML)throw R('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof t.TRUSTED_TYPES_POLICY.createScriptURL)throw R('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');ea=(e=t.TRUSTED_TYPES_POLICY).createHTML("")}else{void 0===e&&(e=_createTrustedTypesPolicy(G,l));null!==e&&"string"==typeof ea&&(ea=e.createHTML(""))}_&&_(t);e7=t}},tt=addToSet({},[...I,...D,...B]),tn=addToSet({},[...H,...V]),_checkValidNamespace=function(e){let t=eo(e);t&&t.tagName||(t={namespaceURI:eX,tagName:"template"});let n=T(e.tagName),a=T(t.tagName);return!!e1[e.namespaceURI]&&(e.namespaceURI===eY?t.namespaceURI===eJ?"svg"===n:t.namespaceURI===eQ?"svg"===n&&("annotation-xml"===a||e3[a]):!!tt[n]:e.namespaceURI===eQ?t.namespaceURI===eJ?"math"===n:t.namespaceURI===eY?"math"===n&&e9[a]:!!tn[n]:e.namespaceURI===eJ?(t.namespaceURI!==eY||!!e9[a])&&(t.namespaceURI!==eQ||!!e3[a])&&!tn[n]&&(e8[n]||!tt[n]):"application/xhtml+xml"===e5&&!!e1[e.namespaceURI])},_forceRemove=function(e){C(DOMPurify.removed,{element:e});try{eo(e).removeChild(e)}catch(t){Q(e)}},_removeAttribute=function(e,t){try{C(DOMPurify.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){C(DOMPurify.removed,{attribute:null,from:t})}t.removeAttribute(e);if("is"===e){if(eI||eD)try{_forceRemove(t)}catch(e){}else try{t.setAttribute(e,"")}catch(e){}}},_initDocument=function(t){let a=null,l=null;if(e$)t=""+t;else{let e=S(t,/^[\r\n\t ]+/);l=e&&e[0]}"application/xhtml+xml"===e5&&eX===eJ&&(t=''+t+"");let c=e?e.createHTML(t):t;if(eX===eJ)try{a=new W().parseFromString(c,e5)}catch(e){}if(!a||!a.documentElement){a=ei.createDocument(eX,"template",null);try{a.documentElement.innerHTML=e0?ea:c}catch(e){}}let d=a.body||a.documentElement;return(t&&l&&d.insertBefore(n.createTextNode(l),d.childNodes[0]||null),eX===eJ)?el.call(a,eO?"html":"body")[0]:eO?a.documentElement:d},_createNodeIterator=function(e){return er.call(e.ownerDocument||e,e,g.SHOW_ELEMENT|g.SHOW_COMMENT|g.SHOW_TEXT|g.SHOW_PROCESSING_INSTRUCTION|g.SHOW_CDATA_SECTION,null)},_isClobbered=function(e){return e instanceof x&&("string"!=typeof e.nodeName||"string"!=typeof e.textContent||"function"!=typeof e.removeChild||!(e.attributes instanceof v)||"function"!=typeof e.removeAttribute||"function"!=typeof e.setAttribute||"string"!=typeof e.namespaceURI||"function"!=typeof e.insertBefore||"function"!=typeof e.hasChildNodes)},_isNode=function(e){return"function"==typeof m&&e instanceof m};function _executeHooks(e,t,n){y(e,e=>{e.call(DOMPurify,t,n,e7)})}let _sanitizeElements=function(e){let t=null;_executeHooks(ed.beforeSanitizeElements,e,null);if(_isClobbered(e))return _forceRemove(e),!0;let n=e4(e.nodeName);_executeHooks(ed.uponSanitizeElement,e,{tagName:n,allowedTags:ex});if(e.hasChildNodes()&&!_isNode(e.firstElementChild)&&O(/<[/\w!]/g,e.innerHTML)&&O(/<[/\w!]/g,e.textContent)||e.nodeType===en.progressingInstruction||eP&&e.nodeType===en.comment&&O(/<[/\w]/g,e.data))return _forceRemove(e),!0;if(!ex[n]||ek[n]){if(!ek[n]&&_isBasicCustomElement(n)&&(eC.tagNameCheck instanceof RegExp&&O(eC.tagNameCheck,n)||eC.tagNameCheck instanceof Function&&eC.tagNameCheck(n)))return!1;if(eF&&!eq[n]){let t=eo(e)||e.parentNode,n=X(e)||e.childNodes;if(n&&t){let a=n.length;for(let l=a-1;l>=0;--l){let a=K(n[l],!0);a.__removalCount=(e.__removalCount||0)+1;t.insertBefore(a,J(e))}}}return _forceRemove(e),!0}if(e instanceof h&&!_checkValidNamespace(e)||("noscript"===n||"noembed"===n||"noframes"===n)&&O(/<\/no(script|embed|frames)/i,e.innerHTML))return _forceRemove(e),!0;if(eL&&e.nodeType===en.text){t=e.textContent;y([eu,ef,ep],e=>{t=M(t,e," ")});if(e.textContent!==t){C(DOMPurify.removed,{element:e.cloneNode()});e.textContent=t}}return _executeHooks(ed.afterSanitizeElements,e,null),!1},_isValidAttribute=function(e,t,a){if(eH&&("id"===t||"name"===t)&&(a in n||a in te))return!1;if(eS&&!eT[t]&&O(em,t));else if(eE&&O(eh,t));else if(!eA[t]||eT[t]){if(!(_isBasicCustomElement(e)&&(eC.tagNameCheck instanceof RegExp&&O(eC.tagNameCheck,e)||eC.tagNameCheck instanceof Function&&eC.tagNameCheck(e))&&(eC.attributeNameCheck instanceof RegExp&&O(eC.attributeNameCheck,t)||eC.attributeNameCheck instanceof Function&&eC.attributeNameCheck(t))||"is"===t&&eC.allowCustomizedBuiltInElements&&(eC.tagNameCheck instanceof RegExp&&O(eC.tagNameCheck,a)||eC.tagNameCheck instanceof Function&&eC.tagNameCheck(a))))return!1}else if(eZ[t]);else if(O(ev,M(a,eg,"")));else if(("src"===t||"xlink:href"===t||"href"===t)&&"script"!==e&&0===N(a,"data:")&&eW[e]);else if(eM&&!O(e_,M(a,eg,"")));else if(a)return!1;return!0},_isBasicCustomElement=function(e){return"annotation-xml"!==e&&S(e,eb)},_sanitizeAttributes=function(t){_executeHooks(ed.beforeSanitizeAttributes,t,null);let{attributes:n}=t;if(!n||_isClobbered(t))return;let a={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:eA,forceKeepAttr:void 0},l=n.length;for(;l--;){let{name:c,namespaceURI:d,value:f}=n[l],m=e4(c),h="value"===c?f:L(f);a.attrName=m;a.attrValue=h;a.keepAttr=!0;a.forceKeepAttr=void 0;_executeHooks(ed.uponSanitizeAttribute,t,a);h=a.attrValue;if(eV&&("id"===m||"name"===m)){_removeAttribute(c,t);h="user-content-"+h}if(eP&&O(/((--!?|])>)|<\/(style|title)/i,h)){_removeAttribute(c,t);continue}if(a.forceKeepAttr)continue;_removeAttribute(c,t);if(!a.keepAttr)continue;if(!eN&&O(/\/>/i,h)){_removeAttribute(c,t);continue}eL&&y([eu,ef,ep],e=>{h=M(h,e," ")});let _=e4(t.nodeName);if(_isValidAttribute(_,m,h)){if(e&&"object"==typeof G&&"function"==typeof G.getAttributeType){if(d);else switch(G.getAttributeType(_,m)){case"TrustedHTML":h=e.createHTML(h);break;case"TrustedScriptURL":h=e.createScriptURL(h)}}try{d?t.setAttributeNS(d,c,h):t.setAttribute(c,h);_isClobbered(t)?_forceRemove(t):w(DOMPurify.removed)}catch(e){}}}_executeHooks(ed.afterSanitizeAttributes,t,null)},_sanitizeShadowDOM=function _sanitizeShadowDOM(e){let t=null,n=_createNodeIterator(e);_executeHooks(ed.beforeSanitizeShadowDOM,e,null);for(;t=n.nextNode();){_executeHooks(ed.uponSanitizeShadowNode,t,null);_sanitizeElements(t);_sanitizeAttributes(t);t.content instanceof d&&_sanitizeShadowDOM(t.content)}_executeHooks(ed.afterSanitizeShadowDOM,e,null)};return DOMPurify.sanitize=function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=null,c=null,f=null,h=null;(e0=!t)&&(t="\x3c!--\x3e");if("string"!=typeof t&&!_isNode(t)){if("function"==typeof t.toString){t=t.toString();if("string"!=typeof t)throw R("dirty is not a string, aborting")}else throw R("toString is not a function")}if(!DOMPurify.isSupported)return t;eR||_parseConfig(n);DOMPurify.removed=[];"string"==typeof t&&(ez=!1);if(ez){if(t.nodeName){let e=e4(t.nodeName);if(!ex[e]||ek[e])throw R("root node is forbidden and cannot be sanitized in-place")}}else if(t instanceof m)(c=(l=_initDocument("\x3c!----\x3e")).ownerDocument.importNode(t,!0)).nodeType===en.element&&"BODY"===c.nodeName?l=c:"HTML"===c.nodeName?l=c:l.appendChild(c);else{if(!eI&&!eL&&!eO&&-1===t.indexOf("<"))return e&&eB?e.createHTML(t):t;l=_initDocument(t);if(!l)return eI?null:eB?ea:""}l&&e$&&_forceRemove(l.firstChild);let _=_createNodeIterator(ez?t:l);for(;f=_.nextNode();){_sanitizeElements(f);_sanitizeAttributes(f);f.content instanceof d&&_sanitizeShadowDOM(f.content)}if(ez)return t;if(eI){if(eD){h=es.call(l.ownerDocument);for(;l.firstChild;)h.appendChild(l.firstChild)}else h=l;return(eA.shadowroot||eA.shadowrootmode)&&(h=ec.call(a,h,!0)),h}let g=eO?l.outerHTML:l.innerHTML;return eO&&ex["!doctype"]&&l.ownerDocument&&l.ownerDocument.doctype&&l.ownerDocument.doctype.name&&O(ee,l.ownerDocument.doctype.name)&&(g="\n"+g),eL&&y([eu,ef,ep],e=>{g=M(g,e," ")}),e&&eB?e.createHTML(g):g},DOMPurify.setConfig=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};_parseConfig(e);eR=!0},DOMPurify.clearConfig=function(){e7=null;eR=!1},DOMPurify.isValidAttribute=function(e,t,n){return e7||_parseConfig({}),_isValidAttribute(e4(e),e4(t),n)},DOMPurify.addHook=function(e,t){"function"==typeof t&&C(ed[e],t)},DOMPurify.removeHook=function(e,t){if(void 0!==t){let n=A(ed[e],t);return -1===n?void 0:k(ed[e],n,1)[0]}return w(ed[e])},DOMPurify.removeHooks=function(e){ed[e]=[]},DOMPurify.removeAllHooks=function(){ed=_createHooksMap()},DOMPurify}var eo=createDOMPurify();function unsafeXssFilter(e){let t=["onerror="],n=e;return(t.forEach(e=>{n=n.replace(e,"")}),t.some(e=>n.includes(e)))?xssFilter(n):n}function xssFilter(e){if(!window.chesscom?.features?.includes("trans_util_sanitization"))return unsafeXssFilter(e);{let handleAfterSanitizeAttributes=e=>{let t=e.getAttribute("rel")??"";if("target"in e&&!["noopener","noreferrer","noopener noreferrer"].includes(t)){e.setAttribute("target","_blank");e.setAttribute("rel","noopener")}};eo.addHook("afterSanitizeAttributes",handleAfterSanitizeAttributes);let t=eo.sanitize(e,{USE_PROFILES:{html:!0},ADD_ATTR:["target"]});return eo.removeHook("afterSanitizeAttributes",handleAfterSanitizeAttributes),t}}let ea=window.context?.i18n?.locale==="fr_FR";l().placeHolderPrefix="";l().placeHolderSuffix="";let escapeRegExp=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),sanitizeAndEscapeParameters=e=>{let t={},n=window.chesscom?.features?.includes("trans_util_sanitization");return null!=e&&Object.keys(e).forEach(a=>{let l=escapeRegExp(a);null!=l&&l.length>0&&(t[l]=n?xssFilter(e[a]):e[a])}),t},escapeParameters=e=>{let t={};return null!=e&&Object.keys(e).forEach(n=>{let a=escapeRegExp(n);null!=a&&a.length>0&&(t[a]=e[n])}),t},getTranslatedPhrase=(e,t="messages",n)=>window.chesscom_translations&&window.chesscom_translations[t]&&window.chesscom_translations[t][e]?window.chesscom_translations[t][e]:window.chesscom_live_translations&&window.chesscom_live_translations[t]&&window.chesscom_live_translations[t][e]?window.chesscom_live_translations[t][e]:"live"===t&&window.i18n_phrases&&window.i18n_phrases[e]?window.i18n_phrases:"countries"===t&&window.Country&&window.Country[e]?window.Country:n?void 0:"javascript"!==t?getTranslatedPhrase(e,"javascript"):e,trans=(e,t,n)=>l().trans(getTranslatedPhrase(e,n),sanitizeAndEscapeParameters(t),n),unsafeTrans=(e,t,n)=>window.chesscom?.features?.includes("trans_util_sanitization")?l().trans(getTranslatedPhrase(e,n),escapeParameters(t),n):trans(e,t,n),transChoice=(e,t,n,a)=>{if(void 0===t)return"";let c=getTranslatedPhrase(e,a),d=sanitizeAndEscapeParameters(n);return ea?frenchTransChoice(c,t,d,a):l().transChoice(c,t,d)};function frenchTransChoice(e,t,n,a){let[c,d,f]=e.split("|").map(e=>e.trim());return 0===t||1===t?l().trans(c,n,a):t%1e6==0?l().trans(d,n,a):l().trans(f,n,a)}let getCountries=()=>window.chesscom_translations&&window.chesscom_translations.countries?window.chesscom_translations.countries:window.chesscom_live_translations&&window.chesscom_live_translations.countries?window.chesscom_live_translations.countries:window.Country?window.Country:void 0},4361:function(e,t,n){"use strict";n.d(t,{h:function(){return turnstileRender}});var a=n(8630),l=n(7901),c=/*#__PURE__*/n.n(l),d=n(6283);function createTurnstileRenderOptions(e,t){return e.cData??=c()(),{sitekey:window.Config["turnstile.sitekey"],appearance:"interaction-only",...e,callback:callbackProxy(e,t),"before-interactive-callback":()=>beforeInteractiveCallbackProxy(e,t),"error-callback":errorCallbackProxy(e)}}function callbackProxy(e,t){return(n,a)=>{window.turnstileLogger?.recordSuccess(e.cData,e.action);t&&(0,d.Bq)();e.callback(n,a)}}function errorCallbackProxy(e){return t=>{window.turnstileLogger?.recordError(e.cData,e.action,t);e["error-callback"]?.(t)}}function beforeInteractiveCallbackProxy(e,t){window.turnstileLogger?.beforeInteractiveCallback(e.cData);t&&(0,d.eC)();e["before-interactive-callback"]?.()}async function turnstileRender(e,t){await window.turnstileReady;t||(0,d.sQ)();let n=createTurnstileRenderOptions(e,!t);return window.turnstile.render(t??`#${a.i}`,n)?n.cData:void 0}},8630:function(e,t,n){"use strict";n.d(t,{i:function(){return a}});let a="turnstile_widget"},6283:function(e,t,n){"use strict";let a;n.d(t,{Bq:function(){return unmountTurnstileDialog},eC:function(){return showTurnstileDialog},sQ:function(){return mountTurnstileDialog}});var l=n(5834),c=n(8630);function mountTurnstileDialog(){if(a)return;let e=(0,l.pw)("Check the box to proceed.");(a=document.createElement("dialog")).className="turnstile-modal";a.innerHTML=`

${e}

`;document.body.appendChild(a)}function showTurnstileDialog(){a?.showModal()}function unmountTurnstileDialog(){if(a){a.close();document.body.removeChild(a);a=void 0}}},1055:function(e,t,n){"use strict";n.d(t,{Et:function(){return isNumber},Gv:function(){return isObject},Kg:function(){return isString},Lm:function(){return isBoolean},Tn:function(){return isFunction},cy:function(){return isArray}});function isObject(e){return null!==e&&"object"==typeof e}function isString(e){return"string"==typeof e}function isFunction(e){return"function"==typeof e}function isNumber(e){return"number"==typeof e&&!isNaN(e)}function isArray(e){return Array.isArray(e)}function isBoolean(e){return"boolean"==typeof e}},5917:function(e,t,n){"use strict";n.d(t,{P:function(){return d}});var a=n(9686),l=n(5834);let c=(0,a.uf)(),d={moveList:{"%username% won on time":e=>(0,l.pw)("%username% won on time",{"%username":e}),"Good move":()=>(0,l.pw)("Good move"),"Bad move":()=>(0,l.pw)("Bad move"),"Excellent move":()=>(0,l.pw)("Excellent move"),Blunder:()=>(0,l.pw)("Blunder"),"Speculative move":()=>(0,l.pw)("Speculative move"),"Dubious move":()=>(0,l.pw)("Dubious move"),Drawish:()=>(0,l.pw)("Drawish"),Unclear:()=>(0,l.pw)("Unclear"),"White has a slight advantage":()=>(0,l.pw)("White has a slight advantage"),"Black has a slight advantage":()=>(0,l.pw)("Black has a slight advantage"),"White has a moderate advantage":()=>(0,l.pw)("White has a moderate advantage"),"Black has a moderate advantage":()=>(0,l.pw)("Black has a moderate advantage"),"White has a decisive advantage":()=>(0,l.pw)("White has a decisive advantage"),"Black has a decisive advantage":()=>(0,l.pw)("Black has a decisive advantage"),"The position is in zugzwang":()=>(0,l.pw)("The position is in zugzwang"),"With initiative":()=>(0,l.pw)("With initiative"),"With compensation":()=>(0,l.pw)("With compensation"),Novelty:()=>(0,l.pw)("Novelty"),"With an attack":()=>(0,l.pw)("With an attack"),"Time trouble":()=>(0,l.pw)("Time trouble"),Counterplay:()=>(0,l.pw)("Counterplay"),"Development lead":()=>(0,l.pw)("Development lead"),"Clear All Analysis":()=>(0,l.pw)("Clear All Analysis"),"Delete Comment":()=>(0,l.pw)("Delete Comment"),"Delete Comment After":()=>(0,l.pw)("Delete Comment After"),"Delete Comment Before":()=>(0,l.pw)("Delete Comment Before"),"Delete Move":()=>(0,l.pw)("Delete Move"),"Delete Entire Variation":()=>(0,l.pw)("Delete Entire Variation"),Comment:()=>(0,l.pw)("Comment"),"Comment After":()=>(0,l.pw)("Comment After"),"Comment Before":()=>(0,l.pw)("Comment Before"),"Insert Continuation":()=>(0,l.pw)("Insert Continuation"),"Show All Annotations":()=>(0,l.pw)("Show All Annotations"),"Hide All Annotations":()=>(0,l.pw)("Hide All Annotations"),Miss:()=>(0,l.pw)("Miss"),"Move Variation Down":()=>(0,l.pw)("Move Variation Down"),"Move Variation Up":()=>(0,l.pw)("Move Variation Up"),Promote:()=>(0,l.pw)("Promote"),"Remove Annotation":()=>(0,l.pw)("Remove Annotation"),"Remove Begin":()=>(0,l.pw)("Remove Begin"),"Remove End":()=>(0,l.pw)("Remove End"),"Remove Evaluation Annotation":()=>(0,l.pw)("Remove Evaluation Annotation"),"Remove Focus":()=>(0,l.pw)("Remove Focus"),"Set Begin":()=>(0,l.pw)("Set Begin"),"Set End":()=>(0,l.pw)("Set End"),"Set Focus":()=>(0,l.pw)("Set Focus"),"Add Comment...":()=>(0,l.pw)("Add Comment..."),B:()=>c.B,K:()=>c.K,N:()=>c.N,P:()=>c.P,Q:()=>c.Q,R:()=>c.R,numberOfDays:e=>(0,l.Mq)("{1} 1 day|]1,Inf] %1$s% days",e,{"%1$s%":e}),numberOfHours:e=>(0,l.Mq)("{1} 1 hr|]1,Inf] %1$s% hrs",e,{"%1$s%":e}),numberOfMinutes:e=>(0,l.Mq)("{1} 1 min|]1,Inf] %1$s% mins",e,{"%1$s%":e}),"This game ended in a draw because the same position was repeated three times.":()=>(0,l.pw)("This game ended in a draw because the same position was repeated three times."),"En passant is a special pawn move by which a pawn captures another pawn that has advanced two squares.":()=>(0,l.pw)("En passant is a special pawn move by which a pawn captures another pawn that has advanced two squares."),"A draw by stalemate occurs when the player whose turn it is has no legal moves, but their king is not in check.":()=>(0,l.pw)("A draw by stalemate occurs when the player whose turn it is has no legal moves, but their king is not in check."),"Neither player had enough material to force checkmate, so the game ended in a draw.":()=>(0,l.pw)("Neither player had enough material to force checkmate, so the game ended in a draw."),"Fifty moves were played with no capture or pawn move, so the game ended in a draw.":()=>(0,l.pw)("Fifty moves were played with no capture or pawn move, so the game ended in a draw."),"The game has been drawn by agreement.":()=>(0,l.pw)("The game has been drawn by agreement."),"Although Black ran out of time, White did not have sufficient material to ever force checkmate, so the game ended in a draw.":()=>(0,l.pw)("Although Black ran out of time, White did not have sufficient material to ever force checkmate, so the game ended in a draw."),"Although White ran out of time, Black did not have sufficient material to ever force checkmate, so the game ended in a draw.":()=>(0,l.pw)("Although White ran out of time, Black did not have sufficient material to ever force checkmate, so the game ended in a draw."),"Game drawn by timeout vs insufficient material":()=>(0,l.pw)("Game drawn by timeout vs insufficient material"),"Game drawn by agreement":()=>(0,l.pw)("Game drawn by agreement")},effects:{"Brilliant!":()=>(0,l.pw)("Brilliant!"),"Great!":()=>(0,l.pw)("Great!"),Abandon:()=>(0,l.pw)("Abandon"),"Best Move":()=>(0,l.pw)("Best Move"),Inaccuracy:()=>(0,l.pw)("Inaccuracy"),Mistake:()=>(0,l.pw)("Mistake"),Stalemate:()=>(0,l.pw)("Stalemate"),Checkmate:()=>(0,l.pw)("Checkmate"),Draw:()=>(0,l.pw)("Draw"),Miss:()=>(0,l.pw)("Miss"),Blunder:()=>(0,l.pw)("Blunder"),Resign:()=>(0,l.pw)("Resign"),Winner:()=>(0,l.pw)("Winner"),Timeout:()=>(0,l.pw)("Timeout"),"Partner Loss":()=>(0,l.pw)("Partner Loss")},gameResultAnimations:{"Game aborted":()=>(0,l.pw)("Game aborted"),"%winner% won by checkmate":e=>(0,l.pw)("%winner% won by checkmate",{"%winner%":e}),"%winner% won by resignation":e=>(0,l.pw)("%winner% won by resignation",{"%winner%":e}),"%winner% won - game abandoned":e=>(0,l.pw)("%winner% won - game abandoned",{"%winner%":e}),"%winner% won on time":e=>(0,l.pw)("%winner% won on time",{"%winner%":e}),unterminated:()=>(0,l.pw)("unterminated"),"with their bughouse partner":()=>(0,l.pw)("with their bughouse partner")}}},9686:function(e,t,n){"use strict";let a;n.d(t,{P2:function(){return f},Wf:function(){return d},lJ:function(){return c},uf:function(){return moveNotationTranslations}});var l=n(5834);let c={BLACK:2,WHITE:1},d={BLACK:"black",WHITE:"white"},f={B:"bishop",K:"king",N:"knight",R:"rook",Q:"queen"},moveNotationTranslations=()=>(a||(a={B:(0,l.pw)("move_list.algebraic.B",null,"moves")||"B",K:(0,l.pw)("move_list.algebraic.K",null,"moves")||"K",N:(0,l.pw)("move_list.algebraic.N",null,"moves")||"N",R:(0,l.pw)("move_list.algebraic.R",null,"moves")||"R",Q:(0,l.pw)("move_list.algebraic.Q",null,"moves")||"Q"}),a)},4413:function(e,t,n){"use strict";n.d(t,{A:function(){return a}});let a=(0,n(7118).ref)(null)},6325:function(e,t,n){"use strict";n.d(t,{DiagramViewerModel:function(){return _}});var a=n(8815),l=n(185),c=n(5591),d=n(9049),f=n(6226),m=n(2646),h=n(6309);class _ extends c.Model{constructor(e="",t=l.d.SIMPLE_DIAGRAM){super();this.type=t;this.id=e;if(this.type===l.d.CHESS_PROBLEM){this.isPuzzleSolved=!1;this.puzzleStateText=f.nx.WHITE_TO_MOVE;this.solutions=[];this.correctNextMove="";this.initialPGN="";this.annotations=[];this.initialFEN="";this.hintState=h.t.None}}id;boardOptions={coordinates:"inside",flipBoard:!1,boardStyle:"neo",pieceStyle:"green"};themeIds;setup=[{pgn:"",nodeLimits:{beginNode:0,endNode:0,focusNode:0},tags:{event:"",site:"",date:"",round:"",white:"",black:"",result:""},variant:a.Z.Variants.Chess}];selectedGameIndex=0;type;isPlaying=!1;nextMoveTimeout=0;setNextMoveTimeout(){this.nextMoveTimeout=window.setTimeout(()=>(0,d.V)(this.id),m.T.TIMEOUT)}getSelectedGameSetup(){return this.setup[this.selectedGameIndex]}isPuzzleSolved;puzzleStateText;solutions;correctNextMove;initialPGN;annotations;initialFEN;hintState}},5838:function(e,t,n){"use strict";n.d(t,{v:function(){return handleChessboardActivePlugins}});var a=n(6618),l=n(4287),c=n(6547),d=n(4955);function handleChessboardActivePlugins(e){document.querySelectorAll("wc-chess-board").forEach(e=>(0,c.L)(e));e.game.plugins.has(a.I.Plugin.Name)||null===d.I.arrowKeysPlugin||e.game.plugins.add(d.I.arrowKeysPlugin);e.game.plugins.has(l.t.Plugin.Name)||e.game.plugins.add(d.I.soundPlugin)}},9049:function(e,t,n){"use strict";n.d(t,{V:function(){return playNextMove}});var a=n(4552),l=n(4949),c=n(4453);function isNextStepPossible({id:e,step:t}){let n=(0,a.N)(e).game,l=(0,c.Y)(e).getSelectedGameSetup().nodeLimits.endNode,d=n.getNodeIds(),f=-1===d.move?t:d.move+t+1;return(0!==l?l:n.getRawLines()[0].length)>=f}var d=n(3188),f=n(6998),m=n(6648),h=n(6226);function playNextMove(e){let t=(0,a.N)(e).game,n=(0,c.Y)(e);clearTimeout(n.nextMoveTimeout);let _=n.getSelectedGameSetup().nodeLimits.endNode,g=t.getSelectedNode()?.moveNumber??0,b=!t.isAtEndOfLine()&&(!_||g<_-1)&&isNextStepPossible({id:e,step:1});if(!b){(0,d.x)(e);return}t.moveForward();if((0,l.g)(n.type)&&!isNextStepPossible({id:e,step:1})){(0,f.i)({id:e,state:!0});(0,m.t)({id:e,text:h.nx.SOLVED})}n.setNextMoveTimeout()}},3188:function(e,t,n){"use strict";n.d(t,{x:function(){return playPause}});var a=n(7118),l=n(9049),c=n(5970),d=n(4453);function playPause(e){let t=(0,d.Y)(e),n=(0,a.computed)(()=>t.isPlaying);(0,c.$)({id:e,state:!n.value});n.value?(0,l.V)(e):clearTimeout(t.nextMoveTimeout)}},5970:function(e,t,n){"use strict";n.d(t,{$:function(){return setGameIsPlaying}});var a=n(4453);function setGameIsPlaying({id:e,state:t}){let n=(0,a.Y)(e);n&&(n.isPlaying=t)}},6998:function(e,t,n){"use strict";n.d(t,{i:function(){return setPuzzleSolved}});var a=n(4453);function setPuzzleSolved({id:e,state:t}){let n=(0,a.Y)(e);n&&(n.isPuzzleSolved=t)}},6648:function(e,t,n){"use strict";n.d(t,{t:function(){return setPuzzleStateText}});var a=n(4453);function setPuzzleStateText({id:e,text:t}){let n=(0,a.Y)(e);n&&(n.puzzleStateText=t)}},6226:function(e,t,n){"use strict";n.d(t,{nx:function(){return d},JZ:function(){return c}});var a=n(3306);let generateRoute=(e,t,n)=>{let l=e,c=t;if(n){let e=document.querySelector("[data-url-locale]"),t=e?.getAttribute("data-url-locale"),a=t?.split("_")[0]!=="en"&&t?.split("_")[0];if(a&&c){l=n;c._locale=a}}return a.A.generate(l,c)};var l=n(5834);let c={analysis:generateRoute("web_analysis_board_editor"),votechess:generateRoute("web_votechess_game")},d={BLACK_TO_MOVE:(0,l.pw)("Black to Move"),CORRECT:(0,l.pw)("Correct!"),INCORRECT:(0,l.pw)("Incorrect"),WHITE_TO_MOVE:(0,l.pw)("White to Move"),SOLVED:(0,l.pw)("Solved!")}},4453:function(e,t,n){"use strict";n.d(t,{Y:function(){return getDiagramViewer}});var a=n(7352);function getDiagramViewer(e){return a.t.instances.find(t=>t.id===e)}},19:function(e,t,n){"use strict";n.d(t,{i:function(){return getShortId}});let getShortId=e=>e.split("_")[1]},7352:function(e,t,n){"use strict";n.d(t,{t:function(){return d}});var a=n(5591),l=n(7118),c=n(6325);let d=(0,l.reactive)({instances:(0,a.createCollection)(c.DiagramViewerModel,{key:"id"}),diagramInFocusId:null})},2646:function(e,t,n){"use strict";n.d(t,{T:function(){return a}});var a=/* @__PURE__ */(e=>(e.ANALYSIS="ANALYSIS",e.DIAGRAM_OBSERVED="data-diagram-observed",e.MULTI_PGN_VIEWER="MULTI_PGN_VIEWER",e.MULTI_GAMES_PGN="multi-games-pgn.pgn",e[e.TIMEOUT=500]="TIMEOUT",e))(a||{})},6309:function(e,t,n){"use strict";n.d(t,{t:function(){return a}});var a=/* @__PURE__ */(e=>(e[e.None=0]="None",e[e.Partial=1]="Partial",e[e.Full=2]="Full",e))(a||{})},1894:function(e){e.exports="object"==typeof self?self.FormData:window.FormData},5606:function(e){var t,n,a,l=e.exports={};function defaultSetTimout(){throw Error("setTimeout has not been defined")}function defaultClearTimeout(){throw Error("clearTimeout has not been defined")}!function(){try{t="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(e){t=defaultSetTimout}try{n="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(e){n=defaultClearTimeout}}();function runTimeout(e){if(t===setTimeout)return setTimeout(e,0);if((t===defaultSetTimout||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}function runClearTimeout(e){if(n===clearTimeout)return clearTimeout(e);if((n===defaultClearTimeout||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{return n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}var c=[],d=!1,f=-1;function cleanUpNextTick(){if(d&&a){d=!1;a.length?c=a.concat(c):f=-1;c.length&&drainQueue()}}function drainQueue(){if(!d){var e=runTimeout(cleanUpNextTick);d=!0;for(var t=c.length;t;){a=c;c=[];for(;++f1)for(var n=1;n=0;_-=1){g=0;x=(b=E[_]).length;for(v=0;v=0){m=(m^(A=e[64*C+8*(7-_)+g])[0])>>>0;h=(h^A[1])>>>0;C===N&&_===L&&(M|=1<-1){m=(m^(A=t[0])[0])>>>0;h=(h^A[1])>>>0}if(w.indexOf("Q")>-1){m=(m^(A=t[2])[0])>>>0;h=(h^A[1])>>>0}if(w.indexOf("k")>-1){m=(m^(A=t[1])[0])>>>0;h=(h^A[1])>>>0}if(w.indexOf("q")>-1){m=(m^(A=t[3])[0])>>>0;h=(h^A[1])>>>0}}if(T[3]&&"-"!==T[3]){k=T[3].charCodeAt(0)-97;if(d[k]&M){m=(m^(A=n[k])[0])>>>0;h=(h^A[1])>>>0}}if(S){m=(m^a[0])>>>0;h=(h^a[1])>>>0}return f&&"hex"===f?to64BitHex([m,h]):[m,h]}function ajaxLoad(e,t){var n=new XMLHttpRequest,a=e.toLowerCase().indexOf(".json")>-1;function onload(){if(n.status>=200&&n.status<300||304===n.status||0===n.status||1223===n.status){if(a)try{t(null,JSON.parse(n.response))}catch(e){t(e)}else t(null,new DataView(n.response))}else t(Error("Error code: "+n.status))}n.open("GET",e,!0);a||(n.responseType="arraybuffer");n.onload=onload;n.onerror=onload;n.send()}function wrap(e){var t,n,a,l,c={};function parseBook(e,t){var a,l,c,d,f,m,h=n.getUint16(e+8),_=n.getUint16(e+10);return l=h>>9&7,c=h>>6&7,d=h>>3&7,f=7&h,m=h>>12&7,4===c&&t&&l===d&&"-"!==t&&(7===f&&(0===l&&t.indexOf("K")>-1||7===l&&t.indexOf("k")>-1)?f-=1:0===f&&(0===l&&t.indexOf("Q")>-1||7===l&&t.indexOf("q")>-1)&&(f+=2)),a=String.fromCharCode(c+97)+(l+1)+String.fromCharCode(f+97)+(d+1),m&&(a+="nbrq"[m-1]),{move:a,weight:_}}function sortMoves(e){e.sort(function sorter(e,t){return t.weight-e.weight})}function query(e){return"string"==typeof e&&(e={fen:e}),t(e)}function pick(e){var t,n,a,l,c,d=0;sortMoves(t=(e=e||{}).moves||query(e));a=t.length;if(a){if(!e.type||1===a||"best"===e.type)return t[0].move;if("random"===e.type){l=Math.floor(Math.random()*t.sum)+1;for(c=0;ca&&(n=a),t[n-1].move)}}function bufferBookFind(e){var t,a,l,c,d,f=n.length||n.byteLength||0,m=e.offset||0,h=e.fen,_=e.chess960,g=e.checkAll,b=[],v=0;e.hash?"string"==typeof(t=e.hash)&&(t=hex64ToDec(t)):t=hash(h);!_&&h&&(d=h.split(" ")[2]);for(m=0;m=0;c-=1)b[c].relative=Math.round(b[c].weight/v*1e4);return b}function decompressMoves(e){var t,n=[],a=e.b.length;for(t=0;t=0;n-=1)(f=t[n].move.match(/e([18])([ah])\1/))&&("h"===f[2]&&("1"===f[1]&&m.indexOf("K")>-1||"8"===f[1]&&m.indexOf("k")>-1)?t[n]={move:"e"+f[1]+"g"+f[1],weight:t[n].weight}:"a"===f[2]&&("1"===f[1]&&m.indexOf("Q")>-1||"8"===f[1]&&m.indexOf("q")>-1)&&(t[n]={move:"e"+f[1]+"c"+f[1],weight:t[n].weight}))}}}if(t)for(n=t.length-1;n>=0;n-=1)h+=Number(t[n].weight);else t=[];return t.sum=h,t}c={query,pick};if(e.getUint32){t=bufferBookFind;n=e;c.buffer=n}else{t=jsonBookFind;a=e;c.json=a;for(l in a){c.useFen=l.indexOf(" ")>-1;break}}return c}function getBook(e,t){ajaxLoad(e,function onload(e,n){var a;n&&(a=wrap(n));if(t)return t(e,a);if(e)throw e;return a})}return{hash,loadBook:function(){var e={};return function loadBook2(t,n){if(e[t]){e[t].book?setTimeout(function(){n(null,e[t].book)},0):e[t].cbs.push(n);return}e[t]={cbs:[n]};getBook(t,function onload(n,a){var l=e[t].cbs;if(n)delete e[t];else{e[t].book=a;e[t].cbs=void 0}l.forEach(function(e){setTimeout(function(){e(n,a)},0)})})}}(),to64BitHex,zobristPiece:e,zobristCastle:t,zobristEnPassant:n,zobristTurn:a,zobristPieceValue:l,zobristPieceValueNumbers:c}}(),n=function init(){var e,n,a,l,c={Chess:0,Chess960:1,Crazyhouse:2,"3-check":3,"King of the Hill":4,Bughouse:5,chess960:1,fischerandom:1,fischerrandom:1,fischer:1,chess9lx:1,960:1,crazyhouse:2,"three-check":3,threecheck:3,"3check":3,kingofthehill:4,koth:4,bughouse:5},d=["Chess","Chess960","Crazyhouse","3-check","King of the Hill","Bughouse"],f={a8:0,b8:1,c8:2,d8:3,e8:4,f8:5,g8:6,h8:7,a7:16,b7:17,c7:18,d7:19,e7:20,f7:21,g7:22,h7:23,a6:32,b6:33,c6:34,d6:35,e6:36,f6:37,g6:38,h6:39,a5:48,b5:49,c5:50,d5:51,e5:52,f5:53,g5:54,h5:55,a4:64,b4:65,c4:66,d4:67,e4:68,f4:69,g4:70,h4:71,a3:80,b3:81,c3:82,d3:83,e3:84,f3:85,g3:86,h3:87,a2:96,b2:97,c2:98,d2:99,e2:100,f2:101,g2:102,h2:103,a1:112,b1:113,c1:114,d1:115,e1:116,f1:117,g1:118,h1:119},m=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],h=0,_=0,g=0,b=-1,v=1,x=2,y=4,A=8,w=16,C=32,k=64,T=128,E=3,S=252,M=255,N=512,L=112,P=1,O=2,R=4,$=3,I=7,D=14,B=21,H=127,V="pnbrqkPNBRQK",F="rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1",z=[];z[5]=[-16,-17,-15];z[6]=[16,17,15];z[8]=[-18,-33,-31,-14,18,33,31,14];z[16]=[-17,-15,17,15];z[32]=[-16,1,16,-1];z[64]=[-17,-16,-15,1,17,16,15,-1];z[128]=[-17,-16,-15,1,17,16,15,-1];var j={P:5,p:6,N:9,n:10,B:17,b:18,R:33,r:34,Q:65,q:66,K:129,k:130},q={P:4,p:4,N:8,n:8,B:16,b:16,R:32,r:32,Q:64,q:64,K:128,k:128},U={5:"P",6:"p",9:"N",10:"n",17:"B",18:"b",33:"R",34:"r",65:"Q",66:"q",129:"K",130:"k"},W={9:"N",10:"N",17:"B",18:"B",33:"R",34:"R",65:"Q",66:"Q",129:"K",130:"K"},G=[80,0,0,0,0,0,0,96,0,0,0,0,0,0,80,0,0,80,0,0,0,0,0,96,0,0,0,0,0,80,0,0,0,0,80,0,0,0,0,96,0,0,0,0,80,0,0,0,0,0,0,80,0,0,0,96,0,0,0,80,0,0,0,0,0,0,0,0,80,0,0,96,0,0,80,0,0,0,0,0,0,0,0,0,0,80,8,96,8,80,0,0,0,0,0,0,0,0,0,0,0,8,212,224,212,8,0,0,0,0,0,0,96,96,96,96,96,96,224,0,224,96,96,96,96,96,96,0,0,0,0,0,0,8,212,224,212,8,0,0,0,0,0,0,0,0,0,0,0,80,8,96,8,80,0,0,0,0,0,0,0,0,0,0,80,0,0,96,0,0,80,0,0,0,0,0,0,0,0,80,0,0,0,96,0,0,0,80,0,0,0,0,0,0,80,0,0,0,0,96,0,0,0,0,80,0,0,0,0,80,0,0,0,0,0,96,0,0,0,0,0,80,0,0,80,0,0,0,0,0,0,96,0,0,0,0,0,0,80],Z=[336,80,80,0,0,0,96,352,96,0,0,0,80,80,336,0,80,336,80,80,0,0,96,352,96,0,0,80,80,336,80,0,80,80,336,80,80,0,96,352,96,0,80,80,336,80,80,0,0,80,80,336,80,80,96,352,96,80,80,336,80,80,0,0,0,0,80,80,336,88,120,360,120,88,336,80,80,0,0,0,0,0,0,80,88,476,252,508,252,476,88,80,0,0,0,0,96,96,96,96,120,252,252,252,252,252,120,96,96,96,96,0,352,352,352,352,360,508,252,0,252,508,360,352,352,352,352,0,96,96,96,96,120,252,252,252,252,252,120,96,96,96,96,0,0,0,0,80,88,476,252,508,252,476,88,80,0,0,0,0,0,0,80,80,336,88,120,360,120,88,336,80,80,0,0,0,0,80,80,336,80,80,96,352,96,80,80,336,80,80,0,0,80,80,336,80,80,0,96,352,96,0,80,80,336,80,80,0,80,336,80,80,0,0,96,352,96,0,0,80,80,336,80,0,336,80,80,0,0,0,96,352,96,0,0,0,80,80,336],K=[336,80,80,0,0,0,96,352,96,96,0,0,80,80,336,0,80,336,80,80,0,0,96,352,96,96,0,80,80,336,80,0,80,80,336,80,80,0,96,352,96,96,80,80,336,80,80,0,0,80,80,336,80,80,96,352,96,112,80,336,80,80,0,0,0,0,80,80,336,88,120,360,120,120,336,80,80,0,0,0,0,0,0,80,88,476,252,508,252,508,88,80,0,0,0,0,96,96,96,96,120,252,252,252,252,252,252,104,96,96,96,0,352,352,352,352,360,508,252,0,252,508,488,352,352,352,352,0,96,96,96,96,120,252,252,252,252,252,252,104,96,96,96,0,0,0,0,80,88,476,252,508,252,508,88,80,0,0,0,0,0,0,80,80,336,88,120,360,120,120,336,80,80,0,0,0,0,80,80,336,80,80,96,352,96,112,80,336,80,80,0,0,80,80,336,80,80,0,96,352,96,96,80,80,336,80,80,0,80,336,80,80,0,0,96,352,96,96,0,80,80,336,80,0,336,80,80,0,0,0,96,352,96,96,0,0,80,80,336],Q=[336,80,80,0,0,96,96,352,96,0,0,0,80,80,336,0,80,336,80,80,0,96,96,352,96,0,0,80,80,336,80,0,80,80,336,80,80,96,96,352,96,0,80,80,336,80,80,0,0,80,80,336,80,112,96,352,96,80,80,336,80,80,0,0,0,0,80,80,336,120,120,360,120,88,336,80,80,0,0,0,0,0,0,80,88,508,252,508,252,476,88,80,0,0,0,0,96,96,96,104,252,252,252,252,252,252,120,96,96,96,96,0,352,352,352,352,488,508,252,0,252,508,360,352,352,352,352,0,96,96,96,104,252,252,252,252,252,252,120,96,96,96,96,0,0,0,0,80,88,508,252,508,252,476,88,80,0,0,0,0,0,0,80,80,336,120,120,360,120,88,336,80,80,0,0,0,0,80,80,336,80,112,96,352,96,80,80,336,80,80,0,0,80,80,336,80,80,96,96,352,96,0,80,80,336,80,80,0,80,336,80,80,0,96,96,352,96,0,0,80,80,336,80,0,336,80,80,0,0,96,96,352,96,0,0,0,80,80,336],Y=[336,80,80,0,0,96,96,352,96,96,0,0,80,80,336,0,80,336,80,80,0,96,96,352,96,96,0,80,80,336,80,0,80,80,336,80,80,96,96,352,96,96,80,80,336,80,80,0,0,80,80,336,80,112,96,352,96,112,80,336,80,80,0,0,0,0,80,80,336,120,120,360,120,120,336,80,80,0,0,0,0,0,0,80,88,508,252,508,252,508,88,80,0,0,0,0,96,96,96,104,252,252,252,252,252,252,252,104,96,96,96,0,352,352,352,352,488,508,252,0,252,508,488,352,352,352,352,0,96,96,96,104,252,252,252,252,252,252,252,104,96,96,96,0,0,0,0,80,88,508,252,508,252,508,88,80,0,0,0,0,0,0,80,80,336,120,120,360,120,120,336,80,80,0,0,0,0,80,80,336,80,112,96,352,96,112,80,336,80,80,0,0,80,80,336,80,80,96,96,352,96,96,80,80,336,80,80,0,80,336,80,80,0,96,96,352,96,96,0,80,80,336,80,0,336,80,80,0,0,96,96,352,96,96,0,0,80,80,336],J=[336,80,80,112,112,112,96,352,96,96,112,112,112,80,336,0,80,336,80,112,112,112,112,352,96,112,112,112,112,336,80,0,80,80,336,112,112,112,112,368,112,112,112,112,368,80,80,0,80,80,80,368,112,112,112,368,112,112,112,368,112,80,80,0,80,80,80,112,368,120,120,376,120,120,368,112,112,80,80,0,0,80,88,120,120,508,252,508,252,508,120,120,120,88,80,0,96,104,252,252,252,252,252,252,252,252,252,252,252,252,104,0,352,352,480,480,488,508,252,0,252,508,488,480,480,480,352,0,96,104,252,252,252,252,252,252,252,252,252,252,252,252,104,0,0,80,88,120,120,508,252,508,252,508,120,120,120,88,80,0,80,80,80,112,368,120,120,376,120,120,368,112,112,80,80,0,80,80,80,368,112,112,112,368,112,112,112,368,112,80,80,0,80,80,336,112,112,112,112,368,112,112,112,112,368,80,80,0,80,336,80,112,112,112,112,352,96,112,112,112,112,336,80,0,336,80,80,112,112,112,96,352,96,96,112,112,112,80,336],X=[17,0,0,0,0,0,0,16,0,0,0,0,0,0,15,0,0,17,0,0,0,0,0,16,0,0,0,0,0,15,0,0,0,0,17,0,0,0,0,16,0,0,0,0,15,0,0,0,0,0,0,17,0,0,0,16,0,0,0,15,0,0,0,0,0,0,0,0,17,0,0,16,0,0,15,0,0,0,0,0,0,0,0,0,0,17,33,16,31,15,0,0,0,0,0,0,0,0,0,0,0,18,17,16,15,14,0,0,0,0,0,0,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,-14,-15,-16,-17,-18,0,0,0,0,0,0,0,0,0,0,0,-15,-31,-16,-33,-17,0,0,0,0,0,0,0,0,0,0,-15,0,0,-16,0,0,-17,0,0,0,0,0,0,0,0,-15,0,0,0,-16,0,0,0,-17,0,0,0,0,0,0,-15,0,0,0,0,-16,0,0,0,0,-17,0,0,0,0,-15,0,0,0,0,0,-16,0,0,0,0,0,-17,0,0,-15,0,0,0,0,0,0,-16,0,0,0,0,0,0,-17],ee=[0,5,8,11,14],et=[31,7,7,7,63],en={P:0,p:0,N:5,n:5,B:8,b:8,R:11,r:11,Q:14,q:14},eo=[y,A,w,C,k],ea=["","N","B","R","Q"],ei={CAPTURE:1,BIG_PAWN:2,EP_CAPTURE:4,ANY_CAPTURE:5,PROMOTION:8,KSIDE_CASTLE:16,QSIDE_CASTLE:32,KQSIDE_CASTLE:48,DROP:64,DROP_OR_PROMOTE:72},er=[0,6,1],es={K:119,Q:112,k:7,q:0,A:112,B:113,C:114,D:115,E:116,F:117,G:118,H:119,a:0,b:1,c:2,d:3,e:4,f:5,g:6,h:7},el=["Event","Site","Date","Round","White","Black","Result"],ec=["Event","Site","Date","Round","White","Black","Result","Variant","SetUp","FEN","WhiteA","WhiteB","BlackA","BlackB"];function rank(e){return e>>4}function file(e){return 7&e}function algebraic(e){return String.fromCharCode(file(e)+97)+(8-rank(e))}function swapColor(e){return 3-e}function hashNum(e,t){e[0]=(e[0]^t[0])>>>0;e[1]=(e[1]^t[1])>>>0}function wordWrap(e,t,n){return t<1?e:(t="number"==typeof t?t:80,e.replace(RegExp("(.{1,"+t+"})(?: |$|\r?\n)","g"),"$1"+n).slice(0,-n.length))}function completeFen(e){var t,n;t=[""," w - - 0 1"," - - 0 1"," - 0 1"," 0 1"," 1"][(n=(e=e.trim()).split(" ")).length];if(t&&e)e+=t;else if("0"===n[5]){n[5]=1;e=n.join(" ")}return e}function formatTimestamp(e){var t=Math.floor(e%36e3/600),n=Math.floor(e%36e3%600)/10;return Math.floor(e/36e3)+":"+(t<10?"0":"")+t+":"+(n<10?"0":"")+n}function timestampToTime(e){var t=e.split(":");return(3600*t[0]+60*t[1]+1*t[2])*10}function createVariantZobristNumbers(){t.zobristCheck=[[0x1a4cef14,0x144412b0],[0x3e08bd8c,0x128a2662],[0x60a76bdf,0x6843fe2e],[0x3c03989c,0x60e3f813],[0x74756ef3,0x17c4439],[0x99c80b2,0x735e13b1]]}function fixFenPieces(e,t){var n,a,l=e.length,d=0,f=0,m=t&&(t===c.Crazyhouse||t===c.Bughouse);for(n=0;n7){if(!m&&n8)return!1}else if("~"!==a)return!1;else if(!m||!n||!/[nbrq]/i.test(e[n-1])){e=e.substr(0,n)+e.substr(n+1);--n;--l}}else{f+=1*a;if(f>8){e=e.substr(0,n)+(a-(f-8))+e.substr(n+1);f=8}}}return e}function validateFen(e,t){var n,a,l,d,f,m,h,_,g,b,v,x,y,A,w,C,k,T,E,S,M=/^(?:[A-H]{1,2}[a-h]{0,2}|[A-H]{0,2}[a-h]{1,2}|KQ?k?q?|Qk?q?|kq?|q|-)$/,N=c[t]||1*t||c[String(t).replace(/\s/g,"").toLowerCase()],L=N===c.Crazyhouse||N===c.Bughouse,P=0,O=0,R=!0,$="",I={0:0,7:0},D={0:0,7:0},B={0:"k",7:"K"},H={0:"r",7:"R"},F=N===c.Chess960;if(!e)return 1;if(N===c.Bughouse){f=e.split(" | ");if(2===f.length)return 0===(m=validateFen(f[0],t))&&(m=validateFen(f[1],t)),m}f=e.split(/\s+/);if(N===c["3-check"]&&7===f.length){d=f.pop();if(!/^\+[0-3]\+[0-3]$/.test(d)||"+3+3"===d)return 14}if(6!==f.length)return 1;if(/\D|.{7,}|^0|^$/.test(f[5]))return 2;if(/\D|.{7,}|^0.|^$/.test(f[4]))return 3;if(!/^(?:-|[abcdefgh][36])$/.test(f[3]))return 4;b=f[2];if(F){if(!M.test(b))return 12}else if(!/^(?:KQ?k?q?|Qk?q?|kq?|q|-)$/.test(b)){if(void 0!==t||!M.test(b))return 5;F=!0}if("w"!==f[1]&&"b"!==f[1])return 6;L&&(f[0]=f[0].replace(/~(?=.*\/)/g,""));a=f[0].split("/");if(L&&9===a.length){d=a.pop();if(!/^[pnbrq]{0,63}$/i.test(d))return 13}if(8!==a.length)return 7;if("3"===f[3][1]&&"w"===f[1]||"6"===f[3][1]&&"b"===f[1])return 11;if("-"!==f[3]){h=4==(O="3"===f[3][1]?4:3)?5:2;P=f[3].charCodeAt(0)-97;R=!1;$=4===O?"P":"p"}for(n=0;n=0;--n){w=b.charCodeAt(n);if(C&&C>w&&C-w<8)return 15;if(75===w)y=I[A=7]&x[D[A]];else if(81===w)y=I[A=7]&v[D[A]];else if(107===w)y=I[A=0]&x[D[A]];else if(113===w)y=I[A=0]&v[D[A]];else{A=w>=97?0:7;y=1<64||(y&I[A])!==y||++k[A][(D[A]1)return 15}}else{_=(b.indexOf("K")>-1?128:0)|(b.indexOf("Q")>-1?1:0);if(_&&(16!==D[7]||(_&I[7])!==_))return 15;g=(b.indexOf("k")>-1?128:0)|(b.indexOf("q")>-1?1:0);if(g&&(16!==D[0]||(g&I[0])!==g))return 15}}return 0}function handToString(e,t){var n,a,l="",c=0,d=t?6:0;if(e)for(;c<5;){n=e>>ee[c]&et[c];for(a=0;a>ee[c]&et[c];for(m=0;m>>0,17*h[1]>>>0]);++c}}_=315}}function hashEP(e,n,a,l){(e[a+1]===l||e[a-1]===l)&&hashNum(n,t.zobristEnPassant[file(a)])}function getPieces(e,t){var n,a,l=[];for(n=0;n<120;++n){136&n&&(n+=8);a=e[n];if(a&&(a&t)===t){l.push(n);continue}}return l}function addPawnMove(e,t,a,l){var c;if(0===n||e[a+8]&O){if(rank(a)%7==0){c=l|ei.PROMOTION|t<t%8?1:-1;for(d=t+m;d!==f;d+=m)if(e[d])return!1;c=(l=a===v?1===m?118:114:1===m?6:2)-m;if(e[l+8]||e[l]&&l!==t&&l!==f||e[c]&&c!==t&&c!==f)return!1;if(l!==t){m=l>t?1:-1;for(d=t+m;d!==l;d+=m)if(d!==f&&e[d]||e[d+8])return!1}return!0}var ed=function(){function createLine(e,t,n,a,l,d,f){var m,h,_,g,b,y,A,w,C=[],k="",T=!0,E=t[n],S=E.length,M="";if(E.commands)for(g in E.commands)(!d||d.indexOf(g)>-1)&&(M+="[%"+g+" "+E.commands[g]+"]");E.initComment&&!f&&(M=(M+" "+E.initComment.replace(/(\"|\}|\%|\\)/g,"\\$1")).trim());M&&C.push("{"+M+"}");for(h=0;h-1)&&(M+="[%"+g+" "+m.commands[g]+"]");m.comment&&!f&&(M=(M+" "+m.comment.replace(/(\"|\}|\%|\\)/g,"\\$1")).trim());if(M){k+=" {"+M+"}";T=!0}C.push(k);if(m.lines){A=m.lines.length;for(_=0;_l.bughouseOrder[0]){l.bughouseOrder.shift();f.push("B")}else{t.bughouseOrder.shift();f.push("A")}return t=[],f.forEach(function(f){var m,h,_,g="";if("A"===f){m=a;++c;h=c;_=e.startingMoveNumber()}else{m=l;++d;h=d;_=e.siblingGame.startingMoveNumber()}g=String(Math.floor((h+1)/2)+_-1);(m.blackCountOffset+h)%2?g+=f:g+=f.toLowerCase();g+="."+(n?" ":"")+m.shift();t.push(g)}),t}function createHeader(e,t){return"["+e+' "'+String(t).replace(/(\"|\\)/g,"\\$1")+'"]'}return function generatePgn2(e,t,n,a,l,d){var f,m,h="string"==typeof e.newline?e.newline:"\n",_=void 0===e.spaceAfterPeriods||e.spaceAfterPeriods,g="";g+=createHeader("Event",t.Event)+h;g+=createHeader("Site",t.Site)+h;g+=createHeader("Date",t.Date)+h;g+=createHeader("Round",t.Round)+h;if(l===c.Bughouse){g+=createHeader("WhiteA",t.WhiteA||"?")+h;g+=createHeader("BlackA",t.BlackA||"?")+h;g+=createHeader("WhiteB",t.WhiteB||"?")+h;g+=createHeader("BlackB",t.BlackB||"?")+h}else{g+=createHeader("White",t.White)+h;g+=createHeader("Black",t.Black)+h}g+=createHeader("Result",t.Result)+h;l&&(g+=createHeader("Variant",t.Variant)+h);if(t.FEN&&t.FEN!==F){g+=createHeader("SetUp","1")+h;g+=createHeader("FEN",t.FEN)+h}for(f in t)-1===ec.indexOf(f)&&(g+=createHeader(f,t[f])+h);g+=h;m=createLine(a,n,0,l,_,e.hideCommands?[]:e.restrictCommands,e.hideComments);if(l===c.Bughouse){if(d.isDependent)return m;m=makeBugHousePgn(d,m,_)}return m.push(t.Result),g+wordWrap(m.join(" "),e.maxWidth,h)}}(),eu=function(){var e="!?‼⁇⁉⁈□∇Δ∞⩲⩱\xb1∓⨀⟳→↑⇆∆⌓⇔⇗⟫⟪✕⊥⊕○⇄↻⊙☒~",t=/\[%(\S+)\s([^\]]+)\]/,n=/^(?:[+=~\/\-\u2212]+|T?N|RR|D)$/;function extractCommands(e){for(var n,a=e.commands||{};n=t.exec(e.value);){e.value=e.value.replace(n[0],"").trim();a[n[1]]=n[2];e.commands=a}}function isSplitGame(e,t,n,a){for(var l;++t0&&(v.value+=_)}}else{if("]"!==_){if(!_.trim())continue;--m}v={type:g="tags",value:""}}}for(;m-1){if("!"===_||"?"===_||6>e.indexOf(_)&&(_=["!!","??","!?","?!"][e.indexOf(_)-2])){v.value&&b.push(v);v={type:"a",value:_};("!"===d[m+1]||"?"===d[m+1])&&(v.value+=d[++m]);b.push(v);v={type:"san",value:""}}else{if("∞"===_&&"=/"===v.value){v.type="aa";v.value+=_}else{if(v.value){n.test(v.value)&&("--"!==v.value||a.rejectNullMoves)&&(v.type="aa");b.push(v)}v={type:"aa",value:_};if("↑"===_&&"↑"===d[m+1]){v.value="↻";++m}}b.push(v);v={type:"san",value:""}}}else if(" "===_||" "===_||"\r"===_||"{"===_||"("===_||")"===_){if(v.value){if("$"===v.value[0])v.type="nag";else if("*"===v.value||"1-0"===v.value||"0-1"===v.value||"1/2-1/2"===v.value||"\xbd-\xbd"===v.value){if(x||m+1-1&&extractCommands(v);b.push(v);v={type:g="san",value:""}}}}}else if(b.length){if("tags"===g){g="san";A=!1}else if("tagValueStart"!==g&&isSplitGame(l,c,f,x||"comment"===g)){"comment"===g&&b.push(v);if("tagValue"!==b[b.length-1].type){y.push(b);b=[];a.recordErrorInfo&&(b.push=y._trackTokenInfo)}g="tags";A=!0;x=0}}}}return v.value&&b.push(v),(b.length||!y.length)&&y.push(b),y}}();function Chess2(ec,ef){var ep,em,eh=0,e_=!0,eg=[],eb=v,ev=[],ex=b,ey=0,eA=1,ew=1,eC=[],ek=[eC],eT=0;eC.id=eT;var eE={},eS=[],eM=!1,eN=!1,eL=makeMoveChess,moveToSan=function(e,t){var n,a,l,c,d,f,m="";if(e&ei.KQSIDE_CASTLE)m=e&ei.KSIDE_CASTLE?"O-O":"O-O-O";else if(e&ei.DROP){l=e>>D&H;(n=e>>B)&&(m+=ea[n]);m+="@"+algebraic(l)}else{l=e>>D&H;c=em[a=e>>I&H];if(c&y){e&ei.ANY_CAPTURE&&(m+=String.fromCharCode(file(a)+97)+"x");m+=algebraic(l);e&ei.PROMOTION&&(m+="="+ea[n=e>>B])}else{m+=W[c&M];g>1&&(m+=getDisambiguator(c,a,l));e&ei.ANY_CAPTURE&&(m+="x");m+=algebraic(l)}}if(!t){if(e&ei.KQSIDE_CASTLE){a=e>>I&H;l=e>>D&H}else e&ei.DROP_OR_PROMOTE&&(c=eo[n]+eb);if(inCheckAfterMove(c,a,l,e)){eL(e,a,l,n);d=h;h=_;f=g;eh&&isVariantWin()||generateMoves()===h?m+="#":m+="+";_=h;h=d;g=f;reverseMove(eC.pop())}}return m};function hashPosition(){var e,n,a,l=eb===v?[0xf8d626aa,0xaf278509]:[0,0];for(a=0;a<120;++a){136&a&&(a+=8);(e=em[a])&&hashNum(l,t.zobristPiece[64*t.zobristPieceValueNumbers[e&M]+8*(7-rank(a))+file(a)])}if(eN){for(n=1;n<3;++n)if(ev[n]){if((ev[n]&ev[n]-1)!=0){hashNum(l,t.zobristCastle[n-1]);hashNum(l,t.zobristCastle[n+1])}else ev[n]>1<7?v:x;!(136&e);){n=em[e];if(n&l){if(n&C){if(a)return;a=e%8+(l===v?65:97)}else if(n&T)return a}e+=t}}function clear(e,t,n){em=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];eb=v;eg[v]=b;eg[x]=b;ev[v]=0;ev[x]=0;ep._hand[v]=0;ep._hand[x]=0;eS[v]=0;eS[x]=0;ex=b;ey=0;eA=1;if(!t){ek=[eC=[]];eT=0;eC.id=eT;eE={Event:"?",Site:"?",Date:"????.??.??",Round:"?",White:"?",Black:"?",Result:"*"};e?setHeader(["Variant",e]):setVariant(!1,n);n||updateSetup(generateFen())}}function reset(){clear(0,!1,!0);eC.hash=[0x463b9618,0x1691fc9c];em=[34,10,18,66,130,18,10,34,0,0,0,0,0,0,0,0,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,33,9,17,65,129,17,9,33,0,0,0,0,0,0,0,0];ew=1;eg[v]=116;eg[x]=4;ev[v]=48;ev[x]=48}function load(e,t,n,a){var l,m,h,_,g,A,w,k,S,M,L,P,O=0;if(a){P=(l=e.split(" "))[3];L=l[2]}else{P=(l=e.trim().split(/\s+/))[3]||"-";L=l[2]||"-"}void 0===t?(31&L.charCodeAt(0))<9&&setVariant(c.Chess960,!0):setVariant(t,!0);m=l[0];if(!a&&!(m=fixFenPieces(m,eh)))return!1;_=m.length;clear(d[eh],n,!0);if(eM){if(eh===c.Bughouse&&!ep.isDependent){A=e.split(" | ");if(!ep.siblingGame.load(1===A.length?e:A[1],t,n,a))return reset(),!1}for(g=0;g<_;++g){w=m[g];if(+w!=+w){if("/"===w){if(O>111){for(++g;g<_;++g){w=m[g];ep._hand[w<"a"?v:x]+=1<>>0}break}O+=8}else{em[O]=j[w];if("~"===m[g+1]){++g;em[O]|=N}em[O]&T&&(eg[em[O]&E]=O);++O}}else O+=1*w}}else for(g=0;g<_;++g){w=m[g];if(+w!=+w){if("/"===w)O+=8;else{em[O]=j[w];em[O]&T&&(eg[em[O]&E]=O);++O}}else O+=1*w}eb="b"===l[1]?x:v;if("-"!==L){if(eN){S={1:[0,0],2:[0,0]};for(g=L.length-1;g>=0;--g){75===(h=L.charCodeAt(g))?h=disambiguate960Rook(119,-1):81===h?h=disambiguate960Rook(112,1):107===h?h=disambiguate960Rook(7,-1):113===h&&(h=disambiguate960Rook(0,1));k=h<97?v:x;M=es[String.fromCharCode(h)];if(a||em[M]===(C|k)){h>=97?eg[k]>=1&&eg[k]<=6&&(ev[k]|=1<=113&&eg[k]<=118&&(ev[k]|=1<1||S[v][1]>1)&&(ev[v]=0);(S[x][0]>1||S[x][1]>1)&&(ev[x]=0)}else{if(!a)for(g=L.length-1;g>=0;--g){k=97>L.charCodeAt(g)?v:x;(em[es[L[g]]]!==(C|k)||eg[k]!==(k===v?116:4))&&(L=L.substr(0,g)+L.substr(g+1))}for(g=L.length-1;g>=0;--g)switch(L[g]){case"K":ev[v]|=ei.KSIDE_CASTLE;break;case"Q":ev[v]|=ei.QSIDE_CASTLE;break;case"k":ev[x]|=ei.KSIDE_CASTLE;break;case"q":ev[x]|=ei.QSIDE_CASTLE}}}!a&&(2!==P.length||eb===v&&"6"!==P[1]||eb===x&&"3"!==P[1]||em[P.charCodeAt(0)-97+(8-("3"===P[1]?4:5))*16]!==(y|swapColor(eb))||em[f[P]])&&(P="-");ex="-"===P?b:f[P];ey=1*l[4]||0;eA=1*l[5]||1;if(eh===c["3-check"]){l[6]&&"+3+3"!==l[6]&&(A=l[6].match(/^\+([0-3])\+([0-3])$/));A=A||[0,0,0];eS[v]=1*A[1];eS[x]=1*A[2]}if(!n){ew=eA;updateSetup(generateFen())}return!0}function generateStandardFen(){var e,t,n=0,a="",l="";for(e=0;e<120;++e){if(136&e){n&&(a+=n);a+="/";n=0;e+=8}t=em[e];if(t){if(n){a+=n;n=0}a+=U[t&M]}else++n}return n&&(a+=n),ev[v]&ei.KSIDE_CASTLE&&(l+="K"),ev[v]&ei.QSIDE_CASTLE&&(l+="Q"),ev[x]&ei.KSIDE_CASTLE&&(l+="k"),ev[x]&ei.QSIDE_CASTLE&&(l+="q"),a+=" "+(eb===v?"w":"b")+" "+(l||"-")+" "+(ex===b?"-":algebraic(ex))+" "+ey+" "+eA}function generateVariantFen(){var e,t,n,a=0,l="",d="";for(e=0;e<120;++e){if(136&e){a&&(l+=a);l+="/";a=0;e+=8}n=em[e];if(n){if(a){l+=a;a=0}l+=U[n&M];eM&&n&N&&(l+="~")}else++a}a&&(l+=a);eM&&(l+="/"+handToString(ep._hand[v],!0)+handToString(ep._hand[x]));if(eN){t=ev[x];e=0;for(;t;){1&t&&(d=String.fromCharCode(e+97)+d);t>>=1;++e}t=ev[v];e=0;for(;t;){1&t&&(d=String.fromCharCode(e+65)+d);t>>=1;++e}}else{ev[v]&ei.KSIDE_CASTLE&&(d+="K");ev[v]&ei.QSIDE_CASTLE&&(d+="Q");ev[x]&ei.KSIDE_CASTLE&&(d+="k");ev[x]&ei.QSIDE_CASTLE&&(d+="q")}return l+=" "+(eb===v?"w":"b")+" "+(d||"-")+" "+(ex===b?"-":algebraic(ex))+" "+ey+" "+eA,eh===c["3-check"]?l+=" +"+eS[v]+"+"+eS[x]:eh!==c.Bughouse||ep.isDependent||(l+=" | "+ep.siblingGame.fen()),l}function generateFen(){return eh?generateVariantFen():generateStandardFen()}function setHeader(e){var t,n,a;for(t=0;t-1?"Date"===n?eE[n]="????.??.??":eE[n]="?":delete eE[n]}}return eE}function updateSetup(e){if(!(eC.length>0)&&!eT){if(e!==F){eE.SetUp="1";eE.FEN=e;eC.hash=null}else{delete eE.SetUp;delete eE.FEN;eC.hash=[0x463b9618,0x1691fc9c]}}}function get(e){var t=em[f[e]];return t?{type:U[t&S|x],color:t&E,promoted:(t&N)!=0}:null}function chooseKingThreats(e,t){return eN&&ev[e]?J:!(ev[e]&ei.KSIDE_CASTLE)||em[t+1]||em[t+2]?!(ev[e]&ei.QSIDE_CASTLE)||em[t-1]||em[t-2]||em[t-3]?Z:(l=ei.QSIDE_CASTLE,Q):!(ev[e]&ei.QSIDE_CASTLE)||em[t-1]||em[t-2]||em[t-3]?(l=ei.KSIDE_CASTLE,K):(l=ei.KQSIDE_CASTLE,Y)}function calculateLegalMoveInfo(t,c){var d,f,m,h,_,g,v,x,A,w,C,k,T,E=eb,M=em;e=[];n=0;a=0;l=0;M[8]=M[9]=M[10]=M[11]=M[12]=M[13]=M[14]=M[15]=M[24]=M[25]=M[26]=M[27]=M[28]=M[29]=M[30]=M[31]=M[40]=M[41]=M[42]=M[43]=M[44]=M[45]=M[46]=M[47]=M[56]=M[57]=M[58]=M[59]=M[60]=M[61]=M[62]=M[63]=M[72]=M[73]=M[74]=M[75]=M[76]=M[77]=M[78]=M[79]=M[88]=M[89]=M[90]=M[91]=M[92]=M[93]=M[94]=M[95]=M[104]=M[105]=M[106]=M[107]=M[108]=M[109]=M[110]=M[111]=M[120]=M[121]=M[122]=M[123]=M[124]=M[125]=M[126]=M[127]=0;if(c===b){e=getPieces(em,E|t);return}k=chooseKingThreats(E,c);for(d=0;d<120;++d){136&d&&(d+=8);h=em[d];if(h){if(h&E){(!t||(0|h)&t)&&e.push(d);continue}T=k[d-c+119];if((T&h)!=0){if(h&y){A=z[h];for(f=1;f<3;++f){v=d+A[f];if(!(136&v)){M[v+8]|=P;if(v===c){++n;M[d+8]|=O}}}}else{x=(A=z[h&S]).length;C=h&L;t:for(f=0;fv)||!(w<0)||!(c-v>16))&&(!(c0)||!(v-c>16)))for(;(136&(v+=w))==0;){M[v+8]|=P;_=em[v];if(_){if(_&E){if(v===c){for(m=v-w;m!==d;m-=w)M[m+8]|=O;M[d+8]|=O;++n;C&&(136&(v+=w))==0&&(M[v+8]|=P)}else if(C&&256&T){g=v;for(;(g+=w)!==c;)if(136&g||em[g])continue t;M[v+8]|=R+(Math.abs(w)<<$);++a}}break}if(!C)break}}}}}}n>1&&(e=[c])}function validateEnPassant(e,t){var a,l,c,d=t+16*(eb===v?1:-1);return(1!==n||(em[t+8]&O)!=0||(em[d+8]&O)!=0)&&(a=em[e],em[t]=a,em[e]=0,l=em[d],em[d]=0,c=inCheck(),em[e]=a,em[t]=0,em[d]=l,!c)}function addCastlingMoves(e){var t,n,a;if(eN){if(ev[e]){n=(t=eg[e])%8;for(a=0;a<8;++a)if(ev[e]&1<n?ei.KSIDE_CASTLE:ei.QSIDE_CASTLE)+(t<>=26);for(f=0;f<5;++f)if((!t||(0|t)==1<>$==16){v=c+x[0];if(0===em[v]){addPawnMove(em,c,v,0);er[E]!==rank(c)||em[v+=x[0]]||addPawnMove(em,c,v,ei.BIG_PAWN)}}for(d=1;d<3;++d)!(136&(v=c+(w=x[d])))&&(!a||!(em[c+8]&R)||em[c+8]>>$===Math.abs(w))&&(em[v]&M?addPawnMove(em,c,v,ei.CAPTURE):v===ex&&validateEnPassant(c,v)&&(m[_++]=ei.EP_CAPTURE|c<>$,-w]}else x=z[b&S];T=c<0)return!0;break}return!0}if(h!==t&&em[h]||!_)break;h+=m}}}if(!A){f=G[t-l+119];if(f&L){m=X[t-l+119];if(m!==X[n-l+119]){h=l-m;for(;(136&h)==0;){if(h!==t){g=em[h];if(g){if(g&eb&&f&g&&g&L)return!0;break}}h-=m}}}if(a&ei.EP_CAPTURE){f=G[(x=n+16*(eb===v?1:-1))-l+119];if(f&L){m=X[x-l+119];h=l-m;for(;(136&h)==0;){if(h!==t&&h!==x){if(h===n)break;g=em[h];if(g){if(g&eb&&f&g&&g&L)return!0;break}}h-=m}}}}return!1}function attacked(e,t){var n,a,l,c,d=z[A],f=A|e;for(n=0;n<8;++n){l=t+d[n];if((136&l)==0){a=em[l];if((a&f)===f)return!0}}d=z[T];for(n=0;n<8;++n){l=t+(c=d[n]);for(;(136&l)==0;){a=em[l];if(a){if(a&e&&G[t-l+119]&a&&(!(a&y)||(e===v?t-l<0:t-l>0)))return!0;break}l+=c}}return!1}function kingAttacked(e){return eg[e]!==b&&attacked(swapColor(e),eg[e])}function inCheck(){return kingAttacked(eb)}function checkIsPotentiallyBlockable(){var e,t,n,a=16384;return ep._hand[eb]+=a,e=h,h=_,t=g,n=generateMoves()!==h,_=h,h=e,g=t,ep._hand[eb]-=a,n}function inCheckmate(){return inCheck()&&(m[0]=0)===generateMoves()&&!m[0]&&(eh!==c.Bughouse||!checkIsPotentiallyBlockable())}function inStalemate(){var e=!inCheck()&&(m[0]=0)===generateMoves()&&!m[0];return e&&eh===c.Bughouse&&!ep.isDependent&&(e=ep.siblingGame.inStalemate()),e&&eg[eb]!==b}function insufficientMaterial(e){var t,n,a=0,l=0,c=0;for(n=0;n<120;++n){136&n&&(n+=8);t=em[n];if(t){if(e&&(t&e)==0)continue;if(100&t)return!1;if(t&A){if(l||a++)return!1}else if(t&w){if(a)return!1;++l;(rank(n)+n)%2&&++c;if(c&&l!==c)return!1}}}return eg[v]!==b&&eg[x]!==b}function inThreefoldRepetition(){if(ey<8)return!1;for(var e,t=getCurrentHash(),n=!1,a=ey,l=!1,c=eC,d=c.length-1;;){d-=2;if(d<0){if(c.id){d=c.atMoveNode+d+2;c=ek[c.parentId];continue}if(-2===d)return!1;e=c.hash;l=!0}else{e=c[d].hash;c[d].halfMoves>a||a<2?l=!0:a=c[d].halfMoves}if(e[0]===t[0]&&e[1]===t[1]){if(n)return!0;n=!0}if(l)return!1}}function modifyHand(e){var n,a,l,d,f,m,h,_,g,b,x=e.move;if(eh===c.Crazyhouse||x&ei.DROP){a=ep._hand;m=e.hash;b=e.color}else{a=ep.siblingGame._hand;e.handSibling=!0;if(e_){h=ep.siblingGame._history();if(h.length)m=h[h.length-1].hash;else{h.hash||(h.hash=ep.siblingGame._hashPosition());m=h.hash}}b=swapColor(e.color)}if(e.captured){l=e.captured&N?y:e.captured&S;switch(l&S){case y:_=0;break;case A:_=1;break;case w:_=2;break;case C:_=3;break;default:_=4}n=1<>ee[_]&et[_];g=t.zobristPiece[f+63*_+(b===v?0:315)]}}else{n=-1<>B];if(e_){f=a[b]>>ee[d]&et[d];g=t.zobristPiece[f-1+63*d+(b===v?0:315)]}}a[b]+=n;e.handChange=n;e_&&hashNum(m,[31*g[0]>>>0,17*g[1]>>>0])}function makeMoveChess(e,n,a,l){var c,d,f,m,h,_,g,A,w=eb,k=swapColor(w),E={move:e,epSquare:ex,halfMoves:ey,castlingW:ev[v],castlingB:ev[x],color:w},S=w===v;if(e_){m=getCurrentHash();E.hash=m;hashNum(m,t.zobristTurn);ex!==b&&hashEP(em,m,ex+(S?16:-16),y|w)}if((e&ei.KQSIDE_CASTLE)==0){if(eM&&e&ei.DROP){em[a]=eo[l]|w;e_&&hashNum(m,t.zobristPiece[64*t.zobristPieceValueNumbers[em[a]]+8*(7-rank(a))+file(a)]);modifyHand(E);g=0}else{g=em[n];A=em[a];if(A){E.captured=A;e_&&hashNum(m,t.zobristPiece[64*t.zobristPieceValueNumbers[em[a]&M]+8*(7-rank(a))+file(a)]);if(A&C&&ev[k]){if(eN){if(rank(a)===(S?0:7)){f=1<1<1<1<>D&H,m=d>>I&H;eb=l;ev[x]=e.castlingB;ev[v]=e.castlingW;ex=e.epSquare;ey=e.halfMoves;if(eh){if(eN&&d&ei.KQSIDE_CASTLE){if(d&ei.KSIDE_CASTLE){if(l===v){n=118;t=117}else{n=6;t=5}}else if(l===v){n=114;t=115}else{n=2;t=3}em[n]=0;em[t]=0;em[m]=l|T;em[f]=l|C;eg[l]=m;return}e.handChange&&(eh!==c.Crazyhouse&&e.handSibling?ep.siblingGame._hand[swapColor(l)]-=e.handChange:ep._hand[l]-=e.handChange);if(d&ei.DROP){em[f]=0;return}e.checked&&--eS[l]}if(d&ei.PROMOTION){em[m]=y|l;d&ei.CAPTURE?em[f]=e.captured:em[f]=0}else{em[m]=em[f];if(d&ei.KQSIDE_CASTLE){em[f]=0;if(d&ei.KSIDE_CASTLE){t=f+1;n=f-1}else{t=f-2;n=f+1}em[t]=l|C;em[n]=0;eg[l]=m}else{f===eg[l]&&(eg[l]=m);if(d&ei.CAPTURE)em[f]=e.captured;else{em[f]=0;d&ei.EP_CAPTURE&&(em[f-(l===v?-16:16)]=y|a)}}}}function getDisambiguator(e,t,n){var a,l,c,d,f,h,g,b;if(_<2)return"";e&=S;for(b=0;b<_;++b){g=(a=m[b])>>D;if(n===g){d=a>>I&H;if(d!==t){l=em[d];if(l&e){c=!0;if(rank(t)===rank(d)){if(f)return algebraic(t);h=!0}if(file(t)===file(d)){if(h)return algebraic(t);f=!0}}}}}return c?f?String(8-rank(t)):String.fromCharCode(file(t)+97):""}function beautifyMove(e,t,n){var a,l,c=e>>D&H,d={color:eb,to:algebraic(c),flags:e&H};if(eM&&(e&ei.DROP)!=0){l=e>>B;d.drop=l;d.piece=eo[l]+eb}else{a=e>>I&H;d.from=algebraic(a);d.piece=em[a];if(e&ei.PROMOTION){l=e>>B;d.promotion=eo[l]+eb}e&ei.CAPTURE?d.captured=em[c]:e&ei.EP_CAPTURE&&(d.captured=y|swapColor(eb))}return t?d.san=t:d.san=moveToSan(e,n),d}function isVariantWin(){return eh===c["3-check"]?3===eS[swapColor(eb)]:eh===c["King of the Hill"]?kingOfTheHillWin(eg[swapColor(eb)]):void 0}function isBughouseWin(){if(eh===c.Bughouse)return ep.siblingGame.inCheckmate()}function isBughouseDraw(){if(eh===c.Bughouse)return ep.siblingGame.in50MoveRule()||ep.siblingGame.inThreefoldRepetition()}function createVariation(){var e=[],t=generateFen(),n=eC.length-1,a=eC[n];if(!a)return!1;e.parentId=eT;e.id=ek.length;eC.curFen=t;a.lines||(a.lines=[]);a.lines.push(e.id);if(a.move)reverseMove(a);else{ex=a.epSquare;--ey;eb=swapColor(eb)}return eb===x&&--eA,e.atMoveNode=n,n?e.hash=eC[n-1].hash:e.hash=eC.hash,eT=e.id,ek.push(e),eC=e,!0}function selectLine(e){var t=generateFen();eC.curFen=t;eC=ek[e];eT=e;load(eC.curFen,eh,!0,!0)}return ep={WHITE:v,BLACK:x,PAWN:y,KNIGHT:A,BISHOP:w,ROOK:C,QUEEN:k,KING:T,FLAGS:ei,load,reset,moves:function(e){var t,n,a,l=[],c=moveToSan;if(e){e.verbose&&(c=beautifyMove);e.type&&(n=e.type|e.type<<24);a=e.noDrop}generateMoves(n,a);for(t=0;t<_;++t)l.push(c(m[t]));return l},inCheck,inCheckmate,inStalemate,isBughouseWin,in50MoveRule:function(){return ey>=100},inDraw:function(){return ey>=100||inStalemate()||insufficientMaterial()||inThreefoldRepetition()||!!isBughouseDraw()},insufficientMaterial,inThreefoldRepetition,isVariantWin,gameOver:function(){return ep.inDraw()||inCheckmate()||!!isVariantWin()||!!isBughouseWin()},isPositionValid:function(e){var t,n,a,l=0;e=e||{};if(!1!==e.pawns){t=0;for(;t<=119;){a=em[t];if(a&y)return!1;8==++t&&(t=112)}}if(!1!==e.kings){for(t=0;t<=119;++t){136&t&&(t+=8);a=em[t];if(a&T){if(++l>2||n&&n&a)return!1;n=a&E}}if(2!==l)return!1}return!(!1!==e.check&&!(!1===e.kings&&eg[swapColor(eb)]===b)&&kingAttacked(swapColor(eb)))},validateFen,fen:generateFen,pgn:function(e){return(e=e||{}).useResultHeader||eT||(isVariantWin()||inCheckmate()?eE.Result=eb===x?"1-0":"0-1":ep.inStalemate()?eE.Result="1/2-1/2":isBughouseWin()&&(eE.Result=ep.siblingGame.turn()===v?"1-0":"0-1")),ed(e,eE,ek,ew,eh,ep)},loadPgn:function(e,t,n){var a,l,c,d,f,m,h,_,g={},b=0;if("number"!=typeof t){n=n||t;t=0}n=n||{};if("string"==typeof e){n.singleGame&&(e=e.replace(/(?:\r?\n\s*){2,}/g,"\n"));e=ep.tokenizePgn(e,n)}n.recordErrorInfo&&(_=function(e,a){var l={reason:e,token:a,lineStart:c._lineStart,colStart:c._colStart,lineEnd:c._lineEnd,colEnd:c._colEnd,pgnIndex:t};return n.errors||(n.errors=[]),n.errors.push(l),!1});t<0&&(t=e.length+t);d=e[t];if(!d)return!1;reset();l=d.length;for(a=0;a"!==c.value||n.rejectNullMoves||!f.move("--"))){_&&_("Invalid SAN move",c.value);if(n.commentErrors)m.length?m[m.length-1].comment=((m[m.length-1].comment||"")+" "+c.value).trim():m.initComment=((m.initComment||"")+" "+c.value).trim();else if(n.skipBadLines&&(0!==eT||eC.length&&n.allowBadMainLine))b=1;else{reset();return!1}}}else if("result"===c.type&&"*"===eE.Result)setHeader(["Result",c.value]);else if("a"===c.type&&0===b&&m[m.length-1])m[m.length-1].annotation=c.value;else if(("nag"===c.type||"aa"===c.type)&&0===b&&m[m.length-1]){m[m.length-1].additionalAnnotation||(m[m.length-1].additionalAnnotation=[]);-1===m[m.length-1].additionalAnnotation.indexOf(c.value)&&m[m.length-1].additionalAnnotation.push(c.value)}else if("comment"===c.type&&0===b){if(m.length){c.value&&(m[m.length-1].comment=c.value);if(c.commands){m[m.length-1].commands=c.commands;c.commands.clk?m[m.length-1].time=timestampToTime(c.commands.clk):c.commands.emt&&(c.commands.timestamp=String(timestampToTime(c.commands.emt)))}}else{m.initComment=String(c.value);c.commands&&(m.commands=c.commands)}}else if("variationStart"===c.type){if(b>0)++b;else if(!createVariation()){reset();return!!_&&_("Invalid variation start","(")}m=f._history()}else if("variationEnd"===c.type){b>0&&--b;if(0===b){selectLine(m.parentId);m=f._history()}}else if("number"===c.type){f=/b/i.test(c.value.slice(-1))?ep.siblingGame:ep;if(!f)return!!_&&_("Invalid Bughouse move number",c.value);m=f._history()}else"cont"===c.type&&eT&&!m.length&&f.move(f._lines()[m.parentId][m.atMoveNode].san)}return!0},header:function(e){return Array.isArray(e)?setHeader(e):("object"==typeof e&&Object.keys(e).forEach(function(t){setHeader([t,e[t]])}),eE)},turn:function(e){return(e===v||e===x)&&(eb=e),eb},move:function playMove(e){var t,n,a,l,c,d,h,g,b,x,A,w,C;if("string"==typeof e){l=e.length-1;switch(e[l]){case"+":case"#":e=e.substr(0,l)}b=V.indexOf(e[0])>6?q[e[0]]:"O"===e[0]?T:y;if(eM){if(-1===e.indexOf("@"))x=!0;else{x=!1;b<<=24}}generateMoves(b,x);for(l=0;l<_;++l){d=moveToSan(m[l],!0);if(e===d){n=m[l];break}}if(n){h=n>>I&H;g=n>>D&H;a=n>>B}else{if("--"===e)return makeNullMove();if(e=ep.fixMove(e))try{return playMove(e)}catch(e){}return null}}else{if(e.drop){switch(e.drop){case"p":a=0;break;case"n":a=1;break;case"b":a=2;break;case"r":a=3;break;case"q":a=4;break;default:return null}b=1<<26+a}else{if(e.promotion)switch(e.promotion){case"q":a=4;break;case"n":a=1;break;case"r":a=3;break;case"b":a=2;break;default:return null}h=f[e.from];x=!0;b=em[h]&S}t=((a?a<>I|h;generateMoves(b,x);for(l=0;l<_;++l)if(m[l]>>I===t){n=m[l];break}if(!n)return(e=ep.fixMove(e))?playMove(e):null}return C=n&ei.DROP_OR_PROMOTE?eo[a]+eb:em[h],c=beautifyMove(n,d,!0),A=inCheckAfterMove(C,h,g,n),eL(n,h,g,a),A&&(eh&&isVariantWin()||0===generateMoves()?c.san+="#":c.san+="+"),(w=eC[eC.length-1]).san=c.san,c.piece&N&&(w.promoted=!0),eb===v&&++eA,c},undo:function(e){var t=eC.pop();return t?(eb===v&&--eA,t.move)?(reverseMove(t),!!e||beautifyMove(t.move,t.san)):(ex=t.epSquare,--ey,eb=swapColor(eb),!!e||{san:"--",color:t.color}):null},clear:function(e){clear(e)},put:function(e,t,n){var a,l=f[t],c=!1,d=em[l],m=d&E,h=e.color;if(isNaN(l)||!e.type||!h||-1===V.indexOf(e.type))return!1;em[l]=q[e.type]|h|(e.promoted?N:0);em[l]&T&&(eg[h]=l);if(d&&em[eg[m]]&&em[eg[m]]!==(T|m)){for(a=0;a<120;++a){136&a&&(a+=8);if(em[a]===(T|m)){eg[m]=a;c=!0}}c||(eg[m]=b)}return n||load(generateFen(),eh,!1,!1),!0},get,remove:function(e,t){var n,a=em[f[e]],l=get(e),c=a&E;em[f[e]]=0;if(a&T){eg[c]=b;ev[c]=0;for(n=0;n<120;++n){136&n&&(n+=8);if(em[n]===(T|c)){eg[a.color]=n;break}}}return t||load(generateFen(),eh,!0,!1),l},history:function(e,t){for(var n,a=[],l=eC,c=l.length;;){if(-1==--c){if(l.id&&!t){c=l.atMoveNode;l=ek[l.parentId];continue}break}if(e){(n=beautifyMove(l[c].move,l[c].san)).color=l[c].color;!c&&l.initComment&&(n.firstComment=l.initComment);void 0!==l[c].comment&&(n.comment=l[c].comment);void 0!==l[c].time&&(n.time=l[c].time);void 0!==l[c].annotation&&(n.annotation=l[c].annotation);void 0!==l[c].additionalAnnotation&&(n.additionalAnnotation=l[c].additionalAnnotation);void 0!==l[c].commands&&(n.commands=l[c].commands);void 0!==l[c].captured&&(n.captured=l[c].captured);void 0!==l[c].promoted&&(n.promoted=l[c].promoted);void 0!==l[c].lines&&(n.lines=l[c].lines);void 0!==l[c].bughouseOrder&&(n.bughouseOrder=l[c].bughouseOrder);V.indexOf(l[c].san[0])>6?n.piece=q[l[c].san[0]]:"O"===l[c].san[0]?n.piece=T:n.piece=y;n.piece|=n.color;a.unshift(n)}else a.unshift(l[c].san)}return a},hashes:function(){for(var e=[],t=eC,n=t.length;;){if(-1==--n){if(t.id){n=t.atMoveNode;t=ek[t.parentId];continue}t.hash||getCurrentHash();e.unshift(t.hash);break}e.unshift(t[n].hash)}return e},moveCount:function(){return eC.length},startingMoveNumber:function(){return ew},completeFen,createVariation,selectLine,hash:function(){var e=getCurrentHash();return eh!==c.Bughouse||ep.isDependent?e:[e,ep.siblingGame.hash()]},hashing:function(e){e_=e;eh!==c.Bughouse||ep.isDependent||ep.siblingGame.hashing(e_)},hand:function(){if(eM)return handToString(ep._hand[v],!0)+handToString(ep._hand[x])},checks:function(){if(eh===c["3-check"])return[eS[v],eS[x]]},threats:function(){var e,t,l,c,d,f,g,v=eb,x=swapColor(v),y=[],A=[],w=[],C=[],k=[],T=ex;calculateLegalMoveInfo(0,eg[v]);if(n||a)for(e=0;e<120;++e){136&e&&(e+=8);em[e+8]&O&&em[e]?w.push(algebraic(e)):em[e+8]&R&&y.push(algebraic(e))}eb=x;ex=b;generateMoves();for(e=_;e--;){d=(t=m[e])>>D&H;f=t>>I&H;if(t&ei.DROP_OR_PROMOTE){c=eo[g=t>>B]|x;if(t&ei.PROMOTION&&g%3!=1)continue}else{c=em[f];g=0}if(inCheckAfterMove(c,f,d,t)){eL(t,f,d,g);h=e;(eh&&isVariantWin()||generateMoves()===e)&&A.push((t&ei.DROP?U[c].toLowerCase()+"@":algebraic(f))+algebraic(d));reverseMove(eC.pop());if(t&ei.CAPTURE){l=0;for(e=_;e>h;)if((m[--e]>>D&H)===d){l=1;e=h;break}if(!l){C.push(algebraic(f)+algebraic(d));continue}}}t&ei.CAPTURE&&1!==g&&(l=124&em[d])&&(attacked(v,d)?l>(c=em[f]&S)&&l-c!=8&&k.push(algebraic(f)+algebraic(d)):C.push(algebraic(f)+algebraic(d)))}return h=0,eb=v,ex=T,{pins:y,checkers:w,mates:A,undefended:C,underdefended:k}},tokenizePgn:eu,fixMove:function(e){var t,n,a;if("string"==typeof e){if(/0|[?!+#]$|[18][QNRB]$|^P/i.test(e))return e.replace(/[?!+#]+$/,"").replace(/0/g,"O").replace(/([18])([QNRB])$/i,"$1=$2").replace(/^P+/i,"");n=e.indexOf("=")>0?-4:-2;t=f[e.substr(n,2)];if("number"==typeof t){if(em[t]&swapColor(eb)||/^[a-h]x?[a-h][36]$/.test(e)){if(-1===e.indexOf("x"))return e.slice(0,n)+"x"+e.substr(n)}else if(e.indexOf("x")>-1)return e.replace(/x/g,"");if(a=e.match(/^([KQNRB]?)([a-h][1-8]?|[1-8])x?([a-h][1-8])=?(.?)$/)){if(em[f[a[2]]])return{from:a[2],to:a[3],promotion:a[4].toLowerCase()};if(/^\d$/.test(a[2])){e=0;generateMoves(q[a[1]],!0);for(n=0;n<_;++n)if(m[n]>>D===t&&rank(m[n]>>I&H)===8-a[2]){if(e)return;e=m[n]}if(e)return moveToSan(e,!0)}return a[1]+a[3]+a[4]}}}else if(em[f[e.from]]===(T|eb)&&e.to&&e.from[1]===e.to[1]){if(e.frome.to)return"O-O-O"}},_hand:[],_history:function(e){return e&&(eT=(eC=e).id),eC},_lines:function(){return ek},_hashPosition:hashPosition,_board:function(){return em}},ec&&load(ec,ef)||reset(),ep}return Chess2.variants=d,Chess2}(),ENGINE_MANAGER=function(e){var n=["bench","d","eval","flip","isready","ponderhit","stop","uci","ucinewgame"],a=[{cmd:"position",args:["fen","startpos","moves","continuation"]},{cmd:"go",args:["binc","btime","confidence","depth","infinite","mate","mindepth","mintime","maxdepth","maxtime","movestogo","movetime","ponder","searchmoves","shallow","winc","wtime"]}],l=["moves","searchmoves"],c=["ponder","infinite","startpos"],d={depth:1,seldepth:1,time:1,nodes:1,multipv:1,cp:1,mate:1,currmovenumber:1,hashfull:1,nps:1,tbhits:1,sbhits:1,cpuload:1,bmc:1,score:2,lowerbound:2,upperbound:2,bestmove:3,ponder:3,baseTurn:3,bestmoveSan:3,ponderSan:3,pv:4,pvSan:4,string:4,refutation:4,currline:4},f=/(?:Total|Final) Evaluation[\s\S]+\n$/i;function fakeWorker(e){var t,n=[],a=[],l={},c={isFakeWorker:!0},d=e.replace(/^[^#]*#/,"");function runAsync(e){setTimeout(e,1)}function flushMessages(e,n){var a;if(!t){if(e.onmessage){a=n.concat();n.length=0;a.forEach(function(t){try{e.onmessage({data:t})}catch(e){console.error(e)}})}else setTimeout(flushMessages,5,e,n)}}return function asyncImport(e,n){var a=document.createElement("script");a.setAttribute("src",e);a.onload=function onload(){a.remove();n(a._exports)};a.onerror=function onError(e){t=!0;a.remove();l.onerror(e)};document.head.appendChild(a)}(e,function(n){var a=e.replace(/[?#].*/,""),f=a.replace(/\/[^\/]+$/,"/"),m={locateFile:function(e){return e.indexOf(".wasm")>-1&&d?d:e.indexOf(".worker.js")>-1?a+"#"+d+",worker":f+e}};n(m).then(function(){n=null;function onBeforeunload(){m=null;t=!0}window.addEventListener("beforeunload",onBeforeunload,{once:!0});c.onmessage=function onmessage(e){var n=e.data;(m.onSpecialMessage||m.onCustomMessage)(n);if("quit"===n){m=null;t=!0;window.removeEventListener("beforeunload",onBeforeunload)}};m.addMessageListener(c.postMessage)}).catch(function(e){n=null;t=!0;l.onerror(e)})}),l.postMessage=function(e){n.push(e);runAsync(function(){flushMessages(c,n)})},c.postMessage=function(e){a.push(e);runAsync(function(){flushMessages(l,a)})},l.terminate=function(){},l}function requeue(e,t){var n=t.concat();t.length=0;n.forEach(function onEachCmd(t){if(t.cmd)"go"!==t.cmd.substr(0,2)&&e.send(t.cmd,t.cb,t.stream);else{clearTimeout(t.timer);e.getBestMove(t.args,t.cb,t.stream)}})}function createWebWorker(e,t,n){var a=e&&e.loader?e.loader+(e.engine?"#"+e.engine:""):"stockfish.js",l=t.useFakeWorker&&t.useFakeWorker[a.replace(/[?#].*$/,"")]?fakeWorker(a):new Worker(a),c={terminate,postMessage};function postMessage(e){l.postMessage(e)}function terminate(){l.terminate()}return l.onmessage=function(e){"string"==typeof e.data&&c.onmessage(e.data)},l.onerror=function(e){var a,d=!0;n.availableEngines.shift();if(n.availableEngines.length){d=!1;try{e.preventDefault()}catch(e){}try{l.terminate()}catch(e){}(a=createWebWorker(n.availableEngines[0],t,n))._origWorker=c._origWorker||c;a.onmessage=function(e){a._origWorker.onmessage(e)};a._origWorker.postMessage=a.postMessage;a._origWorker.terminate=a.terminate;requeue(n,n._activeCommands());requeue(n,n._bestMoveQueue())}t.onError&&t.onError(e,d);d&&n.quit()},c}function getAvailableEngines(t){var n=[];if(t.engines){t.engines.multiThreaded&&e.supportsMultithreading()&&e.supportsSIMD()&&n.push(t.engines.multiThreaded);t.engines.multiThreadedNoSIMD&&e.supportsMultithreading()&&n.push(t.engines.multiThreadedNoSIMD);t.engines.singleThreaded&&n.push(t.engines.singleThreaded);t.engines.asm&&n.push({loader:t.engines.asm})}return(t.enginePath||t.pathToEngineWorker)&&n.push({loader:t.enginePath||t.pathToEngineWorker,engine:t.pathToWasmEngine}),(t.fallbackPath||t.pathToNonWasmEngine)&&n.push({loader:t.fallbackPath||t.pathToNonWasmEngine}),n}function createWorker(e,t){return t.availableEngines=getAvailableEngines(e),createWebWorker(t.availableEngines[0],e,t)}function parseSearchLine(e){for(var t,n,a=e.split(" "),l=a.length,c="info"===a[0]?1:0,f={mtype:a[0]};c=0?"fetch":"bestmove"===d||"info"===d?"go":"other";c=t.length;for(l=0;l-1){l=t.split("\n");for(c=0;c=0;--n)if(C[e][n].func===t){C[e][n].removed=!0;C[e].splice(n,1);return}}};b.emit=function(e,t){var n,a,l,c,d;if(C[e]){c=(l=C[e].slice(0)).length;for(n=0;n-1){if(!t[e]||!t[e].length)return;Array.isArray(t[e])&&(t[e]=t[e].join(" "))}d.push(e);-1===c.indexOf(e)&&d.push(t[e])}});b.send(d.join(" "),n,a)}});b.setoption=function(e,t){b.send("setoption name "+e+" value "+t)};b.setVariant=function(e){var t;if(e!==g){t=String(e).toLowerCase().replace(/ |-/g,"");if(e&&"chess"!==t){if("chess960"===t){b.setoption("UCI_Variant","chess");b.setoption("UCI_Chess960","true")}else{"threecheck"===t&&(t="3check");b.setoption("UCI_Variant",t);b.setoption("UCI_Chess960","false")}}else{t=void 0;b.setoption("UCI_Variant","chess");b.setoption("UCI_Chess960","false")}g=t}};b.loadBook=function(e,n){b.pathToBook=e;t.loadBook(e,function onload(e,t){if(e){console.error("Error loading opening book.");console.error(e);b.pathToBook=null;b.bookLoaded=!1}else{b.book=t;b.rawBook=t.json;b.bookLoaded=!0}n()})};b.getBookMove=function(t){var n=e.createGame(t),a=b.book.pick({fen:n.fen(),type:void 0!==t.bookPick?t.bookPick:"random",chess960:"Chess960"===n.header().Variant}),l=a&&n.move(a);if(l)return{moveSan:l.san,moveLan:a,move:{from:l.from,to:l.to,promotion:l.promotion||null},baseTurn:1===n.turn()?"b":"w",pv:[{moveSan:l.san,moveLan:a}],depth:null,score:null,mateIn:null,isBookMove:!0}};function getCEE(t,n){var a=t.loader,l=A[a]=A[a]||[],c=w[a]=w[a]||[];return t.maxEngines&&(n%=t.maxEngines),l[n]&&void 0!==l[n].ready||(l[n]=e({enginePath:a,pathToWasmEngine:t.engine,ceeMode:!0})),clearTimeout(c[n]),c[n]=setTimeout(function(){try{l[n].quit()}catch(e){}l[n]=null},t.killDelay||1e4),l[n]}function classifyStream(n,a,l,c,d,f){var m,h=[],_=[],g=a.minDepth||14,v=[],x=[];function getClassification(d,f,h){var _={cp:f[d].cp,mateIn:f[d].mateIn,pv:f[d].pv.slice(1)},g=getCEE(a,d),y={moveLan:f[d].pv[0]},A=a.book||b.rawBook;function streamCEEData(e){v[d]=!1;if(!m&&b.ready){e.mtype="classification";e.depth=h;e.multipv=d+1;n(e);x[d]&&getClassification(d,x[d].evals,x[d].depth)}}if(v[d]){x[d]={evals:f,depth:h};return}A&&(y.isBook=!!A[t.to64BitHex(e.createGame({fen:l,moves:y.moveLan,variant:c}).hash())]);v[d]=!0;x[d]=null;g.fetch({action:"analysis",variant:c,startFen:l,moves:[y],evals:[f,[_]],options:{WhiteElo:a.whiteElo,BlackElo:a.blackElo,ScoreWhiteToMove:!0}},function onDone(e){streamCEEData(e.positions[1])},function onError(e){e||(e={});e.err=!0;streamCEEData(e);g.quit()})}return function stream(e){var t;if("bestmove"===e.mtype)m=!0;else if(e.depth>=g){t=e.multipv-1;if("info"===e.mtype&&e.pv&&e.multipv>0&&(e.pv.length>1||1===e.mate)&&_[t]!==e.depth){h[t]=e;_[t]=e.depth;if(t<=1&&_[0]===_[1]){getClassification(0,h,e.depth);f||getClassification(1,h,e.depth)}else(d||_[0]===_[1])&&getClassification(t,h,e.depth)}}f&&e.multipv&&(1!==e.multipv||!n)||n(e)}}function bestMoveSearch(){var t,n,a,l,c,d=1,f=[],m=[],h=null,g=x[0].args,v=x[0].cb,y=x[0].stream,A=1,w=[],C=14,k=loadEngine._previousCP;x[0].started=!0;loadEngine._previousCP=null;function convertpv(e){var t=[],n=m[e]||createSanPv(f[e]);return f[e].forEach(function oneach(e,a){t.push({moveSan:n[a],moveLan:e})}),t}function getpv(e,t,n,a){var l;for(l=f.length-1;l>=0;l-=1)if(f[l][0]===e)return convertpv(l);return n?[{moveSan:t,moveLan:e},{moveSan:a,moveLan:n}]:t?[{moveSan:t,moveLan:e}]:[]}function normalize(e){var t=.03*Math.pow(32,e.depth/C);e.cp=k+(e.cp-k)*t}function convertScore(e){if(0===e.mate){e.mateIn=0;e.cp=-31800*A}else{e.mateIn=Number(e.mate*A)||null;if("number"!=typeof e.mateIn||isNaN(e.mateIn)||"number"==typeof e.cp){e.cp*=A;9===Math.abs(e.cp)&&(e.cp=0);g.normalize&&e.depth<=C&&"number"==typeof k&&1===e.multipv&&normalize(e)}else e.cp=31800*A*(e.mate/Math.abs(e.mate))}e.score=e.cp/100}function returnBestMove(e){var n=parseSearchLine(e);addBestMoveProps(n);d>C&&t<5e3&&t>-5e3&&(loadEngine._previousCP=t);n.pv=getpv(n.moveLan,n.moveSan);1===n.pv.length&&n.ponder&&(n.pv=getpv(n.moveLan,n.moveSan,n.ponder,n.ponderSan));if(w.length>1){w.splice(w.indexOf(n.moveLan),1);g.searchmoves=w;g.getNextBest=0;queueBestMoveSearch(g,function done(){v(n)},function streamer(e){if(y){e.multipv=2;y(e)}})}else if(v)try{v(n)}catch(e){console.error(e)}x.shift();clearTimeout(_);x.length>0&&bestMoveSearch()}function addBestMoveProps(c){var f;c.baseTurn=a;void 0===t&&(l.inCheckmate()?streamInfo("info depth 0 score mate 0"):l.inStalemate()&&streamInfo("info depth 0 score cp 0"));c.cp=t;c.score=t/100;c.mate=n;c.mateIn=h;c.depth=d;c.moveLan=c.bestmove;if(c.moveLan){c.move=e.uciToObj(c.moveLan)[0];f=l.move(c.move);if(f){c.moveSan=c.bestmoveSan=f.san;if(c.ponder){f=l.move(e.uciToObj(c.ponder)[0]);if(f){c.ponderSan=f.san;l.undo(!0)}}l.undo(!0)}}}function createSanPv(t){var n,a,c=t.length,d=[];for(n=0;n0;--n)l.undo(!0);return d}function streamInfo(e){var l=parseSearchLine(e);if(l.score){l.baseTurn=a;convertScore(l);!l.multipv&&l.depth&&(l.multipv=1);if(1===l.multipv||0===l.depth){t=l.cp;n=l.mate;h=l.mateIn}}l.pv&&y&&(l.pvSan=createSanPv(l.pv));if(l.pv&&!(l.lowerbound||l.upperbound)){f.push(l.pv);y&&m.push(l.pvSan)}l.depth>d?d=l.depth:"bestmove"===l.mtype&&addBestMoveProps(l);y&&!(0===l.mateIn&&l.pv)&&y(l);createTimeout()}function createTimeout(){if(g.timeout){clearTimeout(_);x[0].timer=_=setTimeout(function(){b.stop();if(v){v();v=void 0}},g.timeout)}}if(g.difficulty>=0&&g.difficulty<20){b.setoption("Skill Level",g.difficulty);g.maximumError>=0&&g.maximumError<=4999&&b.setoption("Skill Level Maximum Error",g.maximumError);g.errorProbability>=1&&g.errorProbability<=128&&b.setoption("Skill Level Probability",g.errorProbability)}else b.setoption("Skill Level",20);void 0!==g.contempt?b.setoption("Contempt",g.contempt):b.setoption("Contempt","0");g.multiPv>1?b.setoption("MultiPV",g.multiPv):b.setoption("MultiPV",1);if(!g.movetime&&(!g.wtime||!g.btime)&&!g.depth&&!g.infinite){g.btime=g.btime||72e3;g.wtime=g.wtime||72e3}if(!g.startpos&&g.fen||g.moves||g.variant){l=e.createGame({fen:g.fen?convertStandardVariantFen(g.fen):"rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1",moves:g.moves,variant:g.variant,disableHashing:!0});if(l.turn()===l.WHITE)a="w";else{a="b";A=-1}}else{a="w";l=e.createGame({disableHashing:!0})}if(g.cee&&y){if(2>(Number(g.multiPv)||1)){c=!0;b.setoption("MultiPV",2)}y=classifyStream(y,g.cee,l.fen(),g.variant,1===l.moves().length,c)}b.setVariant(g.variant);b.position(g);b.go(g,returnBestMove,streamInfo);g.getNextBest&&v&&l.moves({verbose:!0}).forEach(function toLan(t){t=e.normalizeMoveObj(t);w.push(t.from+t.to+(t.promotion||""))});createTimeout()}function queueBestMoveSearch(e,t,n){x.push({args:e,cb:t,stream:n});1===x.length&&b.ready&&bestMoveSearch()}b.getBestMove=function(e,t,n){var a;(e=e||{}).fen=e.fen||e.baseFen;e.is960&&(e.variant="Chess960");if(b.bookLoaded&&e.useBook){a=b.getBookMove(e);if(a)return setTimeout(function(){a.mtype="bestmove";t(a)},0)}queueBestMoveSearch(e,t,n)};b.stopAll=function(t){var n,a=v.length,l=0;function ondiscard(){0==(l-=1)&&t()}x=[];for(n=0;n=0?handleError({msg:"CEE crashed with error code",code:e.ERROR_CODES.ERROR,log:n.match(/info string CEEError\s*(.*)/)[1],err:Error(n.match(/info string CEEError\s*(.*)/)[1])}):t.ceeDebug&&n.indexOf("not recognized")>=0&&handleError({msg:"CEE received unknown UCI option (engine.ceeDebug mode on)",option:n,code:e.ERROR_CODES.NONFATAL_ERROR,err:Error(n)})})}t.fetch=function(n,a,l){var c,d;c=(n=n||[]).action||"analysis";if(Array.isArray(n))d=n;else{d=n.uciCommands?n.uciCommands.map(function(e){return e}):[];if(n.startFen){n.options=n.options||{};void 0===n.options.ScoreWhiteToMove&&(n.options.ScoreWhiteToMove=!0);void 0===n.options.SerializeLikeCEAC&&(n.options.SerializeLikeCEAC=!0);e.CEE_LIB.addOptions(d,n.options);e.CEE_LIB.addVariant(d,n.variant);e.CEE_LIB.addPosition(d,n.startFen)}e.CEE_LIB.addVariations(d,n.evals&&n.evals[0]);e.CEE_LIB.addVariations(d,n.threats&&n.threats[0],"threat-variation");(n.moves||[]).forEach(function(t,a){var l=a+1;e.CEE_LIB.addPush(d,t);e.CEE_LIB.addClock(d,n.clocks&&n.clocks[a]);e.CEE_LIB.addVariations(d,n.evals&&n.evals[l]);e.CEE_LIB.addVariations(d,n.threats&&n.threats[l],"threat-variation")})}if(t.ready)analyze(d,c,a,l);else{t.once("quit",l);t.isready(function onReady(){t.off("quit",l);analyze(d,c,a,l)})}};t.fetch.setTimeout=function(e){c=e};e.ERROR_CODES={TIMEOUT:1,CRASH:2,ERROR:3,NONFATAL_ERROR:4}}return loadEngine},a=function(){var e,a=n(),l="rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1",c=252,d={4:"p",5:"P",6:"p",8:"n",9:"N",10:"n",16:"b",17:"B",18:"b",32:"r",33:"R",34:"r",64:"q",65:"Q",66:"q",128:"k",129:"K",130:"k"},f=512,m="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!?{~}(^)[_]@#$,./&-*++=",h="qnrbkp";function decodeTCN(e){var t,n,a,l,c=e.length,d=[];for(t=0;t63){l.promotion=h[Math.floor((a-64)/3)];a=n+(n<16?-8:8)+(a-1)%3-1}n>75?l.drop=h[n-79]:l.from=m[n%8]+(Math.floor(n/8)+1);l.to=m[a%8]+(Math.floor(a/8)+1);d.push(l)}return d}function encodeTCN(e){var t,n,a,l,c="";Array.isArray(e)||(e=[e]);n=e.length;for(t=0;t=0;--n){l=h[n];if(isSameMove(l,t)){c=!0;break}}if(c){if(l.drop)e.put({type:l.drop,color:_},l.to);else{d=e.remove(l.from,!0);if(l.flags===a.FLAGS.KSIDE_CASTLE){f=e.remove("Chess960"===m?l.to:"h"+l.from[1],!0);e.put(d,"g"+l.from[1],!0);e.put(f,"f"+l.from[1])}else if(l.flags===a.FLAGS.QSIDE_CASTLE){f=e.remove("Chess960"===m?l.to:"a"+l.from[1],!0);e.put(d,"c"+l.from[1],!0);e.put(f,"d"+l.from[1])}else{if(l.promotion){d.type=l.promotion;d.promoted=!0}f=e.get(l.to);e.put(d,l.to,"k"!==d.type&&"r"!==d.type&&(!f||f.color!==_||"r"!==f.type))}}return l}if(t.from){e.turn(_);t=e.fixMove(t);e.turn(3-_);if(t)return makePremove(e,{san:t,from:t.from})}}function getPieces(e,t){var n,a,l,h=t?{}:[],_=e._board();if(t)for(n=112;n>=0;++n){136&n&&(n-=24);(a=_[n])&&(h[l=m[7&n]+(8-(n>>4))]={type:d[a&c],color:3&a,promoted:(a&f)!=0,square:l})}else for(n=112;n>=0;++n){136&n&&(n-=24);(a=_[n])&&h.push({type:d[a&c],color:3&a,promoted:(a&f)!=0,rank:8-(n>>4),file:(7&n)+1})}return h}function predict(e,t){var n=Math.min(Math.max(.20773843*Math.atan(2.49085889*e/100-2.47841945*t/100)+.02262979*e/100-.02256839*t/100+.52239679,0),1),a=Math.min(Math.max(-.20720905*Math.atan(2.49626837*e/100-2.48220286*t/100)+-.02352551*e/100+.02172627*t/100+.49443923,0),1),l=Math.min(Math.max(Math.exp(.037043456*e/100+.178106427*t/100+-8.069742932)+.004823544*Math.exp(-1.364136591*Math.pow(e/100-t/100,2))+-.001625539,0),1),c=n+a+l;return{w:n/c,b:a/c,d:l/c}}function getPositionDetails(e,t){var n,a,l,c;(e=e||{}).disableHashing=!0;n=createGame(e);if(!n)return null;if(t){l=n.move(t);if(!l)return null;n.extended||normalizeMoveObj(l)}return(c=n.fen(),e.skipValidation||n.isPositionValid(e))?(a=c.split(" "),{fen:c,pieces:getPieces(n),sideToMove:n.turn(),castling:a[2],epSquare:"-"===a[3]?null:a[3],halfMoves:+a[4],moveNumber:+a[5],move:l,hand:n.hand(),checks:n.checks()}):null}function gameFingerprints(e){var n,a,c,d,f,m,h,_,g,b=createGame(e),v=[""],x=[];if(!b)return!1;g=(_=b.header()).Variant||"";m=b.hashes();n="function"==typeof b.origHistory?b.origHistory(!0):b.history(!0);f=m.length;a=[m[0][0],m[0][1]];x.push(t.to64BitHex(a)+g);m[0]=t.to64BitHex(m[0]);for(c=1;c>>0;a[1]=(a[1]^m[c][1]*(c+984))>>>0;m[c]=t.to64BitHex(m[c]);x.push(t.to64BitHex(a)+g);normalizeMoveObj(n[d=c-1]);h=(n[d].from?n[d].from:n[d].drop.toUpperCase()+"@")+n[d].to+(n[d].promotion||"");d&&(h=v[d]+" "+h);v.push(h)}return{startingFen:_.FEN||l,hashes:m,fingerprints:x,moves:v,variant:_.Variant}}function makeMoves(e,t,n,a){var l,c,d,f,m,h,_,g,b,v,x;n=n||{};"string"==typeof t&&(t=t.trim().split(" "));d=t.length;for(l=0;l)+$/.test(h.to||t[l]))m.move("--");else if(n.autoPromote){!0===n.autoPromote?h.promotion="q":h.promotion=n.autoPromote;if(!m.move(h)){if(n.skipBadLines)break;return!1}}else{if(n.skipBadLines)break;return!1}}g=(_=m._history())[_.length-1];a&&(b=parseInt(a[l],10));("number"!=typeof b||isNaN(b))&&(b=parseInt(t[l].time,10));if("number"==typeof b&&!isNaN(b)){g.time=b;b=void 0}t[l].firstComment&&(_.initComment=t[l].firstComment);t[l].comment&&(g.comment=t[l].comment);t[l].annotation&&(g.annotation=t[l].annotation);t[l].additionalAnnotation&&(g.additionalAnnotation=t[l].additionalAnnotation);t[l].commands&&(g.commands=t[l].commands);if(t[l].lines){f=t[l].lines.length;for(c=0;c=0;--t){if(1===l[t].color){n=c.white;a=c.black}else{n=c.black;a=c.white}a[l[t].type]&&--a[l[t].type];n.count+=d[l[t].type]}return c.imbalance=c.white.count-c.black.count,c};e.origHistory=e.history;e.history=function(t,n){var a,l,c,d=[],f=e._history(),m=f.length,h=e._lines();"boolean"==typeof t&&(t={verbose:t});t=t||{};n&&(t.noParentLines=n);t.toCurrent&&(m=e.ids().move+1);for(;;){if(-1==--m){if(f.id&&!t.noParentLines){m=f.atMoveNode;f=h[f.parentId];continue}break}if(t.verbose){a={};for(l in f[m])if(f[m][l]&&"object"==typeof f[m][l]){a[l]=f[m][l].constructor===Array?[]:{};for(c in f[m][l])a[l][c]=f[m][l][c]}else a[l]=f[m][l];d.unshift(a)}else d.unshift(f[m].san)}return d};e._getPos=function(n,a,c){var m,h,_;return("number"!=typeof n&&(n=d),"number"!=typeof a&&(a=f),m=(h=e._lines())[a],n>=0)?m[n]:c?m:m.id?m.atMoveNode?h[m.parentId][m.atMoveNode-1]:e._getPos(m.atMoveNode-1,m.parentId):(_={fen:t.header().FEN||l,hash:m.hash,initial:!0,ids:{move:-1,line:0},moveNumber:-1},e.siblingGame&&(_.bughouseOrder=-1),_)};e.move=function(t,n){var a,l,c,m,h=e._history();if(t&&("string"==typeof t||t.to&&(t.from||t.drop))){if(f===h.id&&d0;--t)if(!a[t].length){a[t]=void 0;n=!0}n&&e.reorderLines()};e.loadPgn=function(n,a,l){var c=t.loadPgn(n,a,l),m=e._history();return e.removeEmptyLines(),d=m.length-1,(f=m.id)&&e.selectLine(0),c};e.ids=function(){return{move:d,line:f}};e.selectLine=function(t){e.selectPosition(null,t)};e.curBughouseMove=function(){return Math.max(e._getPos().bughouseOrder,e.siblingGame._getPos().bughouseOrder)};e.deleteBughouseMove=function(t){var n,a,l,c=e.curBughouseMove(),d=!1,f=e;if(t>=0){c>=t&&e.selectBughouseMove(t-1);for(;;){a=(n=f._history()).length;for(l=0;l=t){n.length=l;d=!0;break}if(f===e.siblingGame)break;f=e.siblingGame}}return d};e.selectBughouseMove=function(t){var n,a,l=e.isDependent?e.siblingGame:e,c=l;if(-1===t)return c.selectPosition(-1,0,!0),c.siblingGame.selectPosition(-1,0,!0),l.load(l.header().FEN,"Bughouse",!0,!0);for(;;){n=c._history();for(a=n.length-1;a>=0;--a)if(n[a].bughouseOrder===t){c.selectPosition(n[a].ids.move,0,!0);c.siblingGame.selectPosition(n[a].siblingIds.move,0,!0);return l.load(n[a].fen,"Bughouse",!0,!0)}if(c===l.siblingGame)return!1;c=l.siblingGame}};e.moveBackward=function(t){var n,a,l;if(e.siblingGame)return e.selectBughouseMove(e.curBughouseMove()-1);if(-1===d&&0===f)return!1;if(d>1||0===f)e.selectPosition(d-1);else{n=e._getPos();a=e._getPos(n.previous.move,n.previous.line);for(;a.isContinuation&&!t;){l=e._lines()[a.ids.line];a=e._getPos(l.atMoveNode,l.parentId)}e.selectPosition(a.ids.move,a.ids.line)}return!0};e.moveForward=function(t,n){var a,l,c,m,h,_,g=e._lines();if(e.siblingGame)return e.selectBughouseMove(e.curBughouseMove()+1);a=g[f][d+1];"string"==typeof n&&(n={san:n});if(!a||n&&!isSameMove(n,a)){if(n&&a&&a.lines){h=a.lines.length;for(m=0;m1&&(n=e.fixMove(n)))return e.moveForward(t,n)}catch(e){}return!1}}return e.selectPosition(a.ids.move,a.ids.line)};e.moveVariation=function(t,n){var a,l,c,d=e._lines(),f=d[t];if(f&&f.id){a=d[f.parentId][f.atMoveNode].lines;for(l=a.length-1;l>=0;--l)if(a[l]===t){c=l-(n?1:-1);if(a[c]){a[l]=a[c];a[c]=t;e.reorderLines();return!0}}}return!1};e.promoteVariation=function(t,n){for(var a,l,c,m,h,_,g=e._lines(),b=g[t];b&&b[0]&&b.id&&(-1!==n||b.parentId);){a=g[c=b.parentId];m=b.atMoveNode;b[0].lines=a[m].lines.concat(b[0].lines||[]);a[m].lines=void 0;_=a.length-m;l=a.splice(m,_);for(h=0;h<_;++h){l[h].ids.line=t;l[h].ids.move=h}l.id=t;l.parentId=c;l.atMoveNode=m;l.hash=b.hash;if(0===m){l.initComment=a.initComment;a.initComment=b.initComment}else b.initComment&&(a[m-1].comment=((a[m-1].comment||"")+" "+b.initComment).trim());g[t]=l;_=b.length;for(h=0;h<_;++h){b[h].ids.line=c;b[h].ids.move=h+m;a.push(b[h])}l[0].isContinuation=!!b[0].isContinuation;a[m].isContinuation=!m&&"number"==typeof a.parentId&&g[a.parentId][a.atMoveNode].move===a[0].move;_=a[m].lines.length;for(h=0;h<_;++h){g[a[m].lines[h]].atMoveNode=m;g[a[m].lines[h]][0]&&(g[a[m].lines[h]][0].isContinuation=g[a[m].lines[h]][0].move===a[m].move)}if(f===t){f=c;d+=m}else if(f===c&&d>=m){f=t;d-=m}if(1===n)break;b=g[t=c]}return void 0!==a&&(e._history(g[f]),e.reorderLines(),!d&&g[f][0].isContinuation&&e.selectPosition(g[f].atMoveNode,g[f].parentId),!0)};e.reorderLines=function(t,n){var a,l,d,m,h,_,g,b,v,x,y=e._lines(),A=!1;if(t)v=n.length-1;else{t=0;n=[y[0]];v=0;c=!1}d=(a=y[t]).length;for(l=0;l1||1===d&&!e._getPos(0).isContinuation)t=e._history();else{n=e._getPos(-1);t=e._lines()[n.ids.line]}return e.selectPosition(t.id?t[1]&&t[0].isContinuation?1:0:-1,t.id)};e.selectPosition=function(n,a,l){var c=e._lines(),m=e._history();if("number"==typeof a&&(a!==f||l)){if(a<0||a>=c.length)return!1;m=c[a];if("number"!=typeof n)n=m.length-1;else if(n<-1||n>=m.length)return!1;f=a;e._history(m);l=!0}if("number"==typeof n&&(n!==d||l)){if(n<-1||n>=m.length)return!1;t.load(e._getPos(n).fen,t.header().Variant,!0,!0);d=n}return!0};e.resetToMainLine=function(){var t=e._lines();e.selectLineEnd(0);if(t.length>1){t.length=1;e.reorderLines()}};e.updateNode=function(t,n,a){var l,c,m=e._lines();a="number"==typeof a?a:f;n="number"==typeof n?n:d;l=m[a][n]||m[a];for(c in t)l[c]=t[c]};e.updateLineComment=function(t,n){e.updateNode({initComment:t},-1,n)};e.saveLines=function(t,n){var a,l,c,d=e._lines(),f=t.length;t!==d&&(d.length=0);for(l=0;l0&&n!==f?!1!==(a=descendsFromMove(c,f,n))&&a>=t:n===f&&t<=d;if(l){if(t>1)e.selectPosition(t-1,n);else{e.selectPosition((c[n][0].isContinuation||1===t)&&c[n][1]?1:0,n);e.moveBackward()}}return t>0?c[n].length=t:n?c[n]=null:c[0].length=0,e.reorderLines(),e.ids()};e.mark=function(t,n,a,l){var c=e._getPos(a,l,!0),d=t.type,f=1;t.color&&("arrow"===d?e.mark({key:t.color+t.key,type:"cal"},n,a,l):"square"===d&&e.mark({key:t.color+t.key,type:"csl"},n,a,l));if("cal"!==d&&"csl"!==d){d="c_"+d;f=0}if(c.commands&&c.commands[d]){c.commands[d]=c.commands[d].split(",").filter(function rm(e){return e.slice(f).split(";")[0]!==t.key.slice(f)}).join(",");c.commands[d]||delete c.commands[d]}if(!n){c.commands||(c.commands={});c.commands[d]=(c.commands[d]?c.commands[d]+",":"")+t.key+(t.data?";"+t.data.join(";"):"")}};e.markings=function(t,n){var a,l,c,d,f,m,h,_,g={},b=e._getPos(t,n,!0),v={cal:"arrow",csl:"square"};for(l in b.commands){c=b.commands[l];if(v[l]){l=v[l];d=0}else{if("c_"!==l.substr(0,2))continue;l=l.slice(2);d=1}g[l]=g[l]||{};m=(f=c.split(",")).length;for(a=0;a=0;--a)if(1===h[a].length&&h[a][0].isContinuation){swapMoveAttributes(h[a][0],h[h[a].parentId][h[a].atMoveNode]);h[a].length=0}e.removeEmptyLines()}}else"merge"!==n.method&&e.deletePosition(d+1,f)}return!0}}}function createGame(e){var t,a;e=e||{};if(e.game)return e.game;t=n();e.analysis&&extendChess(t);e.disableHashing&&t.hashing(!1);if(e.pgn){if(!t.loadPgn(e.pgn,e.index,e.options)&&("detect"!==e.variant||!n.variants.some(function(n){return e.options=e.options||{},e.options.variant=n,t.loadPgn(e.pgn,e.index,e.options)})))return!1}else{if(e.headers){e.variant=e.headers.Variant||e.variant;e.fen||(e.fen=e.headers.FEN)}"detect"===e.variant&&e.fen&&(e.fen.indexOf("|")>-1?e.variant="Bughouse":9===e.fen.split("/").length?e.variant="Crazyhouse":e.fen.indexOf("+")>-1?e.variant="3-check":e.variant=void 0);if((e.fen||e.variant)&&!t.load(e.fen||l,e.variant))return!1;e.headers&&"object"==typeof e.headers&&!Array.isArray(e.headers)&&t.header(e.headers)}if(e.tcn){if("object"==typeof e.tcn){if(!playBughouseTCN(t,e.tcn,e.timestamps||[[],[]]))return!1}else a=decodeTCN(e.tcn)}else a=e.moves;return(!a||!!makeMoves(t,a,e,e.timestamps))&&t}function generatePgn(e){var t;return(e=e||{}).disableHashing=!0,!!(t=createGame(e))&&t.pgn(e)}function pgnToFen(e,t){var n,l,c=[];a.reset();if(!a.loadPgn(e))return!1;n=a.moveCount();if("number"==typeof t){t<0&&(t=n+t+1);for(l=n-1;l>=t&&l>=0;l-=1)a.undo();return a.fen()}for(l=0;l<=n;l+=1){c.unshift(a.fen());a.undo()}return c}function normalizeMoveObj(e){if(e){e.piece&f&&(e.promoted=!0);e.piece=d[e.piece&c];if(e.captured){e.captured&f&&(e.capturedPromotedPawn=!0);e.captured=d[255&e.captured]}e.promotion&&(e.promotion=d[e.promotion&c]);void 0!==e.drop&&(e.drop="pnbrq"[e.drop])}return e}function normalizeHistory(e){var t,n,a,l,c,d,f,m=e.history(!0,!0);if(e.siblingGame){t=e.siblingGame.history(!0,!0);a=m.length+t.length;n=[];for(l=0;l=0;--f){e.selectLine(d.lines[f]);d.lines[f]=normalizeHistory(e).moves}}return{moves:m}}function pgnToJson(e,t,n){var l,c=[],d=a;if("number"!=typeof t){n=t;t=void 0}return l=d.tokenizePgn(e,n),t<0&&(t=l.length+t),!!l&&((n&&n.includeFen&&(d=createGame({analysis:!0})),l.forEach(function(e,a){void 0===t||a===t?d.loadPgn([e],0,n)?c.push({headers:d.header(),moves:normalizeHistory(d).moves}):c.push(!1):c.push(void 0)}),"number"==typeof t)?c[t]:c)}function sanToObj(e,t,n){return a.reset(),!!a.load(t,n)&&normalizeMoveObj(a.move(e))}function shortenFen(e,t){return a.completeFen(e).split(" ").slice(0,t||4).join(" ")}function getFenFromMoves(e,t,n,l){return a.reset(),a.load(e,n),(!t||!!makeMoves(a,t,l))&&a.fen()}function getLegalMoves(e,t){var n,l,c,d;if("string"==typeof e){(l=a).reset();if(!l.load(e,t))return null}else l=createGame(e);d=(n=l.moves({verbose:!0})).length;for(c=0;c=0;--_)if(!_||-1!==f[_].m.indexOf(m.m)){(g=f[_]).e=f[0].e;g.s=f[0].s;g.mate=f[0].mate;g.v=f[0].v;g.h=f[0].h;g.n=g.n||f[0].n;g.u=g.u||f[0].u;g.c=g.c||f[0].c;break}}else g=f[0]}else g=f;(g.n||e.allowNameless)&&(m=g)}else e.mustEndInBook&&(m=void 0)}if(m){h={name:m.n};m.m&&(h.moves=m.m);void 0!==m.d&&(h.sdiff=m.d/100);if(m.c){h.code=m.c;h.url=m.u||m.n.replace(/[\u00e1-\u00e5]/g,"a").replace(/[\u0107\u010d]/g,"c").replace(/[\u00e9\u00e8\u0117\u0113]/g,"e").replace(/[\u00f3\u00f6\u00f8]/g,"o").replace(/[\u016f\u00fc]/g,"u").replace(/['+,]/g,"").replace(/[^a-z0-9.]+/ig,"-").replace(/(with-\d|St)\.+-?/,"$1-")}if(m.e){h.eval=m.e;h.depth=m.h;h.score=m.e[0].cp/100;void 0!==m.e[0].mate&&(h.mate=m.e[0].mate)}else{h.score=m.s/100;void 0!==m.mate&&(h.mate=m.mate)}return m.v&&(h.bad=!0),h}},a.json)})}function jce(t,n){return(e=e||ENGINE_MANAGER(jce))(t,n)}return jce.supportsMultithreading=function(){var e,t=!!jce._hasThreads;if("boolean"!=typeof jce._hasThreads){try{(e=new Worker("data:application/javascript,")).postMessage(new SharedArrayBuffer(1));t=!0}catch(e){}try{e.terminate()}catch(e){}jce._hasThreads=t}return t},jce.supportsSIMD=function(){return"boolean"==typeof jce._hasSIMD?jce._hasSIMD:jce._hasSIMD=WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]))},jce.gameFingerprints=gameFingerprints,jce.getFenFromMoves=getFenFromMoves,jce.getLegalMoves=getLegalMoves,jce.getPositionInfo=getPositionInfo,jce.isFenValid=isFenValid,jce.encodeTCN=encodeTCN,jce.decodeTCN=decodeTCN,jce.uciToObj=uciToObj,jce.generatePgn=generatePgn,jce.pgnToFen=pgnToFen,jce.pgnToJson=pgnToJson,jce.sanToObj=sanToObj,jce.completeFen=a.completeFen,jce.shortenFen=shortenFen,jce.createGame=createGame,jce.getPositionDetails=getPositionDetails,jce.predict=predict,jce.normalizeMoveObj=normalizeMoveObj,jce.FLAGS=a.FLAGS,jce.loadECO=loadECO,jce.CEE_LIB=function(){var e={};return e.addOptions=function(e,t){for(var n in t)void 0!==t[n]&&e.push("setoption name "+n+" value "+t[n]);return e},e.addVariations=function(e,t,n){t=t||[];n=n||"variation";for(var a,l,c=0;c `,c=` `,d=` `,f=` `,m=` `,h=` `,_=` `,g=` `,b=` `,v=` `,x=` `,y=` `,A=` `,w=` `,C=` `,k=` `,T=` `,E=` `,S=` `,M=` `,N=` `,L=` `,P=` `,O=` `,R=` `,$=` `,I=` `,D=` `,B=` `,H=` `,V=` `,F=` `,z=` `,j=` `,q=` `,U=` `,W=` `,G=` `;var Z=n(8511);let K={[Z.Rc.Alternative]:l,[Z.Rc.BestMove]:c,[Z.Rc.Blunder]:d,[Z.Rc.Book]:f,[Z.Rc.Brilliant]:m,[Z.Rc.CheckmateBlack]:h,[Z.Rc.CheckmateWhite]:_,[Z.Rc.Correct]:g,[Z.Rc.Critical]:b,[Z.Rc.DefeatWhite]:x,[Z.Rc.DefeatBlack]:v,[Z.Rc.DrawBlack]:y,[Z.Rc.DrawWhite]:A,[Z.Rc.Excellent]:w,[Z.Rc.FastWin]:C,[Z.Rc.Forced]:S,[Z.Rc.FreePiece]:k,[Z.Rc.Gamechanger]:T,[Z.Rc.Good]:M,[Z.Rc.GreatFind]:E,[Z.Rc.Inaccuracy]:N,[Z.Rc.Incorrect]:L,[Z.Rc.Mate]:P,[Z.Rc.Miss]:'',[Z.Rc.MissedWin]:O,[Z.Rc.Mistake]:R,[Z.Rc.ResignBlack]:$,[Z.Rc.ResignWhite]:I,[Z.Rc.Sharp]:D,[Z.Rc.Takeback]:B,[Z.Rc.Threat]:H,[Z.Rc.TimeoutBlack]:V,[Z.Rc.TimeoutWhite]:F,[Z.Rc.Undo]:z,[Z.Rc.Winner]:j,[Z.Rc.WinnerWhite]:q,[Z.Rc.Interesting]:U,[Z.Rc.Warning]:W,[Z.Rc.Equal]:G}},6223:function(e,t,n){"use strict";var a;n.d(t,{d:function(){return a}});(e=>{(e=>{e.Background="icon-background";e.Component="icon-component";e.ComponentShadow="icon-component-shadow";e.Shadow="icon-shadow"})(e.ClassNames||(e.ClassNames={}))})(a||(a={}))},2569:function(e,t,n){"use strict";n.d(t,{y:function(){return createQueue}});let noop=()=>{};function createQueue(e=!0){let t=[],n=!1;return{add,clear,flush,syncFlush,getEntries};function add(a,...l){let c,d;let f={};if("function"==typeof a){c=a;d=l}else{c=l[0];d=l.slice(1);f=a}let m=noop,h=noop,_=new Promise((e,t)=>{h=e;m=t});return t.push({fn:c,params:d,reject:m,resolve:h,preserved:f.preserved??!1}),e&&!1===n&&flush(),_}function clear(e={}){n=!1;t=e.persistPreserved?t.filter(e=>e.preserved):[]}async function flush(){let e=t.shift();if(!e){n=!1;return}n=!0;try{let t=await e.fn(...e.params);e.resolve(t);return flush()}catch(t){e.reject(t)}}function syncFlush(){let e=t.shift();if(!e){n=!1;return}n=!0;try{let t=e.fn(...e.params);t instanceof Promise?t.then(t=>e.resolve(t)).catch(t=>e.reject(t)):e.resolve(t);syncFlush()}catch(t){e.reject(t)}}function getEntries(){return t}}},5421:function(e,t,n){"use strict";n.d(t,{g:function(){return getDefaultExportFromCjs},i:function(){return a}});var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function getDefaultExportFromCjs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}},1904:function(e,t,n){"use strict";n.d(t,{ER:function(){return moveListNodesContainsNode},Ms:function(){return getWholeMoveNumber},Q4:function(){return rebuildMoveListNodesWithNode}});var a=n(8815),l=n(1052);function getWholeMoveNumber(e,t=1){let n=(null==e?void 0:e.moveNumber)??0,l=null==e?void 0:e.color,c=n%2==0&&l===a.Z.ColorsAsNumbers.Black||n%2!=0&&l===a.Z.ColorsAsNumbers.White;return t+Math.floor(n/2)+(c&&l===a.Z.ColorsAsNumbers.White?1:0)}function moveListNodesContainsNode(e,t){return t.some(t=>{var n;return(0,l.M)(e,t.node)||(null==(n=t.inlineVariations)?void 0:n.some(t=>moveListNodesContainsNode(e,t)))})}function rebuildMoveListNodesWithNode(e,t){return t.map(t=>{let n={...t,node:(0,l.M)(e,t.node)?e:t.node};return t.inlineVariations&&(n.inlineVariations=t.inlineVariations.map(t=>rebuildMoveListNodesWithNode(e,t))),n})}},1996:function(e,t,n){"use strict";n.d(t,{C:function(){return a}});let a={AddAnnotation:"AddAnnotation",AddComment:"AddComment",AddCommentBefore:"AddCommentBefore",DeleteCommentAfter:"DeleteCommentAfter",DeleteCommentBefore:"DeleteCommentBefore",AddAdditionalAnnotation:"AddAdditionalAnnotation",HideAllAnnotations:"HideAllAnnotations",ShowAllAnnotations:"ShowAllAnnotations",RemoveAnnotation:"RemoveAnnotation",DeleteVariation:"DeleteVariation",PromoteVariation:"PromoteVariation",DeleteMove:"DeleteMove",ClearAnalysis:"ClearAnalysis",InsertContinuation:"InsertContinuation",MoveVariationUp:"MoveVariationUp",MoveVariationDown:"MoveVariationDown",RemoveBegin:"RemoveBegin",RemoveEnd:"RemoveEnd",RemoveFocus:"RemoveFocus",SetBegin:"SetBegin",SetEnd:"SetEnd",SetFocus:"SetFocus"}},8511:function(e,t,n){"use strict";n.d(t,{Rc:function(){return c},dc:function(){return l},kx:function(){return a}});(e=>{(e=>{e.Name="effects"})(e.Plugin||(e.Plugin={}));(e=>{e.Normal="18.75%";e.Large="24.5%"})(e.BadgeSize||(e.BadgeSize={}));(e=>{e.FlyoutEffectBegin="FlyoutEffectBegin";e.FlyoutEffectEnd="FlyoutEffectEnd";e.FadeOutEffectBegin="FadeOutEffectBegin";e.FadeOutEffectEnd="FadeOutEffectEnd";e.AnimatedEffectAnimationEnd="AnimatedEffectAnimationEnd"})(e.Events||(e.Events={}))})(l||(l={}));let a="effect";var l,c=/* @__PURE__ */(e=>(e.Abandon="Abandon",e.Alternative="Alternative",e.BestMove="BestMove",e.Blunder="Blunder",e.Book="Book",e.Brilliant="Brilliant",e.BughouseWhite="BughouseWhite",e.BughouseBlack="BughouseBlack",e.CheckmateBlack="CheckmateBlack",e.CheckmateWhite="CheckmateWhite",e.Correct="Correct",e.Critical="Critical",e.Custom="Custom",e.DefeatBlack="DefeatBlack",e.DefeatWhite="DefeatWhite",e.DrawBlack="DrawBlack",e.DrawWhite="DrawWhite",e.Excellent="Excellent",e.FastWin="FastWin",e.Forced="Forced",e.FreePiece="FreePiece",e.Gamechanger="Gamechanger",e.Good="Good",e.GreatFind="GreatFind",e.Inaccuracy="Inaccuracy",e.Incorrect="Incorrect",e.Mate="Mate",e.Miss="Miss",e.MissedWin="MissedWin",e.Mistake="Mistake",e.ResignBlack="ResignBlack",e.ResignWhite="ResignWhite",e.Sharp="Sharp",e.Stalemate="Stalemate",e.Takeback="Takeback",e.Threat="Threat",e.TimeoutBlack="TimeoutBlack",e.TimeoutWhite="TimeoutWhite",e.Undo="Undo",e.Winner="Winner",e.WinnerWhite="WinnerWhite",e.Interesting="Interesting",e.Warning="Warning",e.Equal="Equal",e))(c||{})},7597:function(e,t,n){"use strict";n.d(t,{H:function(){return getTimestampFromNode}});function getTimestampFromNode(e){var t;return(null==(t=e.commands)?void 0:t.timestamp)?parseInt(e.commands.timestamp,10):null}},8815:function(e,t,n){"use strict";var a;n.d(t,{Z:function(){return a}});(e=>{(e=>{e[e.White=1]="White";e[e.Black=2]="Black"})(e.ColorsAsNumbers||(e.ColorsAsNumbers={}));(e=>{e.Bughouse="bughouse";e.Chess="chess";e.Chess960="chess960";e.Crazyhouse="crazyhouse";e.KingOfTheHill="kingofthehill";e.ThreeCheck="threecheck"})(e.Variants||(e.Variants={}));e.JCEVariantTypes={bughouse:"Bughouse",chess:"Chess",chess960:"Chess960",crazyhouse:"Crazyhouse",threecheck:"3-check",kingofthehill:"King of the Hill"};(e=>{e.White="w";e.Black="b"})(e.ColorsAsLetters||(e.ColorsAsLetters={}));(e=>{e.White="white";e.Black="black"})(e.ColorsAsWords||(e.ColorsAsWords={}));e.DefaultTimeControl=5;(e=>{e.Black="?";e.Event="?";e.Date="????.??.??";e.Site="?";e.Value="?";e.Result="*";e.Round="?";e.White="?"})(e.EmptyPGNHeaders||(e.EmptyPGNHeaders={}));(e=>{(e=>{e[e.Capture=1]="Capture";e[e.BigPawn=2]="BigPawn";e[e.EPCapture=4]="EPCapture";e[e.AnyCapture=5]="AnyCapture";e[e.Promotion=8]="Promotion";e[e.CapturePromotion=9]="CapturePromotion";e[e.KingsideCastle=16]="KingsideCastle";e[e.QueensideCastle=32]="QueensideCastle";e[e.AnyCastle=48]="AnyCastle";e[e.Drop=64]="Drop";e[e.DropOrCapture=69]="DropOrCapture";e[e.DropOrPromote=72]="DropOrPromote"})(e.Flags||(e.Flags={}));(e=>{e[e.Capture=0]="Capture";e[e.Castle=1]="Castle";e[e.Check=2]="Check";e[e.Checkmate=3]="Checkmate";e[e.Normal=4]="Normal";e[e.Premove=5]="Premove";e[e.Promotion=6]="Promotion"})(e.Types||(e.Types={}))})(e.Move||(e.Move={}));(e=>{(e=>{(e=>{(e=>{(e=>{e.Arrows="arrows";e.Effects="effects";e.Pieces="pieces"})(e.Targets||(e.Targets={}));(e=>{e.Above="above";e.Below="below"})(e.Positions||(e.Positions={}))})(e.VisualOrder||(e.VisualOrder={}));(e=>{e.Image="Image";e.Star="Star";e.TextBox="TextBox"})(e.Types||(e.Types={}))})(e.CustomItem||(e.CustomItem={}));(e=>{e.alt="a";e.custom="c";e.default="d";e.shift="s";e.ctrl="l"})(e.ColorKeys||(e.ColorKeys={}));(e=>{e.a="alt";e.c="custom";e.d="default";e.s="shift";e.l="ctrl"})(e.JCEColorsMap||(e.JCEColorsMap={}));(e=>{e.Arrow="arrow";e.Effect="effect";e.Square="square";e.CustomItem="customItem"})(e.Types||(e.Types={}))})(e.Marking||(e.Marking={}))})(e.Node||(e.Node={}));(e=>{(e=>{e.p="pawn";e.n="knight";e.b="bishop";e.r="rook";e.q="queen";e.k="king"})(e.Names||(e.Names={}));(e=>{e.Pawn="p";e.Knight="n";e.Bishop="b";e.Rook="r";e.Queen="q";e.King="k"})(e.Types||(e.Types={}))})(e.Piece||(e.Piece={}));(e=>{(e=>{e.Color="#ffff00";e[e.Opacity=.5]="Opacity"})(e.Defaults||(e.Defaults={}));(e=>{e.Analysis="analysis";e.Move="move";e.Premove="premove";e.Selection="selection"})(e.Types||(e.Types={}))})(e.Highlight||(e.Highlight={}));(e=>{e.Blitz="blitz";e.Bullet="bullet";e.Rapid="rapid"})(e.TimeControlTypes||(e.TimeControlTypes={}));(e=>{e.Black="0-1";e.Draw="1/2-1/2";e.None="*";e.White="1-0"})(e.Results||(e.Results={}))})(a||(a={}))},9282:function(e,t,n){"use strict";n.d(t,{P:function(){return getMainLineAncestorIds}});function getMainLineAncestorIds(e,t){if(!e)return null;if(0===e.line)return e;let n=t[e.line];return n&&void 0!==n.parentId&&void 0!==n.atMoveNode?getMainLineAncestorIds({line:n.parentId,move:n.atMoveNode},t):null}},4287:function(e,t,n){"use strict";var a;n.d(t,{t:function(){return a}});(e=>{(e=>{e.Name="sounds"})(e.Plugin||(e.Plugin={}));(e=>{e.GameStart="game-start";e.GameEnd="game-end";e.Capture="capture";e.Castle="castle";e.Premove="premove";e.MoveSelf="move-self";e.MoveCheck="move-check";e.MoveOpponent="move-opponent";e.Promote="promote";e.Notify="notify";e.TenSeconds="tenseconds";e.Illegal="illegal"})(e.BoardSounds||(e.BoardSounds={}))})(a||(a={}))},6198:function(e,t,n){"use strict";n.d(t,{U3:function(){return g},vC:function(){return b},lv:function(){return x},Ql:function(){return v},PN:function(){return _}});(e=>{(e=>{e.ClearAnalysis="ClearAnalysis";e.DeleteComment="DeleteComment";e.DeleteCommentBefore="DeleteCommentBefore";e.DeleteMove="DeleteMove";e.DeleteVariation="DeleteVariation";e.InsertComment="InsertComment";e.InsertCommentBefore="InsertCommentBefore";e.InsertContinuation="InsertContinuation";e.MoveVariationDown="MoveVariationDown";e.MoveVariationUp="MoveVariationUp";e.PromoteVariation="PromoteVariation";e.RemoveAnnotation="RemoveAnnotation";e.RemoveBegin="RemoveBegin";e.RemoveEnd="RemoveEnd";e.RemoveAdditionalAnnotation="RemoveAdditionalAnnotation";e.RemoveFocus="RemoveFocus";e.SetBegin="SetBegin";e.SetEnd="SetEnd";e.SetFocus="SetFocus"})(e.Actions||(e.Actions={}));(e=>{e.AddAnnotation="AddAnnotation";e.AddAdditionalAnnotation="AddAdditionalAnnotation"})(e.AnnotationActions||(e.AnnotationActions={}));(e=>{e.Actions="actions";e.Translations="translations"})(e.Keys||(e.Keys={}));(e=>{e.ActionClicked="action-clicked";e.AnnotationClicked="annotation-clicked";e.Close="close-context-menu"})(e.Events||(e.Events={}));(e=>{e.Name="contextMenu"})(e.Plugin||(e.Plugin={}))})(a||(a={}));(e=>{(e=>{e.ActionName="action-name";e.Annotation="annotation";e.AnnotationsContainer="annotations-container";e.Component="move-node-context-menu";e.Divider="divider"})(e.Classes||(e.Classes={}))})(l||(l={}));var a,l,c=n(1278),d=n(59),f=n(1671),m=n(1996);let{invertObject:h}=c.ur,_={$1:"!",$2:"?",$3:"!!",$4:"??",$5:"!?",$6:"?!",$9:"☒",$10:"=",$11:"=",$12:"=",$13:"∞",$14:"⩲",$15:"⩱",$16:"\xb1",$17:"∓",$18:"+-",$19:"-+",$22:"⨀",$23:"⨀",$32:"⟳",$33:"⟳",$36:"→",$37:"→",$40:"↑",$41:"↑",$44:"∞/=",$45:"=/∞",$132:"⇆",$133:"⇆",$138:"⊕",$146:"N",$222:"⇈",$256:"=/∞"},g={"??":"?\\?","!?":"!\\?","-+":"-\\+","∞/=":"∞\\/\\=","=/∞":"=\\/\\∞","=":"s=",N:"N\\b"},b=["!","?","!!","??","!?","?!","="],v=h(_);a.AnnotationActions.AddAnnotation,d.r.Nags.$1,_.$1,f.k.Translation.Annotations.GoodMove,a.AnnotationActions.AddAnnotation,d.r.Nags.$2,_.$2,f.k.Translation.Annotations.BadMove,a.AnnotationActions.AddAnnotation,d.r.Nags.$3,_.$3,f.k.Translation.Annotations.ExcellentMove,a.AnnotationActions.AddAnnotation,d.r.Nags.$4,_.$4,f.k.Translation.Annotations.Blunder,a.AnnotationActions.AddAnnotation,d.r.Nags.$5,_.$5,f.k.Translation.Annotations.SpeculativeMove,a.AnnotationActions.AddAnnotation,d.r.Nags.$6,_.$6,f.k.Translation.Annotations.DubiousMove,a.AnnotationActions.AddAdditionalAnnotation,d.r.Nags.$9,_.$9,f.k.Translation.Annotations.Miss,a.AnnotationActions.AddAdditionalAnnotation,d.r.Nags.$10,_.$10,f.k.Translation.Annotations.Drawish,a.AnnotationActions.AddAdditionalAnnotation,d.r.Nags.$13,_.$13,f.k.Translation.Annotations.Unclear,a.AnnotationActions.AddAdditionalAnnotation,d.r.Nags.$14,_.$14,f.k.Translation.Annotations.WhiteHasSlightAdvantage,a.AnnotationActions.AddAdditionalAnnotation,d.r.Nags.$15,_.$15,f.k.Translation.Annotations.BlackHasSlightAdvantage,a.AnnotationActions.AddAdditionalAnnotation,d.r.Nags.$16,_.$16,f.k.Translation.Annotations.WhiteHasModerateAdvantage,a.AnnotationActions.AddAdditionalAnnotation,d.r.Nags.$17,_.$17,f.k.Translation.Annotations.BlackHasModerateAdvantage,a.AnnotationActions.AddAdditionalAnnotation,d.r.Nags.$18,_.$18,f.k.Translation.Annotations.WhiteHasDecisiveAdvantage,a.AnnotationActions.AddAdditionalAnnotation,d.r.Nags.$19,_.$19,f.k.Translation.Annotations.BlackHasDecisiveAdvantage,a.AnnotationActions.AddAdditionalAnnotation,d.r.Nags.$22,_.$22,f.k.Translation.Annotations.PositionInZuqZwang,a.AnnotationActions.AddAdditionalAnnotation,d.r.Nags.$36,_.$36,f.k.Translation.Annotations.WithInitiative,a.AnnotationActions.AddAdditionalAnnotation,d.r.Nags.$40,_.$40,f.k.Translation.Annotations.WithCompensation,a.AnnotationActions.AddAdditionalAnnotation,d.r.Nags.$146,_.$146,f.k.Translation.Annotations.Novelty,a.AnnotationActions.AddAdditionalAnnotation,d.r.Nags.$256,_.$256,f.k.Translation.Annotations.WithAttack;let x=[{action:m.C.AddAnnotation,code:d.r.Nags.$3,display:_.$3,meaning:f.k.Translation.Annotations.ExcellentMove},{action:m.C.AddAnnotation,code:d.r.Nags.$1,display:_.$1,meaning:f.k.Translation.Annotations.GoodMove},{action:m.C.AddAnnotation,code:d.r.Nags.$5,display:_.$5,meaning:f.k.Translation.Annotations.SpeculativeMove},{action:m.C.AddAnnotation,code:d.r.Nags.$6,display:_.$6,meaning:f.k.Translation.Annotations.DubiousMove},{action:m.C.AddAnnotation,code:d.r.Nags.$2,display:_.$2,meaning:f.k.Translation.Annotations.BadMove},{action:m.C.AddAnnotation,code:d.r.Nags.$4,display:_.$4,meaning:f.k.Translation.Annotations.Blunder},{action:m.C.AddAdditionalAnnotation,code:d.r.Nags.$9,display:_.$9,meaning:f.k.Translation.Annotations.Miss},{action:m.C.AddAdditionalAnnotation,code:d.r.Nags.$18,display:_.$18,meaning:f.k.Translation.Annotations.WhiteHasDecisiveAdvantage},{action:m.C.AddAdditionalAnnotation,code:d.r.Nags.$16,display:_.$16,meaning:f.k.Translation.Annotations.WhiteHasModerateAdvantage},{action:m.C.AddAdditionalAnnotation,code:d.r.Nags.$14,display:_.$14,meaning:f.k.Translation.Annotations.WhiteHasSlightAdvantage},{action:m.C.AddAdditionalAnnotation,code:d.r.Nags.$10,display:_.$10,meaning:f.k.Translation.Annotations.Drawish},{action:m.C.AddAdditionalAnnotation,code:d.r.Nags.$15,display:_.$15,meaning:f.k.Translation.Annotations.BlackHasSlightAdvantage},{action:m.C.AddAdditionalAnnotation,code:d.r.Nags.$17,display:_.$17,meaning:f.k.Translation.Annotations.BlackHasModerateAdvantage},{action:m.C.AddAdditionalAnnotation,code:d.r.Nags.$19,display:_.$19,meaning:f.k.Translation.Annotations.BlackHasDecisiveAdvantage},{action:m.C.AddAdditionalAnnotation,code:d.r.Nags.$13,display:_.$13,meaning:f.k.Translation.Annotations.Unclear},{action:m.C.AddAdditionalAnnotation,code:d.r.Nags.$45,display:_.$45,meaning:f.k.Translation.Annotations.WithCompensation},{action:m.C.AddAdditionalAnnotation,code:d.r.Nags.$146,display:_.$146,meaning:f.k.Translation.Annotations.Novelty},{action:m.C.AddAdditionalAnnotation,code:d.r.Nags.$22,display:_.$22,meaning:f.k.Translation.Annotations.PositionInZuqZwang},{action:m.C.AddAdditionalAnnotation,code:d.r.Nags.$138,display:_.$138,meaning:f.k.Translation.Annotations.TimeTrouble},{display:""},{action:m.C.AddAdditionalAnnotation,code:d.r.Nags.$222,display:_.$222,meaning:f.k.Translation.Annotations.DevelopmentLead},{action:m.C.AddAdditionalAnnotation,code:d.r.Nags.$40,display:_.$40,meaning:f.k.Translation.Annotations.WithInitiative},{action:m.C.AddAdditionalAnnotation,code:d.r.Nags.$36,display:_.$36,meaning:f.k.Translation.Annotations.WithAttack},{action:m.C.AddAdditionalAnnotation,code:d.r.Nags.$132,display:_.$132,meaning:f.k.Translation.Annotations.Counterplay}]},4238:function(e,t,n){"use strict";n.d(t,{T:function(){return getOppositeColor}});var a=n(8815);function getOppositeColor(e){return e===a.Z.ColorsAsNumbers.Black?a.Z.ColorsAsNumbers.White:a.Z.ColorsAsNumbers.Black}},1052:function(e,t,n){"use strict";n.d(t,{M:function(){return isMatchingNode}});function isMatchingNode(e,t){if(!e||!t)return!1;let{ids:n,hash:a}=t;return e.ids.line===n.line&&e.ids.move===n.move&&e.hash[0]===a[0]&&e.hash[1]===a[1]}},1671:function(e,t,n){"use strict";var a;n.d(t,{k:function(){return a}});(e=>{(e=>{(e=>{e.ClearAllAnalysis="Clear All Analysis";e.DeleteCommentAfter="Delete Comment After";e.DeleteCommentBefore="Delete Comment Before";e.DeleteComment="Delete Comment";e.DeleteLine="Delete Entire Variation";e.DeleteMove="Delete Move";e.InsertComment="Comment";e.InsertCommentAfter="Comment After";e.InsertCommentBefore="Comment Before";e.InsertContinuation="Insert Continuation";e.MoveVariationDown="Move Variation Down";e.MoveVariationUp="Move Variation Up";e.Promote="Promote";e.RemoveAnnotation="Remove Annotation";e.ShowAllAnnotations="Show All Annotations";e.HideAllAnnotations="Hide All Annotations";e.RemoveBegin="Remove Begin";e.RemoveEnd="Remove End";e.RemoveEvaluationAnnotation="Remove Evaluation Annotation";e.RemoveFocus="Remove Focus";e.SetBegin="Set Begin";e.SetEnd="Set End";e.SetFocus="Set Focus"})(e.Actions||(e.Actions={}));(e=>{e.BadMove="Bad move";e.BlackHasDecisiveAdvantage="Black has a decisive advantage";e.BlackHasModerateAdvantage="Black has a moderate advantage";e.BlackHasSlightAdvantage="Black has a slight advantage";e.Blunder="Blunder";e.Drawish="Drawish";e.DubiousMove="Dubious move";e.ExcellentMove="Excellent move";e.GoodMove="Good move";e.Miss="Miss";e.Novelty="Novelty";e.Unclear="Unclear";e.PositionInZuqZwang="The position is in zugzwang";e.SpeculativeMove="Speculative move";e.WhiteHasSlightAdvantage="White has a slight advantage";e.WhiteHasModerateAdvantage="White has a moderate advantage";e.WhiteHasDecisiveAdvantage="White has a decisive advantage";e.WithInitiative="With initiative";e.WithCompensation="With compensation";e.WithAttack="With an attack";e.TimeTrouble="Time trouble";e.Counterplay="Counterplay";e.DevelopmentLead="Development lead"})(e.Annotations||(e.Annotations={}));(e=>{e.B="B";e.K="K";e.N="N";e.P="P";e.Q="Q";e.R="R"})(e.Pieces||(e.Pieces={}));(e=>{e.NumberOfDays="numberOfDays";e.NumberOfHours="numberOfHours";e.NumberOfMinutes="numberOfMinutes"})(e.Plural||(e.Plural={}));(e=>{e.AddComment="Add Comment..."})(e.Prompt||(e.Prompt={}));(e=>{e.FiftyMove="Fifty moves were played with no capture or pawn move, so the game ended in a draw.";e.InsufficientMaterial="Neither player had enough material to force checkmate, so the game ended in a draw.";e.WhiteTimeoutVsInsufficientMaterial="Although White ran out of time, Black did not have sufficient material to ever force checkmate, so the game ended in a draw.";e.BlackTimeoutVsInsufficientMaterial="Although Black ran out of time, White did not have sufficient material to ever force checkmate, so the game ended in a draw.";e.DrawByAgreement="The game has been drawn by agreement.";e.Stalemate="A draw by stalemate occurs when the player whose turn it is has no legal moves, but their king is not in check.";e.EnPassant="En passant is a special pawn move by which a pawn captures another pawn that has advanced two squares.";e.ThreeFoldRepetition="This game ended in a draw because the same position was repeated three times."})(e.Tooltips||(e.Tooltips={}));(e=>{e.TimeoutVsInsufficientMaterial="Game drawn by timeout vs insufficient material";e.DrawByAgreement="Game drawn by agreement"})(e.GameTerminationMessages||(e.GameTerminationMessages={}))})(e.Translation||(e.Translation={}));(e=>{e.HML="hml";e.VML="vml";e.MOVE_LIST="move-list"})(e.Types||(e.Types={}))})(a||(a={}))},8327:function(e,t,n){"use strict";n.d(t,{is:function(){return is}});function is(e){return function isType(t){return e===t.type}}},9031:function(e,t,n){"use strict";n.d(t,{O:function(){return getColorAsWord}});var a=n(8815);function getColorAsWord(e){return e===a.Z.ColorsAsNumbers.Black?a.Z.ColorsAsWords.Black:a.Z.ColorsAsWords.White}},3087:function(e,t,n){"use strict";n.d(t,{E:function(){return isOneOf}});function isOneOf(e){let t=new Set(Array.isArray(e)?e:Object.values(e));return function isType(e){return t.has(e.type)}}},5145:function(e,t,n){"use strict";n.d(t,{q:function(){return getDefaultOptions}});var a=n(5036);function generateRandomId(){let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";return[0,0,0,0,0,0,0,0,0,0].reduce(t=>t+e.charAt(Math.floor(Math.random()*e.length)),"")}function getDefaultOptions(){return{allowMarkings:!0,disableUserMarkings:!1,analysisHighlightColors:{alt:a.b.HighlightColors.Blue,ctrl:a.b.HighlightColors.Orange,default:a.b.HighlightColors.Red,shift:a.b.HighlightColors.Green},analysisHighlightOpacity:.8,animationType:a.b.Animation.Types.Default,arrowColors:{alt:a.b.HighlightedArrowColors.Blue,ctrl:a.b.HighlightedArrowColors.Red,default:a.b.HighlightedArrowColors.Orange,shift:a.b.HighlightedArrowColors.Green},aspectRatio:1,autoClaimDraw:!0,autoPromote:!1,autoResize:!0,boardStyle:"green",captureKeyStrokes:!0,checkBlinkingSquareColor:"#ff0000",coordinates:a.b.CoordinatesPositions.Inside,darkMode:!1,diagramStyle:!0,enabled:!0,disableUserNavigation:!1,fadeSetup:0,flipped:!1,highlightColor:void 0,highlightLegalMoves:!0,highlightMoves:!0,highlightOpacity:.5,hoverSquareOutline:!0,id:generateRandomId(),moveListContextMenuEnabled:!0,moveListDisplayType:a.b.MoveListDisplayTypes.Text,moveListClassificationStyle:a.b.MoveListClassificationStyles.Default,moveMethod:a.b.MoveMethods.Drag,overlayInAnalysisMode:!1,pieceStyle:"neo",playSounds:!0,premoveDelay:200,premoveHighlightColor:"#f42a32",premoveHighlightOpacity:.5,rounded:!0,setupImprovements:!1,soundTheme:"default",syncEffects:!0,threatSquareColor:"#ff0000",threatSquareOpacity:.8,useSharedStyleTag:!1,disableRookCastling:!1,emitMoveRejectedEvents:!1,assetPaths:{basePath:"https://www.chess.com",enPassant:"https://www.chess.com/article/view/how-to-capture-en-passant",soundsTheme:"https://images.chesscomfiles.com/chess-themes/sounds/"}}}},1278:function(e,t,n){"use strict";n.d(t,{_w:function(){return O},jd:function(){return y},rG:function(){return v},ur:function(){return x},wr:function(){return R}});var a,l,c,d=Object.defineProperty,__defNormalProp=(e,t,n)=>t in e?d(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,__publicField=(e,t,n)=>(__defNormalProp(e,"symbol"!=typeof t?t+"":t,n),n);(e=>{(e=>{e[e.Backspace=8]="Backspace";e[e.Delete=46]="Delete";e[e.DownArrow=40]="DownArrow";e[e.Enter=13]="Enter";e[e.Escape=27]="Escape";e[e.LeftArrow=37]="LeftArrow";e[e.RightArrow=39]="RightArrow";e[e.Spacebar=32]="Spacebar";e[e.Stop=137]="Stop";e[e.Tab=9]="Tab";e[e.UpArrow=38]="UpArrow"})(e.KeyCodes||(e.KeyCodes={}))})(f||(f={}));(e=>{(e=>{e.DidHide="modal-did-hide"})(e.Events||(e.Events={}))})(m||(m={}));var f,m,h,_,g="function"==typeof Map?/* @__PURE__ */new Map:(h=[],_=[],{has:function(e){return h.indexOf(e)>-1},get:function(e){return _[h.indexOf(e)]},set:function(e,t){-1===h.indexOf(e)&&(h.push(e),_.push(t))},delete:function(e){var t=h.indexOf(e);t>-1&&(h.splice(t,1),_.splice(t,1))}}),o=function(e){return new Event(e,{bubbles:!0})};try{new Event("test")}catch(e){o=function(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!1),t}}function r(e){var t=g.get(e);t&&t.destroy()}function i(e){var t=g.get(e);t&&t.update()}var b=null;"undefined"==typeof window||"function"!=typeof window.getComputedStyle?((b=function(e){return e}).destroy=function(e){return e},b.update=function(e){return e}):((b=function(e,t){return e&&Array.prototype.forEach.call(e.length?e:[e],function(e){return function(e){if(e&&e.nodeName&&"TEXTAREA"===e.nodeName&&!g.has(e)){var t,n=null,a=null,l=null,a2=function(){e.clientWidth!==a&&p()},c=(function(t){window.removeEventListener("resize",a2,!1),e.removeEventListener("input",p,!1),e.removeEventListener("keyup",p,!1),e.removeEventListener("autosize:destroy",c,!1),e.removeEventListener("autosize:update",p,!1),Object.keys(t).forEach(function(n){e.style[n]=t[n]}),g.delete(e)}).bind(e,{height:e.style.height,resize:e.style.resize,overflowY:e.style.overflowY,overflowX:e.style.overflowX,wordWrap:e.style.wordWrap});e.addEventListener("autosize:destroy",c,!1),"onpropertychange"in e&&"oninput"in e&&e.addEventListener("keyup",p,!1),window.addEventListener("resize",a2,!1),e.addEventListener("input",p,!1),e.addEventListener("autosize:update",p,!1),e.style.overflowX="hidden",e.style.wordWrap="break-word",g.set(e,{destroy:c,update:p}),"vertical"===(t=window.getComputedStyle(e,null)).resize?e.style.resize="none":"both"===t.resize&&(e.style.resize="horizontal"),isNaN(n="content-box"===t.boxSizing?-(parseFloat(t.paddingTop)+parseFloat(t.paddingBottom)):parseFloat(t.borderTopWidth)+parseFloat(t.borderBottomWidth))&&(n=0),p()}function s(t){var n=e.style.width;e.style.width="0px",e.style.width=n,e.style.overflowY=t}function u(){if(0!==e.scrollHeight){var t=function(e){for(var t=[];e&&e.parentNode&&e.parentNode instanceof Element;)e.parentNode.scrollTop&&(e.parentNode.style.scrollBehavior="auto",t.push([e.parentNode,e.parentNode.scrollTop])),e=e.parentNode;return function(){return t.forEach(function(e){var t=e[0];t.scrollTop=e[1],t.style.scrollBehavior=null})}}(e);e.style.height="",e.style.height=e.scrollHeight+n+"px",a=e.clientWidth,t()}}function p(){u();var t=Math.round(parseFloat(e.style.height)),n=window.getComputedStyle(e,null),a="content-box"===n.boxSizing?Math.round(parseFloat(n.height)):e.offsetHeight;if(a{(e=>{e.Hidden="hidden";e.Invisible="invisible"})(e.Classes||(e.Classes={}))})(a||(a={}));(e=>{(e=>{e[e.Backspace=8]="Backspace";e[e.Delete=46]="Delete";e[e.DownArrow=40]="DownArrow";e[e.Enter=13]="Enter";e[e.Escape=27]="Escape";e[e.LeftArrow=37]="LeftArrow";e[e.RightArrow=39]="RightArrow";e[e.Spacebar=32]="Spacebar";e[e.Stop=137]="Stop";e[e.Tab=9]="Tab";e[e.UpArrow=38]="UpArrow"})(e.KeyCodes||(e.KeyCodes={}))})(l||(l={}));function createEventEmitter(){let e=[];return{emit,listeners:e,off,offAll,offMany,on,onAll,onMany,once};function emit(t,n){let a;for(a of e)(a.type===t||"all"===a.type)&&a.handler(n)}function off(t){let n=e.findIndex(e=>t.type===e.type&&t.handler===e.handler);-1!==n&&e.splice(n,1)}function offAll(e){return off({handler:e,type:"all"})}function offMany(e=[]){e.forEach(e=>off(e))}function on(t,n){e.push({handler:n,type:t})}function onAll(e){on("all",e)}function onMany(e=[],t){e.forEach(e=>on(e,t))}function once(t,n){let a={handler:(...e)=>{off(a);n(...e)},type:t};e.push(a)}}let v=/* @__PURE__ */Object.freeze(/* @__PURE__ */Object.defineProperty({__proto__:null,createEventEmitter},Symbol.toStringTag,{value:"Module"})),x=/* @__PURE__ */Object.freeze(/* @__PURE__ */Object.defineProperty({__proto__:null,hasAllProperties:function hasAllProperties(e,t){return t.every(t=>Object.prototype.hasOwnProperty.call(e,t))},hasData:function hasData(e={}){return Object.keys(e).length>0},hasProperty:function hasProperty(e,t){return Object.prototype.hasOwnProperty.call(e,t)},hasSomeProperties:function hasSomeProperties(e,t){return t.some(t=>Object.prototype.hasOwnProperty.call(e,t))},invertObject:function invertObject(e){return Object.keys(e).reduce((t,n)=>({...t,[e[n]]:n}),{})},isEmpty:function isEmpty(e){return!Object.keys(e).length},objectWithExcludedProps:function objectWithExcludedProps(e,t=[]){return Object.keys(e).filter(e=>!t.includes(e)).reduce((t,n)=>({...t,[n]:e[n]}),{})},pick:function pick(e,t){return t.reduce((t,n)=>(Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]),t),{})},transformObjectBooleansToBinaryString:function transformObjectBooleansToBinaryString(e){return Object.keys(e).reduce((t,n)=>{let a=e[n];return"boolean"==typeof a&&(a=a?"1":"0"),t[n]=a,t},{})}},Symbol.toStringTag,{value:"Module"}));(e=>{(e=>{(e=>{e.NoTransition="NoTransition";e.OnEnter="Enter";e.OnExit="Exit";e.OnReEnter="ReEnter"})(e.Types||(e.Types={}))})(e.Event||(e.Event={}))})(c||(c={}));let y=/* @__PURE__ */Object.freeze(/* @__PURE__ */Object.defineProperty({__proto__:null,get StateMachine(){return c},createStateMachine:function createStateMachine({data:e,initialState:t,states:n},a=createEventEmitter()){let l=t;return{...a,getCurrentState,getData,transition};function getCurrentState(){return l}function getData(){return{...e}}function transition(t,d){if(!n[l][t])return a.emit(c.Event.Types.NoTransition,{action:t,data:e,state:l}),!1;let f=n[l][t](d),m="string"==typeof f?f:f.nextState,buildEvent=n=>({action:t,currentState:l,data:e,event:n,nextState:m,params:d});return l!==m&&a.emit(c.Event.Types.OnExit,buildEvent(c.Event.Types.OnExit)),f.data&&Object.assign(e,f.data),l!==m&&a.emit(c.Event.Types.OnEnter,buildEvent(c.Event.Types.OnEnter)),l===m?a.emit(c.Event.Types.OnReEnter,buildEvent(c.Event.Types.OnReEnter)):l=m,!0}}},Symbol.toStringTag,{value:"Module"}));var A="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},w={};!/*! * howler.js v2.2.4 * howlerjs.com * * (c) 2013-2020, James Simpson of GoldFire Studios * goldfirestudios.com * * MIT License */function(e){!function(){var HowlerGlobal2=function(){this.init()};HowlerGlobal2.prototype={init:function(){var e=this||t;return e._counter=1e3,e._html5AudioPool=[],e.html5PoolSize=10,e._codecs={},e._howls=[],e._muted=!1,e._volume=1,e._canPlayEvent="canplaythrough",e._navigator="undefined"!=typeof window&&window.navigator?window.navigator:null,e.masterGain=null,e.noAudio=!1,e.usingWebAudio=!0,e.autoSuspend=!0,e.ctx=null,e.autoUnlock=!0,e._setup(),e},volume:function(e){var n=this||t;e=parseFloat(e);n.ctx||setupAudioContext();if(void 0!==e&&e>=0&&e<=1){n._volume=e;if(n._muted)return n;n.usingWebAudio&&n.masterGain.gain.setValueAtTime(e,t.ctx.currentTime);for(var a=0;a=0;n--)e._howls[n].unload();if(e.usingWebAudio&&e.ctx&&void 0!==e.ctx.close){e.ctx.close();e.ctx=null;setupAudioContext()}return e},codecs:function(e){return(this||t)._codecs[e.replace(/^x-/,"")]},_setup:function(){var e=this||t;e.state=e.ctx&&e.ctx.state||"suspended";e._autoSuspend();if(!e.usingWebAudio){if("undefined"!=typeof Audio)try{var n=new Audio;void 0===n.oncanplaythrough&&(e._canPlayEvent="canplay")}catch(t){e.noAudio=!0}else e.noAudio=!0}try{var n=new Audio;n.muted&&(e.noAudio=!0)}catch(e){}return e.noAudio||e._setupCodecs(),e},_setupCodecs:function(){var e=this||t,n=null;try{n="undefined"!=typeof Audio?new Audio:null}catch(t){return e}if(!n||"function"!=typeof n.canPlayType)return e;var a=n.canPlayType("audio/mpeg;").replace(/^no$/,""),l=e._navigator?e._navigator.userAgent:"",c=l.match(/OPR\/(\d+)/g),d=c&&33>parseInt(c[0].split("/")[1],10),f=-1!==l.indexOf("Safari")&&-1===l.indexOf("Chrome"),m=l.match(/Version\/(.*?) /),h=f&&m&&15>parseInt(m[1],10);return e._codecs={mp3:!!(!d&&(a||n.canPlayType("audio/mp3;").replace(/^no$/,""))),mpeg:!!a,opus:!!n.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/,""),ogg:!!n.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),oga:!!n.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),wav:!!(n.canPlayType('audio/wav; codecs="1"')||n.canPlayType("audio/wav")).replace(/^no$/,""),aac:!!n.canPlayType("audio/aac;").replace(/^no$/,""),caf:!!n.canPlayType("audio/x-caf;").replace(/^no$/,""),m4a:!!(n.canPlayType("audio/x-m4a;")||n.canPlayType("audio/m4a;")||n.canPlayType("audio/aac;")).replace(/^no$/,""),m4b:!!(n.canPlayType("audio/x-m4b;")||n.canPlayType("audio/m4b;")||n.canPlayType("audio/aac;")).replace(/^no$/,""),mp4:!!(n.canPlayType("audio/x-mp4;")||n.canPlayType("audio/mp4;")||n.canPlayType("audio/aac;")).replace(/^no$/,""),weba:!!(!h&&n.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,"")),webm:!!(!h&&n.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,"")),dolby:!!n.canPlayType('audio/mp4; codecs="ec-3"').replace(/^no$/,""),flac:!!(n.canPlayType("audio/x-flac;")||n.canPlayType("audio/flac;")).replace(/^no$/,"")},e},_unlockAudio:function(){var e=this||t;if(!e._audioUnlocked&&e.ctx){e._audioUnlocked=!1;e.autoUnlock=!1;if(!e._mobileUnloaded&&44100!==e.ctx.sampleRate){e._mobileUnloaded=!0;e.unload()}e._scratchBuffer=e.ctx.createBuffer(1,1,22050);var unlock=function(t){for(;e._html5AudioPool.length0?f._seek:a._sprite[e][0]/1e3),_=Math.max(0,(a._sprite[e][0]+a._sprite[e][1])/1e3-h),g=1e3*_/Math.abs(f._rate),b=a._sprite[e][0]/1e3,v=(a._sprite[e][0]+a._sprite[e][1])/1e3;f._sprite=e;f._ended=!1;var setParams=function(){f._paused=!1;f._seek=h;f._start=b;f._stop=v;f._loop=!!(f._loop||a._sprite[e][2])};if(h>=v){a._ended(f);return}var x=f._node;if(a._webAudio){var playWebAudio=function(){a._playLock=!1;setParams();a._refreshBuffer(f);var e=f._muted||a._muted?0:f._volume;x.gain.setValueAtTime(e,t.ctx.currentTime);f._playStart=t.ctx.currentTime;void 0===x.bufferSource.start?f._loop?x.bufferSource.noteGrainOn(0,h,86400):x.bufferSource.noteGrainOn(0,h,_):f._loop?x.bufferSource.start(0,h,86400):x.bufferSource.start(0,h,_);g!==1/0&&(a._endTimers[f._id]=setTimeout(a._ended.bind(a,f),g));n||setTimeout(function(){a._emit("play",f._id);a._loadQueue()},0)};if("running"===t.state&&"interrupted"!==t.ctx.state)playWebAudio();else{a._playLock=!0;a.once("resume",playWebAudio);a._clearTimer(f._id)}}else{var playHtml5=function(){x.currentTime=h;x.muted=f._muted||a._muted||t._muted||x.muted;x.volume=f._volume*t.volume();x.playbackRate=f._rate;try{var l=x.play();if(l&&"undefined"!=typeof Promise&&(l instanceof Promise||"function"==typeof l.then)){a._playLock=!0;setParams();l.then(function(){a._playLock=!1;x._unlocked=!0;n?a._loadQueue():a._emit("play",f._id)}).catch(function(){a._playLock=!1;a._emit("playerror",f._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.");f._ended=!0;f._paused=!0})}else if(!n){a._playLock=!1;setParams();a._emit("play",f._id)}x.playbackRate=f._rate;if(x.paused){a._emit("playerror",f._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.");return}if("__default"!==e||f._loop)a._endTimers[f._id]=setTimeout(a._ended.bind(a,f),g);else{a._endTimers[f._id]=function(){a._ended(f);x.removeEventListener("ended",a._endTimers[f._id],!1)};x.addEventListener("ended",a._endTimers[f._id],!1)}}catch(e){a._emit("playerror",f._id,e)}};if("data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"===x.src){x.src=a._src;x.load()}var y=window&&window.ejecta||!x.readyState&&t._navigator.isCocoonJS;if(x.readyState>=3||y)playHtml5();else{a._playLock=!0;a._state="loading";var listener=function(){a._state="loaded";playHtml5();x.removeEventListener(t._canPlayEvent,listener,!1)};x.addEventListener(t._canPlayEvent,listener,!1);a._clearTimer(f._id)}}return f._id},pause:function(e){var t=this;if("loaded"!==t._state||t._playLock)return t._queue.push({event:"pause",action:function(){t.pause(e)}}),t;for(var n=t._getSoundIds(e),a=0;a=0?n=parseInt(c[0],10):e=parseFloat(c[0]);else if(c.length>=2){e=parseFloat(c[0]);n=parseInt(c[1],10)}if(void 0===e||!(e>=0)||!(e<=1))return(a=n?l._soundById(n):l._sounds[0])?a._volume:0;if("loaded"!==l._state||l._playLock)return l._queue.push({event:"volume",action:function(){l.volume.apply(l,c)}}),l;void 0===n&&(l._volume=e);n=l._getSoundIds(n);for(var d=0;d0?a/h:a),g=Date.now();e._fadeTo=n;e._interval=setInterval(function(){var l=(Date.now()-g)/a;g=Date.now();f+=m*l;f=Math.round(100*f)/100;f=m<0?Math.max(n,f):Math.min(n,f);d._webAudio?e._volume=f:d.volume(f,e._id,!0);c&&(d._volume=f);if(nt&&f>=n){clearInterval(e._interval);e._interval=null;e._fadeTo=null;d.volume(n,e._id);d._emit("fade",e._id)}},_)},_stopFade:function(e){var n=this,a=n._soundById(e);if(a&&a._interval){n._webAudio&&a._node.gain.cancelScheduledValues(t.ctx.currentTime);clearInterval(a._interval);a._interval=null;n.volume(a._fadeTo,e);a._fadeTo=null;n._emit("fade",e)}return n},loop:function(){var e,t,n,a=this,l=arguments;if(0===l.length)return a._loop;if(1===l.length){if("boolean"!=typeof l[0])return!!(n=a._soundById(parseInt(l[0],10)))&&n._loop;e=l[0];a._loop=e}else if(2===l.length){e=l[0];t=parseInt(l[1],10)}for(var c=a._getSoundIds(t),d=0;d=0?n=parseInt(c[0],10):e=parseFloat(c[0]);else if(2===c.length){e=parseFloat(c[0]);n=parseInt(c[1],10)}if("number"!=typeof e)return(a=l._soundById(n))?a._rate:l._rate;if("loaded"!==l._state||l._playLock)return l._queue.push({event:"rate",action:function(){l.rate.apply(l,c)}}),l;void 0===n&&(l._rate=e);n=l._getSoundIds(n);for(var d=0;d=0)n=parseInt(l[0],10);else if(a._sounds.length){n=a._sounds[0]._id;e=parseFloat(l[0])}}else if(2===l.length){e=parseFloat(l[0]);n=parseInt(l[1],10)}if(void 0===n)return 0;if("number"==typeof e&&("loaded"!==a._state||a._playLock))return a._queue.push({event:"seek",action:function(){a.seek.apply(a,l)}}),a;var d=a._soundById(n);if(d){if("number"==typeof e&&e>=0){var f=a.playing(n);f&&a.pause(n,!0);d._seek=e;d._ended=!1;a._clearTimer(n);a._webAudio||!d._node||isNaN(d._node.duration)||(d._node.currentTime=e);var seekAndEmit=function(){f&&a.play(n,!0);a._emit("seek",n)};if(f&&!a._webAudio){var emitSeek=function(){a._playLock?setTimeout(emitSeek,0):seekAndEmit()};setTimeout(emitSeek,0)}else seekAndEmit()}else{if(!a._webAudio)return d._node.currentTime;var m=a.playing(n)?t.ctx.currentTime-d._playStart:0,h=d._rateSeek?d._rateSeek-d._seek:0;return d._seek+(h+m*Math.abs(d._rate))}}return a},playing:function(e){var t=this;if("number"==typeof e){var n=t._soundById(e);return!!n&&!n._paused}for(var a=0;a=0&&t._howls.splice(c,1);var d=!0;for(l=0;l=0){d=!1;break}return n&&d&&delete n[e._src],t.noAudio=!1,e._state="unloaded",e._sounds=[],e=null,null},on:function(e,t,n,a){var l=this,c=l["_on"+e];return"function"==typeof t&&c.push(a?{id:n,fn:t,once:a}:{id:n,fn:t}),l},off:function(e,t,n){var a=this,l=a["_on"+e],c=0;if("number"==typeof t){n=t;t=null}if(t||n)for(c=0;c=0;c--)if(!l[c].id||l[c].id===t||"load"===e){setTimeout((function(e){e.call(this,t,n)}).bind(a,l[c].fn),0);l[c].once&&a.off(e,l[c].fn,l[c].id)}return a._loadQueue(e),a},_loadQueue:function(e){var t=this;if(t._queue.length>0){var n=t._queue[0];if(n.event===e){t._queue.shift();t._loadQueue()}e||n.action()}return t},_ended:function(e){var n=this,a=e._sprite;if(!n._webAudio&&e._node&&!e._node.paused&&!e._node.ended&&e._node.currentTime=0;a--){if(n<=t)return;if(e._sounds[a]._ended){e._webAudio&&e._sounds[a]._node&&e._sounds[a]._node.disconnect(0);e._sounds.splice(a,1);n--}}}},_getSoundIds:function(e){var t=this;if(void 0!==e)return[e];for(var n=[],a=0;a=0;if(!e.bufferSource)return n;if(t._scratchBuffer&&e.bufferSource){e.bufferSource.onended=null;e.bufferSource.disconnect(0);if(a)try{e.bufferSource.buffer=t._scratchBuffer}catch(e){}}return e.bufferSource=null,n},_clearSound:function(e){/MSIE |Trident\//.test(t._navigator&&t._navigator.userAgent)||(e.src="data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA")}};var Sound3=function(e){this._parent=e;this.init()};Sound3.prototype={init:function(){var e=this,n=e._parent;return e._muted=n._muted,e._loop=n._loop,e._volume=n._volume,e._rate=n._rate,e._seek=0,e._paused=!0,e._ended=!0,e._sprite="__default",e._id=++t._counter,n._sounds.push(e),e.create(),e},create:function(){var e=this,n=e._parent,a=t._muted||e._muted||e._parent._muted?0:e._volume;if(n._webAudio){e._node=void 0===t.ctx.createGain?t.ctx.createGainNode():t.ctx.createGain();e._node.gain.setValueAtTime(a,t.ctx.currentTime);e._node.paused=!0;e._node.connect(t.masterGain)}else if(!t.noAudio){e._node=t._obtainHtml5Audio();e._errorFn=e._errorListener.bind(e);e._node.addEventListener("error",e._errorFn,!1);e._loadFn=e._loadListener.bind(e);e._node.addEventListener(t._canPlayEvent,e._loadFn,!1);e._endFn=e._endListener.bind(e);e._node.addEventListener("ended",e._endFn,!1);e._node.src=n._src;e._node.preload=!0===n._preload?"auto":n._preload;e._node.volume=a*t.volume();e._node.load()}return e},reset:function(){var e=this,n=e._parent;return e._muted=n._muted,e._loop=n._loop,e._volume=n._volume,e._rate=n._rate,e._seek=0,e._rateSeek=0,e._paused=!0,e._ended=!0,e._sprite="__default",e._id=++t._counter,e},_errorListener:function(){var e=this;e._parent._emit("loaderror",e._id,e._node.error?e._node.error.code:0);e._node.removeEventListener("error",e._errorFn,!1)},_loadListener:function(){var e=this,n=e._parent;n._duration=Math.ceil(10*e._node.duration)/10;0===Object.keys(n._sprite).length&&(n._sprite={__default:[0,1e3*n._duration]});if("loaded"!==n._state){n._state="loaded";n._emit("load");n._loadQueue()}e._node.removeEventListener(t._canPlayEvent,e._loadFn,!1)},_endListener:function(){var e=this,t=e._parent;if(t._duration===1/0){t._duration=Math.ceil(10*e._node.duration)/10;t._sprite.__default[1]===1/0&&(t._sprite.__default[1]=1e3*t._duration);t._ended(e)}e._node.removeEventListener("ended",e._endFn,!1)}};var n={},loadBuffer=function(e){var t=e._src;if(n[t]){e._duration=n[t].duration;loadSound2(e);return}if(/^data:[^;]+;base64,/.test(t)){for(var a=atob(t.split(",")[1]),l=new Uint8Array(a.length),c=0;c0){n[a._src]=e;loadSound2(a,e)}else error2()};"undefined"!=typeof Promise&&1===t.ctx.decodeAudioData.length?t.ctx.decodeAudioData(e).then(success).catch(error2):t.ctx.decodeAudioData(e,success,error2)},loadSound2=function(e,t){t&&!e._duration&&(e._duration=t.duration);0===Object.keys(e._sprite).length&&(e._sprite={__default:[0,1e3*e._duration]});if("loaded"!==e._state){e._state="loaded";e._emit("load");e._loadQueue()}},setupAudioContext=function(){if(t.usingWebAudio){try{"undefined"!=typeof AudioContext?t.ctx=new AudioContext:"undefined"!=typeof webkitAudioContext?t.ctx=new webkitAudioContext:t.usingWebAudio=!1}catch(e){t.usingWebAudio=!1}t.ctx||(t.usingWebAudio=!1);var e=/iP(hone|od|ad)/.test(t._navigator&&t._navigator.platform),n=t._navigator&&t._navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/),a=n?parseInt(n[1],10):null;if(e&&a&&a<9){var l=/safari/.test(t._navigator&&t._navigator.userAgent.toLowerCase());t._navigator&&!l&&(t.usingWebAudio=!1)}if(t.usingWebAudio){t.masterGain=void 0===t.ctx.createGain?t.ctx.createGainNode():t.ctx.createGain();t.masterGain.gain.setValueAtTime(t._muted?0:t._volume,t.ctx.currentTime);t.masterGain.connect(t.ctx.destination)}t._setup()}};e.Howler=t;e.Howl=Howl2;if(void 0!==A){A.HowlerGlobal=HowlerGlobal2;A.Howler=t;A.Howl=Howl2;A.Sound=Sound3}else if("undefined"!=typeof window){window.HowlerGlobal=HowlerGlobal2;window.Howler=t;window.Howl=Howl2;window.Sound=Sound3}}();!/*! * Spatial Plugin - Adds support for stereo and 3D audio where Web Audio is supported. * * howler.js v2.2.4 * howlerjs.com * * (c) 2013-2020, James Simpson of GoldFire Studios * goldfirestudios.com * * MIT License */function(){HowlerGlobal.prototype._pos=[0,0,0];HowlerGlobal.prototype._orientation=[0,0,-1,0,1,0];HowlerGlobal.prototype.stereo=function(e){var t=this;if(!t.ctx||!t.ctx.listener)return t;for(var n=t._howls.length-1;n>=0;n--)t._howls[n].stereo(e);return t};HowlerGlobal.prototype.pos=function(e,t,n){var a=this;if(!a.ctx||!a.ctx.listener)return a;t="number"!=typeof t?a._pos[1]:t;n="number"!=typeof n?a._pos[2]:n;if("number"!=typeof e)return a._pos;a._pos=[e,t,n];if(void 0!==a.ctx.listener.positionX){a.ctx.listener.positionX.setTargetAtTime(a._pos[0],Howler.ctx.currentTime,.1);a.ctx.listener.positionY.setTargetAtTime(a._pos[1],Howler.ctx.currentTime,.1);a.ctx.listener.positionZ.setTargetAtTime(a._pos[2],Howler.ctx.currentTime,.1)}else a.ctx.listener.setPosition(a._pos[0],a._pos[1],a._pos[2]);return a};HowlerGlobal.prototype.orientation=function(e,t,n,a,l,c){var d=this;if(!d.ctx||!d.ctx.listener)return d;var f=d._orientation;t="number"!=typeof t?f[1]:t;n="number"!=typeof n?f[2]:n;a="number"!=typeof a?f[3]:a;l="number"!=typeof l?f[4]:l;c="number"!=typeof c?f[5]:c;if("number"!=typeof e)return f;d._orientation=[e,t,n,a,l,c];if(void 0!==d.ctx.listener.forwardX){d.ctx.listener.forwardX.setTargetAtTime(e,Howler.ctx.currentTime,.1);d.ctx.listener.forwardY.setTargetAtTime(t,Howler.ctx.currentTime,.1);d.ctx.listener.forwardZ.setTargetAtTime(n,Howler.ctx.currentTime,.1);d.ctx.listener.upX.setTargetAtTime(a,Howler.ctx.currentTime,.1);d.ctx.listener.upY.setTargetAtTime(l,Howler.ctx.currentTime,.1);d.ctx.listener.upZ.setTargetAtTime(c,Howler.ctx.currentTime,.1)}else d.ctx.listener.setOrientation(e,t,n,a,l,c);return d};Howl.prototype.init=/* @__PURE__ */function(e){return function(t){var n=this;return n._orientation=t.orientation||[1,0,0],n._stereo=t.stereo||null,n._pos=t.pos||null,n._pannerAttr={coneInnerAngle:void 0!==t.coneInnerAngle?t.coneInnerAngle:360,coneOuterAngle:void 0!==t.coneOuterAngle?t.coneOuterAngle:360,coneOuterGain:void 0!==t.coneOuterGain?t.coneOuterGain:0,distanceModel:void 0!==t.distanceModel?t.distanceModel:"inverse",maxDistance:void 0!==t.maxDistance?t.maxDistance:1e4,panningModel:void 0!==t.panningModel?t.panningModel:"HRTF",refDistance:void 0!==t.refDistance?t.refDistance:1,rolloffFactor:void 0!==t.rolloffFactor?t.rolloffFactor:1},n._onstereo=t.onstereo?[{fn:t.onstereo}]:[],n._onpos=t.onpos?[{fn:t.onpos}]:[],n._onorientation=t.onorientation?[{fn:t.onorientation}]:[],e.call(this,t)}}(Howl.prototype.init);Howl.prototype.stereo=function(e,t){var n=this;if(!n._webAudio)return n;if("loaded"!==n._state)return n._queue.push({event:"stereo",action:function(){n.stereo(e,t)}}),n;var a=void 0===Howler.ctx.createStereoPanner?"spatial":"stereo";if(void 0===t){if("number"!=typeof e)return n._stereo;n._stereo=e;n._pos=[e,0,0]}for(var l=n._getSoundIds(t),c=0;ce.endsWith("mp3")).concat(e.filter(e=>!e.endsWith("mp3"))):this.assets=e;this.useAudioElement=t}load(){this.unload();this.howler||(this.howler=new w.Howl({html5:this.useAudioElement,src:this.assets,onloaderror:()=>{console.warn("Howler: sounds failed to load, falling back to html5 audio");this.howler=new w.Howl({html5:!0,src:this.assets,onloaderror:()=>{console.error("Howler: html5 audio fallback failed to load")}})}}))}unload(){var e;null==(e=this.howler)||e.unload()}play(){var e;this.howler||this.load();null==(e=this.howler)||e.play();if(window.Cypress){window.Cypress.howlerHistory||(window.Cypress.howlerHistory=[]);window.Cypress.howlerHistory.push({time:Date.now(),src:this.assets.slice(0)})}}};var k=/* @__PURE__ */(e=>(e.Suspended="web-ui-sound-suspended",e.Enabled="web-ui-sound-enabled",e))(k||{});let T=window.chesscom||{},E=window.AudioContext||window.webkitAudioContext,S=!!E;function newAudioContext(){try{return new E}catch(e){return null}}function isSuspended(){return S}function resumeAudio(e){if(E){T.audioContext||(T.audioContext=newAudioContext());if(!T.audioContext||!T.audioContext.resume){S=!1;e();return}T.audioContext.resume().then(()=>{S=!1;e()})}}let M=["mousedown","keydown","touchstart","touchend"],N=!1;function addWindowEvents(e){if(!N){N=!0;M.forEach(t=>window.addEventListener(t,e))}}function removeWindowEvents(e){if(N){N=!1;M.forEach(t=>window.removeEventListener(t,e))}}function waitMessage(e,t){function listener(n){var a;if((null==(a=null==n?void 0:n.data)?void 0:a.key)===e){t();window.removeEventListener("message",listener)}}window.addEventListener("message",listener)}function enableSound(){isSuspended()&&resumeAudio(()=>{window.postMessage({key:k.Enabled},window.location.origin);removeWindowEvents(enableSound)})}function loadSound(e,t=!1){let n=new C(e,t);if(isSuspended()){addWindowEvents(enableSound);waitMessage(k.Enabled,()=>n.load())}else n.load();return n}let L=0,P=!1;function playSound(e){if(isSuspended()){if(!P&&L>3){L=0;P=!0;window.postMessage({key:k.Suspended},window.location.origin)}else if(!P){L++;enableSound();waitMessage(k.Enabled,()=>e.play())}}else e.play()}let O=/* @__PURE__ */Object.freeze(/* @__PURE__ */Object.defineProperty({__proto__:null,Sound:C,SoundEvents:k,enableSound,loadSound,playSound},Symbol.toStringTag,{value:"Module"})),R=/* @__PURE__ */Object.freeze(/* @__PURE__ */Object.defineProperty({__proto__:null,addTrailingSlash:function addTrailingSlash(e){return e&&e.length&&"/"!==e.substr(-1)?`${e}/`:e},camelize:function camelize(e){return e.toLowerCase().replace(/[^a-zA-Z0-9]+(.)/g,(e,t)=>t.toUpperCase())},capitalizeFirstLetter:function capitalizeFirstLetter(e){return`${e[0].toUpperCase()}${e.slice(1)}`},formattedDate:function formattedDate(e){if(!e)return"N/A";let t=new Date(e),n=t.getUTCFullYear(),a=t.getUTCMonth(),l=String(t.getUTCDate()).padStart(2,"0"),c=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][a];return`${c} ${l}, ${n}`},fuzzySearch:function fuzzySearch(e,t){return e.normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().includes(t.normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase())},newlineToBr:function newlineToBr(e){return e.toString().replace(/(?:\r\n|\r|\n)/g,"
")},stringBooleanToBoolean:function stringBooleanToBoolean(e){return"true"===e},stripHTMLComments:function stripHTMLComments(e){return e.replace(//gm,"")},titleize:function titleize(e){return"string"==typeof e?e.toLowerCase().replace(/(?:^|\s|-)\S/g,e=>e.toUpperCase()):e},uncapitalizeFirstLetter:function uncapitalizeFirstLetter(e){return`${e[0].toLowerCase()}${e.slice(1)}`},underscoreToHyphen:function underscoreToHyphen(e){return(e||"").replace("_","-")}},Symbol.toStringTag,{value:"Module"}))},8757:function(e,t,n){"use strict";n.d(t,{e:function(){return createCoreEvent}});function createCoreEvent(e,t){return{data:t||{},type:e}}},59:function(e,t,n){"use strict";var a;n.d(t,{r:function(){return a}});(e=>{(e=>{e.$1="$1";e.$2="$2";e.$3="$3";e.$4="$4";e.$5="$5";e.$6="$6";e.$8="$8";e.$9="$9";e.$10="$10";e.$11="$11";e.$12="$12";e.$13="$13";e.$14="$14";e.$15="$15";e.$16="$16";e.$17="$17";e.$18="$18";e.$19="$19";e.$22="$22";e.$23="$23";e.$32="$32";e.$33="$33";e.$36="$36";e.$37="$37";e.$40="$40";e.$41="$41";e.$44="$44";e.$45="$45";e.$132="$132";e.$133="$133";e.$138="$138";e.$146="$146";e.$222="$222";e.$256="$256"})(e.Nags||(e.Nags={}));(e=>{e.$1="!";e.$2="?";e.$3="!!";e.$4="??";e.$5="!?";e.$6="?!";e.$8="□";e.$9="☒";e.$10="=";e.$11="=";e.$12="=";e.$13="∞";e.$14="⩲";e.$15="⩱";e.$16="\xb1";e.$17="∓";e.$18="+-";e.$19="-+";e.$22="⨀";e.$23="⨀";e.$32="⟳";e.$33="⟳";e.$36="→";e.$37="→";e.$40="↑";e.$41="↑";e.$44="∞/=";e.$45="=/∞";e.$132="⇆";e.$133="⇆";e.$138="⊕";e.$146="N";e.$222="⇈";e.$256="=/∞"})(e.Values||(e.Values={}));(e=>{e.GreatFind="!";e.Mistake="?";e.Brilliant="!!";e.Blunder="??";e.Interesting="!?";e.Inaccuracy="?!"})(e.Effects||(e.Effects={}));(e=>{e.Drawish="=";e.Unclear="∞";e.WhiteHasModerateAdvantage="\xb1";e.BlackHasModerateAdvantage="∓";e.WhiteHasDecisiveAdvantage="+-";e.BlackHasDecisiveAdvantage="-+";e.PositionInZugzwang="⨀";e.WithCompensation="↑";e.Novelty="N";e.WithAttack="=/∞"})(e.Additional||(e.Additional={}))})(a||(a={}))},6370:function(e,t,n){"use strict";n.d(t,{y:function(){return millisecondsToDeciseconds}});function millisecondsToDeciseconds(e){return Math.round(e/100)}},4138:function(e,t,n){"use strict";var a;n.d(t,{i:function(){return a}});(e=>{(e=>{e.Event="Event";e.State="State"})(e.LogCodes||(e.LogCodes={}));(e=>{e.DraggingPiece="draggingPiece";e.HideHoverSquare="hideHoverSquare";e.MachineState="machineState";e.PromotionMove="promotionMove";e.SoundPlayed="soundPlayed";e.SelectedPiece="selectedPiece"})(e.State||(e.State={}));(e=>{e.AddMove="AddMove";e.BlinkHighlight="BlinkHighlight";e.ClearMarkings="ClearMarkings";e.CreateContinuation="CreateContinuation";e.CreateGame="CreateGame";e.DeletePosition="DeletePosition";e.DrawAgreed="DrawAgreed";e.DrawClaimed="DrawClaimed";e.GameResigned="GameResigned";e.IllegalMove="IllegalMove";e.LineCommentUpdated="LineCommentUpdated";e.LineUpdated="LineUpdated";e.Load="Load";e.Mark="Mark";e.Move="Move";e.MoveBackward="MoveBackward";e.MoveForward="MoveForward";e.MoveNotAllowed="MoveNotAllowed";e.MoveRejected="MoveRejected";e.MoveVariation="MoveVariation";e.NodeUpdated="NodeUpdated";e.NodeLimitsUpdated="NodeLimitsUpdated";e.OutOfTime="OutOfTime";e.PromoteVariation="PromoteVariation";e.Reload="Reload";e.ResetGame="ResetGame";e.ResetToMainLine="ResetToMainLine";e.SelectLineEnd="SelectLineEnd";e.SelectNode="SelectNode";e.SelectLineStart="SelectLineStart";e.SetBoardPosition="SetBoardPosition";e.SetPlayingAs="SetPlayingAs";e.TurnSet="TurnSet";e.Undo="Undo";e.Unmark="Unmark";e.UpdatePGNHeaders="UpdatePGNHeaders"})(e.APIEvents||(e.APIEvents={}));(e=>{e.PromotionAreaClosePointerdown="PromotionAreaClosePointerdown";e.PromotionPiecePointerdown="PromotionPiecePointerdown"})(e.BoardEvents||(e.BoardEvents={}));(e=>{e.Create="Create";e.Destroy="Destroy";e.ModeChanged="ModeChanged";e.RendererSet="RendererSet";e.RendererSetFailed="RendererSetFailed";e.WebGLAssetsInitialized="WebGLAssetsInitialized";e.StylesSetFailed="StylesSetFailed"})(e.InstanceEvents||(e.InstanceEvents={}));(e=>{e.Update="UpdateOptions";e.UpdateMode="UpdateModeOptions"})(e.OptionsEvents||(e.OptionsEvents={}));(e=>{e.Play="PlaySound"})(e.SoundEvents||(e.SoundEvents={}));(e=>{e.Resize="Resize";e.ToggleHotkeyLegend="ToggleHotkeyLegend"})(e.UIEvents||(e.UIEvents={}));(e=>{e.MousedownLeft="MousedownLeft";e.MousedownRight="MousedownRight";e.PointerdownLeft="PointerdownLeft";e.PointerdownRight="PointerdownRight";e.Pointermove="Pointermove";e.Pointerup="Pointerup";e.Wheel="Wheel"})(e.UserEvents||(e.UserEvents={}));(e=>{e.UntrustedUserEvent="UntrustedUserEvent"})(e.FairPlay||(e.FairPlay={}))})(a||(a={}))},4684:function(e,t,n){"use strict";n.d(t,{i:function(){return makeSvgIcon}});function makeSvgIcon({className:e="",path:t="",size:n="24",viewBox:a="0 0 18 19"}){return` ${t} `}},6618:function(e,t,n){"use strict";var a;n.d(t,{I:function(){return a}});(e=>{(e=>{e.Name="arrowKeys"})(e.Plugin||(e.Plugin={}));(e=>{e.Left="arrowleft";e.NumLeft="numpad4";e.Up="arrowup";e.NumUp="numpad8";e.Right="arrowright";e.NumRight="numpad6";e.Down="arrowdown";e.NumDown="numpad5"})(e.Arrow||(e.Arrow={}))})(a||(a={}))},5036:function(e,t,n){"use strict";var a;n.d(t,{b:function(){return a}});(e=>{class t extends Error{}e.StylesSetFailed=t;(e=>{(e=>{e.Arcade="arcade";e.Default="default";e.Fast="fast";e.Natural="natural";e.None="none";e.Slow="slow";e.Juicy="juicy"})(e.Types||(e.Types={}));(e=>{e[e.Default=180]="Default";e[e.Fast=100]="Fast";e[e.Slow=500]="Slow"})(e.Speeds||(e.Speeds={}))})(e.Animation||(e.Animation={}));(e=>{e.Selected="#ffff00";e.Blue="#52b0dc";e.Green="#acce59";e.Orange="#ffaa00";e.Red="#eb6150"})(e.HighlightColors||(e.HighlightColors={}));(e=>{e.Analysis="analysis";e.Move="move";e.Selected="selected"})(e.HighlightTypes||(e.HighlightTypes={}));(e=>{e.Blue="rgba(72, 193, 249, 0.8)";e.Green="rgba(159, 207, 63, 0.8)";e.Orange="rgba(255, 170, 0, 0.8)";e.Red="rgba(248, 85, 63, 0.8)"})(e.HighlightedArrowColors||(e.HighlightedArrowColors={}));(e=>{e.Inside="inside";e.Off="off";e.Outside="outside";e.EachSquare="each_square"})(e.CoordinatesPositions||(e.CoordinatesPositions={}));(e=>{e.Click="click";e.Drag="drag";e.Drag_Only="drag_only";e.DragOnly="drag-only"})(e.MoveMethods||(e.MoveMethods={}));(e=>{e.Figurine="figurine";e.Text="text"})(e.MoveListDisplayTypes||(e.MoveListDisplayTypes={}));(e=>{e.Default="default";e.Traditional="traditional"})(e.MoveListClassificationStyles||(e.MoveListClassificationStyles={}));(e=>{e.HoverSquareOutline="hoverSquareOutline"})(e.BooleanOptions||(e.BooleanOptions={}));(e=>{e.AnimationType="animationType";e.BoardStyle="boardStyle";e.Coordinates="coordinates";e.DarkMode="darkMode";e.EvaluationBarType="evaluationBarType";e.HighlightLegalMoves="highlightLegalMoves";e.HighlightMoves="highlightMoves";e.MoveListDisplayType="moveListDisplayType";e.MoveListClassificationStyle="moveListClassificationStyle";e.PieceStyle="pieceStyle";e.SoundTheme="soundTheme";e.PlaySounds="playSounds"})(e.SaveableOptions||(e.SaveableOptions={}))})(a||(a={}))},7169:function(e,t,n){"use strict";n.d(t,{n:function(){return l}});var a=n(4138);let l=[a.i.APIEvents.CreateGame,a.i.APIEvents.CreateContinuation,a.i.APIEvents.DeletePosition,a.i.APIEvents.Load,a.i.APIEvents.Move,a.i.APIEvents.MoveBackward,a.i.APIEvents.MoveForward,a.i.APIEvents.MoveVariation,a.i.APIEvents.PromoteVariation,a.i.APIEvents.SelectLineEnd,a.i.APIEvents.SelectLineStart,a.i.APIEvents.SelectNode,a.i.APIEvents.Reload,a.i.APIEvents.ResetToMainLine,a.i.APIEvents.Undo]}},t={};function __webpack_require__(n){var a=t[n];if(void 0!==a)return a.exports;var l=t[n]={id:n,loaded:!1,exports:{}};return e[n].call(l.exports,l,l.exports,__webpack_require__),l.loaded=!0,l.exports}__webpack_require__.m=e;!function(){__webpack_require__.amdO={}}();!function(){__webpack_require__.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return __webpack_require__.d(t,{a:t}),t}}();!function(){__webpack_require__.d=function(e,t){for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}}();!function(){__webpack_require__.f={};__webpack_require__.e=function(e){return Promise.all(Object.keys(__webpack_require__.f).reduce(function(t,n){return __webpack_require__.f[n](e,t),t},[]))}}();!function(){__webpack_require__.u=function(e){return 557===e?"extension-chessboard-client.chunk.client.cb436fef.js":440===e?"web.chunk.client.026ade58.js":526===e?"web.chunk.client.945e90eb.js":467===e?"web.chunk.client.4b2d5e01.js":450===e?"web.chunk.client.744383ca.js":86===e?"diagram-viewer-controller.chunk.client.0518e100.js":663===e?"web.chunk.client.c0edafa2.js":880===e?"web.chunk.client.fb710a26.js":75===e?"diagram-chessboard.chunk.client.8e104c09.js":109===e?"web.chunk.client.088945e6.js":797===e?"web.chunk.client.f19f0277.js":399===e?"web.chunk.client.1ccd2af1.js":113===e?"share-modal-controller.chunk.client.8ec9f4d6.js":965===e?"web.chunk.client.15d089cd.js":343===e?"web.chunk.client.aba6e166.js":167===e?"web.chunk.client.c60d1728.js":14===e?"web.chunk.client.ab6dda41.js":656===e?"web.chunk.client.1ff81f53.js":400===e?"web.chunk.client.7106e9a9.js":935===e?"web.chunk.client.3dbe0bde.js":858===e?"web.chunk.client.806a9076.js":569===e?"web.chunk.client.d0b1ef9c.js":175===e?"web.chunk.client.0516b47d.js":477===e?"web.chunk.client.7783bf22.js":614===e?"web.chunk.client.8b6e458e.js":392===e?"web.chunk.client.d3cddbb1.js":954===e?"web.chunk.client.7fa9b5ac.js":232===e?"web.chunk.client.2c37cdc6.js":314===e?"web.chunk.client.d4d3d9ed.js":213===e?"web.chunk.client.7382dc4e.js":void 0}}();!function(){__webpack_require__.miniCssF=function(e){return 526===e?"web.chunk.client.9d18983a.css":86===e?"diagram-viewer-controller.chunk.client.de812cae.css":113===e?"share-modal-controller.chunk.client.d22aa422.css":void 0}}();!function(){__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}()}();!function(){__webpack_require__.hmd=function(e){return(e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:function(){throw Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e}}();!function(){__webpack_require__.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}();!function(){var e={},t="client:";__webpack_require__.l=function(n,a,l,c){if(e[n]){e[n].push(a);return}if(void 0!==l)for(var d,f,m=document.getElementsByTagName("script"),h=0;h{(e=>{e.Ready="Ready";e.Updated="Updated"})(e.Events||(e.Events={}));e.Name="move-list"})(a||(a={}));var a,l,c,d,f,m=__webpack_require__(4138);function isCommentRowContent(e){return"comment"in e}function isMovesRowContent(e){var t;return Array.isArray(e)&&((null==(t=e[0])?void 0:t.node)!==void 0||0===e.length)}function isCommentRow(e){return isCommentRowContent(e.content)}function isDataCommentRow(e){return isCommentRow(e.get())}function isMovesRow(e){return isMovesRowContent(e.content)}function isDataMovesRow(e){return isMovesRow(e.get())}(e=>{(e=>{e.All="all";e.None="none";e.Active="active"})(e.VariationVisibility||(e.VariationVisibility={}));(e=>{e.Component="move-list"})(e.Classes||(e.Classes={}));(e=>{e.TimeBarWidth="--timeBarWidth";e.TimeValue="--timeValue";e.MaxMoveTimeTaken="--timeMaxValue";e.TimestampWidth="--timestampWidth"})(e.CSSVariables||(e.CSSVariables={}));(e=>{e.WithBaseTime="timestamps-with-base-time";e.ToggleTimestamps="toggle-timestamps"})(e.ClassNames||(e.ClassNames={}));(e=>{e.Node="data-node";e.Time="data-time";e.WholeMoveNumber="data-whole-move-number";e.VMLElement="data-vml-element"})(e.Attributes||(e.Attributes={}));e.Constants={CommentUpdateDelay:500};(e=>{e.NodeClicked="NodeClicked";e.ContextMenuOpened="ContextMenuOpened";e.ContextMenuClosed="ContextMenuClosed"})(e.Events||(e.Events={}))})(l||(l={}));var h=__webpack_require__(1671);let _={[h.k.Translation.Prompt.AddComment]:()=>h.k.Translation.Prompt.AddComment,[h.k.Translation.Annotations.BadMove]:()=>h.k.Translation.Annotations.BadMove,[h.k.Translation.Annotations.BlackHasDecisiveAdvantage]:()=>h.k.Translation.Annotations.BlackHasDecisiveAdvantage,[h.k.Translation.Annotations.BlackHasModerateAdvantage]:()=>h.k.Translation.Annotations.BlackHasModerateAdvantage,[h.k.Translation.Annotations.BlackHasSlightAdvantage]:()=>h.k.Translation.Annotations.BlackHasSlightAdvantage,[h.k.Translation.Annotations.Blunder]:()=>h.k.Translation.Annotations.Blunder,[h.k.Translation.Actions.ClearAllAnalysis]:()=>h.k.Translation.Actions.ClearAllAnalysis,[h.k.Translation.Actions.DeleteCommentAfter]:()=>h.k.Translation.Actions.DeleteCommentAfter,[h.k.Translation.Actions.DeleteCommentBefore]:()=>h.k.Translation.Actions.DeleteCommentBefore,[h.k.Translation.Actions.DeleteComment]:()=>h.k.Translation.Actions.DeleteComment,[h.k.Translation.Actions.DeleteLine]:()=>h.k.Translation.Actions.DeleteLine,[h.k.Translation.Actions.DeleteMove]:()=>h.k.Translation.Actions.DeleteMove,[h.k.Translation.Annotations.Drawish]:()=>h.k.Translation.Annotations.Drawish,[h.k.Translation.Annotations.DubiousMove]:()=>h.k.Translation.Annotations.DubiousMove,[h.k.Translation.Annotations.ExcellentMove]:()=>h.k.Translation.Annotations.ExcellentMove,[h.k.Translation.Tooltips.EnPassant]:()=>h.k.Translation.Tooltips.EnPassant,[h.k.Translation.Tooltips.Stalemate]:()=>h.k.Translation.Tooltips.Stalemate,[h.k.Translation.Tooltips.InsufficientMaterial]:()=>h.k.Translation.Tooltips.InsufficientMaterial,[h.k.Translation.Tooltips.FiftyMove]:()=>h.k.Translation.Tooltips.FiftyMove,[h.k.Translation.Tooltips.WhiteTimeoutVsInsufficientMaterial]:()=>h.k.Translation.Tooltips.WhiteTimeoutVsInsufficientMaterial,[h.k.Translation.Tooltips.BlackTimeoutVsInsufficientMaterial]:()=>h.k.Translation.Tooltips.BlackTimeoutVsInsufficientMaterial,[h.k.Translation.Tooltips.DrawByAgreement]:()=>h.k.Translation.Tooltips.DrawByAgreement,[h.k.Translation.Annotations.GoodMove]:()=>h.k.Translation.Annotations.GoodMove,[h.k.Translation.Actions.InsertCommentAfter]:()=>h.k.Translation.Actions.InsertCommentAfter,[h.k.Translation.Actions.InsertCommentBefore]:()=>h.k.Translation.Actions.InsertCommentBefore,[h.k.Translation.Actions.InsertComment]:()=>h.k.Translation.Actions.InsertComment,[h.k.Translation.Actions.InsertContinuation]:()=>h.k.Translation.Actions.InsertContinuation,[h.k.Translation.Annotations.Miss]:()=>h.k.Translation.Annotations.Miss,[h.k.Translation.Actions.MoveVariationDown]:()=>h.k.Translation.Actions.MoveVariationDown,[h.k.Translation.Actions.MoveVariationUp]:()=>h.k.Translation.Actions.MoveVariationUp,[h.k.Translation.Actions.ShowAllAnnotations]:()=>h.k.Translation.Actions.ShowAllAnnotations,[h.k.Translation.Actions.HideAllAnnotations]:()=>h.k.Translation.Actions.HideAllAnnotations,[h.k.Translation.Annotations.Novelty]:()=>h.k.Translation.Annotations.Novelty,[h.k.Translation.Pieces.B]:()=>h.k.Translation.Pieces.B,[h.k.Translation.Pieces.K]:()=>h.k.Translation.Pieces.K,[h.k.Translation.Pieces.N]:()=>h.k.Translation.Pieces.N,[h.k.Translation.Pieces.P]:()=>h.k.Translation.Pieces.P,[h.k.Translation.Pieces.Q]:()=>h.k.Translation.Pieces.Q,[h.k.Translation.Pieces.R]:()=>h.k.Translation.Pieces.R,[h.k.Translation.Actions.Promote]:()=>h.k.Translation.Actions.Promote,[h.k.Translation.Actions.RemoveAnnotation]:()=>h.k.Translation.Actions.RemoveAnnotation,[h.k.Translation.Actions.RemoveBegin]:()=>h.k.Translation.Actions.RemoveBegin,[h.k.Translation.Actions.RemoveEnd]:()=>h.k.Translation.Actions.RemoveEnd,[h.k.Translation.Actions.RemoveEvaluationAnnotation]:()=>h.k.Translation.Actions.RemoveEvaluationAnnotation,[h.k.Translation.Actions.RemoveFocus]:()=>h.k.Translation.Actions.RemoveFocus,[h.k.Translation.Actions.SetBegin]:()=>h.k.Translation.Actions.SetBegin,[h.k.Translation.Actions.SetEnd]:()=>h.k.Translation.Actions.SetEnd,[h.k.Translation.Actions.SetFocus]:()=>h.k.Translation.Actions.SetFocus,[h.k.Translation.Annotations.Counterplay]:()=>h.k.Translation.Annotations.Counterplay,[h.k.Translation.Annotations.DevelopmentLead]:()=>h.k.Translation.Annotations.DevelopmentLead,[h.k.Translation.Annotations.TimeTrouble]:()=>h.k.Translation.Annotations.TimeTrouble,[h.k.Translation.Annotations.SpeculativeMove]:()=>h.k.Translation.Annotations.SpeculativeMove,[h.k.Translation.Tooltips.ThreeFoldRepetition]:()=>h.k.Translation.Tooltips.ThreeFoldRepetition,[h.k.Translation.Annotations.PositionInZuqZwang]:()=>h.k.Translation.Annotations.PositionInZuqZwang,[h.k.Translation.Annotations.Unclear]:()=>h.k.Translation.Annotations.Unclear,[h.k.Translation.Annotations.WhiteHasDecisiveAdvantage]:()=>h.k.Translation.Annotations.WhiteHasDecisiveAdvantage,[h.k.Translation.Annotations.WhiteHasModerateAdvantage]:()=>h.k.Translation.Annotations.WhiteHasModerateAdvantage,[h.k.Translation.Annotations.WhiteHasSlightAdvantage]:()=>h.k.Translation.Annotations.WhiteHasSlightAdvantage,[h.k.Translation.Annotations.WithAttack]:()=>h.k.Translation.Annotations.WithAttack,[h.k.Translation.Annotations.WithCompensation]:()=>h.k.Translation.Annotations.WithCompensation,[h.k.Translation.Annotations.WithInitiative]:()=>h.k.Translation.Annotations.WithInitiative,[h.k.Translation.Plural.NumberOfDays]:e=>1===e?`${e} day`:`${e} days`,[h.k.Translation.Plural.NumberOfHours]:e=>1===e?`${e} hr`:`${e} hrs`,[h.k.Translation.Plural.NumberOfMinutes]:e=>1===e?`${e} min`:`${e} mins`,[h.k.Translation.GameTerminationMessages.DrawByAgreement]:()=>h.k.Translation.GameTerminationMessages.DrawByAgreement,[h.k.Translation.GameTerminationMessages.TimeoutVsInsufficientMaterial]:()=>h.k.Translation.GameTerminationMessages.TimeoutVsInsufficientMaterial};function noop(){}function internal_assign(e,t){for(let n in t)e[n]=t[n];return e}function run(e){return e()}function blank_object(){return /* @__PURE__ */Object.create(null)}function run_all(e){e.forEach(run)}function is_function(e){return"function"==typeof e}function safe_not_equal(e,t){return e!=e?t==t:e!==t||e&&"object"==typeof e||"function"==typeof e}function not_equal(e,t){return e!=e?t==t:e!==t}function is_empty(e){return 0===Object.keys(e).length}function subscribe(e,...t){if(null==e)return noop;let n=e.subscribe(...t);return n.unsubscribe?()=>n.unsubscribe():n}function component_subscribe(e,t,n){e.$$.on_destroy.push(subscribe(t,n))}function null_to_empty(e){return null==e?"":e}let g=["",!0,1,"true","contenteditable"];function append(e,t){e.appendChild(t)}function insert(e,t,n){e.insertBefore(t,n||null)}function detach(e){e.parentNode&&e.parentNode.removeChild(e)}function destroy_each(e,t){for(let n=0;ne.removeEventListener(t,n,a)}function attr(e,t,n){null==n?e.removeAttribute(t):e.getAttribute(t)!==n&&e.setAttribute(t,n)}function children(e){return Array.from(e.childNodes)}function set_data(e,t){t=""+t;e.data!==t&&(e.data=t)}function set_data_contenteditable(e,t){t=""+t;e.wholeText!==t&&(e.data=t)}function set_data_maybe_contenteditable(e,t,n){~g.indexOf(n)?set_data_contenteditable(e,t):set_data(e,t)}function is_crossorigin(){if(void 0===e){e=!1;try{"undefined"!=typeof window&&window.parent&&window.parent.document}catch(t){e=!0}}return e}function add_resize_listener(e,t){let n;"static"===getComputedStyle(e).position&&(e.style.position="relative");let a=internal_element("iframe");a.setAttribute("style","display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; border: 0; opacity: 0; pointer-events: none; z-index: -1;");a.setAttribute("aria-hidden","true");a.tabIndex=-1;let l=is_crossorigin();if(l){a.src="data:text/html,