2&&arguments[2]!==undefined?arguments[2]:"name";return console.warn("[DEPRECATED] Story.lookup() is deprecated."),filter((function(passage){return"object"===_typeof(passage[key])&&null!==passage[key]?passage[key]instanceof Array&&passage[key].some((function(m){return sameValueZero(m,value)})):sameValueZero(passage[key],value)})).sort((function(a,b){return a[sortKey]==b[sortKey]?0:a[sortKey]1&&arguments[1]!==undefined?arguments[1]:"name";if(console.warn("[DEPRECATED] Story.lookupWith() is deprecated."),"function"!=typeof predicate)throw new TypeError("Story.lookupWith() predicate parameter must be a function");return filter(predicate).sort((function(a,b){return a[sortKey]==b[sortKey]?0:a[sortKey]0)throw new Error(errors.join("; "));for(;frag.hasChildNodes();){var node=frag.firstChild;if(node.nodeType===Node.ELEMENT_NODE&&"A"===node.nodeName.toUpperCase()){var li=document.createElement("li");list.appendChild(li),li.appendChild(node)}else frag.removeChild(node)}}finally{Config.debug=debugState}return list}function buildRestart(){return Dialog.create(L10n.get("restartTitle"),"restart").append("".concat(L10n.get("restartMesgPrompt"),'
"),jQuery(Dialog.body()).find("#restart-ok").ariaClick({one:!0},(function(){jQuery(document).one(":dialogclosed",(function(){return Engine.restart()})),Dialog.close()})),!0}function buildSaves(){function createFileInput(id,callback){var input=document.createElement("input");return jQuery(input).attr({id:id,type:"file",tabindex:-1,"aria-hidden":!0}).css({display:"block",visibility:"hidden",position:"fixed",left:"-16128px",top:"-16128px",width:"1px",height:"1px"}).on("change",callback),input}function createActionItem(id,classNames,text,label,callback){var $btn=jQuery(document.createElement("button")).attr("id","saves-".concat(id)).text(text);return classNames&&$btn.addClass(classNames),callback?$btn.ariaClick({label:label},callback):$btn.ariaDisabled(!0),jQuery(document.createElement("li")).append($btn)}var browserEnabled=Save.browser.isEnabled();if(!browserEnabled&&!Has.fileAPI)return openAlert(L10n.get("warningNoSaves")),!1;Dialog.create(L10n.get("savesTitle"),"saves");var $dialogBody=jQuery(Dialog.body());if(browserEnabled){jQuery(document.createElement("h2")).text(L10n.get("savesHeaderBrowser")).appendTo($dialogBody),$dialogBody.append(function(){function createButton(id,classNames,kind,index,callback){var text;switch(id){case"delete":text=L10n.get("textDelete");break;case"load":text=L10n.get("textLoad");break;case"save":text=L10n.get("textSave");break;default:throw new Error('buildSaves unknown ID "'.concat(id,'"'))}var $btn=jQuery(document.createElement("button")).attr("id","saves-".concat(id,"-").concat(index)).addClass(id);return classNames&&$btn.addClass(classNames),callback?$btn.ariaClick({label:"".concat(text," ").concat(kind," ").concat(index+1)},(function(){try{callback(index)}catch(ex){openAlert("".concat(ex.message,".").concat(L10n.get("textAborting"),"."))}})):$btn.ariaDisabled(!0),$btn}var $tbody=jQuery(document.createElement("tbody"));Save.browser.auto.entries().forEach((function(_ref13){var index=_ref13.index,info=_ref13.info,$tdSlot=jQuery(document.createElement("td")),$tdLoad=jQuery(document.createElement("td")),$tdDesc=jQuery(document.createElement("td")),$tdDele=jQuery(document.createElement("td"));jQuery(document.createElement("div")).text(info.desc).appendTo($tdDesc),jQuery(document.createElement("div")).addClass("details").addClass("datestamp").text("".concat(L10n.get("savesTextBrowserAuto")," ").concat(index+1," • ")).append(info.date?"".concat(new Date(info.date).toLocaleString()):"".concat(L10n.get("savesTextNoDate"),"")).appendTo($tdDesc),$tdLoad.append(createButton("load","ui-close",L10n.get("savesTextBrowserAuto"),index,(function(index){jQuery(document).one(":dialogclosed",(function(){Save.browser.auto.load(index).then(Engine.show,(function(ex){return openAlert("".concat(ex.message.toUpperFirst(),".
").concat(L10n.get("textAborting"),"."))}))}))}))),$tdDele.append(createButton("delete",null,L10n.get("savesTextBrowserAuto"),index,(function(index){Save.browser.auto.delete(index),buildSaves()}))),jQuery(document.createElement("tr")).append($tdSlot).append($tdLoad).append($tdDesc).append($tdDele).appendTo($tbody)}));var slotAllowed="function"!=typeof Config.saves.isAllowed||Config.saves.isAllowed(Save.Type.Slot);return Save.browser.slot.entries().reduce((function(slots,entry){return slots[entry.index]=entry,slots}),Array.from({length:Config.saves.maxSlotSaves},(function(_,i){return{index:i}}))).forEach((function(_ref14){var index=_ref14.index,info=_ref14.info,$tdSlot=jQuery(document.createElement("td")),$tdLoad=jQuery(document.createElement("td")),$tdDesc=jQuery(document.createElement("td")),$tdDele=jQuery(document.createElement("td"));info?(jQuery(document.createElement("div")).text(info.desc).appendTo($tdDesc),jQuery(document.createElement("div")).addClass("details").addClass("datestamp").text("".concat(L10n.get("savesTextBrowserSlot")," ").concat(index+1," • ")).append(info.date?"".concat(new Date(info.date).toLocaleString()):"".concat(L10n.get("savesTextNoDate"),"")).appendTo($tdDesc),$tdLoad.append(createButton("load","ui-close",L10n.get("savesTextBrowserSlot"),index,(function(index){jQuery(document).one(":dialogclosed",(function(){Save.browser.slot.load(index).then(Engine.show,(function(ex){return openAlert("".concat(ex.message.toUpperFirst(),".
").concat(L10n.get("textAborting"),"."))}))}))}))),$tdDele.append(createButton("delete",null,L10n.get("savesTextBrowserSlot"),index,(function(index){Save.browser.slot.delete(index),buildSaves()})))):($tdDesc.addClass("empty"),jQuery(document.createElement("div")).text(" ").appendTo($tdDesc),jQuery(document.createElement("div")).addClass("details").addClass("datestamp").text("".concat(L10n.get("savesTextBrowserSlot")," ").concat(index+1)).appendTo($tdDesc),$tdLoad.append(createButton("save",null,L10n.get("savesTextBrowserSlot"),index,index").concat(L10n.get("textAborting"),"."))}))}));$slotButtons.append(createActionItem("export",null,"".concat(L10n.get("textExport"),"…"),L10n.get("savesLabelBrowserExport"),(function(){return Save.disk.export("saves-export-".concat(Story.name))}))).append(createActionItem("import",null,"".concat(L10n.get("textImport"),"…"),L10n.get("savesLabelBrowserImport"),(function(){return slotImportInput.click()}))),jQuery(slotImportInput).appendTo($dialogBody)}$slotButtons.append(createActionItem("clear",null,L10n.get("textClear"),L10n.get("savesLabelBrowserClear"),Save.browser.size>0?function(){Save.browser.clear(),buildSaves()}:null))}if(Has.fileAPI){jQuery(document.createElement("h2")).text(L10n.get("savesHeaderDisk")).appendTo($dialogBody);var $diskButtons=jQuery(document.createElement("ul")).addClass("buttons").appendTo($dialogBody),diskLoadInput=createFileInput("saves-disk-load-handler",(function(ev){jQuery(document).one(":dialogclosed",(function(){Save.disk.load(ev).then(Engine.show,(function(ex){return openAlert("".concat(ex.message.toUpperFirst(),".
").concat(L10n.get("textAborting"),"."))}))})),Dialog.close()}));$diskButtons.append(createActionItem("disk-save",null,"".concat(L10n.get("textSave"),"…"),L10n.get("savesLabelDiskSave"),"function"!=typeof Config.saves.isAllowed||Config.saves.isAllowed(Save.Type.Disk)?function(){return Save.disk.save(Story.name)}:null)).append(createActionItem("disk-load",null,"".concat(L10n.get("textLoad"),"…"),L10n.get("savesLabelDiskLoad"),(function(){return diskLoadInput.click()}))),jQuery(diskLoadInput).appendTo($dialogBody)}return!0}function buildSettings(){Dialog.create(L10n.get("settingsTitle"),"settings");var $dialogBody=jQuery(Dialog.body());return Setting.forEach((function(control){switch(control.type){case Setting.Types.Header:var _name2=control.name,_id2=createSlug(_name2),$header=jQuery(document.createElement("div")),$heading=jQuery(document.createElement("h2"));return $header.attr("id","header-body-".concat(_id2)).append($heading).appendTo($dialogBody),$heading.attr("id","header-heading-".concat(_id2)).wikiWithOptions({cleanup:!1},_name2),void(control.desc&&jQuery(document.createElement("p")).attr("id","header-desc-".concat(_id2)).wikiWithOptions({cleanup:!1},control.desc).appendTo($header));case Setting.Types.Value:return}var $control,name=control.name,id=createSlug(name),$setting=jQuery(document.createElement("div")),$label=jQuery(document.createElement("label")),$controlBox=jQuery(document.createElement("div"));switch(jQuery(document.createElement("div")).append($label).append($controlBox).appendTo($setting),control.desc&&jQuery(document.createElement("p")).attr("id","setting-desc-".concat(id)).wikiWithOptions({cleanup:!1},control.desc).appendTo($setting),$label.attr({id:"setting-label-".concat(id),for:"setting-control-".concat(id)}).wikiWithOptions({cleanup:!1},control.label),null==Setting.getValue(name)&&Setting.setValue(name,control.default),control.type){case Setting.Types.List:$control=jQuery(document.createElement("select"));for(var i=0,iend=control.list.length;i'+'")+'")+"").find("#settings-reset").ariaClick({one:!0},(function(){jQuery(document).one(":dialogclosed",(function(){Setting.reset(),window.location.reload()})),Dialog.close()})),!0}function openAlert(message){for(var _Dialog$create$append,_len24=arguments.length,args=new Array(_len24>1?_len24-1:0),_key24=1;_key24<_len24;_key24++)args[_key24-1]=arguments[_key24];(_Dialog$create$append=Dialog.create(L10n.get("alertTitle"),"alert").append("".concat(message,'
")).open.apply(_Dialog$create$append,args)}function buildJumpto(){console.warn("[DEPRECATED] UI.buildJumpto() is deprecated.");var list=document.createElement("ul");Dialog.create(L10n.get("jumptoTitle"),"jumpto list").append(list);for(var expired=State.expired.length,i=State.size-1;i>=0;--i)if(i!==State.activeIndex){var passage=Story.get(State.history[i].title);passage&&passage.tags.includes("bookmark")&&jQuery(document.createElement("li")).append(jQuery(document.createElement("a")).ariaClick({one:!0},function(index){return function(){return jQuery(document).one(":dialogclosed",(function(){return Engine.goTo(index)}))}}(i)).addClass("ui-close").text("".concat(L10n.get("textTurn")," ").concat(expired+i+1))).appendTo(list)}list.hasChildNodes()||jQuery(list).append("".concat(L10n.get("jumptoMesgUnavailable"),""))}function buildShare(){console.warn("[DEPRECATED] UI.buildShare() is deprecated.");try{Dialog.create(L10n.get("shareTitle"),"share list").append(assembleLinkList("StoryShare"))}catch(ex){return console.error(ex),Alert.error("StoryShare",ex.message),!1}return!0}return Object.preventExtensions(Object.create(null,{assembleLinkList:{value:assembleLinkList},buildRestart:{value:buildRestart},buildSaves:{value:buildSaves},buildSettings:{value:buildSettings},update:{value:function(){triggerEvent(":uiupdate")}},alert:{value:openAlert},restart:{value:function(){buildRestart(),Dialog.open.apply(Dialog,arguments)}},saves:{value:function(){buildSaves(),Dialog.open.apply(Dialog,arguments)}},settings:{value:function(){buildSettings(),Dialog.open.apply(Dialog,arguments)}},buildAutoload:{value:function(){return console.warn("[DEPRECATED] UI.buildAutoload() is deprecated."),Dialog.create(L10n.get("autoloadTitle"),"autoload").append("".concat(L10n.get("autoloadMesgPrompt"),'
"),jQuery(document).one("click.autoload",".ui-close",(function(ev){var isAutoloadOk="autoload-ok"===ev.target.id;jQuery(document).one(":dialogclosed",(function(){new Promise((function(resolve,reject){isAutoloadOk&&resolve(),reject()})).then((function(){return Save.browser.continue()})).catch((function(){Engine.play(Config.passages.start)}))}))})),!0}},buildJumpto:{value:buildJumpto},buildShare:{value:buildShare},jumpto:{value:function(){buildJumpto(),Dialog.open.apply(Dialog,arguments)}},share:{value:function(){buildShare(),Dialog.open.apply(Dialog,arguments)}}}))}(),UIBar=function(){var _$uiBar=null;function stow(noAnimation){var $story;_$uiBar&&!_$uiBar.hasClass("stowed")&&(noAnimation&&(($story=jQuery("#story")).addClass("no-transition"),_$uiBar.addClass("no-transition")),_$uiBar.addClass("stowed"),noAnimation&&setTimeout((function(){$story.removeClass("no-transition"),_$uiBar.removeClass("no-transition")}),Engine.DOM_DELAY));return UIBar}function update(){if(console.warn("[DEPRECATED] UIBar.update() is deprecated."),_$uiBar)return UI.update(),UIBar}return Object.preventExtensions(Object.create(null,{init:{value:function(){if(!document.getElementById("ui-bar")){var toggleLabel,backwardLabel,jumptoLabel,forwardLabel,$backward,$forward,$elems=(toggleLabel=L10n.get("uiBarLabelToggle"),backwardLabel=L10n.get("uiBarLabelBackward"),jumptoLabel=L10n.get("uiBarLabelJumpto"),forwardLabel=L10n.get("uiBarLabelForward"),jQuery(document.createDocumentFragment()).append('"));_$uiBar=jQuery($elems.find("#ui-bar").get(0)),$elems.insertBefore("body>script#script-sugarcube"),jQuery(document).on(":historyupdate".concat(".ui-bar"),($backward=jQuery("#history-backward"),$forward=jQuery("#history-forward"),function(){$backward.ariaDisabled(State.length<2),$forward.ariaDisabled(State.length===State.size)}))}}},destroy:{value:function(){_$uiBar&&(_$uiBar.hide(),jQuery(document).off(".ui-bar"),jQuery(document.head).find("#style-ui-bar").remove(),_$uiBar.remove(),_$uiBar=null)}},hide:{value:function(){return _$uiBar&&_$uiBar.hide(),UIBar}},isHidden:{value:function(){return _$uiBar&&"none"===_$uiBar.css("display")}},isStowed:{value:function(){return _$uiBar&&_$uiBar.hasClass("stowed")}},show:{value:function(){return _$uiBar&&_$uiBar.show(),UIBar}},start:{value:function(){if(_$uiBar){("boolean"==typeof Config.ui.stowBarInitially?Config.ui.stowBarInitially:jQuery(window).width()<=Config.ui.stowBarInitially)&&stow(!0),jQuery("#ui-bar-toggle").ariaClick({label:L10n.get("uiBarLabelToggle")},(function(){return _$uiBar.toggleClass("stowed")})),Config.history.controls?(jQuery("#history-backward").ariaDisabled(State.length<2).ariaClick({label:L10n.get("uiBarLabelBackward")},(function(){return Engine.backward()})),Story.filter((function(passage){return passage.tags.includes("bookmark")})).length>0?jQuery("#history-jumpto").ariaClick({label:L10n.get("uiBarLabelJumpto")},(function(){return UI.jumpto()})):jQuery("#history-jumpto").remove(),jQuery("#history-forward").ariaDisabled(State.length===State.size).ariaClick({label:L10n.get("uiBarLabelForward")},(function(){return Engine.forward()}))):jQuery("#ui-bar-history").remove();var storyTitleHandler,addUiUpdateHandler=function(handler){return jQuery(document)[Config.ui.updateStoryElements?"on":"one"](":uiupdate".concat(".ui-bar"),handler)},addUpdaterOrRemove=function(selector,passageName){var $el=jQuery(selector);Story.has(passageName)?addUiUpdateHandler((function(){var frag=document.createDocumentFragment();new Wikifier(frag,Story.get(passageName).processText().trim()),$el.empty().append(frag)})):$el.remove()};if(storyTitleHandler=Story.has("StoryDisplayTitle")?function(){return setDisplayTitle(Story.get("StoryDisplayTitle").processText())}:function(){return setDisplayTitle(Story.name,!0)},addUiUpdateHandler(storyTitleHandler),addUpdaterOrRemove("#story-banner","StoryBanner"),addUpdaterOrRemove("#story-subtitle","StorySubtitle"),addUpdaterOrRemove("#story-author","StoryAuthor"),addUpdaterOrRemove("#story-caption","StoryCaption"),Story.has("StoryMenu")){var $menuStory=jQuery("#menu-story");jQuery(document).on(":uiupdate".concat(".ui-bar"),(function(){try{var frag=UI.assembleLinkList("StoryMenu",document.createDocumentFragment());$menuStory.empty().append(frag)}catch(ex){console.error(ex),Alert.error("StoryMenu",ex.message)}}))}else jQuery("#menu-story").remove();Save.browser.size>0?(jQuery("#menu-item-continue a").ariaClick({role:"button"},(function(ev){ev.preventDefault(),Save.browser.continue().then((function(){jQuery(document).off(".menu-item-continue"),jQuery("#menu-item-continue").remove(),Engine.show()}),(function(ex){return UI.alert("".concat(ex.message.toUpperFirst(),".
").concat(L10n.get("textAborting"),"."))}))})).text(L10n.get("continueTitle")),jQuery(document).on(":passagestart.menu-item-continue",(function(){State.turns>1&&(jQuery(document).off(".menu-item-continue"),jQuery("#menu-item-continue").remove())}))):jQuery("#menu-item-continue").remove(),jQuery("#menu-item-saves a").ariaClick({role:"button"},(function(ev){ev.preventDefault(),UI.buildSaves(),Dialog.open()})).text(L10n.get("savesTitle")),Setting.isEmpty()?jQuery("#menu-item-settings").remove():jQuery("#menu-item-settings a").ariaClick({role:"button"},(function(ev){ev.preventDefault(),UI.buildSettings(),Dialog.open()})).text(L10n.get("settingsTitle")),jQuery("#menu-item-restart a").ariaClick({role:"button"},(function(ev){ev.preventDefault(),UI.buildRestart(),Dialog.open()})).text(L10n.get("restartTitle")),Story.has("StoryShare")?jQuery("#menu-item-share a").ariaClick({role:"button"},(function(ev){ev.preventDefault(),UI.buildShare(),Dialog.open()})).text(L10n.get("shareTitle")):jQuery("#menu-item-share").remove()}}},stow:{value:stow},unstow:{value:function(noAnimation){var $story;return _$uiBar&&_$uiBar.hasClass("stowed")&&(noAnimation&&(($story=jQuery("#story")).addClass("no-transition"),_$uiBar.addClass("no-transition")),_$uiBar.removeClass("stowed"),noAnimation&&setTimeout((function(){$story.removeClass("no-transition"),_$uiBar.removeClass("no-transition")}),Engine.DOM_DELAY)),UIBar}},setStoryElements:{value:update},update:{value:update}}))}(),DebugBar=function(){var STORAGE_KEY="debug.state",WATCH_LIST_DELAY=200,VAR_LIST_DELAY=500,variableRE=new RegExp("^".concat(Patterns.variable,"$")),numericKeyRE=/^\d+$/,watchList=[],varList=[],watchTimerId=null,listTimerId=null,stowed=!0,$debugBar=null,$watchBody=null,$varDataList=null,$turnSelect=null,$passageDataList=null;function debugBarStow(){disableWatchUpdates(),disableVarListUpdates(),$debugBar.css("right","-".concat($debugBar.outerWidth(),"px")),stowed=!0,updateSession()}function debugBarUnstow(){debugBarWatchIsEnabled()&&enableWatchUpdates(),enableVarListUpdates(),$debugBar.css("right",0),stowed=!1,updateSession()}function debugBarToggle(){stowed?debugBarUnstow():debugBarStow()}function debugBarWatchAdd(varName){variableRE.test(varName)&&(watchList.pushUnique(varName),watchList.sort(),updateWatchBody(),updateVarList(),updateSession())}function debugBarWatchAddAll(){Object.keys(State.variables).map((function(name){return watchList.pushUnique("$".concat(name))})),Object.keys(State.temporary).map((function(name){return watchList.pushUnique("_".concat(name))})),watchList.sort(),updateWatchBody(),updateVarList(),updateSession()}function debugBarWatchClear(){watchList.length=0,$watchBody.empty().append("
— ".concat(L10n.get("debugBarMesgNoWatches")," —
")),updateWatchBody(),updateVarList(),updateSession()}function debugBarWatchDelete(varName){watchList.deleteFirst(varName),$watchBody.find('tr[data-name="'.concat(varName,'"]')).remove(),updateWatchBody(),updateVarList(),updateSession()}function debugBarWatchDisable(){disableWatchUpdates(),disableWatch(),updateSession()}function debugBarWatchEnable(){enableWatchUpdates(),enableWatch(),updateSession()}function debugBarWatchIsEnabled(){return!$watchBody.attr("hidden")}function debugBarWatchToggle(){$watchBody.attr("hidden")?debugBarWatchEnable():debugBarWatchDisable()}function disableWatch(){$watchBody.attr({"aria-hidden":!0,hidden:"hidden"})}function disableWatchUpdates(){null!==watchTimerId&&(clearInterval(watchTimerId),watchTimerId=null)}function enableWatch(){$watchBody.removeAttr("aria-hidden hidden")}function enableWatchUpdates(){null===watchTimerId&&(watchTimerId=setInterval((function(){return updateWatchBody()}),WATCH_LIST_DELAY))}function disableVarListUpdates(){null!==listTimerId&&(clearInterval(listTimerId),listTimerId=null)}function enableVarListUpdates(){null===listTimerId&&(listTimerId=setInterval((function(){return updateVarList()}),VAR_LIST_DELAY))}function clearSession(){session.delete(STORAGE_KEY)}function updateSession(){session.set(STORAGE_KEY,{stowed:stowed,watchList:watchList,watchEnabled:debugBarWatchIsEnabled(),viewsEnabled:DebugView.isEnabled()})}function updateWatchBody(){if(0!==watchList.length){var $tbody,$rowMap=new Map,$table=jQuery($watchBody.children("table"));$table.length>0?($tbody=jQuery($table.children("tbody"))).children("tr").each((function(_,el){return $rowMap.set(el.getAttribute("data-name"),jQuery(el))})):($table=jQuery(document.createElement("table")),$tbody=jQuery(document.createElement("tbody")),$table.append($tbody),$watchBody.empty().append($table));var delLabel=L10n.get("debugBarLabelWatchDelete"),cursor=$rowMap.size>0?$tbody.children("tr").get(0):null;watchList.forEach((function(varName){var varKey=varName.slice(1),value=toWatchString(("$"===varName[0]?State.variables:State.temporary)[varKey]),$row=$rowMap.get(varName);if($row){var $code=$row.children().children("code");value!==$code.text()&&$code.text(value)}else $row=function(varName,value){var $row=jQuery(document.createElement("tr")),$delBtn=jQuery(document.createElement("button")),$code=jQuery(document.createElement("code"));return $row.attr("data-name",varName),$delBtn.addClass("watch-delete").ariaClick({one:!0,label:delLabel},(function(){return debugBarWatchDelete(varName)})),$code.text(value),jQuery(document.createElement("td")).append($delBtn).appendTo($row),jQuery(document.createElement("td")).text(varName).appendTo($row),jQuery(document.createElement("td")).append($code).appendTo($row),$row}(varName,value),cursor?$row.insertAfter(cursor):$row.appendTo($tbody);cursor=$row.get(0)}))}}function updateVarList(){var names=[].concat(Object.keys(State.variables).map((function(name){return"$".concat(name)})),Object.keys(State.temporary).map((function(name){return"_".concat(name)})));if(0===names.length)return varList.length=0,void $varDataList.empty();if(names.sort().deleteAll(watchList),names.length!==varList.length||!names.every((function(m,i){return m===varList[i]}))){varList=names;var options=document.createDocumentFragment();varList.forEach((function(name){jQuery(document.createElement("option")).val(name).appendTo(options)})),$varDataList.empty().append(options)}}function updateTurnSelect(){for(var histLen=State.size,expLen=State.expired.length,options=document.createDocumentFragment(),i=0;i");return Object.keys(list).filter((function(key){return!numericKeyRE.test(key)})).forEach((function(key){return result.push("".concat(toWatchString(key),": ").concat(toWatchString(list[key])))})),"".concat(objType,"(").concat(list.length,") [").concat(result.join(", "),"]")}return O instanceof Map?(O.forEach((function(val,key){return result.push("".concat(toWatchString(key)," → ").concat(toWatchString(val)))})),"".concat(objType,"(").concat(O.size,") {").concat(result.join(", "),"}")):(Object.keys(O).forEach((function(key){return result.push("".concat(toWatchString(key),": ").concat(toWatchString(O[key])))})),"".concat(objType," {").concat(result.join(", "),"}"))}return Object.preventExtensions(Object.create(null,{init:{value:function(){if(Config.debug){var barToggleLabel=L10n.get("debugBarLabelToggle"),watchAddLabel=L10n.get("debugBarLabelWatchAdd"),watchAllLabel=L10n.get("debugBarLabelWatchAll"),watchClearLabel=L10n.get("debugBarLabelWatchClear"),watchToggleLabel=L10n.get("debugBarLabelWatchToggle"),viewsToggleLabel=L10n.get("debugBarLabelViewsToggle"),passagePlayLabel=L10n.get("debugBarLabelPassagePlay");jQuery(document.createDocumentFragment()).append(''+"
— ".concat(L10n.get("debugBarMesgNoWatches")," —
")+"
"+'")+'')+''+'')+'')+'')+"
"+'")+'
'+'")+'')+''+'')+"
"+'")+'")+"
"+'
')+'
').appendTo("body"),$debugBar=jQuery("#debug-bar"),$watchBody=jQuery($debugBar.find("#debug-bar-watch").get(0)),$varDataList=jQuery($debugBar.find("#debug-bar-var-list").get(0)),$turnSelect=jQuery($debugBar.find("#debug-bar-turn-select").get(0)),$passageDataList=jQuery($debugBar.find("#debug-bar-passage-list").get(0));var $watchInput=jQuery($debugBar.find("#debug-bar-watch-input").get(0)),$watchAdd=jQuery($debugBar.find("#debug-bar-watch-add").get(0)),$watchAll=jQuery($debugBar.find("#debug-bar-watch-all").get(0)),$watchClear=jQuery($debugBar.find("#debug-bar-watch-clear").get(0)),$passageInput=jQuery($debugBar.find("#debug-bar-passage-input").get(0)),$passagePlay=jQuery($debugBar.find("#debug-bar-passage-play").get(0)),$viewsToggle=jQuery($debugBar.find("#debug-bar-views-toggle").get(0)),$watchToggle=jQuery($debugBar.find("#debug-bar-watch-toggle").get(0)),$barToggle=jQuery($debugBar.find("#debug-bar-toggle").get(0));$watchInput.on("sc:debug-watch-add",(function(){debugBarWatchAdd(this.value.trim()),this.value=""})).on("keypress",(function(ev){13===ev.which&&(ev.preventDefault(),triggerEvent("sc:debug-watch-add",$watchInput))})),$watchAdd.ariaClick((function(){return triggerEvent("sc:debug-watch-add",$watchInput)})),$watchAll.ariaClick(debugBarWatchAddAll),$watchClear.ariaClick(debugBarWatchClear),$turnSelect.on("change",(function(){Engine.goTo(Number(this.value))})),$passageInput.on("sc:debug-passage-play",(function(){Engine.play(this.value.trim()),this.value=""})).on("keypress",(function(ev){13===ev.which&&(ev.preventDefault(),triggerEvent("sc:debug-passage-play",$passageInput))})).on("focus",updatePassageList),$passagePlay.ariaClick((function(){return triggerEvent("sc:debug-passage-play",$passageInput)})),$viewsToggle.ariaClick((function(){DebugView.toggle(),updateSession()})),$watchToggle.ariaClick(debugBarWatchToggle),$barToggle.ariaClick(debugBarToggle),jQuery(document).on(":passageend.debug-bar",(function(){updateWatchBody(),updateVarList()})).on(":historyupdate.debug-bar",updateTurnSelect).on(":enginerestart.debug-bar",clearSession)}else jQuery(document.head).find('[id|="style-ui-debug"]').remove()}},isStowed:{value:function(){return stowed}},start:{value:function(){Config.debug&&(function(){if(!session.has(STORAGE_KEY))return!1;var debugState=session.get(STORAGE_KEY);watchList.push.apply(watchList,_toConsumableArray(debugState.watchList)),debugState.watchEnabled?(stowed?disableWatchUpdates():enableWatchUpdates(),enableWatch()):(disableWatchUpdates(),disableWatch());debugState.viewsEnabled?DebugView.enable():DebugView.disable();(stowed=debugState.stowed)?(disableVarListUpdates(),debugBarStow()):(enableVarListUpdates(),debugBarUnstow());return!0}()||(debugBarStow(),DebugView.enable(),enableWatchUpdates(),enableWatch()),updateVarList(),updateTurnSelect())}},stow:{value:debugBarStow},toggle:{value:debugBarToggle},unstow:{value:debugBarUnstow},watch:{value:Object.preventExtensions(Object.create(null,{add:{value:debugBarWatchAdd},all:{value:debugBarWatchAddAll},clear:{value:debugBarWatchClear},delete:{value:debugBarWatchDelete},disable:{value:debugBarWatchDisable},enable:{value:debugBarWatchEnable},isEnabled:{value:debugBarWatchIsEnabled},toggle:{value:debugBarWatchToggle}}))}}))}(),LoadScreen=function(){var _locks=new Set,_autoId=0;function loadScreenHide(){jQuery(document.documentElement).removeAttr("data-init")}function loadScreenShow(){jQuery(document.documentElement).attr("data-init","loading")}return Object.preventExtensions(Object.create(null,{init:{value:function(){jQuery(document).on("readystatechange.SugarCube",(function(){_locks.size>0||("complete"===document.readyState?"loading"===jQuery(document.documentElement).attr("data-init")&&(Config.loadDelay>0?setTimeout((function(){0===_locks.size&&loadScreenHide()}),Math.max(Engine.DOM_DELAY,Config.loadDelay)):loadScreenHide()):loadScreenShow())}))}},clear:{value:function(){jQuery(document).off("readystatechange.SugarCube"),_locks.clear(),loadScreenHide()}},hide:{value:loadScreenHide},show:{value:loadScreenShow},lock:{value:function(){return++_autoId,_locks.add(_autoId),loadScreenShow(),_autoId}},unlock:{value:function(id){if(null==id)throw new Error("LoadScreen.unlock called with a null or undefined ID");_locks.has(id)&&_locks.delete(id),0===_locks.size&&triggerEvent("readystatechange")}},size:{get:function(){return _locks.size}}}))}(),Util=Object.preventExtensions(Object.create(null,{charAndPosAt:{value:function(){return console.warn("[DEPRECATED] Util.charAndPosAt() is deprecated."),charAndPosAt.apply(void 0,arguments)}},escape:{value:function(){return console.warn("[DEPRECATED] Util.escape() is deprecated."),encodeEntities.apply(void 0,arguments)}},escapeMarkup:{value:function(){return console.warn("[DEPRECATED] Util.escapeMarkup() is deprecated."),encodeMarkup.apply(void 0,arguments)}},fromCssProperty:{value:function(){return console.warn("[DEPRECATED] Util.fromCssProperty() is deprecated."),cssPropToDOMProp.apply(void 0,arguments)}},fromCssTime:{value:function(){return console.warn("[DEPRECATED] Util.fromCssTime() is deprecated."),cssTimeToMS.apply(void 0,arguments)}},getType:{value:function(){return console.warn("[DEPRECATED] Util.getType() is deprecated."),getTypeOf.apply(void 0,arguments)}},hasMediaQuery:{value:function(){return console.warn("[DEPRECATED] Util.hasMediaQuery() is deprecated."),hasMediaQuery.apply(void 0,arguments)}},newExceptionFrom:{value:function(){return console.warn("[DEPRECATED] Util.newExceptionFrom() is deprecated."),exceptionFrom.apply(void 0,arguments)}},now:{value:function(){return console.warn("[DEPRECATED] Util.now() is deprecated."),now.apply(void 0,arguments)}},parseUrl:{value:function(){return console.warn("[DEPRECATED] Util.parseUrl() is deprecated."),parseURL.apply(void 0,arguments)}},sameValueZero:{value:function(){return console.warn("[DEPRECATED] Util.sameValueZero() is deprecated."),sameValueZero.apply(void 0,arguments)}},sanitizeFilename:{value:function(){return console.warn("[DEPRECATED] Util.sanitizeFilename() is deprecated."),createFilename.apply(void 0,arguments)}},scrubEventKey:{value:function(){return console.warn("[DEPRECATED] Util.scrubEventKey() is deprecated."),scrubEventKey.apply(void 0,arguments)}},slugify:{value:function(){return console.warn("[DEPRECATED] Util.slugify() is deprecated."),createSlug.apply(void 0,arguments)}},toCssTime:{value:function(){return console.warn("[DEPRECATED] Util.toCssTime() is deprecated."),msToCSSTime.apply(void 0,arguments)}},toEnum:{value:function(){return console.warn("[DEPRECATED] Util.toEnum() is deprecated."),enumFrom.apply(void 0,arguments)}},toStringTag:{value:function(){return console.warn("[DEPRECATED] Util.toStringTag() is deprecated."),getToStringTag.apply(void 0,arguments)}},unescape:{value:function(){return console.warn("[DEPRECATED] Util.unescape() is deprecated."),decodeEntities.apply(void 0,arguments)}}})),version=(semVerRE=/^[Vv]?(\d+)(?:\.(\d+)(?:\.(\d+)(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?)?)?$/,Object.preventExtensions(Object.create(null,{name:{value:"SugarCube"},major:{value:2},minor:{value:37},patch:{value:3},prerelease:{value:""},build:{value:10338},date:{value:new Date("2024-07-27T00:45:20.724Z")},isOk:{value:function(semver){if("string"!=typeof semver)throw new Error("version.isOk semver parameter must be a string (received: ".concat(_typeof(semver),")"));var trimmed=semver.trim();if(""===trimmed)throw new Error("version.isOk semver parameter must not be empty");var match=semVerRE.exec(trimmed);if(!match)throw new Error("version.isOk semver parameter is invalid (format: [v]MAJOR[.MINOR[.PATCH[-PRERELEASE][+BUILD]]]; received: ".concat(trimmed));var major=Number(match[1]),minor=Number(match[2])||0,patch=Number(match[3])||0;return major===this.major&&(minor