| Current Path : /var/www/homesaver/www/bitrix/components/bitrix/main.post.form/templates/.default/ |
| Current File : /var/www/homesaver/www/bitrix/components/bitrix/main.post.form/templates/.default/script.js.map |
{"version":3,"sources":["src/internal/wrap-start.js","src/parsers/default.js","src/parsers/spoiler.js","src/parsers/postuser.js","src/parsers/files/controller.js","src/parsers/files/disk-controller.js","src/parsers/files/upload-file.js","src/parsers/files/upload-image.js","src/parsers/files/disk-file.js","src/parsers/aiImageGenerator.js","src/parsers/index.js","src/view-utils/bind-autosave.js","src/view-utils/show-panel-editor.js","src/view-utils/show-url-preview.js","src/view-utils/customize-html-editor.js","src/view-utils/bind-html.js","src/view-utils/bind-toolbar.js","src/toolbar.js","src/taskslimit.js","src/editor.js","src/index.js","script-old.js","src/internal/wrap-end.js"],"names":["Default","editor","htmlEditor","name","iconClassName","disabledForTextarea","src","toolbarSort","compact","handler","bind","text","bxTag","oNode","buttonParams","id","obj","Parse","parserId","parse","UnParse","unparse","Spoiler","Loc","getMessage","result","bbCode","synchro","IsFocusedOnTextarea","action","actions","formatBlock","exec","bxTagParams","tag","formatBbCode","content","pLEditor","test","replace","reg2","match","str","title","body","SetBxTag","i","node","childNodes","length","bbParser","GetNodeHtml","trim","hasAttribute","getAttribute","PostUser","EventEmitter","subscribe","compatData","event","window","onKeyDownHandler","formID","onKeyUpHandler","textareaView","GetCursorPosition","onTextareaKeyUpHandler","onTextareaKeyDownHandler","tagId","userId","userName","projectId","projectName","departmentId","departmentName","forEach","String","Type","isStringFilled","isUndefined","Controller","cid","container","getEventObject","data","emit","parentNode","BaseEvent","values","callback","actionPool","push","isReady","shift","apply","e","console","log","getFieldName","querySelector","inputFile","removeChild","DiskController","_catchHandler","diskUfUploader","func","BX","UploaderManager","getById","subscribeOnce","diskUfHandler","CID","agent","params","controlName","Array","from","querySelectorAll","ii","hasOwnProperty","files","document","tagName","type","size","sizeInt","width","height","storage","previewUrl","fileId","selectFile","UploadFile","Map","checkButtonsDebounced","Runtime","debounce","checkButtons","init","getEditor","reinit","getContainer","selectorNode","index","controller","controllers","get","element_id","doc_prefix","securityNode","getFormId","value","parseFile","file","set","has","deleteFile","stopImmediatePropagation","UploadDroppedFiles","getData","tr","innerHTML","buttonNode","image","lowsrc","insertFile","nameNode","addEventListener","style","cursor","imageNode","rel","HTMLTableRowElement","Tag","render","appendChild","htmlData","html","additional","join","buildText","buildHTML","fileIds","GetContent","GetViewMode","doc","GetIframeDoc","bxTags","indexOf","getElementById","SaveContent","content2","regexp","foundId","SetContent","Focus","matches","matchAll","map","mark","className","display","clear","reinitFrom","parseInt","UploadImage","DiskFile","blob","getId","onCustomEvent","initVideoReceptionForTheFirstController","initImageReceptionForTheFirstController","onChange","complete","setTimeout","diskFileParser","fileToUpload","onSuccess","unsubscribe","Promise","resolve","reject","onFailed","AIImageGenerator","isImageCopilotEnabledBySettings","top","UI","InfoHelper","show","loadExtension","then","aiImagePicker","AI","Picker","moduleId","contextId","analyticLabel","saveImages","history","onSelect","imageURL","fetch","response","myBlob","setLangSpace","LangSpace","getKnownParser","bindAutoSave","formNode","addCustomEvent","ob","FORM","setAttribute","Init","form_data","isNotEmptyString","CheckAndReInit","BXAUTOSAVE","removeAttribute","Prepare","showPanelEditor","editorParams","save","toolbar","IsShown","dom","toolbarCont","opacity","Show","classList","add","Hide","remove","userOptions","showUrlPreview","urlPreviewId","urlPreview","BXUrlPreview","OnAfterUrlConvert","url","attachUrlPreview","OnBeforeCommandExec","isContentAction","oAction","isPlainObject","href","detachUrlPreview","uf","customizeHTMLEditor","contextMenu","items","TEXT","bbMode","ACTION","GetTargetItem","element","selection","RemoveNode","controls","FontSelector","SetWidth","bindHTML","submitButton","preventDefault","stopPropagation","cancelButton","bindToolbar","fileButton","toString","count","filesCount","Math","max","Counter","color","Color","GRAY","animate","update","BXPostFormTags","InsertLink","OnClick","InsertVideo","quoteNode","Quote","OnMouseDown","CheckCommand","copilot","isTextCopilotEnabledBySettings","showCopilot","intersectionObserver","observeIntersection","entity","IntersectionObserver","entries","entry","isIntersecting","unobserve","target","observedCallback","threshold","observe","justCounter","Toolbar","eventObject","adjustMorePosition","moreItem","showSubmenu","button","buttonId","isElementNode","item","found","itemBefore","toolbarItem","dataset","insertBefore","visibleItems","offsetTop","clientHeight","hiddenItems","visibleItemsLength","getVisibleItems","getItems","popup","PopupManager","create","cacheable","getPopupContainer","closeByEsc","autoHide","angle","bindElement","offsetLeft","events","onClose","popupContainer","createElement","getHiddenItems","getPopup","TasksLimit","tasksLimitPopup","getPopupById","getPopupId","Popup","getTasksLimitPopupContent","lightShadow","position","closeIcon","setBindElement","bindPosition","Dom","padding","children","FeaturePromotersRegistry","getPromoter","code","hidePopup","isLimit","limitAnalyticsLabels","module","source","subject","close","Editor","options","ctrlEnterHandler","parsers","lazyLoad","tasksLimitExceeded","formId","eventNode","bxHtmlEditable","formEntityType","repo","isArray","Object","setEditorParams","bindEvents","Get","inited","jobs","counter","assign","OnEditorInitedBefore","OnCreateIframeAfter","OnEditorInitedAfter","eventName","closure","removeCustomEvent","OnShowLHE","OnButtonClick","parser","addParser","someObjectToReceiveHTMLEditor","insertContent","beforeButton","getToolbar","insertAfter","isFunction","forms","submit","config","groupCollapsed","hasButton","AddButton","getButton","AddParser","getParser","groupEnd","imageBase64","UploaderUtils","dataURLToBlob","substr","referrerToEditor","replacement","GLOBAL_TARGET","isDnDEnabled","placeHolder","active","timeoutId","activate","clearTimeout","isFileTransfer","disActivate","catchFiles","onShowControllers","lhe","iteratorBuffer","iterator","constructor","keys","next","done","AllowBeforeUnloadHandler","DenyBeforeUnloadHandler","MouseEvent","bubbles","cancelable","view","iframeView","dispatchEvent","setEditor","editorIsLoaded","sandbox","addParserAfterDebounced","editorMode","range","GetRange","InsertHtml","AutoResizeSceleton","dummy","WrapWith","showControllers","property","emitAsync","isString","oEditor","SetConfigHeight","ResizeSceleton","setFocus","FCFormId","duration","start","scrollHeight","finish","transition","easing","makeEaseOut","transitions","quad","step","state","cssText","adjust","overflow","res","args","actionQueue","status","SetView","ShowCopilotAtTheBottom","isEnabled","isCopilotTextEnabledBySettings","isNil","isCopilotImageEnabledBySettings","setData","fieldName","getHandler","getHandlerByFormId","reinitData","editorID","userFieldName","userField","reinitDataBefore"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;;;;;;;CCL+B,IACVA,OAAO;GAc3B,iBAAYC,MAAc,EAAEC,UAAU,EACtC;KAAA;KAAA,wCAba,YAAY;KAAA,kDACD;OACvBC,IAAI,EAAE,kBAAkB;OACxBC,aAAa,EAAE,mBAAmB;OAClCC,mBAAmB,EAAE,KAAK;OAC1BC,GAAG,EAAE,WAAW;OAChBC,WAAW,EAAE,GAAG;OAChBC,OAAO,EAAE;MACT;KAMA,IAAI,CAACP,MAAM,GAAGA,MAAM;KACpB,IAAI,CAACC,UAAU,GAAGA,UAAU;KAC5B,IAAI,CAACO,OAAO,GAAG,IAAI,CAACA,OAAO,CAACC,IAAI,CAAC,IAAI,CAAC;;GACtC;KAAA;KAAA,0BAGD;;KAEC;KAAA,sBAEKC,IAAI,EACV;OACC,OAAOA,IAAI;;;KACX;KAAA,wBAEOC,KAAK,EAAEC,KAAK,EACpB;OACC,OAAO,EAAE;;;KACT;KAAA,4BAGD;OACC,OAAQ,IAAI,CAACC,YAAY,KAAK,IAAI;;;KAClC;KAAA,4BAGD;OACC,IAAI,IAAI,CAACA,YAAY,KAAK,IAAI,EAC9B;SACC,OAAO,IAAI;;OAEZ,OAAO;SACNC,EAAE,EAAE,IAAI,CAACA,EAAE;SACXZ,IAAI,EAAE,IAAI,CAACW,YAAY,CAACX,IAAI;SAC5BC,aAAa,EAAE,IAAI,CAACU,YAAY,CAACV,aAAa;SAC9CC,mBAAmB,EAAE,IAAI,CAACS,YAAY,CAACT,mBAAmB;SAC1DC,GAAG,EAAE,IAAI,CAACQ,YAAY,CAACR,GAAG;SAC1BC,WAAW,EAAE,IAAI,CAACO,YAAY,CAACP,WAAW;SAC1CC,OAAO,EAAE,IAAI,CAACM,YAAY,CAACN,OAAO,KAAK,IAAI;SAC3CC,OAAO,EAAE,IAAI,CAACA;QACd;;;KACD;KAAA,4BAGD;OAAA;OACC,OAAO;SACNN,IAAI,EAAE,IAAI,CAACY,EAAE;SACbC,GAAG,EAAE;WACJC,KAAK,EAAE,eAACC,QAAQ,EAAEP,IAAI,EAAK;aAC1B,OAAO,KAAI,CAACQ,KAAK,CAACR,IAAI,CAAC;YACvB;WACDS,OAAO,EAAE,IAAI,CAACC,OAAO,CAACX,IAAI,CAAC,IAAI;;QAEhC;;;GACD;CAAA;;CCtE8B,IAEXY,OAAO;GAAA;GAAA;KAAA;KAAA;KAAA;KAAA;OAAA;;KAAA;KAAA,6EAEd,SAAS;KAAA,uFACE;OACvBnB,IAAI,EAAEoB,aAAG,CAACC,UAAU,CAAC,aAAa,CAAC;OACnCpB,aAAa,EAAE,SAAS;OACxBC,mBAAmB,EAAE,KAAK;OAC1BC,GAAG,EAAEiB,aAAG,CAACC,UAAU,CAAC,qBAAqB,CAAC,GAAG,wBAAwB;OACrEjB,WAAW,EAAE;MACb;KAAA;;GAAA;KAAA;KAAA,0BAGD;OACC,IAAIkB,MAAM;;OAEV,IAAI,CAAC,IAAI,CAACvB,UAAU,CAACwB,MAAM,IAAI,CAAC,IAAI,CAACxB,UAAU,CAACyB,OAAO,CAACC,mBAAmB,EAAE,EAC7E;SACCH,MAAM,GAAG,IAAI,CAACvB,UAAU,CAAC2B,MAAM,CAACC,OAAO,CAACC,WAAW,CAACC,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE;WAACC,WAAW,EAAG;aAACC,GAAG,EAAE;;UAAW,CAAC;QAC5I;;SAED;WACCT,MAAM,GAAG,IAAI,CAACvB,UAAU,CAAC2B,MAAM,CAACC,OAAO,CAACK,YAAY,CAACH,IAAI,CAAC,OAAO,EAAE;aAACE,GAAG,EAAE;YAAU,CAAC;;OAErF,OAAOT,MAAM;;;KACb;KAAA,sBAEKW,OAAO,EAAEC,QAAQ,EACvB;OACC,IAAI,yBAAyB,CAACC,IAAI,CAACF,OAAO,CAAC,EAC3C;SACCA,OAAO,GAAGA,OAAO,CAChBG,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAC5BA,OAAO,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAC9CA,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC;SAClC,IAAMC,IAAI,GAAG,6CAA6C;SAE1D,OAAOJ,OAAO,CAACK,KAAK,CAACD,IAAI,CAAC,EAC1B;WACCJ,OAAO,GAAGA,OAAO,CAACG,OAAO,CAACC,IAAI,EAAE,UAASE,GAAG,EAAEC,KAAK,EAAEC,IAAI,EAAE;aAC1DD,KAAK,GAAGA,KAAK,CAACJ,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAACA,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;aAClE,uDAA6C,IAAI,CAACrC,UAAU,CAAC2C,QAAQ,CAAC,KAAK,EAAE;eAACX,GAAG,EAAE;cAAU,CAAC,wBAAYS,KAAK,gBAAKC,IAAI;YACxH,CAAClC,IAAI,CAAC,IAAI,CAAC,CAAC;;;OAGf0B,OAAO,GAAGA,OAAO,CAChBG,OAAO,CAAC,sBAAsB,EAAE,aAAa,CAAC,CAC9CA,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC;OAChC,OAAOH,OAAO;;;KACd;KAAA,wBAEOxB,KAAK,EAAEC,KAAK,EACpB;OACC,IAAIV,IAAI,GAAG,EAAE;OACb,KAAK,IAAI2C,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGjC,KAAK,CAACkC,IAAI,CAACC,UAAU,CAACC,MAAM,EAAEH,CAAC,EAAE,EACrD;SACC3C,IAAI,IAAI,IAAI,CAACD,UAAU,CAACgD,QAAQ,CAACC,WAAW,CAACtC,KAAK,CAACkC,IAAI,CAACC,UAAU,CAACF,CAAC,CAAC,CAAC;;OAEvE3C,IAAI,GAAGA,IAAI,CAACiD,IAAI,EAAE;OAClB,IAAIjD,IAAI,KAAK,EAAE,EACf;SACC,OAAO,UAAU,IAAIU,KAAK,CAACkC,IAAI,CAACM,YAAY,CAAC,OAAO,CAAC,GAAG,GAAG,GAAGxC,KAAK,CAACkC,IAAI,CAACO,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAE,GAAG,GAAGnD,IAAI,GAAE,YAAY;;OAE/H,OAAO,EAAE;;;GACT;CAAA,EA/DmCH,OAAO;;CCAb,IAEVuD,QAAQ;GAAA;GAK5B,kBAAYtD,MAAc,EAAEC,UAAU,EACtC;KAAA;KAAA;KACC,sGAAMD,MAAM,EAAEC,UAAU;KAAE,6EALd,UAAU;KAAA,uFACR,IAAI;KAMlBsD,6BAAY,CAACC,SAAS,CACrBvD,UAAU,EACV,iBAAiB,EACjB,gBACA;OAAA,sDADUwD,UAAU;SAAGC,KAAK;OAE3B,IAAIC,MAAM,CAACC,gBAAgB,EAC3B;SACCD,MAAM,CAACC,gBAAgB,CAACF,KAAK,EAAEzD,UAAU,EAAEA,UAAU,CAAC4D,MAAM,CAAC;;MAE9D,CACD;KAEDN,6BAAY,CAACC,SAAS,CACrBvD,UAAU,EACV,eAAe,EACf,iBACA;OAAA,wDADUwD,UAAU;SAAGC,KAAK;OAE3B,IAAIC,MAAM,CAACG,cAAc,EACzB;SACCH,MAAM,CAACG,cAAc,CAACJ,KAAK,EAAEzD,UAAU,EAAEA,UAAU,CAAC4D,MAAM,CAAC;;MAE5D,CACD;KAEDN,6BAAY,CAACC,SAAS,CACrBvD,UAAU,EACV,eAAe,EACf,YACA;OACC,IAAI0D,MAAM,CAAC,eAAe,GAAG1D,UAAU,CAAC4D,MAAM,CAAC,EAC/C;SACCF,MAAM,CAAC,eAAe,GAAG1D,UAAU,CAAC4D,MAAM,CAAC,EAAE;;MAE9C,CACD;KAEDN,6BAAY,CAACC,SAAS,CACrBvD,UAAU,EACV,iBAAiB,EACjB,iBACA;OAAA,wDADUwD,UAAU;SAAGC,KAAK;OAE3B,IAAIzD,UAAU,CAAC8D,YAAY,IACvB9D,UAAU,CAAC8D,YAAY,CAACC,iBAAiB,IACzCL,MAAM,CAACM,sBAAsB,EAEjC;SACCN,MAAM,CAACM,sBAAsB,CAACP,KAAK,EAAEzD,UAAU,EAAEA,UAAU,CAAC4D,MAAM,CAAC;;MAEpE,CACD;KACDN,6BAAY,CAACC,SAAS,CACrBvD,UAAU,EACV,mBAAmB,EACnB,iBACA;OAAA,wDADUwD,UAAU;SAAGC,KAAK;OAE3B,IAAIzD,UAAU,CAAC8D,YAAY,IACvB9D,UAAU,CAAC8D,YAAY,CAACC,iBAAiB,IACzCL,MAAM,CAACO,wBAAwB,EACnC;SACCP,MAAM,CAACO,wBAAwB,CAACR,KAAK,EAAEzD,UAAU,EAAEA,UAAU,CAAC4D,MAAM,CAAC;;MAEtE,CACD;KAAC;;GACF;KAAA;KAAA,sBAEK1B,OAAO,EAAEC,QAAQ,EACvB;OAAA;OACCD,OAAO,GAAGA,OAAO,CAACG,OAAO,CACxB,uCAAuC,EACvC,UAACG,GAAG,EAAE3B,EAAE,EAAEZ,IAAI,EAAK;SAClBA,IAAI,GAAGA,IAAI,CAACiD,IAAI,EAAE;SAClB,IAAIjD,IAAI,KAAK,EAAE,EACf;WACC,OAAO,EAAE;;SAEV,IAAMiE,KAAK,GAAG,MAAI,CAAClE,UAAU,CAAC2C,QAAQ,CAAC,KAAK,EAAE;WAACX,GAAG,EAAE,MAAI,CAACnB,EAAE;WAAEsD,MAAM,EAAEtD,EAAE;WAAEuD,QAAQ,EAAEnE;UAAK,CAAC;SACzF,4BAAoBiE,KAAK,0CAA6BjE,IAAI;QAC1D,CAAC,CACDoC,OAAO,CACP,6CAA6C,EAC7C,UAACG,GAAG,EAAE3B,EAAE,EAAEZ,IAAI,EAAK;SAClBA,IAAI,GAAGA,IAAI,CAACiD,IAAI,EAAE;SAClB,IAAIjD,IAAI,KAAK,EAAE,EACf;WACC,OAAO,EAAE;;SAEV,IAAMiE,KAAK,GAAG,MAAI,CAAClE,UAAU,CAAC2C,QAAQ,CAAC,KAAK,EAAE;WAACX,GAAG,EAAE,MAAI,CAACnB,EAAE;WAAEwD,SAAS,EAAExD,EAAE;WAAEyD,WAAW,EAAErE;UAAK,CAAC;SAC/F,4BAAoBiE,KAAK,0CAA6BjE,IAAI;QAC1D,CAAC,CACFoC,OAAO,CACP,mDAAmD,EACnD,UAACG,GAAG,EAAE3B,EAAE,EAAEZ,IAAI,EAAK;SAClBA,IAAI,GAAGA,IAAI,CAACiD,IAAI,EAAE;SAClB,IAAIjD,IAAI,KAAK,EAAE,EACf;WACC,OAAO,EAAE;;SAEV,IAAMiE,KAAK,GAAG,MAAI,CAAClE,UAAU,CAAC2C,QAAQ,CAAC,KAAK,EAAE;WAACX,GAAG,EAAE,MAAI,CAACnB,EAAE;WAAE0D,YAAY,EAAE1D,EAAE;WAAE2D,cAAc,EAAEvE;UAAK,CAAC;SACrG,4BAAoBiE,KAAK,0CAA6BjE,IAAI;QAC1D,CAAC;OACJ,OAAOiC,OAAO;;;KACd;KAAA,wBAEOxB,KAAK,EAAEC,KAAK,EACpB;OAAA;OACC,IAAIF,IAAI,GAAG,EAAE;OACbE,KAAK,CAACkC,IAAI,CAACC,UAAU,CAAC2B,OAAO,CAAC,UAAC5B,IAAI,EAAK;SACvCpC,IAAI,IAAI,MAAI,CAACT,UAAU,CAACgD,QAAQ,CAACC,WAAW,CAACJ,IAAI,CAAC;QAClD,CAAC;OACFpC,IAAI,GAAGiE,MAAM,CAACjE,IAAI,CAAC,CAACyC,IAAI,EAAE;OAE1B,IAAI3B,MAAM,GAAG,EAAE;OACf,IAAIoD,cAAI,CAACC,cAAc,CAACnE,IAAI,CAAC,EAC7B;SACC,IAAI,CAACkE,cAAI,CAACE,WAAW,CAACnE,KAAK,CAACyD,MAAM,CAAC,EACnC;WACC5C,MAAM,mBAAYb,KAAK,CAACyD,MAAM,cAAI1D,IAAI,YAAS;UAC/C,MACI,IAAI,CAACkE,cAAI,CAACE,WAAW,CAACnE,KAAK,CAAC2D,SAAS,CAAC,EAC3C;WACC9C,MAAM,sBAAeb,KAAK,CAAC2D,SAAS,cAAI5D,IAAI,eAAY;UACxD,MACI,IAAI,CAACkE,cAAI,CAACE,WAAW,CAACnE,KAAK,CAAC6D,YAAY,CAAC,EAC9C;WACChD,MAAM,yBAAkBb,KAAK,CAAC6D,YAAY,cAAI9D,IAAI,kBAAe;;;OAInE,OAAOc,MAAM;;;GACb;CAAA,EA1IoCzB,OAAO;;CCJX,IAEbgF,UAAU;GAO9B,oBAAYC,GAAG,EAAEC,SAAS,EAAEjF,MAAM,EAClC;KAAA;KAAA,gDANoB,EAAE;KAOrB,IAAI,CAACgF,GAAG,GAAGA,GAAG;KACd,IAAI,CAACC,SAAS,GAAGA,SAAS;KAC1B,IAAI,CAACjF,MAAM,GAAGA,MAAM;KACpBuD,6BAAY,CAACC,SAAS,CAACxD,MAAM,CAACkF,cAAc,EAAE,EAAE,mBAAmB,EAAE,gBAAY;OAAA,IAAVC,IAAI,QAAJA,IAAI;OAC1E5B,6BAAY,CAAC6B,IAAI,CAACH,SAAS,CAACI,UAAU,EAAE,0BAA0B,EAAE,IAAIC,0BAAS,CAAC;SAAC7B,UAAU,EAAE,CAAC0B,IAAI;QAAE,CAAC,CAAC;MACxG,CAAC;KACF5B,6BAAY,CAACC,SAAS,CAACxD,MAAM,CAACkF,cAAc,EAAE,EAAE,sBAAsB,EAAE,UAACxB,KAAK,EAAK;OAClFA,KAAK,CAACyB,IAAI,CAACH,GAAG,CAAC,GAAG;SAACO,MAAM,EAAE;QAAG;MAC9B,CAAC;;GACF;KAAA;KAAA,uBAQD;OAAA,IADKC,QAAQ,uEAAG,IAAI;OAEnB,IAAIA,QAAQ,EACZ;SACC,IAAI,CAACC,UAAU,CAACC,IAAI,CAACF,QAAQ,CAAC;;OAE/B,IAAI,IAAI,CAACG,OAAO,EAChB;SACC,IAAG;WACF,IAAI/D,MAAM;WACV,OAAO,CAACA,MAAM,GAAG,IAAI,CAAC6D,UAAU,CAACG,KAAK,EAAE,KAAKhE,MAAM,EACnD;aACCA,MAAM,CAACiE,KAAK,CAAC,IAAI,CAAC;;UAEnB,CACD,OAAMC,CAAC,EACP;WACCC,OAAO,CAACC,GAAG,CAAC,oCAAoC,EAAEF,CAAC,CAAC;;;;;KAGtD;KAAA,wBAGD;OACC,OAAO,IAAI,CAACd,GAAG;;;KACf;KAAA,+BAGD;OACC,OAAO,IAAI;;;KACX;KAAA,2BAEUG,IAAI,EACf;OAAA;OACC,IAAI,CAACpD,IAAI,CAAC,YAAM;SACf,IAAI,CAAC,KAAI,CAACkE,YAAY,EAAE,EACxB;WACC;;SAED,KAAI,CAAChB,SAAS,CAACiB,aAAa,yBAAiB,KAAI,CAACD,YAAY,EAAE,SAAK,CACnEvB,OAAO,CAAC,UAASyB,SAAS,EAAE;WAC3BA,SAAS,CAACd,UAAU,CAACe,WAAW,CAACD,SAAS,CAAC;UAC3C,CACD;QACF,CAAC;;;KACF;KAAA,oBAjDD;OACC,OAAO,IAAI;;;GACX;CAAA;;CCzBoC,IAEjBE,cAAc;GAAA;GAKlC,wBAAYrB,GAAG,EAAEC,SAAS,EAAEjF,MAAM,EAClC;KAAA;KAAA;KACC,4GAAMgF,GAAG,EAAEC,SAAS,EAAEjF,MAAM;KAAE,yFALd,IAAI;KAAA,wFACL,IAAI;KAMnB,IAAMsG,aAAa,GAAG,SAAhBA,aAAa,CAAIC,cAAc,EAAK;OACzC,MAAKA,cAAc,GAAGA,cAAc;OACpC,MAAKxE,IAAI,EAAE;OACX,IAAMyE,IAAI,GAAG,SAAPA,IAAI,CAAIlB,SAAoB,EAAK;SACtC/B,6BAAY,CAAC6B,IAAI,CAChBpF,MAAM,CAACkF,cAAc,EAAE,EACvB,yBAAyB,EACzBI,SAAS,CACT;QACD;OACD/B,6BAAY,CAACC,SAAS,CAAC,MAAK+C,cAAc,EAAE,gBAAgB,EAAEC,IAAI,CAAC,CAAC;OACpEjD,6BAAY,CAACC,SAAS,CAAC,MAAK+C,cAAc,EAAE,iBAAiB,EAAEC,IAAI,CAAC,CAAC;MACrE;;KAED,IAAIC,EAAE,CAACC,eAAe,CAACC,OAAO,CAAC3B,GAAG,CAAC,EACnC;OACCsB,aAAa,CAACG,EAAE,CAACC,eAAe,CAACC,OAAO,CAAC3B,GAAG,CAAC,CAAC;;KAE/CzB,6BAAY,CAACqD,aAAa,CAAC3B,SAAS,CAACI,UAAU,EAAE,6BAA6B,EAAE,gBAAmC;OAAA,sDAAjC5B,UAAU;SAAGoD,aAAa;OAC3G,MAAKA,aAAa,GAAGA,aAAa;OAClC,IAAI7B,GAAG,KAAK6B,aAAa,CAACC,GAAG,IAAI,CAAC,MAAKP,cAAc,EACrD;SACCD,aAAa,CAACO,aAAa,CAACE,KAAK,CAAC;;MAEnC,CAAC;KAEFxD,6BAAY,CAACC,SAAS,CAACxD,MAAM,CAACkF,cAAc,EAAE,EAAE,mBAAmB,EAAE,iBAAY;OAAA,IAAVC,IAAI,SAAJA,IAAI;OAC1E5B,6BAAY,CAAC6B,IAAI,CAACH,SAAS,CAACI,UAAU,EAAE,wBAAwB,EAAE,IAAIC,0BAAS,CAAC;SAAC7B,UAAU,EAAE,CAAC0B,IAAI;QAAE,CAAC,CAAC;MACtG,CAAC;KAAC;;GACH;KAAA;KAAA,+BAQD;OACC,IAAI,IAAI,CAAC0B,aAAa,EACtB;SACC,OAAO,IAAI,CAACA,aAAa,CAACG,MAAM,CAACC,WAAW;;OAE7C,OAAO,IAAI;;;KACX;KAAA,2BAEU9B,IAAI,EACf;OAAA;OACC,IAAI,CAACpD,IAAI,CAAC,YAAM;SACf,IAAI,CAAC,MAAI,CAACkE,YAAY,EAAE,EACxB;WACC;;SAEDiB,KAAK,CAACC,IAAI,CACT,MAAI,CAAClC,SAAS,CACZmC,gBAAgB,yBAAiB,MAAI,CAACnB,YAAY,EAAE,SAAK,CAC3D,CACAvB,OAAO,CAAC,UAASyB,SAAS,EAAE;WAC3BA,SAAS,CAACd,UAAU,CAACe,WAAW,CAACD,SAAS,CAAC;UAC3C,CACD;SACD,IAAIZ,MAAM,GAAG,IAAI;SACjB,KAAK,IAAI8B,EAAE,IAAIlC,IAAI,EACnB;WACC,IAAIA,IAAI,CAACmC,cAAc,CAACD,EAAE,CAAC,IACvBlC,IAAI,CAACkC,EAAE,CAAC,IAAIlC,IAAI,CAACkC,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK,WAAW,IACpDlC,IAAI,CAACkC,EAAE,CAAC,CAAC,YAAY,CAAC,KAAK,MAAI,CAACpB,YAAY,EAAE,EAClD;aACCV,MAAM,GAAGJ,IAAI,CAACkC,EAAE,CAAC,CAAC,OAAO,CAAC;;;SAI5B,IAAI9B,MAAM,EACV;WACC,IAAMgC,KAAK,GAAG,EAAE;WAEhBhC,MAAM,CAACb,OAAO,CAAC,UAAC5D,EAAE,EAAK;aACtB,IAAIgC,IAAI,GAAG0E,QAAQ,CAACtB,aAAa,CAAC,eAAe,GAAGpF,EAAE,CAAC;aACvD,IAAIgC,IAAI,CAAC2E,OAAO,KAAK,GAAG,EACxB;eACC3E,IAAI,GAAGA,IAAI,CAACoD,aAAa,CAAC,KAAK,CAAC;;aAEjC,IAAIpD,IAAI,EACR;eACCyE,KAAK,CAAC,GAAG,GAAGzG,EAAE,CAAC,GAAG;iBACjB4G,IAAI,EAAE,MAAM;iBACZ5G,EAAE,EAAEA,EAAE;iBACNZ,IAAI,EAAE4C,IAAI,CAACO,YAAY,CAAC,eAAe,CAAC,IAAIP,IAAI,CAACO,YAAY,CAAC,YAAY,CAAC;iBAC3EsE,IAAI,EAAE7E,IAAI,CAACO,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE;iBAC7CuE,OAAO,EAAE9E,IAAI,CAACO,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE;iBAChDwE,KAAK,EAAE/E,IAAI,CAACO,YAAY,CAAC,eAAe,CAAC;iBACzCyE,MAAM,EAAEhF,IAAI,CAACO,YAAY,CAAC,gBAAgB,CAAC;iBAC3C0E,OAAO,EAAE,MAAM;iBACfC,UAAU,EAAGlF,IAAI,CAAC2E,OAAO,KAAK,GAAG,GAAG,EAAE,GAAG3E,IAAI,CAACO,YAAY,CAAC,aAAa,CAAC,IAAIP,IAAI,CAACO,YAAY,CAAC,UAAU,CAAE;iBAC3G4E,MAAM,EAAEnF,IAAI,CAACO,YAAY,CAAC,mBAAmB;gBAC7C;eACD,IAAIP,IAAI,CAACM,YAAY,CAAC,kBAAkB,CAAC,EACxCmE,KAAK,CAAC,GAAG,GAAGzG,EAAE,CAAC,CAAC,OAAO,CAAC,GAAGgC,IAAI,CAACO,YAAY,CAAC,kBAAkB,CAAC;eACjE,IAAIP,IAAI,CAACM,YAAY,CAAC,qBAAqB,CAAC,EAC3CmE,KAAK,CAAC,GAAG,GAAGzG,EAAE,CAAC,CAAC,UAAU,CAAC,GAAGgC,IAAI,CAACO,YAAY,CAAC,qBAAqB,CAAC;;YAExE,CAAC;WACF,MAAI,CAACwD,aAAa,CAACqB,UAAU,CAAC,EAAE,EAAE,EAAE,EAAEX,KAAK,CAAC;;QAE7C,CAAC;;;KACF;KAAA,oBAxED;OACC,OAAO,CAAC,CAAC,IAAI,CAAChB,cAAc;;;GAC5B;CAAA,EA3C0CxB,UAAU;;;ACHtD,CAKA;CACA;CACA;CAFA,IAGqBoD,UAAU;GAAA;GAS9B,oBAAYnI,MAAc,EAAEC,UAAU,EACtC;KAAA;KAAA;KACC,wGAAMD,MAAM,EAAEC,UAAU;KAAE,6EATb,YAAY;KAAA,uFACX,IAAI;KAAA,iFACV,8BAA8B;KAAA,iFAEzB,IAAImI,GAAG;KAAA,sFACF,IAAIA,GAAG,EAAE;KAK3B,MAAKC,qBAAqB,GAAGC,iBAAO,CAACC,QAAQ,CAAC,MAAKC,YAAY,EAAE,GAAG,4CAAO;KAC3E,MAAKC,IAAI,EAAE;KACXlF,6BAAY,CAACC,SAAS,CAACxD,MAAM,CAAC0I,SAAS,EAAE,EAAE,kBAAkB,EAAE,MAAKF,YAAY,CAAC/H,IAAI,2CAAM,CAAC;KAC5F8C,6BAAY,CAACC,SAAS,CAACxD,MAAM,CAACkF,cAAc,EAAE,EAAE,sBAAsB,EAAE,gBAA0B;OAAA,gDAAxBC,IAAI;SAAGzE,IAAI;SAAEyE,IAAI;OAC1F,MAAKwD,MAAM,CAACjI,IAAI,EAAEyE,IAAI,CAAC;MACvB,CAAC;KAAC;;GACH;KAAA;KAAA,uBAGD;OAAA;OACC+B,KAAK,CAACC,IAAI,CACT,IAAI,CAACnH,MAAM,CAAC4I,YAAY,EAAE,CACxBxB,gBAAgB,CAAC,oBAAoB,CAAC,CACxC,CACA1C,OAAO,CAAC,UAACmE,YAAY,EAAEC,KAAK,EAAK;SACjC,IAAM9D,GAAG,GAAG6D,YAAY,CAAC/H,EAAE,CAACwB,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;SAC7D,IAAIyG,UAAU,GAAG,MAAI,CAACC,WAAW,CAACC,GAAG,CAACjE,GAAG,CAAC;SAC1C,IAAI,CAAC+D,UAAU,EACf;WACCA,UAAU,GAAG,IAAIhE,UAAU,CAACC,GAAG,EAAE6D,YAAY,EAAE,MAAI,CAAC7I,MAAM,CAAC;WAC3DuD,6BAAY,CAACC,SAAS,CAACqF,YAAY,CAACxD,UAAU,EAC7C,qBAAqB,EACrB,iBAAmD;aAAA,kDAAjDF,IAAI;eAAI+D,UAAU,iBAAVA,UAAU;eAAA;eAAIpI,EAAE,eAAFA,EAAE;eAAEqI,UAAU,eAAVA,UAAU;eAAErC,GAAG,eAAHA,GAAG;aAC1C,IAAI9B,GAAG,KAAKlE,EAAE,EACd;eACC,IAAMsI,YAAY,GAAG5B,QAAQ,CAACtB,aAAa,CAAC,GAAG,GAAG,MAAI,CAAClG,MAAM,CAACqJ,SAAS,EAAE,CAAC,GACzE7B,QAAQ,CAACtB,aAAa,CAAC,GAAG,GAAG,MAAI,CAAClG,MAAM,CAACqJ,SAAS,EAAE,CAAC,CAACnD,aAAa,CAAC,aAAa,CAAC,GAAG,IAAI;eAC1F,IAAIkD,YAAY,EAChB;iBACCA,YAAY,CAACE,KAAK,GAAGxC,GAAG;;eAEzB,uBAAmB,MAAI,CAACyC,SAAS,CAACV,YAAY,CAAC3C,aAAa,CAAC,GAAG,GAAGiD,UAAU,GAAGD,UAAU,CAAC,CAAC;iBAAA;iBAArFpI,GAAE;iBAAE0I,IAAI;eACf,MAAI,CAACjE,MAAM,CAACkE,GAAG,CAAC3I,GAAE,EAAE0I,IAAI,CAAC;;YAE1B,CAAC;WACHjG,6BAAY,CAACC,SAAS,CAACqF,YAAY,CAACxD,UAAU,EAC7C,oBAAoB,EACpB,iBAAkC;aAAA,wDAAhC5B,UAAU;eAAGwE,MAAM;eAAGnH,EAAE,uBAAFA,EAAE;aACzB,IAAIkE,GAAG,KAAKlE,EAAE,IAAI,MAAI,CAACyE,MAAM,CAACmE,GAAG,CAACzB,MAAM,CAAC,EACzC;eACC,MAAI,CAAC1C,MAAM,UAAO,CAAC0C,MAAM,CAAC;eAC1B,MAAI,CAAC0B,UAAU,CAAC,CAAC1B,MAAM,CAAC,CAAC;;YAE1B,CAAC;WACH,IAAIa,KAAK,KAAK,CAAC,EACf;aACCvF,6BAAY,CAACC,SAAS,CAAC,MAAI,CAACxD,MAAM,CAACkF,cAAc,EAAE,EAAE,mBAAmB,EAAE,UAACxB,KAAgB,EAAK;eAC/FA,KAAK,CAACkG,wBAAwB,EAAE;eAChC,IAAIjG,MAAM,CAAC,SAAS,GAAGqB,GAAG,CAAC,EAC3B;iBACCrB,MAAM,CAAC,SAAS,GAAGqB,GAAG,CAAC,CAAC+B,KAAK,CAAC8C,kBAAkB,gCAAKnG,KAAK,CAACoG,OAAO,EAAE,EAAE;;cAEvE,CAAC;;;SAGJ,IAAIjB,YAAY,CAAC3C,aAAa,CAAC,kBAAkB,CAAC,EAClD;WACCgB,KAAK,CAACC,IAAI,CACT0B,YAAY,CACV3C,aAAa,CAAC,kBAAkB,CAAC,CACjCkB,gBAAgB,CAAC,IAAI,CAAC,CACxB,CACA1C,OAAO,CAAC,UAACqF,EAAE,EAAK;aAChB,wBAAmB,MAAI,CAACR,SAAS,CAACQ,EAAE,CAAC;eAAA;eAA9BjJ,EAAE;eAAE0I,IAAI;aACf,MAAI,CAACjE,MAAM,CAACkE,GAAG,CAAC3I,EAAE,EAAE0I,IAAI,CAAC;YACzB,CAAC;;QAEH,CAAC;;;KACF;KAAA,0BAESO,EAAE,EACZ;OAAA;OACC,IAAMjJ,EAAE,GAAGiJ,EAAE,CAACjJ,EAAE,CAACwB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;OACtC,IAAM6C,IAAI,GAAG;SACZrE,EAAE,EAAEA,EAAE;SACNZ,IAAI,EAAE6J,EAAE,CAAC7D,aAAa,CAAC,oBAAoB,CAAC,GAAG6D,EAAE,CAAC7D,aAAa,CAAC,oBAAoB,CAAC,CAAC8D,SAAS,GAAGD,EAAE,CAAC7D,aAAa,CAAC,aAAa,CAAC,CAAC8D,SAAS;SAC3IlH,IAAI,EAAEiH,EAAE;SACRE,UAAU,EAAEF,EAAE,CAAC7D,aAAa,CAAC,6BAA6B,CAAC;SAC3DgE,KAAK,EAAE;WACN7J,GAAG,EAAE,IAAI;WACT8J,MAAM,EAAE,IAAI;WACZtC,KAAK,EAAE,IAAI;WACXC,MAAM,EAAE;;QAET;OACD,IAAMsC,UAAU,GAAG,SAAbA,UAAU,GAAS;SACxB,MAAI,CAACA,UAAU,CAACtJ,EAAE,EAAEiJ,EAAE,CAAC;QACvB;OACD,IAAMM,QAAQ,GAAGN,EAAE,CAAC7D,aAAa,CAAC,SAAS,CAAC;OAC5C,IAAImE,QAAQ,EACZ;SACCA,QAAQ,CAACC,gBAAgB,CAAC,OAAO,EAAEF,UAAU,CAAC;SAC9CC,QAAQ,CAACE,KAAK,CAACC,MAAM,GAAG,SAAS;SACjCH,QAAQ,CAAC3H,KAAK,GAAGpB,aAAG,CAACC,UAAU,CAAC,UAAU,CAAC;;OAE5C,IAAMkJ,SAAS,GAAGV,EAAE,CAAC7D,aAAa,CAAC,KAAK,CAAC;OACzC,IAAIuE,SAAS,EACb;SACCA,SAAS,CAACH,gBAAgB,CAAC,OAAO,EAAEF,UAAU,CAAC;SAC/CK,SAAS,CAAC/H,KAAK,GAAGpB,aAAG,CAACC,UAAU,CAAC,UAAU,CAAC;SAC5CkJ,SAAS,CAACF,KAAK,CAACC,MAAM,GAAG,SAAS;SAClCrF,IAAI,CAAC+E,KAAK,CAACC,MAAM,GAAGM,SAAS,CAACN,MAAM,IAAIM,SAAS,CAACpK,GAAG;SACrD8E,IAAI,CAAC+E,KAAK,CAAC7J,GAAG,GAAGoK,SAAS,CAACC,GAAG,IAAID,SAAS,CAACpK,GAAG;SAC/C8E,IAAI,CAAC+E,KAAK,CAACrC,KAAK,GAAG4C,SAAS,CAACpH,YAAY,CAAC,oBAAoB,CAAC;SAC/D8B,IAAI,CAAC+E,KAAK,CAACpC,MAAM,GAAG2C,SAAS,CAACpH,YAAY,CAAC,qBAAqB,CAAC;;OAGlE,IAAI0G,EAAE,YAAYY,mBAAmB,IAAIZ,EAAE,CAAC7D,aAAa,CAAC,aAAa,CAAC,EACxE;SACC,IAAI,CAACf,IAAI,CAAC8E,UAAU,EACpB;WACC9E,IAAI,CAAC8E,UAAU,GAAGW,aAAG,CAACC,MAAM,sUACDT,UAAU,EACe9I,aAAG,CAACC,UAAU,CAAC,yBAAyB,CAAC,EACxCD,aAAG,CAACC,UAAU,CAAC,kBAAkB,CAAC,CACnF;WAEJwI,EAAE,CAAC7D,aAAa,CAAC,aAAa,CAAC,CAAC4E,WAAW,CAAC3F,IAAI,CAAC8E,UAAU,CAAC;WAC5D,IAAI,CAAC5B,qBAAqB,EAAE;;;OAI9B,OAAO,CAACvH,EAAE,EAAEqE,IAAI,CAAC;;;KACjB;KAAA,0BAESrE,EAAE,EAAEqE,IAAI,EAClB;OAAA,IADoB4F,QAAQ,uEAAG,IAAI;OAElC,IAAM5G,KAAK,GAAG,IAAI,CAAClE,UAAU,CAAC2C,QAAQ,CAAC,KAAK,EAAE;SAACX,GAAG,EAAE,IAAI,CAACnB,EAAE;SAAEmH,MAAM,EAAEnH;QAAG,CAAC;OACzE,IAAIkK,IAAI,qCAA6BlK,EAAE,qBAASqD,KAAK,2FAA8EgB,IAAI,CAACjF,IAAI,YAAS;OAErJ,IAAIiF,IAAI,CAAC+E,KAAK,CAAC7J,GAAG,EAClB;SACC,IAAI4K,UAAU,GAAG,EAAE;SACnB,IAAIF,QAAQ,EACZ;WACCE,UAAU,CAACvF,IAAI,yBAAiBqF,QAAQ,CAAClD,KAAK,uBAAakD,QAAQ,CAACjD,MAAM,WAAO;UACjF,MACI,IAAI3C,IAAI,CAAC+E,KAAK,CAACrC,KAAK,IAAI1C,IAAI,CAAC+E,KAAK,CAACpC,MAAM,EAC9C;WACCmD,UAAU,CAACvF,IAAI,yBAAiBP,IAAI,CAAC+E,KAAK,CAACrC,KAAK,uBAAa1C,IAAI,CAAC+E,KAAK,CAACpC,MAAM,YAAQ;WACtFmD,UAAU,CAACvF,IAAI,gEAA8D;;SAG9EsF,IAAI,+DAAqDlK,EAAE,qBAASqD,KAAK,sBAAUgB,IAAI,CAAC+E,KAAK,CAAC7J,GAAG,yBAAa8E,IAAI,CAAC+E,KAAK,CAACC,MAAM,gBAAKc,UAAU,CAACC,IAAI,CAAC,GAAG,CAAC,OAAI;;OAG7J,OAAOF,IAAI;;;KACX;KAAA,0BAESlK,EAAE,EAAEkG,MAAM,EACpB;OACC,0BAAmBlG,EAAE,SAAGkG,MAAM,IAAE,EAAE;;;KAClC;KAAA,2BAEUlG,EAAU,EAAEgC,IAAI,EAC3B;OACC,IAAMqC,IAAI,GAAG,IAAI,CAACI,MAAM,CAAC0D,GAAG,CAACtE,MAAM,CAAC7D,EAAE,CAAC,CAAC;OAExC,IAAIqE,IAAI,EACR;SACC5B,6BAAY,CAAC6B,IAAI,CAAC,IAAI,CAACpF,MAAM,CAACkF,cAAc,EAAE,EAAE,iBAAiB,EAAE,CAAC,IAAI,CAACiG,SAAS,CAACrK,EAAE,CAAC,EAAE,IAAI,CAACsK,SAAS,CAACtK,EAAE,EAAEqE,IAAI,CAAC,CAAC,CAAC;;;;KAEnH;KAAA,2BAEUkG,OAAO,EAClB;OACC,IAAMlJ,OAAO,GAAG,IAAI,CAAClC,UAAU,CAACqL,UAAU,EAAE;OAE5C,IAAI,IAAI,CAACrL,UAAU,CAACsL,WAAW,EAAE,KAAK,SAAS,EAC/C;SACC,IAAMC,GAAG,GAAG,IAAI,CAACvL,UAAU,CAACwL,YAAY,EAAE;SAE1C,KAAK,IAAIpE,EAAE,IAAI,IAAI,CAACpH,UAAU,CAACyL,MAAM,EACrC;WACC,IAAI,IAAI,CAACzL,UAAU,CAACyL,MAAM,CAACpE,cAAc,CAACD,EAAE,CAAC,IACzC,uBAAO,IAAI,CAACpH,UAAU,CAACyL,MAAM,CAACrE,EAAE,CAAC,MAAK,QAAQ,IAC9C,IAAI,CAACpH,UAAU,CAACyL,MAAM,CAACrE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAACvG,EAAE,IAC7CuK,OAAO,CAACM,OAAO,CAAChH,MAAM,CAAC,IAAI,CAAC1E,UAAU,CAACyL,MAAM,CAACrE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAClEmE,GAAG,CAACI,cAAc,CAACvE,EAAE,CAAC,EAE1B;aACC,IAAMvE,IAAI,GAAG0I,GAAG,CAACI,cAAc,CAACvE,EAAE,CAAC;aACnCvE,IAAI,CAACuC,UAAU,CAACe,WAAW,CAACtD,IAAI,CAAC;;;SAGnC,IAAI,CAAC7C,UAAU,CAAC4L,WAAW,EAAE;QAC7B;SAED;WACC,IAAMC,QAAQ,GAAG3J,OAAO,CAACG,OAAO,CAAC,IAAI,CAACyJ,MAAM,EAAE,UAAStJ,GAAG,EAAEuJ,OAAO,EAAE;aACnE,OAAOX,OAAO,CAACM,OAAO,CAACK,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAGvJ,GAAG;YAChD,CAAC;WACF,IAAI,CAACxC,UAAU,CAACgM,UAAU,CAACH,QAAQ,CAAC;WACpC,IAAI,CAAC7L,UAAU,CAACiM,KAAK,EAAE;;;;KAExB;KAAA,6BAEYxI,KAAiB,EAC9B;OACC,IAAMvB,OAAO,GAAGuB,KAAK,GAAGA,KAAK,CAACD,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAACxD,UAAU,CAACqL,UAAU,EAAE;OAC1E,IAAMa,OAAO,GAAG,+BAAIhK,OAAO,CAACiK,QAAQ,CAAC,IAAI,CAACL,MAAM,CAAC,EAC/CM,GAAG,CAAC,iBAAiB;SAAA;WAAf7J,KAAK;WAAE1B,EAAE;SACf,OAAOA,EAAE;QACT,CAAC;OAEH,IAAI,CAACyE,MAAM,CAACb,OAAO,CAAC,UAACS,IAAI,EAAErE,EAAE,EAAK;SACjC,IAAI,CAACqE,IAAI,CAAC8E,UAAU,EACpB;WACC;;SAED,IAAMqC,IAAI,GAAGH,OAAO,CAACR,OAAO,CAAC7K,EAAE,CAAC,IAAI,CAAC;SACrC,IAAIwL,IAAI,KAAK,IAAI,IAAInH,IAAI,CAAC8E,UAAU,CAACsC,SAAS,KAAK,aAAa,EAChE;WACCpH,IAAI,CAAC8E,UAAU,CAACsC,SAAS,GAAG,aAAa;WACzCpH,IAAI,CAAC8E,UAAU,CAAC/D,aAAa,CAAC,0BAA0B,CAAC,CAACqE,KAAK,CAACiC,OAAO,GAAG,MAAM;WAChFrH,IAAI,CAAC8E,UAAU,CAAC/D,aAAa,CAAC,2BAA2B,CAAC,CAACqE,KAAK,CAACiC,OAAO,GAAG,EAAE;UAC7E,MACI,IAAIF,IAAI,KAAK,IAAI,IAAInH,IAAI,CAAC8E,UAAU,CAACsC,SAAS,KAAK,YAAY,EACpE;WACCpH,IAAI,CAAC8E,UAAU,CAACsC,SAAS,GAAG,YAAY;WACxCpH,IAAI,CAAC8E,UAAU,CAAC/D,aAAa,CAAC,0BAA0B,CAAC,CAACqE,KAAK,CAACiC,OAAO,GAAG,EAAE;WAC5ErH,IAAI,CAAC8E,UAAU,CAAC/D,aAAa,CAAC,2BAA2B,CAAC,CAACqE,KAAK,CAACiC,OAAO,GAAG,MAAM;;QAElF,CAAC;;;KACF;KAAA,uBAEM9L,IAAI,EAAEyE,IAAI,EACjB;OACC,IAAI,CAACI,MAAM,CAACb,OAAO,CAAC,UAAC8E,IAAI,EAAE1I,EAAE,EAAK;SACjC,IAAI0I,IAAI,CAAC1G,IAAI,IAAI0G,IAAI,CAAC1G,IAAI,CAACuC,UAAU,EACrC;WACCmE,IAAI,CAAC1G,IAAI,CAACuC,UAAU,CAACe,WAAW,CAACoD,IAAI,CAAC1G,IAAI,CAAC;;QAE5C,CAAC;OACF,IAAI,CAACyC,MAAM,CAACkH,KAAK,EAAE;OAEnB,IAAI,CAACzD,WAAW,CAACtE,OAAO,CAAC,UAACqE,UAAsB,EAAK;SACpDA,UAAU,CAAC2D,UAAU,CAACvH,IAAI,CAAC;QAC3B,CAAC;;;KACF;KAAA,sBAEKhD,OAAO,EACb;OACC,IAAI,CAAC,IAAI,CAAC4J,MAAM,CAAC1J,IAAI,CAACF,OAAO,CAAC,EAC9B;SACC,OAAOA,OAAO;;OAEfA,OAAO,GAAGA,OAAO,CAACG,OAAO,CACxB,IAAI,CAACyJ,MAAM,EACX,UAAStJ,GAAG,EAAE3B,EAAE,EAAE+G,KAAK,EAAEC,MAAM,EAC/B;SACC,IAAI,IAAI,CAACvC,MAAM,CAACmE,GAAG,CAAC5I,EAAE,CAAC,EACvB;WACC,OAAO,IAAI,CAACsK,SAAS,CAACtK,EAAE,EAAE,IAAI,CAACyE,MAAM,CAAC0D,GAAG,CAACnI,EAAE,CAAC,EAAG+G,KAAK,GAAG,CAAC,IAAIC,MAAM,GAAG,CAAC,GAAG;aAACD,KAAK,EAALA,KAAK;aAAEC,MAAM,EAANA;YAAO,GAAG,IAAI,CAAE;;SAEnG,OAAOrF,GAAG;QACV,CAAChC,IAAI,CAAC,IAAI,CAAC,CACZ;OACD,OAAO0B,OAAO;;;KACd;KAAA,wBAEOxB,KAAK,SACb;OAAA,IADgBmC,IAAI,SAAJA,IAAI;OAEnB,IAAM+E,KAAK,GAAG8E,QAAQ,CAAC7J,IAAI,CAACM,YAAY,CAAC,OAAO,CAAC,GAAGN,IAAI,CAACO,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;OACnF,IAAMyE,MAAM,GAAG6E,QAAQ,CAAC7J,IAAI,CAACM,YAAY,CAAC,QAAQ,CAAC,GAAGN,IAAI,CAACO,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;OACtF,IAAI2D,MAAM,GAAG,EAAE;OAEf,IAAIa,KAAK,GAAG,CAAC,IAAIC,MAAM,GAAG,CAAC,EAC3B;SACCd,MAAM,GAAG,SAAS,GAAGa,KAAK,GAAG,UAAU,GAAGC,MAAM;;OAGjD,IAAMhH,EAAE,GAAGgC,IAAI,CAACO,YAAY,CAAC,iBAAiB,CAAC;OAC/C,OAAO,IAAI,CAAC8H,SAAS,CAACrK,EAAE,EAAEkG,MAAM,CAAC;;;GACjC;CAAA,EA9RsCjH,OAAO;;CCD/C;CACA;CACA;CAFA,IAGqB6M,WAAW;GAAA;GAS/B,qBAAY5M,MAAc,EAAEC,UAAU,EACtC;KAAA;KAAA;KACC,yGAAMD,MAAM,EAAEC,UAAU;KAAE,6EATb,aAAa;KAAA,uFACZ,IAAI;KAAA,iFACV,+BAA+B;KAAA,iFAE1B,IAAImI,GAAG;KAAA,sFACF,IAAIA,GAAG,EAAE;KAK3B,MAAKK,IAAI,EAAE;KACX1C,OAAO,CAACC,GAAG,CAAC,aAAa,CAAC;KAE1BzC,6BAAY,CAACC,SAAS,CAACxD,MAAM,CAACkF,cAAc,EAAE,EAAE,sBAAsB,EAAE,gBAA0B;OAAA,gDAAxBC,IAAI;SAAGzE,IAAI;SAAEyE,IAAI;OAC1F,MAAKwD,MAAM,CAACjI,IAAI,EAAEyE,IAAI,CAAC;MACvB,CAAC;KAAC;;GACH;KAAA;KAAA,uBAGD;OAAA;OACC+B,KAAK,CAACC,IAAI,CACT,IAAI,CAACnH,MAAM,CAAC4I,YAAY,EAAE,CACxBxB,gBAAgB,CAAC,oBAAoB,CAAC,CACxC,CACA1C,OAAO,CAAC,UAACmE,YAAY,EAAK;SAC1B,IAAM7D,GAAG,GAAG6D,YAAY,CAAC/H,EAAE,CAACwB,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;SAC7D,IAAIyG,UAAU,GAAG,MAAI,CAACC,WAAW,CAACC,GAAG,CAACjE,GAAG,CAAC;SAC1C,IAAI,CAAC+D,UAAU,EACf;WACCA,UAAU,GAAG,IAAIhE,UAAU,CAACC,GAAG,EAAE6D,YAAY,EAAE,MAAI,CAAC7I,MAAM,CAAC;WAC3DuD,6BAAY,CAACC,SAAS,CAACqF,YAAY,CAACxD,UAAU,EAC7C,qBAAqB,EACrB,iBAAmD;aAAA,kDAAjDF,IAAI;eAAI+D,UAAU,iBAAVA,UAAU;eAAA;eAAIpI,EAAE,eAAFA,EAAE;eAAEqI,UAAU,eAAVA,UAAU;eAAErC,GAAG,eAAHA,GAAG;aAC1C,IAAI9B,GAAG,KAAKlE,EAAE,EACd;eACC,IAAMsI,YAAY,GAAG5B,QAAQ,CAACtB,aAAa,CAAC,GAAG,GAAG,MAAI,CAAClG,MAAM,CAACqJ,SAAS,EAAE,CAAC,GACzE7B,QAAQ,CAACtB,aAAa,CAAC,GAAG,GAAG,MAAI,CAAClG,MAAM,CAACqJ,SAAS,EAAE,CAAC,CAACnD,aAAa,CAAC,aAAa,CAAC,GAAG,IAAI;eAC1F,IAAIkD,YAAY,EAChB;iBACCA,YAAY,CAACE,KAAK,GAAGxC,GAAG;;eAEzB,uBAAmB,MAAI,CAACyC,SAAS,CAACV,YAAY,CAAC3C,aAAa,CAAC,GAAG,GAAGiD,UAAU,GAAGD,UAAU,CAAC,CAAC;iBAAA;iBAArFpI,GAAE;iBAAE0I,IAAI;eACf,MAAI,CAACjE,MAAM,CAACkE,GAAG,CAAC3I,GAAE,EAAE0I,IAAI,CAAC;;YAE1B,CAAC;WACHjG,6BAAY,CAACC,SAAS,CAACqF,YAAY,CAACxD,UAAU,EAC7C,oBAAoB,EACpB,iBAAkC;aAAA,wDAAhC5B,UAAU;eAAGwE,MAAM;eAAGnH,EAAE,uBAAFA,EAAE;aACzB,IAAIkE,GAAG,KAAKlE,EAAE,IAAI,MAAI,CAACyE,MAAM,CAACmE,GAAG,CAACzB,MAAM,CAAC,EACzC;eACC,MAAI,CAAC1C,MAAM,UAAO,CAAC0C,MAAM,CAAC;;YAE3B,CAAC;;SAGJ,IAAIY,YAAY,CAAC3C,aAAa,CAAC,kBAAkB,CAAC,EAClD;WACCgB,KAAK,CAACC,IAAI,CACT0B,YAAY,CACV3C,aAAa,CAAC,kBAAkB,CAAC,CACjCkB,gBAAgB,CAAC,IAAI,CAAC,CACxB,CACA1C,OAAO,CAAC,UAACqF,EAAE,EAAK;aAChB,wBAAmB,MAAI,CAACR,SAAS,CAACQ,EAAE,CAAC;eAAA;eAA9BjJ,EAAE;eAAE0I,IAAI;aACf,MAAI,CAACjE,MAAM,CAACkE,GAAG,CAAC3I,EAAE,EAAE0I,IAAI,CAAC;YACzB,CAAC;;QAEH,CAAC;;;KACF;KAAA,0BAESO,EAAE,EACZ;OACC,IAAMjJ,EAAE,GAAGiJ,EAAE,CAACjJ,EAAE,CAACwB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;OACtC,IAAM6C,IAAI,GAAG;SACZrE,EAAE,EAAEA,EAAE;SACNZ,IAAI,EAAE6J,EAAE,CAAC7D,aAAa,CAAC,oBAAoB,CAAC,GAAG6D,EAAE,CAAC7D,aAAa,CAAC,oBAAoB,CAAC,CAAC8D,SAAS,GAAGD,EAAE,CAAC7D,aAAa,CAAC,aAAa,CAAC,CAAC8D,SAAS;SAC3IlH,IAAI,EAAEiH,EAAE;SACRG,KAAK,EAAE;WACN7J,GAAG,EAAE,IAAI;WACT8J,MAAM,EAAE,IAAI;WACZtC,KAAK,EAAE,IAAI;WACXC,MAAM,EAAE;;QAET;OACD,OAAO,CAAChH,EAAE,EAAEqE,IAAI,CAAC;;;KACjB;KAAA,uBAEMzE,IAAI,EAAEyE,IAAI,EACjB;OACC,IAAI,CAACI,MAAM,CAACb,OAAO,CAAC,UAAC8E,IAAI,EAAE1I,EAAE,EAAK;SACjC,IAAI0I,IAAI,CAAC1G,IAAI,IAAI0G,IAAI,CAAC1G,IAAI,CAACuC,UAAU,EACrC;WACCmE,IAAI,CAAC1G,IAAI,CAACuC,UAAU,CAACe,WAAW,CAACoD,IAAI,CAAC1G,IAAI,CAAC;;QAE5C,CAAC;OACF,IAAI,CAACyC,MAAM,CAACkH,KAAK,EAAE;OAEnB,IAAI,CAACzD,WAAW,CAACtE,OAAO,CAAC,UAACqE,UAAsB,EAAK;SACpDA,UAAU,CAAC2D,UAAU,CAACvH,IAAI,CAAC;QAC3B,CAAC;;;KACF;KAAA,sBAEKhD,OAAO,EACb;OACC,OAAOA,OAAO;;;KACd;KAAA,wBAEOxB,KAAK,SACb;OAAA,IADgBmC,IAAI,SAAJA,IAAI;OAEnB,OAAO,EAAE;;;GACT;CAAA,EAhHuC/C,OAAO;;;ACVhD,CAKA;CACA;CACA;CAFA,IAGqB8M,QAAQ;GAAA;GAAA;KAAA;KAAA;KAAA;KAAA;OAAA;;KAAA;KAAA,6EAEd,UAAU;KAAA,iFACf,8CAA8C;KAAA;;GAAA;KAAA;KAAA,uBAGvD;OAAA;OACC3F,KAAK,CAACC,IAAI,CACT,IAAI,CAACnH,MAAM,CAAC4I,YAAY,EAAE,CACxBxB,gBAAgB,CAAC,sBAAsB,CAAC,CAC1C,CACA1C,OAAO,CAAC,UAACmE,YAAY,EAAEC,KAAK,EAAK;SACjC,IAAM9D,GAAG,GAAG6D,YAAY,CAAC/H,EAAE,CAACwB,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC;SAC/D,IAAIyG,UAAU,GAAG,MAAI,CAACC,WAAW,CAACC,GAAG,CAACjE,GAAG,CAAC;SAC1C,IAAI,CAAC+D,UAAU,EACf;WACCA,UAAU,GAAG,IAAI1C,cAAc,CAACrB,GAAG,EAAE6D,YAAY,EAAE,MAAI,CAAC7I,MAAM,CAAC;WAC/D,MAAI,CAACgJ,WAAW,CAACS,GAAG,CAACzE,GAAG,EAAE+D,UAAU,CAAC;WAErCxF,6BAAY,CAACC,SAAS,CAACqF,YAAY,CAACxD,UAAU,EAC7C,qBAAqB,EACrB,gBAAyC;aAAA,gDAAvCF,IAAI;eAAI+D,UAAU,gBAAVA,UAAU;eAAIpC,GAAG,gBAAHA,GAAG;eAAGgG,IAAI;aACjC,IAAI/D,UAAU,CAACgE,KAAK,EAAE,KAAKjG,GAAG,IAAI,MAAI,CAACvB,MAAM,CAACmE,GAAG,CAACR,UAAU,CAAC,EAC7D;eACC;;aAED,uBAA2B,MAAI,CAACK,SAAS,CAACV,YAAY,CAAC3C,aAAa,CAAC,mBAAmB,GAAGgD,UAAU,CAAC,CAAC;eAAA;eAAhGpI,EAAE;eAAEmH,MAAM;eAAEuB,IAAI;aACvB,MAAI,CAACjE,MAAM,CAACkE,GAAG,CAAC3I,EAAE,EAAE0I,IAAI,CAAC;aACzB,IAAI1I,EAAE,KAAKmH,MAAM,EACjB;eACC,MAAI,CAAC1C,MAAM,CAACkE,GAAG,CAACxB,MAAM,EAAEuB,IAAI,CAAC;;aAE9B,IAAIsD,IAAI,IAAIA,IAAI,CAAC,wBAAwB,CAAC,IAAItD,IAAI,CAACU,KAAK,CAAC7J,GAAG,EAC5D;eACC,MAAI,CAAC+J,UAAU,CAACtJ,EAAE,EAAE0I,IAAI,CAAC1G,IAAI,CAAC;;YAE/B,CAAC;WACHS,6BAAY,CAACC,SAAS,CAACqF,YAAY,CAACxD,UAAU,EAC7C,oBAAoB,EACpB,iBAAmC;aAAA,wDAAjC5B,UAAU;eAAGwE,MAAM;eAAGnB,GAAG,uBAAHA,GAAG;aAE1B,IAAIiC,UAAU,CAACgE,KAAK,EAAE,KAAKjG,GAAG,IAAI,MAAI,CAACvB,MAAM,CAACmE,GAAG,CAACzB,MAAM,CAAC,EACzD;eACC,IAAMuB,IAAI,GAAG,MAAI,CAACjE,MAAM,CAAC0D,GAAG,CAAChB,MAAM,CAAC;eACpC,MAAI,CAAC1C,MAAM,UAAO,CAACiE,IAAI,CAAC1I,EAAE,CAAC;eAC3B,MAAI,CAACyE,MAAM,UAAO,CAACiE,IAAI,CAACvB,MAAM,CAAC;eAC/B,MAAI,CAAC0B,UAAU,CAAC,CAACH,IAAI,CAAC1I,EAAE,EAAE0I,IAAI,CAACvB,MAAM,CAAC,CAAC;;YAExC,CAAC;WACH1E,6BAAY,CAACC,SAAS,CAACqF,YAAY,CAACxD,UAAU,EAC7C,oBAAoB,EACpB,iBAAuC;aAAA,wDAArC5B,UAAU;eAAG+F,IAAI;eAAG1C,GAAG,uBAAHA,GAAG;eAAGgG,IAAI;aAC/B,IAAI/D,UAAU,CAACgE,KAAK,EAAE,KAAKjG,GAAG,IAAIgG,IAAI,IAAIA,IAAI,CAAC,kBAAkB,CAAC,EAClE;eACCrG,EAAE,CAACuG,aAAa,CAACF,IAAI,CAAC,kBAAkB,CAAC,EAAE,4BAA4B,EAAE,EAAE,CAAC;eAC5ErG,EAAE,CAACuG,aAAa,CAAC,MAAI,CAAChN,MAAM,EAAE,4BAA4B,EAAE,CAAC8M,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;;YAExF,CACD;WACD,IAAIhE,KAAK,KAAK,CAAC,EACf;aACCmE,uCAAuC,CAAC,MAAI,EAAElE,UAAU,EAAEF,YAAY,EAAE,MAAI,CAAC7I,MAAM,CAAC;aACpFkN,uCAAuC,CAAC,MAAI,EAAEnE,UAAU,EAAEF,YAAY,EAAE,MAAI,CAAC7I,MAAM,CAAC;aACpFuD,6BAAY,CAACC,SAAS,CAAC,MAAI,CAACxD,MAAM,CAACkF,cAAc,EAAE,EAAE,mBAAmB,EAAE,UAACxB,KAAgB,EAAK;eAC/FA,KAAK,CAACkG,wBAAwB,EAAE;eAChCb,UAAU,CAACxC,cAAc,CAAC4G,QAAQ,gCAAKzJ,KAAK,CAACoG,OAAO,EAAE,EAAE;cACxD,CAAC;;;SAIJ,IAAIjB,YAAY,CAAC3C,aAAa,CAAC,kBAAkB,CAAC,EAClD;WACCgB,KAAK,CAACC,IAAI,CACT0B,YAAY,CACV3C,aAAa,CAAC,kBAAkB,CAAC,CACjCkB,gBAAgB,CAAC,IAAI,CAAC,CACxB,CACA1C,OAAO,CAAC,UAACqF,EAAE,EAAK;aAChB,wBAA2B,MAAI,CAACR,SAAS,CAACQ,EAAE,CAAC;eAAA;eAAtCjJ,EAAE;eAAEmH,MAAM;eAAEuB,IAAI;aACvB,MAAI,CAACjE,MAAM,CAACkE,GAAG,CAAC3I,EAAE,EAAE0I,IAAI,CAAC;aACzB,IAAI1I,EAAE,KAAKmH,MAAM,EACjB;eACC,MAAI,CAAC1C,MAAM,CAACkE,GAAG,CAACxB,MAAM,EAAEuB,IAAI,CAAC;;YAE9B,CAAC;;QAEH,CAAC;;;KACF;KAAA,0BAESO,EAAE,EACZ;OAAA;OACC,IAAMjJ,EAAE,GAAG6D,MAAM,CAACoF,EAAE,CAACjJ,EAAE,CAACwB,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;OAExD,IAAM6C,IAAI,GAAG;SACZrE,EAAE,EAAEA,EAAE;SACNZ,IAAI,EAAE6J,EAAE,CAAC7D,aAAa,CAAC,oBAAoB,CAAC,GAAG6D,EAAE,CAAC7D,aAAa,CAAC,oBAAoB,CAAC,CAAC8D,SAAS,GAAGD,EAAE,CAAC7D,aAAa,CAAC,aAAa,CAAC,CAAC8D,SAAS;SAC3I/B,MAAM,EAAE8B,EAAE,CAAC1G,YAAY,CAAC,mBAAmB,CAAC;SAC5CP,IAAI,EAAEiH,EAAE;SACRE,UAAU,EAAEF,EAAE,CAAC7D,aAAa,CAAC,6BAA6B,CAAC;SAC3DgE,KAAK,EAAE;WACN7J,GAAG,EAAE,IAAI;WACT8J,MAAM,EAAE,IAAI;WACZtC,KAAK,EAAE,IAAI;WACXC,MAAM,EAAE;;QAET;OACD,IAAMuC,QAAQ,GAAGN,EAAE,CAAC7D,aAAa,CAAC,SAAS,CAAC;OAC5C,IAAMkE,UAAU,GAAG,SAAbA,UAAU,GAAS;SAAE,MAAI,CAACA,UAAU,CAACtJ,EAAE,EAAEiJ,EAAE,CAAC;QAAG;OACrD,IAAIM,QAAQ,EACZ;SACCA,QAAQ,CAACC,gBAAgB,CAAC,OAAO,EAAEF,UAAU,CAAC;SAC9CC,QAAQ,CAACE,KAAK,CAACC,MAAM,GAAG,SAAS;SACjCH,QAAQ,CAAC3H,KAAK,GAAGpB,aAAG,CAACC,UAAU,CAAC,UAAU,CAAC;;OAE5C,IAAMkJ,SAAS,GAAGV,EAAE,CAAC7D,aAAa,CAAC,mBAAmB,CAAC;OAEvD,IAAIuE,SAAS,KAAKA,SAAS,CAACpK,GAAG,CAACsL,OAAO,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAIlB,SAAS,CAACpK,GAAG,CAACsL,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,EAC1H;SACClB,SAAS,CAACH,gBAAgB,CAAC,OAAO,EAAEF,UAAU,CAAC;SAC/CK,SAAS,CAAC/H,KAAK,GAAGpB,aAAG,CAACC,UAAU,CAAC,UAAU,CAAC;SAC5CkJ,SAAS,CAACF,KAAK,CAACC,MAAM,GAAG,SAAS;SAClCrF,IAAI,CAAC+E,KAAK,CAACC,MAAM,GAAGM,SAAS,CAACN,MAAM,IAAIM,SAAS,CAACpK,GAAG;SACrD8E,IAAI,CAAC+E,KAAK,CAAC7J,GAAG,GAAG,CAACoK,SAAS,CAACC,GAAG,IAAID,SAAS,CAACpH,YAAY,CAAC,aAAa,CAAC,IAAIoH,SAAS,CAACpK,GAAG,EAAEiC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;SAC/H,IAAM9B,OAAO,GAAG,SAAVA,OAAO,GAAS;WACrB2E,IAAI,CAAC+E,KAAK,CAACrC,KAAK,GAAG4C,SAAS,CAACpH,YAAY,CAAC,oBAAoB,CAAC;WAC/D8B,IAAI,CAAC+E,KAAK,CAACpC,MAAM,GAAG2C,SAAS,CAACpH,YAAY,CAAC,qBAAqB,CAAC;UACjE;SACDoH,SAAS,CAACH,gBAAgB,CAAC,MAAM,EAAE9J,OAAO,CAAC;SAC3C,IAAIiK,SAAS,CAAC2C,QAAQ,EACtB;WACC5M,OAAO,EAAE;;;OAGX,IAAIuJ,EAAE,YAAYY,mBAAmB,IAAI,CAACxF,IAAI,CAAC8E,UAAU,EACzD;SACC9E,IAAI,CAAC8E,UAAU,GAAGW,aAAG,CAACC,MAAM,mVAC+BT,UAAU,EAChB9I,aAAG,CAACC,UAAU,CAAC,yBAAyB,CAAC,EACjBD,aAAG,CAACC,UAAU,CAAC,kBAAkB,CAAC,CAC1G;SACL8L,UAAU,CAAC,YAAM;WAChB,IAAKtD,EAAE,CAAC7D,aAAa,CAAC,aAAa,CAAC,EACpC;aACC6D,EAAE,CAAC7D,aAAa,CAAC,aAAa,CAAC,CAAC4E,WAAW,CAAC3F,IAAI,CAAC8E,UAAU,CAAC;aAC5D,MAAI,CAAC5B,qBAAqB,EAAE;;UAE7B,CAAC;;OAEH,OAAO,CAACvH,EAAE,EAAEqE,IAAI,CAAC8C,MAAM,EAAE9C,IAAI,CAAC;;;KAC9B;KAAA,0BAESrE,EAAE,EAAEkG,MAAM,EACpB;OACC,+BAAwBlG,EAAE,SAAGkG,MAAM,IAAE,EAAE;;;GACvC;CAAA,EA1JoCmB,UAAU;AAAA,CA6JhD,SAAS8E,uCAAuC,CAACK,cAAwB,EAAEvE,UAA0B,EAAEF,YAAY,EAAE7I,MAAc,EACnI;GACCuD,6BAAY,CAACC,SAAS,CAACxD,MAAM,CAACkF,cAAc,EAAE,EAAE,kBAAkB,EAAE,UAACxB,KAAgB,EAAK;KACzF,IAAM6J,YAAY,GAAG7J,KAAK,CAACoG,OAAO,EAAE;KACpC,IAAM0D,SAAS,GAAG,SAAZA,SAAS,QAAyC;OAAA,kDAApCrI,IAAI;SAAI+D,UAAU,iBAAVA,UAAU;OAAA;OAAA,IAAO4D,IAAI;OAChD,IAAIS,YAAY,KAAKT,IAAI,IAAIQ,cAAc,CAAC/H,MAAM,CAACmE,GAAG,CAACR,UAAU,CAAC,EAClE;SACC3F,6BAAY,CAACkK,WAAW,CAAC5E,YAAY,CAACxD,UAAU,EAAE,qBAAqB,EAAEmI,SAAS,CAAC;SACnFF,cAAc,CAAClD,UAAU,CAAClB,UAAU,EAAEoE,cAAc,CAAC/H,MAAM,CAAC0D,GAAG,CAACC,UAAU,CAAC,CAACpG,IAAI,CAAC;;MAElF;KACDS,6BAAY,CAACC,SAAS,CAACqF,YAAY,CAACxD,UAAU,EAAE,qBAAqB,EAAEmI,SAAS,CAAC;KACjFzE,UAAU,CAAChH,IAAI,CAAC,YAAM;OACrBgH,UAAU,CAACxC,cAAc,CAAC4G,QAAQ,CAAC,CAACI,YAAY,CAAC,CAAC;MAClD,CAAC;KACF7J,KAAK,CAACkG,wBAAwB,EAAE;IAChC,CAAC;CACH;CACA,SAASsD,uCAAuC,CAACI,cAAwB,EAAEvE,UAA0B,EAAEF,YAAY,EAAE7I,MAAc,EACnI;GACCuD,6BAAY,CAACC,SAAS,CAACxD,MAAM,CAACkF,cAAc,EAAE,EAAE,kBAAkB,EAAE,UAACxB,KAAgB,EAAK;KACzFA,KAAK,CAACkG,wBAAwB,EAAE;KAChC,IAAM2D,YAAY,GAAG7J,KAAK,CAACoG,OAAO,EAAE;KACpC,OAAO,IAAI4D,OAAO,CAAC,UAACC,OAAO,EAAEC,MAAM,EAAK;OACvC,IAAMJ,SAAS,GAAG,SAAZA,SAAS,QAAyC;SAAA,kDAApCrI,IAAI;WAAI+D,UAAU,iBAAVA,UAAU;SAAA;SAAA,IAAO4D,IAAI;SAChD,IAAIS,YAAY,KAAKT,IAAI,IAAIQ,cAAc,CAAC/H,MAAM,CAACmE,GAAG,CAACR,UAAU,CAAC,EAClE;WACC3F,6BAAY,CAACkK,WAAW,CAAC5E,YAAY,CAACxD,UAAU,EAAE,qBAAqB,EAAEmI,SAAS,CAAC;WACnFjK,6BAAY,CAACkK,WAAW,CAAC5E,YAAY,CAACxD,UAAU,EAAE,oBAAoB,EAAEwI,QAAQ,CAAC;WAEjF,IAAMrE,IAAI,GAAG8D,cAAc,CAAC/H,MAAM,CAAC0D,GAAG,CAACC,UAAU,CAAC;WAClD,IAAM8B,IAAI,GAAGsC,cAAc,CAAClC,SAAS,CAAClC,UAAU,EAAEM,IAAI,CAAC;WACvDmE,OAAO,CAAC;aAACzD,KAAK,EAAEV,IAAI,CAACU,KAAK;aAAEc,IAAI,EAAEA;YAAK,CAAC;;QAEzC;OACD,IAAM6C,QAAQ,GAAG,SAAXA,QAAQ,QAAiC;SAAA,kDAA5B1I,IAAI;WAAGqE,IAAI;SAAA;SAAA,IAAMsD,IAAI;SACvC,IAAIS,YAAY,KAAKT,IAAI,EACzB;WACCvJ,6BAAY,CAACkK,WAAW,CAAC5E,YAAY,CAACxD,UAAU,EAAE,qBAAqB,EAAEmI,SAAS,CAAC;WACnFjK,6BAAY,CAACkK,WAAW,CAAC5E,YAAY,CAACxD,UAAU,EAAE,oBAAoB,EAAEwI,QAAQ,CAAC;WACjFD,MAAM,EAAE;;QAET;OACDrK,6BAAY,CAACC,SAAS,CAACqF,YAAY,CAACxD,UAAU,EAAE,qBAAqB,EAAEmI,SAAS,CAAC;OACjFjK,6BAAY,CAACC,SAAS,CAACqF,YAAY,CAACxD,UAAU,EAAE,oBAAoB,EAAEwI,QAAQ,CAAC;OAE/E9E,UAAU,CAAChH,IAAI,CAAC,YAAM;SACrBgH,UAAU,CAACxC,cAAc,CAAC4G,QAAQ,CAAC,CAACzJ,KAAK,CAACoG,OAAO,EAAE,CAAC,CAAC;QACrD,CAAC;MACF,CAAC;IACF,CAAC;CACH;;CCvNgC,IAEXgE,gBAAgB;GAAA;GAAA;KAAA;KAAA;KAAA;KAAA;OAAA;;KAAA;KAAA,6EAEvB,oBAAoB;KAAA,uFACT;OACvB5N,IAAI,EAAE,oBAAoB;OAC1BC,aAAa,EAAE,mCAAmC;OAClDC,mBAAmB,EAAE,KAAK;OAC1BE,WAAW,EAAE,GAAG;OAChBC,OAAO,EAAE;MACT;KAAA;;GAAA;KAAA;KAAA,0BAGD;OAAA;OACC,IAAI,CAAC,IAAI,CAACP,MAAM,CAAC+N,+BAA+B,EAAE,EAClD;SACCC,GAAG,CAACvH,EAAE,CAACwH,EAAE,CAACC,UAAU,CAACC,IAAI,CAAC,mBAAmB,CAAC;SAE9C;;OAGD7F,iBAAO,CAAC8F,aAAa,CAAC,WAAW,CAAC,CAACC,IAAI,CAAC,YAAM;SAC7C,IAAMC,aAAa,GAAG,IAAI7H,EAAE,CAAC8H,EAAE,CAACC,MAAM,CAAC;WACtCC,QAAQ,EAAE,MAAM;WAChBC,SAAS,EAAE,QAAQ,GAAGpN,aAAG,CAACC,UAAU,CAAC,SAAS,CAAC;WAC/CoN,aAAa,EAAE,kCAAkC;WACjDC,UAAU,EAAE,KAAK;WACjBC,OAAO,EAAE,IAAI;WACbC,QAAQ,EAAE,kBAACC,QAAQ,EAAK;aACvBC,KAAK,CAACD,QAAQ,CAAC,CACbV,IAAI,CAAC,UAACY,QAAQ;eAAA,OAAKA,QAAQ,CAACnC,IAAI,EAAE;eAAC,CACnCuB,IAAI,CAAC,UAACa,MAAY,EAAK;eACvBzI,EAAE,CAACuG,aAAa,CAACrJ,MAAM,EAAE,mBAAmB,EAAE,CAACuL,MAAM,EAAE,MAAI,CAAClP,MAAM,CAACqJ,SAAS,EAAE,CAAC,CAAC;cAChF,CAAC;;UAGJ,CAAC;SACFiF,aAAa,CAACa,YAAY,CAAC1I,EAAE,CAAC8H,EAAE,CAACC,MAAM,CAACY,SAAS,CAAClF,KAAK,CAAC;SACxDoE,aAAa,CAACpE,KAAK,EAAE;QACrB,CAAC;;;KACF;KAAA,sBAEK/H,OAAO,EAAEC,QAAQ,EACvB;OACC,OAAOD,OAAO;;;KACd;KAAA,wBAEOxB,KAAK,EAAEC,KAAK,EACpB;OACC,OAAO,EAAE;;;GACT;CAAA,EAjD4Cb,OAAO;;CCKrD,SAASsP,cAAc,CAACpO,QAAQ,EAAEjB,MAAM,EAAEC,UAAU,EACpD;GACC,IAAIgB,QAAQ,KAAK,SAAS,EAC1B;KACC,OAAO,IAAII,OAAO,CAACrB,MAAM,EAAEC,UAAU,CAAC;;GAEvC,IAAIgB,QAAQ,KAAK,aAAa,EAC9B;KACC,OAAO,IAAIqC,QAAQ,CAACtD,MAAM,EAAEC,UAAU,CAAC;;GAExC,IAAIgB,QAAQ,KAAK,aAAa,EAC9B;KACC,OAAO,IAAI2L,WAAW,CAAC5M,MAAM,EAAEC,UAAU,CAAC;;GAE3C,IAAIgB,QAAQ,KAAK,YAAY,EAC7B;KACC,OAAO,IAAIkH,UAAU,CAACnI,MAAM,EAAEC,UAAU,CAAC;;GAE1C,IAAIgB,QAAQ,KAAK,SAAS,EAC1B;KACC,OAAO,IAAI6M,gBAAgB,CAAC9N,MAAM,EAAEC,UAAU,CAAC;;GAEhD,IAAI,uBAAOgB,QAAQ,MAAK,QAAQ,IAAIA,QAAQ,CAAC,WAAW,CAAC,EACzD;KACC,OAAO,IAAI4L,QAAQ,CAAC7M,MAAM,EAAEC,UAAU,CAAC;;GAGxC,OAAO,IAAI;CACZ;;CCpCe,SAASqP,YAAY,CAACrP,UAAU,EAAEsP,QAAQ,EACzD;GACC,IAAI,CAACA,QAAQ,EACb;KACC;;GAED9I,EAAE,CAAC+I,cAAc,CAACD,QAAQ,EAAE,mBAAmB,EAAE,UAAUE,EAAE,EAAE;KAC9DA,EAAE,CAACC,IAAI,CAACC,YAAY,CAAC,0BAA0B,EAAE,GAAG,CAAC;KACrDtC,UAAU,CAAC,YAAW;OACrB5G,EAAE,CAAC+I,cAAc,CAACvP,UAAU,EAAE,kBAAkB,EAAE,UAASS,IAAI,EAAE;SAChE+O,EAAE,CAAC,gBAAgB,CAAC,GAAG/O,IAAI;SAC3B+O,EAAE,CAACG,IAAI,EAAE;QACT,CAAC;MACF,EAAC,IAAI,CAAC;IACP,CAAC;GAEFnJ,EAAE,CAAC+I,cAAc,CAACD,QAAQ,EAAE,YAAY,EAAE,UAASE,EAAE,EAAEI,SAAS,EAChE;KACC,IAAIpJ,EAAE,CAACiB,IAAI,CAACoI,gBAAgB,CAACL,EAAE,CAAC,gBAAgB,CAAC,CAAC,EACjDI,SAAS,CAAC,MAAM,CAAC,GAAGJ,EAAE,CAAC,gBAAgB,CAAC;IACzC,CAAC;GAEFhJ,EAAE,CAAC+I,cAAc,CAACD,QAAQ,EAAE,mBAAmB,EAAE,UAASE,EAAE,EAAEI,SAAS,EAAE;KACxE,IAAIA,SAAS,CAAC,MAAM,CAAC,IAAI,UAAU,CAACxN,IAAI,CAACwN,SAAS,CAAC,MAAM,CAAC,CAAC,EAC3D;OACC5P,UAAU,CAAC8P,cAAc,CAACF,SAAS,CAAC,MAAM,CAAC,CAAC;;IAE7C,CAAC;GAEF,IAAIN,QAAQ,CAACnM,YAAY,CAAC,0BAA0B,CAAC,IAAImM,QAAQ,CAACS,UAAU,EAC5E;KACCT,QAAQ,CAACU,eAAe,CAAC,0BAA0B,CAAC;KACpD5C,UAAU,CAACkC,QAAQ,CAACS,UAAU,CAACE,OAAO,EAAE,GAAG,CAAC;;CAE9C;;CChCe,SAASC,eAAe,CAACnQ,MAAc,EAAEC,UAAU,EAAEmQ,YAAY,EAChF;GACC,IAAIC,IAAI,GAAG,KAAK;GAChB,IACCD,YAAY,CAACD,eAAe,KAAK,IAAI,IAClCC,YAAY,CAACD,eAAe,KAAK,KAAK,EAE1C;KACCC,YAAY,CAACD,eAAe,GAAG,CAAClQ,UAAU,CAACqQ,OAAO,CAACC,OAAO,EAAE;KAC5DF,IAAI,GAAG,IAAI;;GAGZrQ,MAAM,CAAC+B,IAAI,CAAC,YAAM;KACjB,IAAMkI,UAAU,GAAGjK,MAAM,CAAC4I,YAAY,EAAE,CAAC1C,aAAa,CAAC,2CAA2C,CAAC;KAEnG,IAAIkK,YAAY,CAACD,eAAe,EAChC;OACClQ,UAAU,CAACuQ,GAAG,CAACC,WAAW,CAAClG,KAAK,CAACmG,OAAO,GAAG,SAAS;OACpDzQ,UAAU,CAACqQ,OAAO,CAACK,IAAI,EAAE;OAEzB,IAAI1G,UAAU,EACd;SACCA,UAAU,CAAC2G,SAAS,CAACC,GAAG,CAAC,+BAA+B,CAAC;;MAE1D,MAED;OACC5Q,UAAU,CAACqQ,OAAO,CAACQ,IAAI,EAAE;OAEzB,IAAI7G,UAAU,EACd;SACCA,UAAU,CAAC2G,SAAS,CAACG,MAAM,CAAC,+BAA+B,CAAC;;;IAG9D,CAAC;GAEF,IAAIV,IAAI,KAAK,KAAK,EAClB;KACC5J,EAAE,CAACuK,WAAW,CAACX,IAAI,CAAC,gBAAgB,EAAE,UAAU,EAAE,YAAY,EAAED,YAAY,CAACD,eAAe,GAAG,GAAG,GAAG,GAAG,CAAC;;CAE3G;;CC1Ce,SAASc,cAAc,CAAChR,UAAU,EAAEmQ,YAAY,EAC/D;GACC,IAAI,EAAEA,YAAY,CAACc,YAAY,IAAIvN,MAAM,CAAC,cAAc,CAAC,IAAI8C,EAAE,CAAC2J,YAAY,CAACc,YAAY,CAAC,CAAC,EAC3F;KACC;;GAGD,IAAMC,UAAU,GAAI,IAAIC,YAAY,CAAC3K,EAAE,CAAC2J,YAAY,CAACc,YAAY,CAAC,CAAC;GACnE,IAAMG,iBAAiB,GAAG,SAApBA,iBAAiB,CAAYC,GAAG,EACtC;KACCH,UAAU,CAACI,gBAAgB,CAAC;OAACD,GAAG,EAAEA;MAAI,CAAC;IACvC;GACD,IAAME,mBAAmB,GAAG,SAAtBA,mBAAmB,CAAYC,eAAe,EAAE7P,MAAM,EAAE8P,OAAO,EAAEpI,KAAK,EAC5E;KACC,IAAI1H,MAAM,KAAK,YAAY,IACvB6E,EAAE,CAACiB,IAAI,CAACiK,aAAa,CAACrI,KAAK,CAAC,IAC5BA,KAAK,CAAChC,cAAc,CAAC,MAAM,CAAC,EAEhC;OACC6J,UAAU,CAACI,gBAAgB,CAAC;SAACD,GAAG,EAAEhI,KAAK,CAACsI;QAAK,CAAC;;IAE/C;GACDnL,EAAE,CAAC+I,cAAc,CAACvP,UAAU,EAAE,mBAAmB,EAAEoR,iBAAiB,CAAC;GACrE5K,EAAE,CAAC+I,cAAc,CAACvP,UAAU,EAAE,qBAAqB,EAAEoR,iBAAiB,CAAC;GACvE5K,EAAE,CAAC+I,cAAc,CAACvP,UAAU,EAAE,qBAAqB,EAAEuR,mBAAmB,CAAC;GAEzE/K,EAAE,CAAC+I,cAAc,CAACvP,UAAU,EAAE,gBAAgB,EAAE,UAACS,IAAI,EAAEyE,IAAI,EAAK;KAC/DgM,UAAU,CAACU,gBAAgB,EAAE;KAC7B,IAAIX,YAAY;KAChB,KAAK,IAAIY,EAAE,IAAI3M,IAAI,EACnB;OACC,IAAIA,IAAI,CAACmC,cAAc,CAACwK,EAAE,CAAC,IACvB3M,IAAI,CAAC2M,EAAE,CAAC,CAACxK,cAAc,CAAC,cAAc,CAAC,IACvCnC,IAAI,CAAC2M,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK,aAAa,EAC9C;SACCZ,YAAY,GAAG/L,IAAI,CAAC2M,EAAE,CAAC,CAAC,OAAO,CAAC;SAChC;;;KAGF,IAAIZ,YAAY,EAChB;OACCC,UAAU,CAACI,gBAAgB,CAAC;SAACzQ,EAAE,EAAEoQ;QAAa,CAAC;;IAEhD,CAAC;CACH;;CCzCe,SAASa,mBAAmB,CAAC/R,MAAc,EAAEC,UAAU,EACtE;GACCD,MAAM,CAAC+B,IAAI,CAAC,YAAM;;KAEjB9B,UAAU,CAAC+R,WAAW,CAACC,KAAK,CAAC,WAAW,CAAC,GACxChS,UAAU,CAAC+R,WAAW,CAACC,KAAK,CAAC,cAAc,CAAC,GAC3ChS,UAAU,CAAC+R,WAAW,CAACC,KAAK,CAAC,UAAU,CAAC,GACvC,CACC;OACCC,IAAI,EAAE5Q,aAAG,CAACC,UAAU,CAAC,iBAAiB,CAAC;OACvC4Q,MAAM,EAAE,IAAI;OACZC,MAAM,EAAE,kBACR;SACC,IAAItP,IAAI,GAAG7C,UAAU,CAAC+R,WAAW,CAACK,aAAa,CAAC,WAAW,CAAC;SAC5D,IAAI,CAACvP,IAAI,EACRA,IAAI,GAAG7C,UAAU,CAAC+R,WAAW,CAACK,aAAa,CAAC,cAAc,CAAC;SAC5D,IAAI,CAACvP,IAAI,EACRA,IAAI,GAAG7C,UAAU,CAAC+R,WAAW,CAACK,aAAa,CAAC,UAAU,CAAC;SAExD,IAAIvP,IAAI,IAAIA,IAAI,CAACwP,OAAO,EACxB;WACCrS,UAAU,CAACsS,SAAS,CAACC,UAAU,CAAC1P,IAAI,CAACwP,OAAO,CAAC;;SAE9CrS,UAAU,CAAC+R,WAAW,CAAClB,IAAI,EAAE;;MAE9B,CACD;KACJ,IAAI7Q,UAAU,CAACqQ,OAAO,CAACmC,QAAQ,IAAIxS,UAAU,CAACqQ,OAAO,CAACmC,QAAQ,CAACC,YAAY,EAC3E;OACCzS,UAAU,CAACqQ,OAAO,CAACmC,QAAQ,CAACC,YAAY,CAACC,QAAQ,CAAC,EAAE,CAAC;;IAEtD,CAAC;CACH;;CChCe,SAASC,QAAQ,CAAC5S,MAAc,EAC/C;GACC,IAAM6S,YAAY,GAAGrL,QAAQ,CAACtB,aAAa,CAAC,qBAAqB,GAAGlG,MAAM,CAACqJ,SAAS,EAAE,CAAC;GACvF,IAAIwJ,YAAY,EAChB;KACCA,YAAY,CAACvI,gBAAgB,CAAC,OAAO,EAAE,UAAS5G,KAAK,EAAE;OACtDH,6BAAY,CAAC6B,IAAI,CAACpF,MAAM,CAACkF,cAAc,EAAE,EAAE,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAC;OACvExB,KAAK,CAACoP,cAAc,EAAE;OACtBpP,KAAK,CAACqP,eAAe,EAAE;MACvB,CAAC;;GAEH,IAAMC,YAAY,GAAGxL,QAAQ,CAACtB,aAAa,CAAC,qBAAqB,GAAGlG,MAAM,CAACqJ,SAAS,EAAE,CAAC;GACvF,IAAI2J,YAAY,EAChB;KACCA,YAAY,CAAC1I,gBAAgB,CAAC,OAAO,EAAE,UAAS5G,KAAK,EAAE;OACtDH,6BAAY,CAAC6B,IAAI,CAACpF,MAAM,CAACkF,cAAc,EAAE,EAAE,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAC;OACvExB,KAAK,CAACoP,cAAc,EAAE;OACtBpP,KAAK,CAACqP,eAAe,EAAE;MACvB,CAAC;;CAEJ;;CCnBe,SAASE,WAAW,CAACjT,MAAc,EAAEC,UAAU,EAC9D;GACC,IAAMqQ,OAAO,GAAGtQ,MAAM,CAAC4I,YAAY,EAAE,CAAC1C,aAAa,CAAC,0BAA0B,CAAC;GAC/E,IAAIoK,OAAO,CAACpK,aAAa,CAAC,kBAAkB,CAAC,EAC7C;KACC,IAAMgN,UAAU,GAAG5C,OAAO,CAACpK,aAAa,CAAC,kBAAkB,CAAC;KAC5D,IAAIgN,UAAU,EACd;OACCA,UAAU,CAAC5I,gBAAgB,CAAC,OAAO,EAAE,YAAM;SAC1C/G,6BAAY,CAAC6B,IAAI,CAACpF,MAAM,CAACkF,cAAc,EAAE,EAAE,mBAAmB,EAAEgO,UAAU,CAAC9P,YAAY,CAAC,uBAAuB,CAAC,GAC7G,MAAM,GAAG,MAAM,CAAC;QACnB,CAAC;OACFG,6BAAY,CAACC,SAAS,CAACxD,MAAM,CAACkF,cAAc,EAAE,EAAE,mBAAmB,EAAE,gBAAY;SAAA,IAAVC,IAAI,QAAJA,IAAI;SAC1E,IAAIA,IAAI,CAACgO,QAAQ,EAAE,KAAK,MAAM,EAC9B;WACCD,UAAU,CAACvD,YAAY,CAAC,uBAAuB,EAAE,QAAQ,CAAC;UAC1D,MAED;WACCuD,UAAU,CAACjD,eAAe,CAAC,uBAAuB,CAAC;;QAEpD,CAAC;OACFiD,UAAU,CAACvD,YAAY,CAAC,qBAAqB,EAAE,CAAC,CAAC;OACjDpM,6BAAY,CAACC,SAAS,CAACxD,MAAM,CAACkF,cAAc,EAAE,EAAE,kCAAkC,EAAE,iBAAY;SAAA,IAAVC,IAAI,SAAJA,IAAI;SACzF,IAAMiO,KAAK,GAAGjO,IAAI,GAAG,CAAC,GAAGA,IAAI,GAAG,CAAC;SACjC,IAAMkO,UAAU,GAAGC,IAAI,CAACC,GAAG,CAAC5G,QAAQ,CAACuG,UAAU,CAAC7P,YAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,GAAG+P,KAAK,EAAE,CAAC,CAAC;SACrG,IAAIC,UAAU,GAAG,CAAC,EAClB;WACC,IAAI,CAACH,UAAU,CAAC,eAAe,CAAC,EAChC;aACCA,UAAU,CAAC,eAAe,CAAC,GAAG,IAAIzM,EAAE,CAACwH,EAAE,CAACuF,OAAO,CAAC;eAC/ClK,KAAK,EAAE+J,UAAU;eACjBI,KAAK,EAAEhN,EAAE,CAACwH,EAAE,CAACuF,OAAO,CAACE,KAAK,CAACC,IAAI;eAC/BC,OAAO,EAAE;cACT,CAAC;aACF,IAAM3O,SAAS,GAAGiO,UAAU,CAAChN,aAAa,CAAC,MAAM,CAAC;aAClDjB,SAAS,CAAC6F,WAAW,CAACoI,UAAU,CAAC,eAAe,CAAC,CAACtK,YAAY,EAAE,CAAC;YACjE,MAED;aACCsK,UAAU,CAAC,eAAe,CAAC,CAACW,MAAM,CAACR,UAAU,CAAC;;;SAGhDH,UAAU,CAACvD,YAAY,CAAC,qBAAqB,EAAE0D,UAAU,CAAC;QAC1D,CAAC;OACF9P,6BAAY,CAACC,SAAS,CAACxD,MAAM,CAACkF,cAAc,EAAE,EAAE,kCAAkC,EAAE,iBAAY;SAAA,IAAVC,IAAI,SAAJA,IAAI;SACzF,IAAMiO,KAAK,GAAGjO,IAAI,GAAG,CAAC,GAAGA,IAAI,GAAG,CAAC;SACjC,IAAMkO,UAAU,GAAGC,IAAI,CAACC,GAAG,CAAC5G,QAAQ,CAACuG,UAAU,CAAC7P,YAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,GAAG+P,KAAK,EAAE,CAAC,CAAC;SACrGF,UAAU,CAACvD,YAAY,CAAC,qBAAqB,EAAE0D,UAAU,CAAC;SAE1D,IAAIH,UAAU,CAAC,eAAe,CAAC,EAC/B;WACCA,UAAU,CAAC,eAAe,CAAC,CAACW,MAAM,CAACR,UAAU,CAAC;;QAE/C,CAAC;;;GAIJ,IAAI/C,OAAO,CAACpK,aAAa,CAAC,wBAAwB,CAAC,EACnD;KACCvC,MAAM,CAAC,iBAAiB,GAAG3D,MAAM,CAACqJ,SAAS,EAAE,CAAC,GAAG,IAAIyK,cAAc,CAClE9T,MAAM,CAACqJ,SAAS,EAAE,EAClBiH,OAAO,CAACpK,aAAa,CAAC,wBAAwB,CAAC,CAC/C;;GAGF,IAAIoK,OAAO,CAACpK,aAAa,CAAC,yBAAyB,CAAC,EACpD;KACCoK,OAAO,CAACpK,aAAa,CAAC,yBAAyB,CAAC,CAACoE,gBAAgB,CAAC,OAAO,EAAE,UAAC5G,KAAK,EAAK;OACrFzD,UAAU,CAACqQ,OAAO,CAACmC,QAAQ,CAACsB,UAAU,CAACC,OAAO,CAACtQ,KAAK,CAAC;MACrD,CAAC;;GAGH,IAAI4M,OAAO,CAACpK,aAAa,CAAC,mBAAmB,CAAC,EAC9C;KACCoK,OAAO,CAACpK,aAAa,CAAC,mBAAmB,CAAC,CAACoE,gBAAgB,CAAC,OAAO,EAAE,UAAC5G,KAAK,EAAK;OAC/EzD,UAAU,CAACqQ,OAAO,CAACmC,QAAQ,CAACwB,WAAW,CAACD,OAAO,CAACtQ,KAAK,CAAC;MACtD,CAAC;;GAGH,IAAI4M,OAAO,CAACpK,aAAa,CAAC,mBAAmB,CAAC,EAC9C;KACC,IAAMgO,SAAS,GAAG5D,OAAO,CAACpK,aAAa,CAAC,mBAAmB,CAAC;KAC5DgO,SAAS,CAACvE,YAAY,CAAC,cAAc,EAAE,QAAQ,CAAC;KAChDuE,SAAS,CAACvE,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC;KAGjDuE,SAAS,CAAC5J,gBAAgB,CAAC,WAAW,EAAE,UAAC5G,KAAK,EAAK;OAClDzD,UAAU,CAACqQ,OAAO,CAACmC,QAAQ,CAAC0B,KAAK,CAACC,WAAW,CAACvO,KAAK,CAAC5F,UAAU,CAACqQ,OAAO,CAACmC,QAAQ,CAAC0B,KAAK,EAAE,CAACzQ,KAAK,CAAC,CAAC;OAC/FzD,UAAU,CAACoU,YAAY,CAACH,SAAS,CAAC;MAClC,CAAC;;GAGH,IAAIlU,MAAM,CAAC4I,YAAY,EAAE,CAAC1C,aAAa,CAAC,2CAA2C,CAAC,EACpF;KACClG,MAAM,CAAC4I,YAAY,EAAE,CAAC1C,aAAa,CAAC,2CAA2C,CAAC,CAC9EoE,gBAAgB,CAAC,OAAO,EAAE,YAAM;OAChCtK,MAAM,CAACmQ,eAAe,EAAE;MACxB,CAAC;;GAGJ,IAAMmE,OAAO,GAAGhE,OAAO,CAACpK,aAAa,CAAC,qBAAqB,CAAC;GAC5D,IAAIoO,OAAO,EACX;KACCA,OAAO,CAAChK,gBAAgB,CAAC,OAAO,EAAE,YAAM;OACvC,IAAI,CAACtK,MAAM,CAACuU,8BAA8B,EAAE,EAC5C;SACCvG,GAAG,CAACvH,EAAE,CAACwH,EAAE,CAACC,UAAU,CAACC,IAAI,CAAC,mBAAmB,CAAC;SAE9C;;OAGDnO,MAAM,CAACwU,WAAW,EAAE;MACpB,CAAC;;CAEJ;;;ACvHA,CAKA,IAAIC,oBAAoB;CACxB,SAASC,mBAAmB,CAACC,MAAM,EAAEnP,QAAQ,EAC7C;GACC,IAAI,CAACiP,oBAAoB,EACzB;KACCA,oBAAoB,GAAG,IAAIG,oBAAoB,CAAC,UAASC,OAAO,EAAE;OACjEA,OAAO,CAACnQ,OAAO,CAAC,UAACoQ,KAAK,EAAK;SAC1B,IAAIA,KAAK,CAACC,cAAc,EACxB;WACCN,oBAAoB,CAACO,SAAS,CAACF,KAAK,CAACG,MAAM,CAAC;WAC5C,IAAMC,gBAAgB,GAAGJ,KAAK,CAACG,MAAM,CAACC,gBAAgB;WACtD,OAAOJ,KAAK,CAACG,MAAM,CAACC,gBAAgB;WACpC7H,UAAU,CAAC6H,gBAAgB,CAAC;;QAE7B,CAAC;MACF,EAAE;OACFC,SAAS,EAAE;MACX,CAAC;;GAEHR,MAAM,CAACO,gBAAgB,GAAG1P,QAAQ;GAElCiP,oBAAoB,CAACW,OAAO,CAACT,MAAM,CAAC;CACrC;CAMA,IAAIU,WAAW,GAAG,CAAC;CAAC,IACCC,OAAO;GAC3B,iBAAYC,WAAW,EAAEtQ,SAAS,EAAE;KAAA;KACnC,IAAI,CAACA,SAAS,GAAGA,SAAS,CAACiB,aAAa,CAAC,0BAA0B,CAAC;KAEpE,IAAI,CAACsP,kBAAkB,GAAG,IAAI,CAACA,kBAAkB,CAAC/U,IAAI,CAAC,IAAI,CAAC;KAC5D,IAAI,CAACgV,QAAQ,GAAGxQ,SAAS,CAACiB,aAAa,CAAC,oCAAoC,CAAC;KAC7E,IAAI,CAACuP,QAAQ,CAACnL,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAACoL,WAAW,CAACjV,IAAI,CAAC,IAAI,CAAC,CAAC;KACpEiU,mBAAmB,CAAC,IAAI,CAACzP,SAAS,EAAE,IAAI,CAACuQ,kBAAkB,CAAC;KAC5D7R,MAAM,CAAC2G,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAACkL,kBAAkB,CAAC;;GAC1D;KAAA;KAAA,4BAEWG,MAAc,EAAEC,QAAiB,EAC7C;OACC,IAAI,CAAChR,cAAI,CAACiR,aAAa,CAACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC/Q,cAAI,CAACC,cAAc,CAAC8Q,MAAM,CAAC,MAAM,CAAC,CAAC,EAC/E;SACC;;OAGD,IAAMG,IAAI,GAAGlL,aAAG,CAACC,MAAM,sKAA+E;OAEtG,IAAIjG,cAAI,CAACiR,aAAa,CAACF,MAAM,CAAC,MAAM,CAAC,CAAC,EACtC;SACCG,IAAI,CAAChL,WAAW,CAAC6K,MAAM,CAAC,MAAM,CAAC,CAAC;QAChC,MAED;SACCG,IAAI,CAAC9L,SAAS,GAAG2L,MAAM,CAAC,MAAM,CAAC;;OAGhC,IAAIA,MAAM,CAAC,IAAI,CAAC,EAChB;SACCG,IAAI,CAACnG,YAAY,CAAC,SAAS,EAAEgG,MAAM,CAAC,IAAI,CAAC,CAAC;;OAG3C,IAAIC,QAAQ,KAAK,IAAI,EACrB;SACC,IAAIG,KAAK,GAAG,KAAK;SACjB,IAAIC,UAAU,GAAG,IAAI;SACrB9O,KAAK,CAACC,IAAI,CACT,IAAI,CAAClC,SAAS,CACZmC,gBAAgB,CAAC,+BAA+B,CAAC,CACnD,CACA1C,OAAO,CAAC,UAACuR,WAAW,EAAK;WACzB,IAAIF,KAAK,KAAK,IAAI,IAAIC,UAAU,KAAK,IAAI,EACzC;aACCA,UAAU,GAAGC,WAAW;YACxB,MACI,IAAIF,KAAK,KAAK,KAAK,IACpBE,WAAW,IAAIA,WAAW,CAACC,OAAO,IAClCD,WAAW,CAACC,OAAO,CAACpV,EAAE,KAAK8U,QAAQ,EACvC;aACCG,KAAK,GAAG,IAAI;;UAEb,CAAC;SACF,IAAIC,UAAU,EACd;WACCA,UAAU,CAAC3Q,UAAU,CAAC8Q,YAAY,CAACL,IAAI,EAAEE,UAAU,CAAC;;;OAGtD,IAAI,CAACF,IAAI,CAACzQ,UAAU,EACpB;SACC,IAAI,CAACJ,SAAS,CAAC6F,WAAW,CAACgL,IAAI,CAAC;;OAEjC,IAAI,CAACN,kBAAkB,EAAE;;;KACzB;KAAA,2BAGD;OACC,OAAOtO,KAAK,CAACC,IAAI,CAAC,IAAI,CAAClC,SAAS,CAACmC,gBAAgB,CAAC,+BAA+B,CAAC,CAAC;;;KACnF;KAAA,kCAGD;OAAA;OACC,IAAMgP,YAAY,GAAG,EAAE;OACvBlP,KAAK,CAACC,IAAI,CACT,IAAI,CAAClC,SAAS,CACZmC,gBAAgB,CAAC,+BAA+B,CAAC,CACnD,CACA1C,OAAO,CAAC,UAACoR,IAAI,EAAK;SAClB,IAAIA,IAAI,CAACO,SAAS,GAAG,KAAI,CAACpR,SAAS,CAACqR,YAAY,GAAG,CAAC,EACpD;WACCF,YAAY,CAAC1Q,IAAI,CAACoQ,IAAI,CAAC;;QAExB,CAAC;OAEF,OAAOM,YAAY;;;KACnB;KAAA,iCAGD;OACC,IAAMG,WAAW,GAAG,EAAE;OACtBrP,KAAK,CAACC,IAAI,CACT,IAAI,CAAClC,SAAS,CACZmC,gBAAgB,CAAC,+BAA+B,CAAC,CACnD,CACA1C,OAAO,CAAC,UAACoR,IAAI,EAAK;SAClB,IAAIA,IAAI,CAACO,SAAS,GAAG,CAAC,EACtB;WACCE,WAAW,CAAC7Q,IAAI,CAACoQ,IAAI,CAAC;;QAEvB,CAAC;OAEF,OAAOS,WAAW;;;KAClB;KAAA,qCAGD;OACC,IAAMC,kBAAkB,GAAG,IAAI,CAACC,eAAe,EAAE,CAACzT,MAAM;OAExD,IAAIwT,kBAAkB,IAAI,CAAC,IAAIA,kBAAkB,IAAI,IAAI,CAACE,QAAQ,EAAE,CAAC1T,MAAM,EAC3E;SACC,IAAI,CAACyS,QAAQ,CAAClL,KAAK,CAACiC,OAAO,GAAG,MAAM;QACpC,MAED;SACC,IAAI,CAACiJ,QAAQ,CAAClL,KAAK,CAACiC,OAAO,GAAG,EAAE;;;;KAEjC;KAAA,2BAGD;OAAA;OACC,IAAI,CAAC,IAAI,CAACmK,KAAK,EACf;SACC,IAAI,CAACA,KAAK,GAAGC,uBAAY,CAACC,MAAM,CAAC;WAChC/V,EAAE,EAAE,yBAAyB,GAAIuU,WAAW,EAAG;WAC/C9I,SAAS,EAAE,8BAA8B;WACzCuK,SAAS,EAAE,KAAK;WAChB3U,OAAO,EAAE,IAAI,CAAC4U,iBAAiB,EAAE;WACjCC,UAAU,EAAE,IAAI;WAChBC,QAAQ,EAAE,IAAI;WACdC,KAAK,EAAE,IAAI;WACXC,WAAW,EAAE,IAAI,CAAC1B,QAAQ;WAC1BY,SAAS,EAAE,CAAC,CAAC;WACbe,UAAU,EAAE,CAAC;WACbC,MAAM,EAAE;aACPC,OAAO,EAAE,mBAAM;eACdpQ,KAAK,CAACC,IAAI,CACT,MAAI,CAAC4P,iBAAiB,EAAE,CACtB3P,gBAAgB,CAAC,+BAA+B,CAAC,CACnD,CACA1C,OAAO,CAAC,UAACoR,IAAI,EAAK;iBAClB,MAAI,CAAC7Q,SAAS,CAAC6F,WAAW,CAACgL,IAAI,CAAC;gBAChC,CAAC;eACF,OAAO,MAAI,CAACa,KAAK;;;UAGnB,CAAC;;OAEH,OAAO,IAAI,CAACA,KAAK;;;KACjB;KAAA,oCAGD;OACC,IAAI,CAAC,IAAI,CAACY,cAAc,EACxB;SACC,IAAI,CAACA,cAAc,GAAG/P,QAAQ,CAACgQ,aAAa,CAAC,KAAK,CAAC;;OAEpD,OAAO,IAAI,CAACD,cAAc;;;KAC1B;KAAA,8BAGD;OAAA;OACC,IAAMhB,WAAW,GAAG,IAAI,CAACkB,cAAc,EAAE;OACzC,IAAIlB,WAAW,CAACvT,MAAM,IAAI,CAAC,EAC3B;SACC;;OAEDuT,WAAW,CAAC7R,OAAO,CAAC,UAACoR,IAAI,EAAK;SAC7B,MAAI,CAACiB,iBAAiB,EAAE,CAACjM,WAAW,CAACgL,IAAI,CAAC;QAC1C,CAAC;OACF,IAAI,CAAC4B,QAAQ,EAAE,CAACvJ,IAAI,EAAE;;;GACtB;CAAA;;KC1MmBwJ,UAAU;GAAA;KAAA;;GAAA;KAAA;KAAA,0BAG7B3Q,MAEC,EAEF;OACC,IAAI4Q,eAAe,GAAGhB,uBAAY,CAACiB,YAAY,CAAC,IAAI,CAACC,UAAU,EAAE,CAAC;OAClE,IAAI,CAACF,eAAe,EACpB;SACCA,eAAe,GAAG,IAAIG,gBAAK,CAAC,IAAI,CAACD,UAAU,EAAE,EAAE,IAAI,EAAE;WACpD3V,OAAO,EAAE,IAAI,CAAC6V,yBAAyB,EAAE;WACzCC,WAAW,EAAG,KAAK;WACnBb,UAAU,EAAE,EAAE;WACdH,QAAQ,EAAE,KAAK;WACfC,KAAK,EAAE;aACNgB,QAAQ,EAAE;YACV;WACDlB,UAAU,EAAE,KAAK;WACjBmB,SAAS,EAAE;UACX,CAAC;;OAGHP,eAAe,CAACQ,cAAc,CAACpR,MAAM,CAACqR,YAAY,CAAC;OACnDT,eAAe,CAACzJ,IAAI,EAAE;;;KACtB;KAAA,6BAGD;OACC,OAAO,mCAAmC;;;KAC1C;KAAA,4CAGD;OACC,OAAOmK,aAAG,CAACzB,MAAM,CAAC,KAAK,EAAE;SACxBtM,KAAK,EAAE;WACN1C,KAAK,EAAE,OAAO;WACd0Q,OAAO,EAAE;UACT;SACDC,QAAQ,EAAE,CACTF,aAAG,CAACzB,MAAM,CAAC,MAAM,EAAE;WAClB7L,IAAI,EAAE1J,aAAG,CAACC,UAAU,CAAC,yBAAyB,CAAC,CAC7Ce,OAAO,CAAC,WAAW,EAAE,yGAAyG,CAAC,CAC/HA,OAAO,CAAC,SAAS,EAAE,MAAM;UAC3B,CAAC;QAEH,CAAC;;;KACF;KAAA,6CAEmC6U,WAAW,EAC/C;OAAA;OACC1Q,EAAE,CAAC6B,OAAO,CAAC8F,aAAa,CAAC,gBAAgB,CAAC,CAACC,IAAI,CAAC,gBAAkC;SAAA,IAA/BoK,wBAAwB,QAAxBA,wBAAwB;SAC1E,IAAIA,wBAAwB,EAC5B;WACCA,wBAAwB,CAACC,WAAW,CAAC;aACpCC,IAAI,EAAE,oCAAoC;aAC1CxB,WAAW,EAAXA;YACA,CAAC,CAAChJ,IAAI,EAAE;UACT,MAED;WACC,KAAI,CAACyK,SAAS,EAAE;WAChBnS,EAAE,CAACwH,EAAE,CAACC,UAAU,CAACC,IAAI,CAAC,oCAAoC,EAAE;aAC3D0K,OAAO,EAAE,IAAI;aACbC,oBAAoB,EAAE;eACrBC,MAAM,EAAE,OAAO;eACfC,MAAM,EAAE,UAAU;eAClBC,OAAO,EAAE;;YAEV,CAAC;;QAEH,CAAC;;;KACF;KAAA,4BAGD;OACC,IAAMrB,eAAe,GAAGhB,uBAAY,CAACiB,YAAY,CAAC,IAAI,CAACC,UAAU,EAAE,CAAC;OACpE,IAAIF,eAAe,EACnB;SACCA,eAAe,CAACsB,KAAK,EAAE;;;;GAExB;CAAA;;;;;;ACrFF,KASqBC,MAAM;GAoB1B,gBACCC,OAKC,EACDhJ,YAOC,EAEF;KAAA;KAAA;KAAA,0CA7BY,IAAIhI,GAAG,EAAE;KAAA,kDAEN;OACdN,MAAM,EAAE,GAAG;OACXuR,gBAAgB,EAAE,IAAI;OACtBC,OAAO,EAAE,IAAI;OACbnJ,eAAe,EAAE,KAAK;OACtBoJ,QAAQ,EAAE,IAAI;OACdrI,YAAY,EAAE,IAAI;OAClBsI,kBAAkB,EAAE;MACpB;KAAA,iDACa,EAAE;KAmBf,IAAI,CAAC1Y,EAAE,GAAGsY,OAAO,CAAC,IAAI,CAAC;KACvB,IAAI,CAAClZ,IAAI,GAAGkZ,OAAO,CAAC,MAAM,CAAC;KAC3B,IAAI,CAACK,MAAM,GAAGL,OAAO,CAAC,QAAQ,CAAC;KAC/B,IAAI,CAACM,SAAS,GAAGN,OAAO,CAACM,SAAS,IAAIlS,QAAQ,CAACtB,aAAa,CAAC,MAAM,IAAI,IAAI,CAAChG,IAAI,IAAI,IAAI,CAACY,EAAE,CAAC,CAAC;KAC7F,IAAI,CAAC4Y,SAAS,CAACxD,OAAO,CAACyD,cAAc,GAAG,GAAG;KAC3C,IAAI,CAACC,cAAc,GAAG,IAAI;KAC1BT,MAAM,CAACU,IAAI,CAACpQ,GAAG,CAAC,IAAI,CAACsD,KAAK,EAAE,EAAE,IAAI,CAAC;KAEnC,IACC,CAACnI,cAAI,CAACkV,OAAO,CAAC1J,YAAY,CAACkJ,OAAO,CAAC,IAChC1U,cAAI,CAAC+M,aAAa,CAACvB,YAAY,CAACkJ,OAAO,CAAC,EAE5C;OACClJ,YAAY,CAACkJ,OAAO,GAAGS,MAAM,CAACxU,MAAM,CAAC6K,YAAY,CAACkJ,OAAO,CAAC;;KAG3D,IAAI,CAACU,eAAe,CAAC5J,YAAY,CAAC;KAElC,IAAI,CAAC6J,UAAU,CAACtW,MAAM,CAAC,cAAc,CAAC,GAAGA,MAAM,CAAC,cAAc,CAAC,CAACuW,GAAG,CAAC,IAAI,CAACnN,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;KACzF,IAAI,CAACuD,OAAO,GAAG,IAAIgF,OAAO,CAAC,IAAI,CAACpQ,cAAc,EAAE,EAAE,IAAI,CAAC0D,YAAY,EAAE,CAAC;KAEtE,IAAI,CAACuR,MAAM,GAAG,IAAI;KAElB,IAAI,IAAI,CAACja,IAAI,KAAK,IAAI,EACtB;OACCyD,MAAM,CAAC,IAAI,CAACzD,IAAI,CAAC,GAAG,IAAI;;KAGzBuG,EAAE,CAACuG,aAAa,CAAC,IAAI,EAAE,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC3D,SAAS,EAAE,CAAC,CAAC;;;KAGjE9F,6BAAY,CAACC,SAAS,CAAC,IAAI,CAAC0B,cAAc,EAAE,EAAE,qBAAqB,EAAE,gBAAkB;OAAA,IAAhBzB,UAAU,QAAVA,UAAU;OAChFgD,EAAE,CAACuG,aAAa,CAAC,KAAI,CAAC9H,cAAc,EAAE,EAAE,eAAe,EAAEzB,UAAU,CAAC;MACpE,CAAC;;;KAGFF,6BAAY,CAACC,SAAS,CAAC,IAAI,CAAC0B,cAAc,EAAE,EAAE,QAAQ,EAAE,iBAAqB;OAAA,IAAb1E,OAAO,SAAb2E,IAAI;OAC7D,IAAI,KAAI,CAACiV,IAAI,CAACzS,IAAI,IAAI,CAAC,EACvB;SACCpE,6BAAY,CAAC6B,IAAI,CAAC,KAAI,CAACF,cAAc,EAAE,EAAE,aAAa,CAAC;;OAExD,KAAI,CAACkV,IAAI,CAAC3Q,GAAG,CAACjJ,OAAO,EAAE,CAAC,KAAI,CAAC4Z,IAAI,CAACnR,GAAG,CAACzI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;MACzD,CAAC;KAEF+C,6BAAY,CAACC,SAAS,CAAC,IAAI,CAAC0B,cAAc,EAAE,EAAE,SAAS,EAAE,iBAAqB;OAAA,IAAb1E,OAAO,SAAb2E,IAAI;OAC9D,IAAI,KAAI,CAACiV,IAAI,CAACzS,IAAI,IAAI,CAAC,IAAI,CAAC,KAAI,CAACyS,IAAI,CAAC1Q,GAAG,CAAClJ,OAAO,CAAC,EAClD;SACC;;OAED,IAAI6Z,OAAO,GAAG,KAAI,CAACD,IAAI,CAACnR,GAAG,CAACzI,OAAO,CAAC;OACpC,IAAI6Z,OAAO,IAAI,CAAC,EAChB;SACC,KAAI,CAACD,IAAI,UAAO,CAAC5Z,OAAO,CAAC;SACzB,IAAI,KAAI,CAAC4Z,IAAI,CAACzS,IAAI,IAAI,CAAC,EACvB;WACCpE,6BAAY,CAAC6B,IAAI,CAAC,KAAI,CAACF,cAAc,EAAE,EAAE,cAAc,CAAC;;QAEzD,MAED;SACC,KAAI,CAACkV,IAAI,CAAC3Q,GAAG,CAACjJ,OAAO,EAAE,EAAE6Z,OAAO,CAAC;;MAElC,CAAC;;GACF;KAAA;KAAA,gCAEejK,YAAY,EAC5B;OACC,IAAI,CAACA,YAAY,GAAG2J,MAAM,CAACO,MAAM,CAAC,IAAI,CAAClK,YAAY,EAAEA,YAAY,CAAC;;;KAClE;KAAA,6BAGD;OAAA;OAAA,IADWnQ,UAAU,uEAAG,IAAI;OAE3B,IAAI,CAACoX,MAAM,GAAG,EAAE;OAChB,CACC,CAAC,sBAAsB,EAAE,IAAI,CAACkD,oBAAoB,CAAC9Z,IAAI,CAAC,IAAI,CAAC,CAAC,EAC9D,CAAC,qBAAqB,EAAE,IAAI,CAAC+Z,mBAAmB,CAAC/Z,IAAI,CAAC,IAAI,CAAC,CAAC,EAC5D,CAAC,qBAAqB,EAAE,IAAI,CAACga,mBAAmB,CAACha,IAAI,CAAC,IAAI,CAAC,CAAC,CAC5D,CAACiE,OAAO,CAAC,iBAA0B;SAAA;WAAxBgW,SAAS;WAAEC,OAAO;SAC7B,IAAI,CAAC1a,UAAU,EACf;WACC,MAAI,CAACoX,MAAM,CAACqD,SAAS,CAAC,GAAG,UAACza,UAAU,EAAK;aACxC,IAAIA,UAAU,CAACa,EAAE,KAAK,MAAI,CAACiM,KAAK,EAAE,EAClC;;eAECtG,EAAE,CAACmU,iBAAiB,CAACF,SAAS,EAAE,MAAI,CAACrD,MAAM,CAACqD,SAAS,CAAC,CAAC;eACvD,OAAO,MAAI,CAACrD,MAAM,CAACqD,SAAS,CAAC;eAC7BC,OAAO,CAAC1a,UAAU,CAAC;;YAEpB;;WAEDwG,EAAE,CAAC+I,cAAc,CAACkL,SAAS,EAAE,MAAI,CAACrD,MAAM,CAACqD,SAAS,CAAC,CAAC;UACpD,MAED;WACCC,OAAO,CAAC1a,UAAU,CAAC;;QAEpB,CAAC;OAEFsD,6BAAY,CAACC,SAAS,CAAC,IAAI,CAAC0B,cAAc,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC2V,SAAS,CAACpa,IAAI,CAAC,IAAI,CAAC,CAAC;OACrF8C,6BAAY,CAACC,SAAS,CAAC,IAAI,CAAC0B,cAAc,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC4V,aAAa,CAACra,IAAI,CAAC,IAAI,CAAC,CAAC;OAC7F8C,6BAAY,CAACC,SAAS,CAAC,IAAI,CAAC0B,cAAc,EAAE,EAAE,kBAAkB,EAAE,iBAAoB;SAAA,IAAZ6V,MAAM,SAAZ5V,IAAI;SAAe,MAAI,CAAC6V,SAAS,CAACD,MAAM,CAAC;QAAE,CAAC;OAChHxX,6BAAY,CAACC,SAAS,CAAC,IAAI,CAAC0B,cAAc,EAAE,EAAE,iBAAiB,EAAE,iBAA2C;SAAA,IAAnC+V,6BAA6B,SAAnC9V,IAAI;SAAsC8V,6BAA6B,CAAChb,UAAU,GAAG,MAAI,CAACyI,SAAS,EAAE;QAAE,CAAC;OAC3KnF,6BAAY,CAACC,SAAS,CAAC,IAAI,CAAC0B,cAAc,EAAE,EAAE,iBAAiB,EAAE,iBAA0B;SAAA,kDAAxBC,IAAI;WAAGzE,IAAI;WAAEsK,IAAI;SAAS,MAAI,CAACkQ,aAAa,CAACxa,IAAI,EAAEsK,IAAI,CAAC;QAAG,CAAC;OAC/HzH,6BAAY,CAACC,SAAS,CAAC,IAAI,CAAC0B,cAAc,EAAE,EAAE,aAAa,EAAE,iBAAoC;SAAA,kDAAlCC,IAAI;WAAGwQ,MAAM;WAAEwF,YAAY;SACzF,MAAI,CAACC,UAAU,EAAE,CAACC,WAAW,CAAC1F,MAAM,EAAEwF,YAAY,CAAC;QACnD,CAAC;OAEFvI,QAAQ,CAAC,IAAI,CAAC;;;KACd;KAAA,wBAGD;OACC,OAAO,IAAI,CAAC9R,EAAE;;;KACd;KAAA,0BAESb,UAAU,EACpB;OAAA;OACC,IAAI,IAAI,CAACA,UAAU,KAAKA,UAAU,EAClC;SACC;;OAGD,IAAI,CAACA,UAAU,GAAGA,UAAU;OAC5BA,UAAU,CAAC4D,MAAM,GAAG,IAAI,CAACwF,SAAS,EAAE;OAEpC9F,6BAAY,CAACC,SAAS,CAACvD,UAAU,EAAE,aAAa,EAAE,YAAM;SACvDA,UAAU,CAAC4L,WAAW,EAAE;SACxB,IAAIjH,cAAI,CAAC0W,UAAU,CAAC,MAAI,CAAClL,YAAY,CAACiJ,gBAAgB,CAAC,EACvD;WACC,MAAI,CAACjJ,YAAY,CAACiJ,gBAAgB,EAAE;UACpC,MACI,IAAIzU,cAAI,CAACC,cAAc,CAAC,MAAI,CAACuL,YAAY,CAACiJ,gBAAgB,CAAC,IAAI1V,MAAM,CAAC,MAAI,CAACyM,YAAY,CAACiJ,gBAAgB,CAAC,EAC9G;WACC1V,MAAM,CAAC,MAAI,CAACyM,YAAY,CAACiJ,gBAAgB,CAAC,EAAE;UAC5C,MACI,IAAI7R,QAAQ,CAAC+T,KAAK,CAAC,MAAI,CAAClS,SAAS,EAAE,CAAC,EACzC;WACC5C,EAAE,CAAC+U,MAAM,CAAChU,QAAQ,CAAC+T,KAAK,CAAC,MAAI,CAAClS,SAAS,EAAE,CAAC,CAAC;;QAE5C,CAAC;OAEF,IAAI,CAAC+G,YAAY,CAAC,QAAQ,CAAC,GAAGnQ,UAAU,CAACwb,MAAM,CAAC,QAAQ,CAAC;OAEzD1V,OAAO,CAAC2V,cAAc,CAAC,2BAA2B,EAAE,IAAI,CAAC3O,KAAK,EAAE,CAAC;OACjE,IAAI,CAACqD,YAAY,CAACkJ,OAAO,CAAC5U,OAAO,CAAC,UAACzD,QAAQ,EAAK;SAC/C,IAAM8Z,MAAM,GAAG1L,cAAc,CAACpO,QAAQ,EAAE,MAAI,EAAEhB,UAAU,CAAC;SACzD,IAAI8a,MAAM,EACV;WACChV,OAAO,CAAC2V,cAAc,CAACza,QAAQ,CAAC;WAChC8E,OAAO,CAACC,GAAG,CAAC+U,MAAM,CAAC;WAEnB,IAAIA,MAAM,CAACY,SAAS,EAAE,EACtB;aACC1b,UAAU,CAAC2b,SAAS,CAACb,MAAM,CAACc,SAAS,EAAE,CAAC;;WAEzC5b,UAAU,CAAC6b,SAAS,CAACf,MAAM,CAACgB,SAAS,EAAE,CAAC;WACxChW,OAAO,CAACiW,QAAQ,CAAC/a,QAAQ,CAAC;;QAE3B,CAAC;OACF8E,OAAO,CAACiW,QAAQ,CAAC,2BAA2B,EAAE,IAAI,CAACjP,KAAK,EAAE,CAAC;;;;OAI3DxJ,6BAAY,CAACC,SAAS,CAACvD,UAAU,EAAE,sBAAsB,EAAE,kBAAyC;SAAA,0DAAvCwD,UAAU;WAAGzD,MAAM;WAAEic,WAAW;SAC5F,IAAMnP,IAAI,GAAGrG,EAAE,CAACyV,aAAa,CAACC,aAAa,CAACF,WAAW,CAAC5b,GAAG,CAAC;SAE5D,IAAIyM,IAAI,IAAIA,IAAI,CAACnF,IAAI,GAAG,CAAC,IAAImF,IAAI,CAACpF,IAAI,CAACiE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC9D;WACCpI,6BAAY,CAAC6B,IAAI,CAAC,MAAI,CAACF,cAAc,EAAE,EAAE,mBAAmB,EAAE,MAAM,CAAC;WACrE4H,IAAI,CAAC5M,IAAI,GAAI4M,IAAI,CAAC5M,IAAI,IAAI+b,WAAW,CAACvZ,KAAK,IAAK,QAAQ,GAAGoK,IAAI,CAACpF,IAAI,CAAC0U,MAAM,CAAC,CAAC,CAAG;WAChFtP,IAAI,CAACuP,gBAAgB,GAAGJ,WAAW;WACnC1Y,6BAAY,CACV6B,IAAI,CAAC,MAAI,CAACF,cAAc,EAAE,EAAE,kBAAkB,EAAE,IAAII,0BAAS,CAAC;aAACH,IAAI,EAAE2H;YAAK,CAAC,CAAC,CAC5EpI,OAAO,CAAC,UAAClD,MAAe,EAAK;aAC7BA,MAAM,CACJ6M,IAAI,CAAC,kBAAmB;eAAA,IAAjBnE,KAAK,UAALA,KAAK;iBAAEc,IAAI,UAAJA,IAAI;eAClBzH,6BAAY,CAAC6B,IAAI,CAChBnF,UAAU,EACV,8BAA8B,EAC9B,IAAIqF,0BAAS,CAAC;iBAAC7B,UAAU,EAAE,CAACwY,WAAW,EAAE/R,KAAK,EAAE;mBAACoS,WAAW,EAAEtR;kBAAK;gBAAE,CAAC,CACtE;cACD,CAAC,SACI,CAAC,YAAM;eACZzH,6BAAY,CAAC6B,IAAI,CAChBnF,UAAU,EACV,4BAA4B,EAC5B,IAAIqF,0BAAS,CAAC;iBAAC7B,UAAU,EAAE,CAACwY,WAAW;gBAAE,CAAC,CAC1C;cACD,CAAC;YACH,CAAC;;QAEJ,CAAC;;;OAGF1Y,6BAAY,CAACC,SAAS,CAACD,6BAAY,CAACgZ,aAAa,EAAE,mBAAmB,EAAE,kBAAkC;SAAA,0DAAhC9Y,UAAU;WAAG+F,IAAI;WAAE3F,MAAM;SAClG,IAAI,CAACA,MAAM,IAAI,MAAI,CAACwF,SAAS,EAAE,KAAKxF,MAAM,EAC1C;WACC;;SAEDN,6BAAY,CAAC6B,IAAI,CAAC,MAAI,CAACF,cAAc,EAAE,EAAE,mBAAmB,EAAE,MAAM,CAAC;SACrE3B,6BAAY,CAAC6B,IAAI,CAAC,MAAI,CAACF,cAAc,EAAE,EAAE,kBAAkB,EAAE,IAAII,0BAAS,CAAC;WAACH,IAAI,EAAEqE;UAAK,CAAC,CAAC;QACzF,CAAC;;;OAGF,IAAI,IAAI,CAAC4G,YAAY,CAACoM,YAAY,EAClC;SACC,CAAC,YAAM;WACN,IAAMC,WAAW,GAAGhW,EAAE,CAAC,OAAO,IAAI,MAAI,CAACvG,IAAI,IAAE,MAAI,CAACY,EAAE,CAAC,CAAC;WACtD,IAAI4b,MAAM,GAAG,KAAK;WAClB,IAAIC,SAAS,GAAG,CAAC;WACjB,IAAMC,QAAQ,GAAG,SAAXA,QAAQ,CAAI9W,CAAa,EAAK;aACnCA,CAAC,CAACgN,cAAc,EAAE;aAClBhN,CAAC,CAACiN,eAAe,EAAE;aACnB,IAAI4J,SAAS,GAAG,CAAC,EACjB;eACCE,YAAY,CAACF,SAAS,CAAC;eACvBA,SAAS,GAAG,CAAC;;aAEd,IAAID,MAAM,KAAK,IAAI,EACnB;eACC;;aAED,IAAII,cAAc,GAAIhX,CAAC,IAAIA,CAAC,CAAC,cAAc,CAAC,IACxCA,CAAC,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,IAC1BA,CAAC,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC6F,OAAO,CAAC,OAAO,CAAC,IAAI,CAClD;aACD,IAAImR,cAAc,EAClB;eACCJ,MAAM,GAAG,IAAI;eACb,MAAI,CAAC9T,YAAY,EAAE,CAACgI,SAAS,CAACC,GAAG,CAAC,wBAAwB,CAAC;eAC3D,IAAI4L,WAAW,EACf;iBACCA,WAAW,CAAC7L,SAAS,CAACC,GAAG,CAAC,+BAA+B,CAAC;;;aAG5D,OAAO,IAAI;YACX;WACD,IAAMkM,WAAW,GAAG,SAAdA,WAAW,CAAIjX,CAAC,EAAK;aAC1BA,CAAC,CAACgN,cAAc,EAAE;aAClBhN,CAAC,CAACiN,eAAe,EAAE;aAEnB,IAAI4J,SAAS,GAAG,CAAC,EACjB;eACCE,YAAY,CAACF,SAAS,CAAC;;aAGxBA,SAAS,GAAGtP,UAAU,CAAC,YAAM;eAC5BqP,MAAM,GAAG,KAAK;eACd,MAAI,CAAC9T,YAAY,EAAE,CAACgI,SAAS,CAACG,MAAM,CAAC,wBAAwB,CAAC;eAC9D,IAAI0L,WAAW,EACf;iBACCA,WAAW,CAAC7L,SAAS,CAACG,MAAM,CAAC,+BAA+B,CAAC;;cAE9D,EAAE,GAAG,CAAC;aACP,OAAO,KAAK;YACZ;WACD,IAAMiM,UAAU,GAAG,SAAbA,UAAU,CAAIlX,CAAC,EAAK;aACzBiX,WAAW,CAACjX,CAAC,CAAC;aACd,IAAIA,CAAC,IACDA,CAAC,CAAC,cAAc,CAAC,IACjBA,CAAC,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,IAC1BA,CAAC,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC6F,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAChD7F,CAAC,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,IAC1BA,CAAC,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC9C,MAAM,GAAG,CAAC,EAEzC;eACCO,6BAAY,CAAC6B,IAAI,CAAC,MAAI,CAACF,cAAc,EAAE,EAAE,WAAW,EAAE,IAAII,0BAAS,CAAC;iBAAC7B,UAAU,EAAE,CAAC,UAAU,EAAE;mBAACwZ,iBAAiB,EAAE;kBAAO;gBAAE,CAAC,CAAC;eAC7H1Z,6BAAY,CAAC6B,IAAI,CAAC,MAAI,CAACF,cAAc,EAAE,EAAE,mBAAmB,EAAE,IAAII,0BAAS,CAAC;iBAACH,IAAI,EAAEW,CAAC,CAAC,cAAc,CAAC,CAAC,OAAO;gBAAE,CAAC,CAAC;eAChHvC,6BAAY,CAAC6B,IAAI,CAAC,MAAI,CAACF,cAAc,EAAE,EAAE,oBAAoB,EAAE;iBAAExB,KAAK,EAAEoC;gBAAG,CAAC;;aAE7E,OAAO,KAAK;YACZ;WAED,MAAI,CAAC8C,YAAY,EAAE,CAAC0B,gBAAgB,CAAC,UAAU,EAAEsS,QAAQ,CAAC;WAC1D,MAAI,CAAChU,YAAY,EAAE,CAAC0B,gBAAgB,CAAC,WAAW,EAAEsS,QAAQ,CAAC;WAC3D,MAAI,CAAChU,YAAY,EAAE,CAAC0B,gBAAgB,CAAC,WAAW,EAAEyS,WAAW,CAAC;WAC9D,MAAI,CAACnU,YAAY,EAAE,CAAC0B,gBAAgB,CAAC,UAAU,EAAEyS,WAAW,CAAC;WAC7D,MAAI,CAACnU,YAAY,EAAE,CAAC0B,gBAAgB,CAAC,MAAM,EAAE0S,UAAU,CAAC;WACxD,MAAI,CAACpU,YAAY,EAAE,CAAC+G,YAAY,CAAC,UAAU,EAAE,aAAa,CAAC;WAC3D,IAAI,CAACnI,QAAQ,CAAC7E,IAAI,CAACS,YAAY,CAAC,UAAU,CAAC,EAC3C;aACCoE,QAAQ,CAAC7E,IAAI,CAACgN,YAAY,CAAC,UAAU,EAAE,YAAY,CAAC;aACpDnI,QAAQ,CAAC7E,IAAI,CAAC2H,gBAAgB,CAAC,UAAU,EAAE,UAASxE,CAAC,EAAC;eACrDA,CAAC,CAACgN,cAAc,EAAE;eAClBhN,CAAC,CAACiN,eAAe,EAAE;eACnB,OAAO,IAAI;cACX,CAAC;aACFvL,QAAQ,CAAC7E,IAAI,CAAC2H,gBAAgB,CAAC,MAAM,EAAE,UAASxE,CAAC,EAAE;eAClDA,CAAC,CAACgN,cAAc,EAAE;eAClBhN,CAAC,CAACiN,eAAe,EAAE;eACnB,IAAIjN,CAAC,IACDA,CAAC,CAAC,cAAc,CAAC,IACjBA,CAAC,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,IAC1BA,CAAC,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC6F,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAChD7F,CAAC,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,IAC1BA,CAAC,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC9C,MAAM,GAAG,CAAC,EAEzC;iBACC,IAAIka,GAAG;iBACP,IAAIC,cAAc;iBAClB,IAAMC,QAAQ,GAAG,oCAAI,CAACC,WAAW,EAjVnBlE,MAAM,eAiV0BmE,IAAI,EAAE;iBACpD,OACC,CAACH,cAAc,GAAGC,QAAQ,CAACG,IAAI,EAAE,KAC9BJ,cAAc,CAACK,IAAI,KAAK,IAAI,IAC5BL,cAAc,CAAC7T,KAAK,EAExB;mBACC4T,GAAG,GAAGC,cAAc,CAAC7T,KAAK;;iBAE3B,IAAI4T,GAAG,EACP;mBACC3Z,6BAAY,CAAC6B,IAAI,CAAC8X,GAAG,CAAChY,cAAc,EAAE,EAAE,WAAW,EAAE,IAAII,0BAAS,CAAC;qBAAC7B,UAAU,EAAE,CAAC,UAAU,EAAE;uBAACwZ,iBAAiB,EAAE;sBAAO;oBAAE,CAAC,CAAC;mBAC5H1Z,6BAAY,CAAC6B,IAAI,CAAC8X,GAAG,CAAChY,cAAc,EAAE,EAAE,mBAAmB,EAAE,IAAII,0BAAS,CAAC;qBAAEH,IAAI,EAAEW,CAAC,CAAC,cAAc,CAAC,CAAC,OAAO;oBAAE,CAAC,CAAC;mBAChHvC,6BAAY,CAAC6B,IAAI,CAAC8X,GAAG,CAAChY,cAAc,EAAE,EAAE,oBAAoB,EAAE;qBAAExB,KAAK,EAAEoC;oBAAG,CAAC;;;eAG7E,OAAO,KAAK;cACZ,CAACrF,IAAI,CAAC,MAAI,CAAC,CAAC;;WAEd,IAAIgc,WAAW,EACf;aACCA,WAAW,CAACnS,gBAAgB,CAAC,WAAW,EAAE,UAACxE,CAAC,EAAK;eAChD8W,QAAQ,CAAC9W,CAAC,CAAC;eACXvC,6BAAY,CAAC6B,IAAI,CAAC,MAAI,CAACF,cAAc,EAAE,EAAE,WAAW,EAAE,IAAII,0BAAS,CAAC;iBAAC7B,UAAU,EAAE,CAAC,UAAU,EAAE;mBAACwZ,iBAAiB,EAAE;kBAAO;gBAAE,CAAC,CAAC;cAC7H,CAAC;;WAGH1Z,6BAAY,CAACC,SAAS,CAAC,MAAI,CAACkF,SAAS,EAAE,EAAE,cAAc,EAAE;aAAA,oDAAEvD,IAAI;eAAGW,CAAC;aAAA,OAAOkX,UAAU,CAAClX,CAAC,CAAC;aAAC;WACxFvC,6BAAY,CAACC,SAAS,CAAC,MAAI,CAACkF,SAAS,EAAE,EAAE,kBAAkB,EAAE;aAAA,oDAAEvD,IAAI;eAAGW,CAAC;aAAA,OAAO8W,QAAQ,CAAC9W,CAAC,CAAC;aAAC;WAC1FvC,6BAAY,CAACC,SAAS,CAAC,MAAI,CAACkF,SAAS,EAAE,EAAE,mBAAmB,EAAE;aAAA,oDAAEvD,IAAI;eAAGW,CAAC;aAAA,OAAOiX,WAAW,CAACjX,CAAC,CAAC;aAAC;UAC9F,GAAG;;;;OAILvC,6BAAY,CAACC,SAAS,CAACvD,UAAU,EAAE,iBAAiB,EAAE,kBAA0B;SAAA,oDAAxBkF,IAAI;WAAGzE,IAAI;WAAEsK,IAAI;SACxE,MAAI,CAACkQ,aAAa,CAACxa,IAAI,EAAEsK,IAAI,CAAC;QAC9B,CAAC;;;OAGFmF,eAAe,CAAC,IAAI,EAAElQ,UAAU,EAAE,IAAI,CAACmQ,YAAY,CAAC;OACpDa,cAAc,CAAChR,UAAU,EAAE,IAAI,CAACmQ,YAAY,CAAC;OAE7C2B,mBAAmB,CAAC,IAAI,EAAE9R,UAAU,CAAC;OACrCqP,YAAY,CAACrP,UAAU,EAAEwG,EAAE,CAAC,IAAI,CAAC4C,SAAS,EAAE,CAAC,CAAC;OAC9C4J,WAAW,CAAC,IAAI,EAAEhT,UAAU,CAAC;;OAE7BsD,6BAAY,CAACC,SAAS,CAAC,IAAI,CAAC0B,cAAc,EAAE,EAAE,gBAAgB,EAAE,YAAM;SACrE,MAAI,CAACwD,SAAS,EAAE,CAAC+U,wBAAwB,EAAE;QAC3C,CAAC;OACFla,6BAAY,CAACC,SAAS,CAAC,IAAI,CAAC0B,cAAc,EAAE,EAAE,gBAAgB,EAAE,YAAM;SACrEyS,UAAU,CAACiB,SAAS,EAAE;SACtB,MAAI,CAAClQ,SAAS,EAAE,CAACgV,uBAAuB,EAAE;QAC1C,CAAC;OAEFna,6BAAY,CAACC,SAAS,CACrBvD,UAAU,EACV,eAAe,EACf,YAAM;SACL,IAAMyD,KAAK,GAAG,IAAIia,UAAU,CAAC,OAAO,EAAE;WACrCC,OAAO,EAAE,IAAI;WACbC,UAAU,EAAE,IAAI;WAChBC,IAAI,EAAEna;UACN,CAAC;SACF1D,UAAU,CAAC8d,UAAU,CAAC9Y,SAAS,CAAC+Y,aAAa,CAACta,KAAK,CAAC;QACpD,CACD;;;KACD;KAAA,4BAGD;OACC,OAAO,IAAI,CAACzD,UAAU;;;KACtB;KAAA,4BAGD;OACC,OAAO,IAAI,CAACwZ,MAAM;;;KAClB;KAAA,iCAGD;OACC,OAAO,IAAI,CAACC,SAAS;;;KACrB;KAAA,+BAGD;OACC,OAAO,IAAI,CAACA,SAAS;;;KACrB;KAAA,6BAGD;OACC,OAAO,IAAI,CAACpJ,OAAO;;;KACnB;KAAA,qCAEoBrQ,UAAU,EAC/B;OACC,IAAI,CAACge,SAAS,CAAChe,UAAU,CAAC;;;KAC1B;KAAA,sCAGD;OACC,IAAI,IAAI,CAACie,cAAc,KAAK,IAAI,EAChC;SACC,IAAI,CAACA,cAAc,GAAG,IAAI;SAC1B,IAAI,CAACnc,IAAI,EAAE;SACXwB,6BAAY,CAAC6B,IAAI,CAAC,IAAI,EAAE,kBAAkB,EAAE,EAAE,CAAC;;;;KAEhD;KAAA,oCAOmBnF,UAAU,EAC9B;OACC,IAAI,CAAC,IAAI,CAACmQ,YAAY,CAACmJ,QAAQ,EAC/B;SACChW,6BAAY,CAAC6B,IAAI,CAAC,IAAI,CAACF,cAAc,EAAE,EAAG,WAAW,EAAE,IAAII,0BAAS,CAAC;WAAC7B,UAAU,EAAE,CAAC,UAAU,EAAExD,UAAU,EAAE,KAAK;UAAE,CAAC,CAAC;;OAGrH,IAAIA,UAAU,CAACke,OAAO,IAAIle,UAAU,CAACke,OAAO,CAAChE,MAAM,EACnD;SACC,IAAI,CAACK,mBAAmB,EAAE;;;;KAE3B;KAAA,0BAESO,MAKT,EACD;OAAA;OACC,IAAI,CAAChZ,IAAI,CAAC,YAAM;SACfgZ,MAAM,CAACtS,IAAI,CAAC,MAAI,CAACC,SAAS,EAAE,CAAC;SAC7B,MAAI,CAACA,SAAS,EAAE,CAACoT,SAAS,CAAC;WAC1B5b,IAAI,EAAE6a,MAAM,CAACja,EAAE;WACfC,GAAG,EAAE;aACJC,KAAK,EAAE,eAACC,QAAQ,EAAEP,IAAI,EAAK;eAC1B,OAAOqa,MAAM,CAAC7Z,KAAK,CAACR,IAAI,CAAC;cACzB;aACDS,OAAO,EAAE4Z,MAAM,CAAC3Z;;UAEjB,CAAC;SACF,IAAI,CAAC,MAAI,CAAC,yBAAyB,CAAC,EACpC;WACC,MAAI,CAACgd,uBAAuB,GAAG9V,iBAAO,CAACC,QAAQ,CAAC,YAAM;aACrD,IAAMpG,OAAO,GAAG,MAAI,CAACuG,SAAS,EAAE,CAAC4C,UAAU,EAAE;aAC7C,IAAI,YAAY,CAACjJ,IAAI,CAACF,OAAO,CAAC,EAC9B;eACC,MAAI,CAACuG,SAAS,EAAE,CAACuD,UAAU,CAC1B9J,OAAO,CAACG,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAACA,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,EACvD,IAAI,CACJ;;YAEF,EAAE,GAAG,CAAC;;SAER,MAAI,CAAC8b,uBAAuB,EAAE;QAC9B,CAAC;;;KACF;KAAA,8BAEa1d,IAAI,EAClB;OAAA;OAAA,IADoBsK,IAAa,uEAAG,IAAI;OAEvC,IAAI,CAACjJ,IAAI,CAAC,YAAM;SACf,IAAMsc,UAAU,GAAG,MAAI,CAAC3V,SAAS,EAAE,CAAC6C,WAAW,EAAE;SACjD,IAAI8S,UAAU,KAAK,SAAS,EAC5B;WACC,IAAMC,KAAK,GAAG,MAAI,CAAC5V,SAAS,EAAE,CAAC6J,SAAS,CAACgM,QAAQ,EAAE;WACnD,MAAI,CAAC7V,SAAS,EAAE,CAAC8V,UAAU,CAACxT,IAAI,IAAItK,IAAI,EAAE4d,KAAK,CAAC;WAChDjR,UAAU,CAAC,MAAI,CAAC3E,SAAS,EAAE,CAAC+V,kBAAkB,CAAChe,IAAI,CAAC,MAAI,CAACiI,SAAS,EAAE,CAAC,EAAE,GAAG,CAAC;WAC3E2E,UAAU,CAAC,MAAI,CAAC3E,SAAS,EAAE,CAAC+V,kBAAkB,CAAChe,IAAI,CAAC,MAAI,CAACiI,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC;UAC5E,MAED;WACC,MAAI,CAACA,SAAS,EAAE,CAAC3E,YAAY,CAACmI,KAAK,EAAE;WAErC,IAAI,CAAC,MAAI,CAACxD,SAAS,EAAE,CAACjH,MAAM,EAC5B;aACC,IAAM+J,GAAG,GAAG,MAAI,CAAC9C,SAAS,EAAE,CAAC+C,YAAY,EAAE;aAC3C,IAAMiT,KAAK,GAAGlT,GAAG,CAACgM,aAAa,CAAC,KAAK,CAAC;aACtCkH,KAAK,CAACnU,KAAK,CAACiC,OAAO,GAAG,MAAM;aAC5BkS,KAAK,CAAC1U,SAAS,GAAGtJ,IAAI;aACtB8K,GAAG,CAAC7I,IAAI,CAACmI,WAAW,CAAC4T,KAAK,CAAC;aAE3Bhe,IAAI,GAAG,MAAI,CAACgI,SAAS,EAAE,CAAC1H,KAAK,CAACN,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;aAEhDge,KAAK,CAACrZ,UAAU,CAACe,WAAW,CAACsY,KAAK,CAAC;;WAGpC,MAAI,CAAChW,SAAS,EAAE,CAAC3E,YAAY,CAAC4a,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAEje,IAAI,CAAC;;QAErD,CAAC;;;KACF;KAAA,uBAEMA,IAAI,EAAEyE,IAAI,EACjB;OAAA;OACC,IAAIyZ,eAAe,GAAG,MAAM;OAC5B,IAAIha,cAAI,CAAC+M,aAAa,CAACxM,IAAI,CAAC,IAAI4U,MAAM,CAACxU,MAAM,CAACJ,IAAI,CAAC,CAACnC,MAAM,EAC1D;SACC+W,MAAM,CAACxU,MAAM,CAACJ,IAAI,CAAC,CAACT,OAAO,CAAC,UAACma,QAAQ,EAAK;WACzC,IAAIA,QAAQ,IAAIA,QAAQ,CAAC,OAAO,CAAC,EACjC;aACCD,eAAe,GAAG,MAAM;;UAEzB,CAAC;;OAGHrb,6BAAY,CAACub,SAAS,CAAC,IAAI,CAAC5Z,cAAc,EAAE,EAAE,2BAA2B,EAAE,CAACxE,IAAI,EAAEyE,IAAI,CAAC,CAAC,CAACkJ,IAAI,CAAC,YAAM;SACnG9K,6BAAY,CAAC6B,IAAI,CAAC,MAAI,CAACF,cAAc,EAAE,EAAE,mBAAmB,EAAE0Z,eAAe,CAAC;SAC9Erb,6BAAY,CAAC6B,IAAI,CAAC,MAAI,CAACF,cAAc,EAAE,EAAG,sBAAsB,EAAE,CAACxE,IAAI,EAAEyE,IAAI,CAAC,CAAC;SAC/E,MAAI,CAACuD,SAAS,EAAE,CAACqH,cAAc,CAACnL,cAAI,CAACma,QAAQ,CAACre,IAAI,CAAC,GAAGA,IAAI,GAAG,EAAE,CAAC;SAChE+F,EAAE,CAACuG,aAAa,CAAC,MAAI,CAACtE,SAAS,EAAE,EAAE,gBAAgB,EAAE,CAAC,MAAI,EAAEhI,IAAI,EAAEyE,IAAI,CAAC,CAAC;SAExE,IAAI,MAAI,CAACiL,YAAY,CAAC,QAAQ,CAAC,EAC/B;WACC,MAAI,CAAC4O,OAAO,CAACC,eAAe,CAAC,MAAI,CAAC7O,YAAY,CAAC,QAAQ,CAAC,CAAC;WACzD,MAAI,CAAC4O,OAAO,CAACE,cAAc,EAAE;;QAE9B,CAAC;;;KACF;KAAA,kCAGD;OAAA;OAAA,IADW/Z,IAAI,UAAJA,IAAI;SAAE1B,UAAU,UAAVA,UAAU;OAE1B,aAAiC0B,IAAI,IAAI1B,UAAU;SAAA;SAA9C0K,IAAI;SAAEgR,QAAQ;SAAEC,QAAQ;OAC7B,IAAI,CAAC,IAAI,CAAC1W,SAAS,EAAE,IAAI/E,MAAM,CAAC,cAAc,CAAC,EAC/C;SACCA,MAAM,CAAC,cAAc,CAAC,CAACuW,GAAG,CAAC,IAAI,CAACnN,KAAK,EAAE,CAAC,CAAC6C,IAAI,EAAE;;OAEhDzB,IAAI,GAAIA,IAAI,KAAK,KAAK,IAAIA,IAAI,KAAK,MAAM,IAAIA,IAAI,KAAK,UAAU,GAAIA,IAAI,GAAG,IAAI;OAE/E,IAAMsO,WAAW,GAAGhW,EAAE,CAAC,OAAO,IAAI,IAAI,CAACvG,IAAI,IAAE,IAAI,CAACY,EAAE,CAAC,CAAC;OACtD,IAAI2b,WAAW,EACf;SACCA,WAAW,CAAClS,KAAK,CAACiC,OAAO,GAAK2B,IAAI,KAAK,IAAI,IAAIA,IAAI,KAAK,UAAU,GAAI,MAAM,GAAG,OAAQ;;OAGxF,IAAIA,IAAI,KAAK,MAAM,EACnB;SACC,oCAAI,CAACkP,WAAW,EA/jBElE,MAAM,wBA+jBW,CAAC,IAAI,CAAC;SAEzC5V,6BAAY,CAAC6B,IAAI,CAAC,IAAI,CAACF,cAAc,EAAE,EAAE,iBAAiB,CAAC;SAC3D,IAAI,IAAI,CAAC0D,YAAY,EAAE,CAAC2B,KAAK,CAACiC,OAAO,KAAK,MAAM,EAChD;WACCjJ,6BAAY,CAAC6B,IAAI,CAAC,IAAI,CAACF,cAAc,EAAE,EAAE,gBAAgB,CAAC;WAC1D3B,6BAAY,CAAC6B,IAAI,CAAC,IAAI,CAACF,cAAc,EAAE,EAAE,mBAAmB,EAAE,MAAM,CAAC;UACrE,MAED;WACE,IAAIuB,EAAE,CAAC,QAAQ,CAAC,CAAC;aACjB4Y,QAAQ,EAAG,GAAG;aACdC,KAAK,EAAG;eAAE5O,OAAO,EAAE,GAAG;eAAE5I,MAAM,EAAG,IAAI,CAACc,YAAY,EAAE,CAAC2W;cAAa;aAClEC,MAAM,EAAG;eAAE9O,OAAO,EAAG,CAAC;eAAE5I,MAAM,EAAG;cAAG;aACpC2X,UAAU,EAAGhZ,EAAE,CAACiZ,MAAM,CAACC,WAAW,CAAClZ,EAAE,CAACiZ,MAAM,CAACE,WAAW,CAACC,IAAI,CAAC;aAC9DC,IAAI,EAAG,cAACC,KAAK,EAAK;eACjB,MAAI,CAACnX,YAAY,EAAE,CAAC2B,KAAK,CAACzC,MAAM,GAAGiY,KAAK,CAACjY,MAAM,GAAG,IAAI;eACtD,MAAI,CAACc,YAAY,EAAE,CAAC2B,KAAK,CAACmG,OAAO,GAAGqP,KAAK,CAACrP,OAAO,GAAG,GAAG;cACvD;aACDtD,QAAQ,EAAE,oBAAM;eACf,MAAI,CAACxE,YAAY,EAAE,CAAC2B,KAAK,CAACyV,OAAO,GAAG,EAAE;eACtC,MAAI,CAACpX,YAAY,EAAE,CAAC2B,KAAK,CAACiC,OAAO,GAAG,MAAM;eAC1CjJ,6BAAY,CAAC6B,IAAI,CAAC,MAAI,CAACF,cAAc,EAAE,EAAE,gBAAgB,CAAC;eAC1D3B,6BAAY,CAAC6B,IAAI,CAAC,MAAI,CAACF,cAAc,EAAE,EAAE,mBAAmB,EAAE,MAAM,CAAC;;YAEtE,CAAC,CAAE0O,OAAO,EAAE;;QAEd,MACI,IAAIzF,IAAI,EACb;SACC,oCAAI,CAACkP,WAAW,EA7lBElE,MAAM,eA6lBK1P,GAAG,CAAC,IAAI,CAAC;SAEtC,IAAI,CAACmQ,cAAc,GAClBhV,cAAI,CAACkV,OAAO,CAACsF,QAAQ,CAAC,IACnBxa,cAAI,CAACC,cAAc,CAACua,QAAQ,CAAC,CAAC,CAAC,CAAC,IAChCA,QAAQ,CAAC,CAAC,CAAC,CAAC5c,KAAK,CAAC,eAAe,CAAC,GAClC,MAAM,GACN,IACH;SAED,IAAI2c,QAAQ,IAAIva,cAAI,CAAC+M,aAAa,CAACwN,QAAQ,CAAC,EAC5C;WACC,IAAIA,QAAQ,CAAC,mBAAmB,CAAC,EACjC;aACC5b,6BAAY,CAAC6B,IAAI,CAAC,IAAI,CAACF,cAAc,EAAE,EAAE,mBAAmB,EAAEia,QAAQ,CAAC,mBAAmB,CAAC,CAAC;;;SAI9F5b,6BAAY,CAAC6B,IAAI,CAAC,IAAI,CAACF,cAAc,EAAE,EAAE,iBAAiB,CAAC;SAC3D,IAAIiJ,IAAI,KAAK,UAAU,IAAI,IAAI,CAACvF,YAAY,EAAE,CAAC2B,KAAK,CAACiC,OAAO,KAAK,OAAO,EACxE;WACC,IAAI,CAAC5D,YAAY,EAAE,CAAC2B,KAAK,CAACiC,OAAO,GAAG,OAAO;WAC3CjJ,6BAAY,CAAC6B,IAAI,CAAC,IAAI,CAACF,cAAc,EAAE,EAAE,gBAAgB,CAAC,CAAC;WAC3D,IAAIia,QAAQ,KAAK,KAAK,EACtB;aACC,IAAI,CAACzW,SAAS,EAAE,CAACwD,KAAK,EAAE;;UAEzB,MAED;WACCoM,aAAG,CAAC2H,MAAM,CAAC,IAAI,CAACrX,YAAY,EAAE,EAAE;aAC/B2B,KAAK,EAAE;eACNiC,OAAO,EAAE,OAAO;eAChB0T,QAAQ,EAAE,QAAQ;eAClBpY,MAAM,EAAE,MAAM;eACd4I,OAAO,EAAC;;YAET,CAAC;WACD,IAAIjK,EAAE,CAAC,QAAQ,CAAC,CAAC;aACjB4Y,QAAQ,EAAE,GAAG;aACbC,KAAK,EAAE;eAAE5O,OAAO,EAAE,EAAE;eAAE5I,MAAM,EAAE;cAAI;aAClC0X,MAAM,EAAE;eAAE9O,OAAO,EAAE,GAAG;eAAE5I,MAAM,EAAE,IAAI,CAACc,YAAY,EAAE,CAAC2W;cAAa;aACjEE,UAAU,EAAEhZ,EAAE,CAACiZ,MAAM,CAACC,WAAW,CAAClZ,EAAE,CAACiZ,MAAM,CAACE,WAAW,CAACC,IAAI,CAAC;aAC7DC,IAAI,EAAE,cAACC,KAAK,EAAK;eAChB,MAAI,CAACnX,YAAY,EAAE,CAAC2B,KAAK,CAACzC,MAAM,GAAGiY,KAAK,CAACjY,MAAM,GAAG,IAAI;eACtD,MAAI,CAACc,YAAY,EAAE,CAAC2B,KAAK,CAACmG,OAAO,GAAGqP,KAAK,CAACrP,OAAO,GAAG,GAAG;cACvD;aACDtD,QAAQ,EAAE,oBAAM;eACf7J,6BAAY,CAAC6B,IAAI,CAAC,MAAI,CAACF,cAAc,EAAE,EAAG,gBAAgB,CAAC,CAAC;eAC5D,MAAI,CAACwD,SAAS,EAAE,CAACwD,KAAK,EAAE;eACxB,MAAI,CAACtD,YAAY,EAAE,CAAC2B,KAAK,CAACyV,OAAO,GAAG,EAAE;;YAEvC,CAAC,CAAEpM,OAAO,EAAE;;QAEd,MAED;SACC,oCAAI,CAACyJ,WAAW,EAtpBElE,MAAM,wBAspBW,CAAC,IAAI,CAAC;SAEzC5V,6BAAY,CAAC6B,IAAI,CAAC,IAAI,CAACF,cAAc,EAAE,EAAE,iBAAiB,CAAC;SAC3D3B,6BAAY,CAAC6B,IAAI,CAAC,IAAI,CAACF,cAAc,EAAE,EAAE,mBAAmB,EAAE,MAAM,CAAC;SACrE,IAAI,CAAC0D,YAAY,EAAE,CAAC2B,KAAK,CAACiC,OAAO,GAAG,MAAM;SAC1CjJ,6BAAY,CAAC6B,IAAI,CAAC,IAAI,CAACF,cAAc,EAAE,EAAE,gBAAgB,CAAC;;;;KAE3D;KAAA,sCAGD;OAAA,oDADeC,IAAI;SAAGvD,MAAM;OAE3B,IAAIA,MAAM,KAAK,QAAQ,EACvB;SACC,IAAMue,GAAG,GAAG;WAAC3e,MAAM,EAAG;UAAK;SAC3B+B,6BAAY,CAAC6B,IAAI,CAAC,IAAI,CAACF,cAAc,EAAE,EAAG,qBAAqB,EAAE,IAAII,0BAAS,CAAC;WAAC7B,UAAU,EAAE,CAAC,IAAI,EAAE0c,GAAG;UAAE,CAAC,CAAC;SAC1G,IAAIA,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,EAC3B;WACC5c,6BAAY,CAAC6B,IAAI,CAAC,IAAI,CAACF,cAAc,EAAE,EAAG,eAAe,EAAG,IAAII,0BAAS,CAAC;aAAC7B,UAAU,EAAE,CAAC,IAAI;YAAE,CAAC,CAAC;;QAEjG,MAED;SACCF,6BAAY,CAAC6B,IAAI,CAAC,IAAI,CAACF,cAAc,EAAE,EAAG,eAAe,EAAG,IAAII,0BAAS,CAAC;WAAC7B,UAAU,EAAE,CAAC,IAAI;UAAE,CAAC,CAAC;SAChGF,6BAAY,CAAC6B,IAAI,CAAC,IAAI,CAACF,cAAc,EAAE,EAAG,WAAW,EAAG,IAAII,0BAAS,CAAC;WAAC7B,UAAU,EAAE,CAAC,MAAM;UAAE,CAAC,CAAC;;MAE/F;;KAED;KAAA,qBACK+C,IAAI,EAAE4Z,IAAI,EACf;OACC,IAAI,OAAO5Z,IAAI,IAAI,UAAU,EAC7B;SACC,IAAI,CAAC6Z,WAAW,CAAC3a,IAAI,CAAC,CAACc,IAAI,EAAE4Z,IAAI,CAAC,CAAC;;OAGpC,IAAI,IAAI,CAAClC,cAAc,KAAK,IAAI,EAChC;SACC,IAAIiC,GAAG;SACP,OAAO,CAACA,GAAG,GAAG,IAAI,CAACE,WAAW,CAACza,KAAK,EAAE,KAAKua,GAAG,EAC9C;WACCA,GAAG,CAAC,CAAC,CAAC,CAACta,KAAK,CAAC,IAAI,EAAEsa,GAAG,CAAC,CAAC,CAAC,CAAC;;;;;KAG5B;KAAA,qCAyBD;OACChQ,eAAe,CAAC,IAAI,EAAE,IAAI,CAACzH,SAAS,EAAE,EAAE,EAAE,CAAC;;;KAC3C;KAAA,6BAGD;OACC,OAAQ,IAAI,CAACsW,OAAO,GAAG,IAAI,CAACA,OAAO,CAAC1T,UAAU,EAAE,GAAG,EAAE;;;KACrD;KAAA,2BAEU5K,IAAI,EACf;OACC,IAAI,IAAI,CAACgI,SAAS,EAAE,EACpB;SACC,IAAI,CAACA,SAAS,EAAE,CAACuD,UAAU,CAACvL,IAAI,CAAC;;;;KAElC;KAAA,+BAEc4f,MAAM,EACrB;OACC/c,6BAAY,CAAC6B,IAAI,CAAC,IAAI,CAACF,cAAc,EAAE,EAAE,mBAAmB,EAAEob,MAAM,KAAK,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;;;KAClG;KAAA,8BAGD;OACC,IAAI,CAAC5X,SAAS,EAAE,CAAC6X,OAAO,CAAC,SAAS,CAAC;OACnC,IAAI,CAAC7X,SAAS,EAAE,CAAC8X,sBAAsB,EAAE;;;KACzC;KAAA,iDAGD;OACC,IAAMC,SAAS,GAAG,IAAI,CAAC/X,SAAS,EAAE,CAAC+S,MAAM,CAACiF,8BAA8B;OAExE,OAAO9b,cAAI,CAAC+b,KAAK,CAACF,SAAS,CAAC,IAAIA,SAAS;;;KACzC;KAAA,kDAGD;OACC,IAAMA,SAAS,GAAG,IAAI,CAAC/X,SAAS,EAAE,CAAC+S,MAAM,CAACmF,+BAA+B;OAEzE,OAAOhc,cAAI,CAAC+b,KAAK,CAACF,SAAS,CAAC,IAAIA,SAAS;;;KACzC;KAAA,oBApUD;OACC,OAAO,IAAI,CAACvC,cAAc;;;KAC1B;KAAA,oBAoQD;OACC,OAAO,IAAI,CAACxV,SAAS,EAAE;;;KACvB;KAAA,oBAGD;OACC,OAAO,IAAI,CAACqE,KAAK,EAAE;;;KACnB;KAAA,oBAGD;OACC,OAAO,IAAI,CAAC1D,SAAS,EAAE;;;KACvB;KAAA,oBAGD;OACC,OAAO;SACNxF,MAAM,EAAE,IAAI,CAACwF,SAAS;QACtB;;;KACD;KAAA,oBA8CD;OACC,IAAM3F,KAAK,GAAG,IAAI4B,0BAAS,EAAE;OAC7B,IAAMH,IAAI,GAAG,EAAE;OACfzB,KAAK,CAACmd,OAAO,CAAC1b,IAAI,CAAC;OACnB5B,6BAAY,CAAC6B,IAAI,CAAC,IAAI,CAACF,cAAc,EAAE,EAAE,sBAAsB,EAAExB,KAAK,CAAC;OACvE,IAAMlC,MAAM,GAAG,EAAE;OACjBuY,MAAM,CAACuD,IAAI,CAACnY,IAAI,CAAC,CAACT,OAAO,CAAC,UAACoc,SAAS,EAAK;SACxCtf,MAAM,CAACsf,SAAS,CAAC,GAAG/G,MAAM,CAACO,MAAM,CAAC,EAAE,EAAEnV,IAAI,CAAC2b,SAAS,CAAC,CAAC;SACtDtf,MAAM,CAACsf,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE;SAChC,IAAIlc,cAAI,CAACkV,OAAO,CAAC3U,IAAI,CAAC2b,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,EAC3C;WACC3b,IAAI,CAAC2b,SAAS,CAAC,CAAC,QAAQ,CAAC,CAACpc,OAAO,CAAC,UAAC5D,EAAE,EAAK;aACzCU,MAAM,CAACsf,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAChgB,EAAE,CAAC,GAAG;eACjCA,EAAE,EAAGA;cACL;YACD,CAAC;UACF,MACI,IAAI8D,cAAI,CAAC+M,aAAa,CAACxM,IAAI,CAAC2b,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,EACtD;WACCtf,MAAM,CAACsf,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAI/G,MAAM,CAACO,MAAM,CAAC,EAAE,EAAEnV,IAAI,CAAC2b,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;;QAE5E,CAAC;OACF,OAAOtf,MAAM;;;KACb;KAAA,oBAGD;OACC,IAAMkC,KAAK,GAAG,IAAI4B,0BAAS,EAAE;OAC7B,IAAMH,IAAI,GAAG,EAAE;OACfzB,KAAK,CAACmd,OAAO,CAAC1b,IAAI,CAAC;OACnB5B,6BAAY,CAAC6B,IAAI,CAAC,IAAI,CAACF,cAAc,EAAE,EAAE,sBAAsB,EAAExB,KAAK,CAAC;OACvE,IAAMlC,MAAM,GAAG,EAAE;OACjBuY,MAAM,CAACuD,IAAI,CAACnY,IAAI,CAAC,CAACT,OAAO,CAAC,UAACoc,SAAS,EAAK;SACxC,IAAI3b,IAAI,CAAC2b,SAAS,CAAC,CAAC,QAAQ,CAAC,EAC7B;WACC3b,IAAI,CAAC2b,SAAS,CAAC,CAAC,QAAQ,CAAC,CAACpc,OAAO,CAAC,UAAC5D,EAAE,EAAK;aACzCU,MAAM,CAACV,EAAE,CAAC,GAAG,CAACggB,SAAS,CAAC;YACxB,CAAC;;QAEH,CAAC;OACF,OAAOtf,MAAM;MACb;;GACD;CAAA;CAAA,4BA/yBoB2X,MAAM,UAEZ,IAAI/Q,GAAG,EAAE;CAAA;GAAA;GAAA,OA8yBF,IAAIA,GAAG;CAAE;;CCpzB9BzE,MAAM,CAAC,aAAa,CAAC,GAAG;;GAGvB+E,SAAS,EAAE,mBAAS1I,MAAM,EAC1B;KACC,OAAQ2D,MAAM,CAAC,cAAc,CAAC,GAAGA,MAAM,CAAC,cAAc,CAAC,CAACuW,GAAG,CAAE,uBAAOla,MAAM,KAAI,QAAQ,GAAGA,MAAM,CAACc,EAAE,GAAGd,MAAM,CAAE,GAAG,IAAI;IACpH;GAED+gB,UAAU,EAAE,oBAAS/gB,MAAM,EAC3B;KACC,IAAMc,EAAE,GAAG8D,cAAI,CAACC,cAAc,CAAC7E,MAAM,CAAC,GAAGA,MAAM,GAAGA,MAAM,CAACc,EAAE;KAC3D,OAAOqY,MAAM,CAACU,IAAI,CAAC5Q,GAAG,CAACnI,EAAE,CAAC;IAC1B;GAEDkgB,kBAAkB,EAAE,4BAASvH,MAAM,EACnC;KACC,IAAIjY,MAAM,GAAG,IAAI;KACjB2X,MAAM,CAACU,IAAI,CAACnV,OAAO,CAAC,UAAC1E,MAAM,EAAK;OAC/B,IAAIA,MAAM,CAACqJ,SAAS,EAAE,KAAKoQ,MAAM,EACjC;SACCjY,MAAM,GAAGxB,MAAM;;MAEhB,CAAC;KACF,OAAOwB,MAAM;IACb;GAEDyf,UAAU,EAAE,oBAASC,QAAQ,EAAExgB,IAAI,EAAEyE,IAAI,EACzC;KACC,IAAMoC,KAAK,GAAG,EAAE;KAChB,IAAI,CAAC3C,cAAI,CAAC+M,aAAa,CAACxM,IAAI,CAAC,EAC7B;OACCA,IAAI,GAAG,EAAE;;KAGV4U,MAAM,CAAClF,OAAO,CAAC1P,IAAI,CAAC,CAACT,OAAO,CAAC,gBAAgC;OAAA;SAA9Byc,aAAa;SAAEC,SAAS;OACtD,IAAIxc,cAAI,CAAC+M,aAAa,CAACyP,SAAS,CAAC,IAC7BA,SAAS,CAAC,cAAc,CAAC,IACzBA,SAAS,CAAC,OAAO,CAAC,IAClBrH,MAAM,CAACxU,MAAM,CAAC6b,SAAS,CAAC,OAAO,CAAC,CAAC,CAACpe,MAAM,GAAG,CAAC,EAEhD;SACCuE,KAAK,CAAC4Z,aAAa,CAAC,GAAGC,SAAS;;MAEjC,CAAC;KAEF,IAAM5gB,OAAO,GAAG,IAAI,CAACugB,UAAU,CAACG,QAAQ,CAAC;KACzC,IAAI1gB,OAAO,KAAKA,OAAO,CAACmF,OAAO,IAAIf,cAAI,CAACC,cAAc,CAACnE,IAAI,CAAC,IAAIqZ,MAAM,CAACxU,MAAM,CAACgC,KAAK,CAAC,CAACvE,MAAM,GAAG,CAAC,CAAC,EAChG;OACCxC,OAAO,CAACuB,IAAI,CAACvB,OAAO,CAACmI,MAAM,EAAE,CAACjI,IAAI,EAAE6G,KAAK,CAAC,CAAC;;KAE5C,OAAO,KAAK;IACZ;GAED8Z,gBAAgB,EAAE,0BAASH,QAAQ,EACnC;KACC,IAAM1gB,OAAO,GAAG2Y,MAAM,CAACU,IAAI,CAAC5Q,GAAG,CAACiY,QAAQ,CAAC;KACzC,IAAI1gB,OAAO,IAAIA,OAAO,CAAC0E,cAAc,EAAE,EACvC;OACC3B,6BAAY,CAAC6B,IAAI,CAAC5E,OAAO,CAAC0E,cAAc,EAAE,EAAE,sBAAsB,EAAE,CAAC1E,OAAO,CAAC,CAAC;;;;CAIjF,CAAC;;;;;;;;;ACnEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACl2CA","file":"script.js.map","sourcesContent":[null,"import Editor from '../editor';\nexport default class Default\n{\n\tid: string = 'SomeParser';\n\tbuttonParams: ?Object = {\n\t\tname: 'Some parser name',\n\t\ticonClassName: 'some-parser-class',\n\t\tdisabledForTextarea: false,\n\t\tsrc: '/icon.png',\n\t\ttoolbarSort: 205,\n\t\tcompact: false\n\t};\n\teditor;\n\thtmlEditor;\n\n\tconstructor(editor: Editor, htmlEditor)\n\t{\n\t\tthis.editor = editor;\n\t\tthis.htmlEditor = htmlEditor;\n\t\tthis.handler = this.handler.bind(this);\n\t}\n\n\thandler()\n\t{\n\n\t}\n\n\tparse(text)\n\t{\n\t\treturn text;\n\t}\n\n\tunparse(bxTag, oNode)\n\t{\n\t\treturn '';\n\t}\n\n\thasButton()\n\t{\n\t\treturn (this.buttonParams !== null);\n\t}\n\n\tgetButton()\n\t{\n\t\tif (this.buttonParams === null)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\t\treturn {\n\t\t\tid: this.id,\n\t\t\tname: this.buttonParams.name,\n\t\t\ticonClassName: this.buttonParams.iconClassName,\n\t\t\tdisabledForTextarea: this.buttonParams.disabledForTextarea,\n\t\t\tsrc: this.buttonParams.src,\n\t\t\ttoolbarSort: this.buttonParams.toolbarSort,\n\t\t\tcompact: this.buttonParams.compact === true,\n\t\t\thandler: this.handler\n\t\t}\n\t}\n\n\tgetParser()\n\t{\n\t\treturn {\n\t\t\tname: this.id,\n\t\t\tobj: {\n\t\t\t\tParse: (parserId, text) => {\n\t\t\t\t\treturn this.parse(text);\n\t\t\t\t},\n\t\t\t\tUnParse: this.unparse.bind(this)\n\t\t\t}\n\t\t};\n\t}\n}","import {Loc} from 'main.core';\nimport Default from './default';\n\nexport default class Spoiler extends Default\n{\n\tid: string = 'spoiler';\n\tbuttonParams: ?Object = {\n\t\tname: Loc.getMessage('MPF_SPOILER'),\n\t\ticonClassName: 'spoiler',\n\t\tdisabledForTextarea: false,\n\t\tsrc: Loc.getMessage('MPF_TEMPLATE_FOLDER') + '/images/lhespoiler.svg',\n\t\ttoolbarSort: 205,\n\t}\n\n\thandler()\n\t{\n\t\tlet result;\n\t\t// Iframe\n\t\tif (!this.htmlEditor.bbCode || !this.htmlEditor.synchro.IsFocusedOnTextarea())\n\t\t{\n\t\t\tresult = this.htmlEditor.action.actions.formatBlock.exec('formatBlock', 'blockquote', 'bx-spoiler', false, {bxTagParams : {tag: \"spoiler\"}});\n\t\t}\n\t\telse // bbcode + textarea\n\t\t{\n\t\t\tresult = this.htmlEditor.action.actions.formatBbCode.exec('quote', {tag: 'SPOILER'});\n\t\t}\n\t\treturn result;\n\t}\n\n\tparse(content, pLEditor)\n\t{\n\t\tif (/\\[spoiler(([^\\]])*)\\]/gi.test(content))\n\t\t{\n\t\t\tcontent = content.\n\t\t\t\treplace(/[\\x01-\\x02]/gi, '').\n\t\t\t\treplace(/\\[spoiler([^\\]]*)\\]/gi, '\\x01$1\\x01').\n\t\t\t\treplace(/\\[\\/spoiler]/gi, '\\x02');\n\t\t\tconst reg2 = /(?:\\x01([^\\x01]*)\\x01)([^\\x01-\\x02]+)\\x02/gi;\n\n\t\t\twhile (content.match(reg2))\n\t\t\t{\n\t\t\t\tcontent = content.replace(reg2, function(str, title, body) {\n\t\t\t\t\ttitle = title.replace(/^(=\"|='|=)/gi, '').replace(/(\"|')?$/gi, '');\n\t\t\t\t\treturn `<blockquote class=\"bx-spoiler\" id=\"${this.htmlEditor.SetBxTag(false, {tag: \"spoiler\"})}\" title=\"${title}\">${body}</blockquote>`;\n\t\t\t\t}.bind(this));\n\t\t\t}\n\t\t}\n\t\tcontent = content.\n\t\t\treplace(/\\001([^\\001]*)\\001/gi, '[spoiler$1]').\n\t\t\treplace(/\\002/gi, '[/spoiler]');\n\t\treturn content;\n\t}\n\n\tunparse(bxTag, oNode)\n\t{\n\t\tlet name = '';\n\t\tfor (let i = 0; i < oNode.node.childNodes.length; i++)\n\t\t{\n\t\t\tname += this.htmlEditor.bbParser.GetNodeHtml(oNode.node.childNodes[i]);\n\t\t}\n\t\tname = name.trim();\n\t\tif (name !== '')\n\t\t{\n\t\t\treturn \"[SPOILER\" + (oNode.node.hasAttribute(\"title\") ? '=' + oNode.node.getAttribute(\"title\") : '')+ \"]\" + name +\"[/SPOILER]\";\n\t\t}\n\t\treturn \"\";\n\t}\n}","import {Type} from 'main.core';\nimport {EventEmitter} from 'main.core.events';\nimport Default from './default';\nimport Editor from \"../editor\";\n\nexport default class PostUser extends Default\n{\n\tid: string = 'postuser';\n\tbuttonParams = null;\n\n\tconstructor(editor: Editor, htmlEditor)\n\t{\n\t\tsuper(editor, htmlEditor);\n\n\t\tEventEmitter.subscribe(\n\t\t\thtmlEditor,\n\t\t\t'OnIframeKeydown',\n\t\t\tfunction({compatData: [event]})\n\t\t\t{\n\t\t\t\tif (window.onKeyDownHandler)\n\t\t\t\t{\n\t\t\t\t\twindow.onKeyDownHandler(event, htmlEditor, htmlEditor.formID);\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\tEventEmitter.subscribe(\n\t\t\thtmlEditor,\n\t\t\t'OnIframeKeyup',\n\t\t\tfunction({compatData: [event]})\n\t\t\t{\n\t\t\t\tif (window.onKeyUpHandler)\n\t\t\t\t{\n\t\t\t\t\twindow.onKeyUpHandler(event, htmlEditor, htmlEditor.formID);\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\tEventEmitter.subscribe(\n\t\t\thtmlEditor,\n\t\t\t'OnIframeClick',\n\t\t\tfunction()\n\t\t\t{\n\t\t\t\tif (window['BXfpdStopMent' + htmlEditor.formID])\n\t\t\t\t{\n\t\t\t\t\twindow['BXfpdStopMent' + htmlEditor.formID]();\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\tEventEmitter.subscribe(\n\t\t\thtmlEditor,\n\t\t\t'OnTextareaKeyup',\n\t\t\tfunction({compatData: [event]})\n\t\t\t{\n\t\t\t\tif (htmlEditor.textareaView\n\t\t\t\t\t&& htmlEditor.textareaView.GetCursorPosition\n\t\t\t\t\t&& window.onTextareaKeyUpHandler\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\twindow.onTextareaKeyUpHandler(event, htmlEditor, htmlEditor.formID);\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t\tEventEmitter.subscribe(\n\t\t\thtmlEditor,\n\t\t\t'OnTextareaKeydown',\n\t\t\tfunction({compatData: [event]})\n\t\t\t{\n\t\t\t\tif (htmlEditor.textareaView\n\t\t\t\t\t&& htmlEditor.textareaView.GetCursorPosition\n\t\t\t\t\t&& window.onTextareaKeyDownHandler)\n\t\t\t\t{\n\t\t\t\t\twindow.onTextareaKeyDownHandler(event, htmlEditor, htmlEditor.formID);\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\tparse(content, pLEditor)\n\t{\n\t\tcontent = content.replace(\n\t\t\t/\\[USER\\s*=\\s*(\\d+)\\](.*?)\\[\\/USER\\]/ig,\n\t\t\t(str, id, name) => {\n\t\t\t\tname = name.trim();\n\t\t\t\tif (name === '')\n\t\t\t\t{\n\t\t\t\t\treturn '';\n\t\t\t\t}\n\t\t\t\tconst tagId = this.htmlEditor.SetBxTag(false, {tag: this.id, userId: id, userName: name});\n\t\t\t\treturn `<span id=\"${tagId}\" class=\"bxhtmled-metion\">${name}</span>`;\n\t\t\t})\n\t\t\t.replace(\n\t\t\t\t/\\[PROJECT\\s*=\\s*(\\d+)\\](.*?)\\[\\/PROJECT\\]/ig,\n\t\t\t\t(str, id, name) => {\n\t\t\t\t\tname = name.trim();\n\t\t\t\t\tif (name === '')\n\t\t\t\t\t{\n\t\t\t\t\t\treturn '';\n\t\t\t\t\t}\n\t\t\t\t\tconst tagId = this.htmlEditor.SetBxTag(false, {tag: this.id, projectId: id, projectName: name});\n\t\t\t\t\treturn `<span id=\"${tagId}\" class=\"bxhtmled-metion\">${name}</span>`;\n\t\t\t\t})\n\t\t\t.replace(\n\t\t\t\t/\\[DEPARTMENT\\s*=\\s*(\\d+)\\](.*?)\\[\\/DEPARTMENT\\]/ig,\n\t\t\t\t(str, id, name) => {\n\t\t\t\t\tname = name.trim();\n\t\t\t\t\tif (name === '')\n\t\t\t\t\t{\n\t\t\t\t\t\treturn '';\n\t\t\t\t\t}\n\t\t\t\t\tconst tagId = this.htmlEditor.SetBxTag(false, {tag: this.id, departmentId: id, departmentName: name});\n\t\t\t\t\treturn `<span id=\"${tagId}\" class=\"bxhtmled-metion\">${name}</span>`;\n\t\t\t\t});\n\t\treturn content;\n\t}\n\n\tunparse(bxTag, oNode)\n\t{\n\t\tlet text = '';\n\t\toNode.node.childNodes.forEach((node) => {\n\t\t\ttext += this.htmlEditor.bbParser.GetNodeHtml(node);\n\t\t});\n\t\ttext = String(text).trim();\n\n\t\tlet result = '';\n\t\tif (Type.isStringFilled(text))\n\t\t{\n\t\t\tif (!Type.isUndefined(bxTag.userId))\n\t\t\t{\n\t\t\t\tresult = `[USER=${bxTag.userId}]${text}[/USER]`;\n\t\t\t}\n\t\t\telse if (!Type.isUndefined(bxTag.projectId))\n\t\t\t{\n\t\t\t\tresult = `[PROJECT=${bxTag.projectId}]${text}[/PROJECT]`;\n\t\t\t}\n\t\t\telse if (!Type.isUndefined(bxTag.departmentId))\n\t\t\t{\n\t\t\t\tresult = `[DEPARTMENT=${bxTag.departmentId}]${text}[/DEPARTMENT]`;\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n}\n","import {EventEmitter, BaseEvent} from 'main.core.events';\nimport Editor from \"../../editor\";\n\nexport default class Controller\n{\n\tactionPool: Array = [];\n\tcid: String;\n\tcontainer: Element;\n\teditor: Editor;\n\n\tconstructor(cid, container, editor)\n\t{\n\t\tthis.cid = cid;\n\t\tthis.container = container;\n\t\tthis.editor = editor;\n\t\tEventEmitter.subscribe(editor.getEventObject(), 'onShowControllers', ({data}) => {\n\t\t\tEventEmitter.emit(container.parentNode, 'BFileDLoadFormController', new BaseEvent({compatData: [data]}));\n\t\t});\n\t\tEventEmitter.subscribe(editor.getEventObject(), 'onCollectControllers', (event) => {\n\t\t\tevent.data[cid] = {values: []};\n\t\t});\n\t}\n\n\tget isReady()\n\t{\n\t\treturn true;\n\t}\n\n\texec(callback = null): void\n\t{\n\t\tif (callback)\n\t\t{\n\t\t\tthis.actionPool.push(callback);\n\t\t}\n\t\tif (this.isReady)\n\t\t{\n\t\t\ttry{\n\t\t\t\tlet action;\n\t\t\t\twhile ((action = this.actionPool.shift()) && action)\n\t\t\t\t{\n\t\t\t\t\taction.apply(this);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcatch(e)\n\t\t\t{\n\t\t\t\tconsole.log('error in attachments controllers: ', e);\n\t\t\t}\n\t\t}\n\t}\n\n\tgetId(): string\n\t{\n\t\treturn this.cid;\n\t}\n\n\tgetFieldName(): ?string\n\t{\n\t\treturn null;\n\t}\n\n\treinitFrom(data)\n\t{\n\t\tthis.exec(() => {\n\t\t\tif (!this.getFieldName())\n\t\t\t{\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.container.querySelector(`inptut[name=\"${this.getFieldName()}\"]`)\n\t\t\t\t.forEach(function(inputFile) {\n\t\t\t\t\t\tinputFile.parentNode.removeChild(inputFile);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t});\n\t}\n}","import {EventEmitter, BaseEvent} from 'main.core.events';\nimport Controller from \"./controller\";\n\nexport default class DiskController extends Controller\n{\n\tdiskUfUploader = null;\n\tdiskUfHandler = null;\n\n\tconstructor(cid, container, editor)\n\t{\n\t\tsuper(cid, container, editor);\n\n\t\tconst _catchHandler = (diskUfUploader) => {\n\t\t\tthis.diskUfUploader = diskUfUploader;\n\t\t\tthis.exec();\n\t\t\tconst func = (BaseEvent: BaseEvent) => {\n\t\t\t\tEventEmitter.emit(\n\t\t\t\t\teditor.getEventObject(),\n\t\t\t\t\t'onUploadsHasBeenChanged',\n\t\t\t\t\tBaseEvent\n\t\t\t\t);\n\t\t\t};\n\t\t\tEventEmitter.subscribe(this.diskUfUploader, 'onFileIsInited', func); // new diskUfUploader\n\t\t\tEventEmitter.subscribe(this.diskUfUploader, 'ChangeFileInput', func); // old diskUfUploader\n\t\t};\n\n\t\tif (BX.UploaderManager.getById(cid))\n\t\t{\n\t\t\t_catchHandler(BX.UploaderManager.getById(cid));\n\t\t}\n\t\tEventEmitter.subscribeOnce(container.parentNode, 'DiskDLoadFormControllerInit', ({compatData: [diskUfHandler]}) => {\n\t\t\tthis.diskUfHandler = diskUfHandler\n\t\t\tif (cid === diskUfHandler.CID && !this.diskUfUploader)\n\t\t\t{\n\t\t\t\t_catchHandler(diskUfHandler.agent);\n\t\t\t}\n\t\t});\n\n\t\tEventEmitter.subscribe(editor.getEventObject(), 'onShowControllers', ({data}) => {\n\t\t\tEventEmitter.emit(container.parentNode, 'DiskLoadFormController', new BaseEvent({compatData: [data]}));\n\t\t});\n\t}\n\n\tget isReady()\n\t{\n\t\treturn !!this.diskUfUploader;\n\t}\n\n\tgetFieldName(): ?string\n\t{\n\t\tif (this.diskUfHandler)\n\t\t{\n\t\t\treturn this.diskUfHandler.params.controlName;\n\t\t}\n\t\treturn null;\n\t}\n\n\treinitFrom(data)\n\t{\n\t\tthis.exec(() => {\n\t\t\tif (!this.getFieldName())\n\t\t\t{\n\t\t\t\treturn\n\t\t\t}\n\t\t\tArray.from(\n\t\t\t\tthis.container\n\t\t\t\t\t.querySelectorAll(`inptut[name=\"${this.getFieldName()}\"]`)\n\t\t\t)\n\t\t\t.forEach(function(inputFile) {\n\t\t\t\t\tinputFile.parentNode.removeChild(inputFile);\n\t\t\t\t}\n\t\t\t);\n\t\t\tlet values = null;\n\t\t\tfor (let ii in data)\n\t\t\t{\n\t\t\t\tif (data.hasOwnProperty(ii)\n\t\t\t\t\t&& data[ii] && data[ii]['USER_TYPE_ID'] === 'disk_file'\n\t\t\t\t\t&& data[ii]['FIELD_NAME'] === this.getFieldName())\n\t\t\t\t{\n\t\t\t\t\tvalues = data[ii]['VALUE'];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (values)\n\t\t\t{\n\t\t\t\tconst files = {};\n\n\t\t\t\tvalues.forEach((id) => {\n\t\t\t\t\tlet node = document.querySelector('#disk-attach-' + id);\n\t\t\t\t\tif (node.tagName !== \"A\")\n\t\t\t\t\t{\n\t\t\t\t\t\tnode = node.querySelector('img');\n\t\t\t\t\t}\n\t\t\t\t\tif (node)\n\t\t\t\t\t{\n\t\t\t\t\t\tfiles['E' + id] = {\n\t\t\t\t\t\t\ttype: 'file',\n\t\t\t\t\t\t\tid: id,\n\t\t\t\t\t\t\tname: node.getAttribute(\"data-bx-title\") || node.getAttribute(\"data-title\"),\n\t\t\t\t\t\t\tsize: node.getAttribute(\"data-bx-size\") || '',\n\t\t\t\t\t\t\tsizeInt: node.getAttribute(\"data-bx-size\") || '',\n\t\t\t\t\t\t\twidth: node.getAttribute(\"data-bx-width\"),\n\t\t\t\t\t\t\theight: node.getAttribute(\"data-bx-height\"),\n\t\t\t\t\t\t\tstorage: 'disk',\n\t\t\t\t\t\t\tpreviewUrl: (node.tagName === \"A\" ? '' : node.getAttribute(\"data-bx-src\") || node.getAttribute(\"data-src\")),\n\t\t\t\t\t\t\tfileId: node.getAttribute(\"bx-attach-file-id\")\n\t\t\t\t\t\t};\n\t\t\t\t\t\tif (node.hasAttribute(\"bx-attach-xml-id\"))\n\t\t\t\t\t\t\tfiles['E' + id][\"xmlId\"] = node.getAttribute(\"bx-attach-xml-id\");\n\t\t\t\t\t\tif (node.hasAttribute(\"bx-attach-file-type\"))\n\t\t\t\t\t\t\tfiles['E' + id][\"fileType\"] = node.getAttribute(\"bx-attach-file-type\");\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tthis.diskUfHandler.selectFile({}, {}, files);\n\t\t\t}\n\t\t});\n\t}\n}","import {Loc, Tag, Runtime} from 'main.core';\nimport {EventEmitter} from 'main.core.events';\nimport Default from '../default';\nimport Editor from '../../editor';\nimport Controller from './controller';\n/*\n* @deprecated\n* */\nexport default class UploadFile extends Default\n{\n\tid: string = 'uploadfile';\n\tbuttonParams = null;\n\tregexp = /\\[FILE ID=((?:\\s|\\S)*?)?\\]/ig;\n\n\tvalues: Map = new Map;\n\tcontrollers: Map = new Map();\n\n\tconstructor(editor: Editor, htmlEditor)\n\t{\n\t\tsuper(editor, htmlEditor);\n\t\tthis.checkButtonsDebounced = Runtime.debounce(this.checkButtons, 500, this);\n\t\tthis.init();\n\t\tEventEmitter.subscribe(editor.getEditor(), 'OnContentChanged', this.checkButtons.bind(this));\n\t\tEventEmitter.subscribe(editor.getEventObject(), 'onReinitializeBefore', ({data: [text, data]}) => {\n\t\t\tthis.reinit(text, data);\n\t\t});\n\t}\n\n\tinit()\n\t{\n\t\tArray.from(\n\t\t\tthis.editor.getContainer()\n\t\t\t\t.querySelectorAll('.file-selectdialog')\n\t\t)\n\t\t.forEach((selectorNode, index) => {\n\t\t\tconst cid = selectorNode.id.replace('file-selectdialog-', '');\n\t\t\tlet controller = this.controllers.get(cid);\n\t\t\tif (!controller)\n\t\t\t{\n\t\t\t\tcontroller = new Controller(cid, selectorNode, this.editor);\n\t\t\t\tEventEmitter.subscribe(selectorNode.parentNode,\n\t\t\t\t\t'OnFileUploadSuccess',\n\t\t\t\t\t({data: [{element_id}, {id, doc_prefix, CID}]}) => {\n\t\t\t\t\t\tif (cid === id)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconst securityNode = document.querySelector('#' + this.editor.getFormId()) ?\n\t\t\t\t\t\t\t\tdocument.querySelector('#' + this.editor.getFormId()).querySelector('#upload-cid') : null;\n\t\t\t\t\t\t\tif (securityNode)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tsecurityNode.value = CID;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst [id, file] = this.parseFile(selectorNode.querySelector('#' + doc_prefix + element_id));\n\t\t\t\t\t\t\tthis.values.set(id, file);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\tEventEmitter.subscribe(selectorNode.parentNode,\n\t\t\t\t\t'OnFileUploadRemove',\n\t\t\t\t\t({compatData: [fileId, {id}]}) => {\n\t\t\t\t\t\tif (cid === id && this.values.has(fileId))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.values.delete(fileId);\n\t\t\t\t\t\t\tthis.deleteFile([fileId]);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\tif (index === 0)\n\t\t\t\t{\n\t\t\t\t\tEventEmitter.subscribe(this.editor.getEventObject(), 'onFilesHaveCaught', (event: BaseEvent) => {\n\t\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t\t\tif (window['BfileFD' + cid])\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\twindow['BfileFD' + cid].agent.UploadDroppedFiles([...event.getData()])\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (selectorNode.querySelector('table.files-list'))\n\t\t\t{\n\t\t\t\tArray.from(\n\t\t\t\t\tselectorNode\n\t\t\t\t\t\t.querySelector('table.files-list')\n\t\t\t\t\t\t.querySelectorAll('tr')\n\t\t\t\t)\n\t\t\t\t.forEach((tr) => {\n\t\t\t\t\tconst [id, file] = this.parseFile(tr);\n\t\t\t\t\tthis.values.set(id, file);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tparseFile(tr)\n\t{\n\t\tconst id = tr.id.replace('wd-doc', '');\n\t\tconst data = {\n\t\t\tid: id,\n\t\t\tname: tr.querySelector('[data-role=\"name\"]') ? tr.querySelector('[data-role=\"name\"]').innerHTML : tr.querySelector('span.f-wrap').innerHTML,\n\t\t\tnode: tr,\n\t\t\tbuttonNode: tr.querySelector('[data-role=\"button-insert\"]'),\n\t\t\timage: {\n\t\t\t\tsrc: null,\n\t\t\t\tlowsrc: null,\n\t\t\t\twidth: null,\n\t\t\t\theight: null\n\t\t\t}\n\t\t};\n\t\tconst insertFile = () => {\n\t\t\tthis.insertFile(id, tr);\n\t\t};\n\t\tconst nameNode = tr.querySelector('.f-wrap');\n\t\tif (nameNode)\n\t\t{\n\t\t\tnameNode.addEventListener('click', insertFile);\n\t\t\tnameNode.style.cursor = 'pointer';\n\t\t\tnameNode.title = Loc.getMessage('MPF_FILE');\n\t\t}\n\t\tconst imageNode = tr.querySelector('img');\n\t\tif (imageNode)\n\t\t{\n\t\t\timageNode.addEventListener('click', insertFile);\n\t\t\timageNode.title = Loc.getMessage('MPF_FILE');\n\t\t\timageNode.style.cursor = 'pointer';\n\t\t\tdata.image.lowsrc = imageNode.lowsrc || imageNode.src;\n\t\t\tdata.image.src = imageNode.rel || imageNode.src;\n\t\t\tdata.image.width = imageNode.getAttribute('data-bx-full-width');\n\t\t\tdata.image.height = imageNode.getAttribute('data-bx-full-height');\n\t\t}\n\n\t\tif (tr instanceof HTMLTableRowElement && tr.querySelector('.files-info'))\n\t\t{\n\t\t\tif (!data.buttonNode)\n\t\t\t{\n\t\t\t\tdata.buttonNode = Tag.render`\n<span type=\"button\" onclick=\"${insertFile}\" data-role=\"button-insert\" class=\"insert-btn\">\n\t<span data-role=\"insert-btn\" class=\"insert-btn-text\">${Loc.getMessage('MPF_FILE_INSERT_IN_TEXT')}</span>\n\t<span data-role=\"in-text-btn\" class=\"insert-btn-text\">${Loc.getMessage('MPF_FILE_IN_TEXT')}</span>\n</span>`;\n\n\t\t\t\ttr.querySelector('.files-info').appendChild(data.buttonNode);\n\t\t\t\tthis.checkButtonsDebounced();\n\t\t\t}\n\t\t}\n\n\t\treturn [id, data];\n\t}\n\n\tbuildHTML(id, data, htmlData = null): string\n\t{\n\t\tconst tagId = this.htmlEditor.SetBxTag(false, {tag: this.id, fileId: id});\n\t\tlet html = `<span data-bx-file-id=\"${id}\" id=\"${tagId}\" style=\"color: #2067B0; border-bottom: 1px dashed #2067B0; margin:0 2px;\">${data.name}</span>`;\n\n\t\tif (data.image.src)\n\t\t{\n\t\t\tlet additional = [];\n\t\t\tif (htmlData)\n\t\t\t{\n\t\t\t\tadditional.push(`style=\"width:${htmlData.width}px;height:${htmlData.height}px;\"`);\n\t\t\t}\n\t\t\telse if (data.image.width && data.image.height)\n\t\t\t{\n\t\t\t\tadditional.push(`style=\"width:${data.image.width}px;height:${data.image.height}px;\" `);\n\t\t\t\tadditional.push(`onload=\"this.style.width='auto';this.style.height='auto';\"`);\n\t\t\t}\n\n\t\t\thtml = `<img style=\"max-width: 90%;\" data-bx-file-id=\"${id}\" id=\"${tagId}\" src=\"${data.image.src}\" lowsrc=\"${data.image.lowsrc}\" ${additional.join(' ')}/>`\n\t\t}\n\n\t\treturn html;\n\t}\n\n\tbuildText(id, params)\n\t{\n\t\treturn `[FILE ID=${id}${params||''}]`;\n\t}\n\n\tinsertFile(id: string, node)\n\t{\n\t\tconst data = this.values.get(String(id));\n\n\t\tif (data)\n\t\t{\n\t\t\tEventEmitter.emit(this.editor.getEventObject(), 'OnInsertContent', [this.buildText(id), this.buildHTML(id, data)]);\n\t\t}\n\t}\n\n\tdeleteFile(fileIds)\n\t{\n\t\tconst content = this.htmlEditor.GetContent();\n\n\t\tif (this.htmlEditor.GetViewMode() === 'wysiwyg')\n\t\t{\n\t\t\tconst doc = this.htmlEditor.GetIframeDoc();\n\n\t\t\tfor (let ii in this.htmlEditor.bxTags)\n\t\t\t{\n\t\t\t\tif (this.htmlEditor.bxTags.hasOwnProperty(ii)\n\t\t\t\t\t&& typeof this.htmlEditor.bxTags[ii] === 'object'\n\t\t\t\t\t&& this.htmlEditor.bxTags[ii]['tag'] === this.id\n\t\t\t\t\t&& fileIds.indexOf(String(this.htmlEditor.bxTags[ii]['fileId'])) >= 0\n\t\t\t\t\t&& doc.getElementById(ii)\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\tconst node = doc.getElementById(ii);\n\t\t\t\t\tnode.parentNode.removeChild(node);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.htmlEditor.SaveContent();\n\t\t}\n\t\telse/* if (this.regexp.test(content))*/\n\t\t{\n\t\t\tconst content2 = content.replace(this.regexp, function(str, foundId) {\n\t\t\t\t\treturn fileIds.indexOf(foundId) >= 0 ? '' : str;\n\t\t\t});\n\t\t\tthis.htmlEditor.SetContent(content2);\n\t\t\tthis.htmlEditor.Focus();\n\t\t}\n\t}\n\n\tcheckButtons(event: ?BaseEvent)\n\t{\n\t\tconst content = event ? event.compatData[0] : this.htmlEditor.GetContent();\n\t\tconst matches = [...content.matchAll(this.regexp)]\n\t\t\t.map(([match, id]) => {\n\t\t\t\treturn id;\n\t\t\t});\n\n\t\tthis.values.forEach((data, id) => {\n\t\t\tif (!data.buttonNode)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst mark = matches.indexOf(id) >= 0;\n\t\t\tif (mark === true && data.buttonNode.className !== 'insert-text')\n\t\t\t{\n\t\t\t\tdata.buttonNode.className = 'insert-text';\n\t\t\t\tdata.buttonNode.querySelector('[data-role=\"insert-btn\"]').style.display = 'none';\n\t\t\t\tdata.buttonNode.querySelector('[data-role=\"in-text-btn\"]').style.display = '';\n\t\t\t}\n\t\t\telse if (mark !== true && data.buttonNode.className !== 'insert-btn')\n\t\t\t{\n\t\t\t\tdata.buttonNode.className = 'insert-btn';\n\t\t\t\tdata.buttonNode.querySelector('[data-role=\"insert-btn\"]').style.display = '';\n\t\t\t\tdata.buttonNode.querySelector('[data-role=\"in-text-btn\"]').style.display = 'none';\n\t\t\t}\n\t\t});\n\t}\n\n\treinit(text, data)\n\t{\n\t\tthis.values.forEach((file, id) => {\n\t\t\tif (file.node && file.node.parentNode)\n\t\t\t{\n\t\t\t\tfile.node.parentNode.removeChild(file.node);\n\t\t\t}\n\t\t});\n\t\tthis.values.clear();\n\n\t\tthis.controllers.forEach((controller: Controller) => {\n\t\t\tcontroller.reinitFrom(data);\n\t\t});\n\t}\n\n\tparse(content)\n\t{\n\t\tif (!this.regexp.test(content))\n\t\t{\n\t\t\treturn content;\n\t\t}\n\t\tcontent = content.replace(\n\t\t\tthis.regexp,\n\t\t\tfunction(str, id, width, height)\n\t\t\t{\n\t\t\t\tif (this.values.has(id))\n\t\t\t\t{\n\t\t\t\t\treturn this.buildHTML(id, this.values.get(id), (width > 0 && height > 0 ? {width, height} : null));\n\t\t\t\t}\n\t\t\t\treturn str;\n\t\t\t}.bind(this)\n\t\t);\n\t\treturn content;\n\t}\n\n\tunparse(bxTag, {node})\n\t{\n\t\tconst width = parseInt(node.hasAttribute('width') ? node.getAttribute('width') : 0);\n\t\tconst height = parseInt(node.hasAttribute('height') ? node.getAttribute('height') : 0);\n\t\tlet params = '';\n\n\t\tif (width > 0 && height > 0)\n\t\t{\n\t\t\tparams = ' WIDTH=' + width + ' HEIGHT=' + height;\n\t\t}\n\n\t\tconst id = node.getAttribute('data-bx-file-id');\n\t\treturn this.buildText(id, params);\n\t}\n}\n","import {Loc, Tag, Runtime} from 'main.core';\nimport {EventEmitter, BaseEvent} from 'main.core.events';\nimport DiskController from './disk-controller';\nimport UploadFile from './upload-file';\nimport Editor from '../../editor';\nimport Default from \"../default\";\nimport Controller from \"./controller\";\n/*\n* @deprecated\n* */\nexport default class UploadImage extends Default\n{\n\tid: string = 'uploadimage';\n\tbuttonParams = null;\n\tregexp = /\\[IMAGE ID=((?:\\s|\\S)*?)?\\]/ig;\n\n\tvalues: Map = new Map;\n\tcontrollers: Map = new Map();\n\n\tconstructor(editor: Editor, htmlEditor)\n\t{\n\t\tsuper(editor, htmlEditor);\n\t\tthis.init();\n\t\tconsole.log('PostImage: ');\n\n\t\tEventEmitter.subscribe(editor.getEventObject(), 'onReinitializeBefore', ({data: [text, data]}) => {\n\t\t\tthis.reinit(text, data);\n\t\t});\n\t}\n\n\tinit()\n\t{\n\t\tArray.from(\n\t\t\tthis.editor.getContainer()\n\t\t\t\t.querySelectorAll('.file-selectdialog')\n\t\t)\n\t\t.forEach((selectorNode) => {\n\t\t\tconst cid = selectorNode.id.replace('file-selectdialog-', '');\n\t\t\tlet controller = this.controllers.get(cid);\n\t\t\tif (!controller)\n\t\t\t{\n\t\t\t\tcontroller = new Controller(cid, selectorNode, this.editor);\n\t\t\t\tEventEmitter.subscribe(selectorNode.parentNode,\n\t\t\t\t\t'OnFileUploadSuccess',\n\t\t\t\t\t({data: [{element_id}, {id, doc_prefix, CID}]}) => {\n\t\t\t\t\t\tif (cid === id)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconst securityNode = document.querySelector('#' + this.editor.getFormId()) ?\n\t\t\t\t\t\t\t\tdocument.querySelector('#' + this.editor.getFormId()).querySelector('#upload-cid') : null;\n\t\t\t\t\t\t\tif (securityNode)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tsecurityNode.value = CID;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst [id, file] = this.parseFile(selectorNode.querySelector('#' + doc_prefix + element_id));\n\t\t\t\t\t\t\tthis.values.set(id, file);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\tEventEmitter.subscribe(selectorNode.parentNode,\n\t\t\t\t\t'OnFileUploadRemove',\n\t\t\t\t\t({compatData: [fileId, {id}]}) => {\n\t\t\t\t\t\tif (cid === id && this.values.has(fileId))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.values.delete(fileId);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (selectorNode.querySelector('table.files-list'))\n\t\t\t{\n\t\t\t\tArray.from(\n\t\t\t\t\tselectorNode\n\t\t\t\t\t\t.querySelector('table.files-list')\n\t\t\t\t\t\t.querySelectorAll('tr')\n\t\t\t\t)\n\t\t\t\t.forEach((tr) => {\n\t\t\t\t\tconst [id, file] = this.parseFile(tr);\n\t\t\t\t\tthis.values.set(id, file);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tparseFile(tr)\n\t{\n\t\tconst id = tr.id.replace('wd-doc', '');\n\t\tconst data = {\n\t\t\tid: id,\n\t\t\tname: tr.querySelector('[data-role=\"name\"]') ? tr.querySelector('[data-role=\"name\"]').innerHTML : tr.querySelector('span.f-wrap').innerHTML,\n\t\t\tnode: tr,\n\t\t\timage: {\n\t\t\t\tsrc: null,\n\t\t\t\tlowsrc: null,\n\t\t\t\twidth: null,\n\t\t\t\theight: null\n\t\t\t}\n\t\t};\n\t\treturn [id, data];\n\t}\n\n\treinit(text, data)\n\t{\n\t\tthis.values.forEach((file, id) => {\n\t\t\tif (file.node && file.node.parentNode)\n\t\t\t{\n\t\t\t\tfile.node.parentNode.removeChild(file.node);\n\t\t\t}\n\t\t});\n\t\tthis.values.clear();\n\n\t\tthis.controllers.forEach((controller: Controller) => {\n\t\t\tcontroller.reinitFrom(data);\n\t\t});\n\t}\n\n\tparse(content)\n\t{\n\t\treturn content;\n\t}\n\n\tunparse(bxTag, {node})\n\t{\n\t\treturn '';\n\t}\n}\n\n","import {Loc, Tag, Runtime} from 'main.core';\nimport {EventEmitter, BaseEvent} from 'main.core.events';\nimport DiskController from './disk-controller';\nimport UploadFile from './upload-file';\nimport Editor from '../../editor';\n/*\n* @deprecated\n* */\nexport default class DiskFile extends UploadFile\n{\n\tid: string = 'diskfile';\n\tregexp = /\\[(?:DOCUMENT ID|DISK FILE ID)=([n0-9]+)\\]/ig;\n\n\tinit()\n\t{\n\t\tArray.from(\n\t\t\tthis.editor.getContainer()\n\t\t\t\t.querySelectorAll('.diskuf-selectdialog')\n\t\t)\n\t\t.forEach((selectorNode, index) => {\n\t\t\tconst cid = selectorNode.id.replace('diskuf-selectdialog-', '');\n\t\t\tlet controller = this.controllers.get(cid);\n\t\t\tif (!controller)\n\t\t\t{\n\t\t\t\tcontroller = new DiskController(cid, selectorNode, this.editor);\n\t\t\t\tthis.controllers.set(cid, controller);\n\n\t\t\t\tEventEmitter.subscribe(selectorNode.parentNode,\n\t\t\t\t\t'OnFileUploadSuccess',\n\t\t\t\t\t({data: [{element_id}, {CID}, blob]}) => {\n\t\t\t\t\t\tif (controller.getId() !== CID || this.values.has(element_id))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst [id, fileId, file] = this.parseFile(selectorNode.querySelector('#disk-edit-attach' + element_id));\n\t\t\t\t\t\tthis.values.set(id, file);\n\t\t\t\t\t\tif (id !== fileId)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.values.set(fileId, file);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (blob && blob['insertImageAfterUpload'] && file.image.src)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.insertFile(id, file.node);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\tEventEmitter.subscribe(selectorNode.parentNode,\n\t\t\t\t\t'OnFileUploadRemove',\n\t\t\t\t\t({compatData: [fileId, {CID}]}) => {\n\n\t\t\t\t\t\tif (controller.getId() === CID && this.values.has(fileId))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconst file = this.values.get(fileId);\n\t\t\t\t\t\t\tthis.values.delete(file.id);\n\t\t\t\t\t\t\tthis.values.delete(file.fileId);\n\t\t\t\t\t\t\tthis.deleteFile([file.id, file.fileId]);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\tEventEmitter.subscribe(selectorNode.parentNode,\n\t\t\t\t\t'OnFileUploadFailed',\n\t\t\t\t\t({compatData: [file, {CID}, blob]}) => {\n\t\t\t\t\t\tif (controller.getId() === CID && blob && blob[\"referrerToEditor\"])\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tBX.onCustomEvent(blob[\"referrerToEditor\"], \"OnImageDataUriCaughtFailed\", []);\n\t\t\t\t\t\t\tBX.onCustomEvent(this.editor, \"OnImageDataUriCaughtFailed\", [blob[\"referrerToEditor\"]]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tif (index === 0)\n\t\t\t\t{\n\t\t\t\t\tinitVideoReceptionForTheFirstController(this, controller, selectorNode, this.editor);\n\t\t\t\t\tinitImageReceptionForTheFirstController(this, controller, selectorNode, this.editor);\n\t\t\t\t\tEventEmitter.subscribe(this.editor.getEventObject(), 'onFilesHaveCaught', (event: BaseEvent) => {\n\t\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t\t\tcontroller.diskUfUploader.onChange([...event.getData()]);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (selectorNode.querySelector('table.files-list'))\n\t\t\t{\n\t\t\t\tArray.from(\n\t\t\t\t\tselectorNode\n\t\t\t\t\t\t.querySelector('table.files-list')\n\t\t\t\t\t\t.querySelectorAll('tr')\n\t\t\t\t)\n\t\t\t\t.forEach((tr) => {\n\t\t\t\t\tconst [id, fileId, file] = this.parseFile(tr);\n\t\t\t\t\tthis.values.set(id, file);\n\t\t\t\t\tif (id !== fileId)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.values.set(fileId, file);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tparseFile(tr)\n\t{\n\t\tconst id = String(tr.id.replace('disk-edit-attach', ''));\n\n\t\tconst data = {\n\t\t\tid: id,\n\t\t\tname: tr.querySelector('[data-role=\"name\"]') ? tr.querySelector('[data-role=\"name\"]').innerHTML : tr.querySelector('span.f-wrap').innerHTML,\n\t\t\tfileId: tr.getAttribute('bx-attach-file-id'),\n\t\t\tnode: tr,\n\t\t\tbuttonNode: tr.querySelector('[data-role=\"button-insert\"]'),\n\t\t\timage: {\n\t\t\t\tsrc: null,\n\t\t\t\tlowsrc: null,\n\t\t\t\twidth: null,\n\t\t\t\theight: null\n\t\t\t}\n\t\t};\n\t\tconst nameNode = tr.querySelector('.f-wrap');\n\t\tconst insertFile = () => { this.insertFile(id, tr); };\n\t\tif (nameNode)\n\t\t{\n\t\t\tnameNode.addEventListener('click', insertFile);\n\t\t\tnameNode.style.cursor = 'pointer';\n\t\t\tnameNode.title = Loc.getMessage('MPF_FILE');\n\t\t}\n\t\tconst imageNode = tr.querySelector('img.files-preview');\n\n\t\tif (imageNode && (imageNode.src.indexOf('bitrix/tools/disk/uf.php') >= 0 || imageNode.src.indexOf('/disk/showFile/') >= 0))\n\t\t{\n\t\t\timageNode.addEventListener('click', insertFile);\n\t\t\timageNode.title = Loc.getMessage('MPF_FILE');\n\t\t\timageNode.style.cursor = 'pointer';\n\t\t\tdata.image.lowsrc = imageNode.lowsrc || imageNode.src;\n\t\t\tdata.image.src = (imageNode.rel || imageNode.getAttribute('data-bx-src') || imageNode.src).replace(/&(width|height)=\\d+/gi, '');\n\t\t\tconst handler = () => {\n\t\t\t\tdata.image.width = imageNode.getAttribute('data-bx-full-width');\n\t\t\t\tdata.image.height = imageNode.getAttribute('data-bx-full-height');\n\t\t\t}\n\t\t\timageNode.addEventListener('load', handler);\n\t\t\tif (imageNode.complete)\n\t\t\t{\n\t\t\t\thandler();\n\t\t\t}\n\t\t}\n\t\tif (tr instanceof HTMLTableRowElement && !data.buttonNode)\n\t\t{\n\t\t\tdata.buttonNode = Tag.render`\n<span class=\"insert-btn\" data-role=\"button-insert\" onclick=\"${insertFile}\">\n\t<span data-role=\"insert-btn\" class=\"insert-btn-text\">${Loc.getMessage('MPF_FILE_INSERT_IN_TEXT')}</span>\n\t<span data-role=\"in-text-btn\" class=\"insert-btn-text\" style=\"display: none;\">${Loc.getMessage('MPF_FILE_IN_TEXT')}</span>\n</span>`;\n\t\t\tsetTimeout(() => {\n\t\t\t\tif ( tr.querySelector('.files-info'))\n\t\t\t\t{\n\t\t\t\t\ttr.querySelector('.files-info').appendChild(data.buttonNode);\n\t\t\t\t\tthis.checkButtonsDebounced();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn [id, data.fileId, data];\n\t}\n\n\tbuildText(id, params)\n\t{\n\t\treturn `[DISK FILE ID=${id}${params||''}]`;\n\t}\n}\n\nfunction initVideoReceptionForTheFirstController(diskFileParser: DiskFile, controller: DiskController, selectorNode, editor: Editor)\n{\n\tEventEmitter.subscribe(editor.getEventObject(), 'OnVideoHasCaught', (event: BaseEvent) => {\n\t\tconst fileToUpload = event.getData();\n\t\tconst onSuccess = ({data: [{element_id}, {}, blob]}) => {\n\t\t\tif (fileToUpload === blob && diskFileParser.values.has(element_id))\n\t\t\t{\n\t\t\t\tEventEmitter.unsubscribe(selectorNode.parentNode, 'OnFileUploadSuccess', onSuccess);\n\t\t\t\tdiskFileParser.insertFile(element_id, diskFileParser.values.get(element_id).node);\n\t\t\t}\n\t\t}\n\t\tEventEmitter.subscribe(selectorNode.parentNode, 'OnFileUploadSuccess', onSuccess);\n\t\tcontroller.exec(() => {\n\t\t\tcontroller.diskUfUploader.onChange([fileToUpload])\n\t\t});\n\t\tevent.stopImmediatePropagation();\n\t});\n}\nfunction initImageReceptionForTheFirstController(diskFileParser: DiskFile, controller: DiskController, selectorNode, editor: Editor)\n{\n\tEventEmitter.subscribe(editor.getEventObject(), 'OnImageHasCaught', (event: BaseEvent) => {\n\t\tevent.stopImmediatePropagation();\n\t\tconst fileToUpload = event.getData();\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst onSuccess = ({data: [{element_id}, {}, blob]}) => {\n\t\t\t\tif (fileToUpload === blob && diskFileParser.values.has(element_id))\n\t\t\t\t{\n\t\t\t\t\tEventEmitter.unsubscribe(selectorNode.parentNode, 'OnFileUploadSuccess', onSuccess);\n\t\t\t\t\tEventEmitter.unsubscribe(selectorNode.parentNode, 'OnFileUploadFailed', onFailed);\n\n\t\t\t\t\tconst file = diskFileParser.values.get(element_id);\n\t\t\t\t\tconst html = diskFileParser.buildHTML(element_id, file);\n\t\t\t\t\tresolve({image: file.image, html: html});\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst onFailed = ({data: [file, {}, blob]}) => {\n\t\t\t\tif (fileToUpload === blob)\n\t\t\t\t{\n\t\t\t\t\tEventEmitter.unsubscribe(selectorNode.parentNode, 'OnFileUploadSuccess', onSuccess);\n\t\t\t\t\tEventEmitter.unsubscribe(selectorNode.parentNode, 'OnFileUploadFailed', onFailed);\n\t\t\t\t\treject();\n\t\t\t\t}\n\t\t\t};\n\t\t\tEventEmitter.subscribe(selectorNode.parentNode, 'OnFileUploadSuccess', onSuccess);\n\t\t\tEventEmitter.subscribe(selectorNode.parentNode, 'OnFileUploadFailed', onFailed);\n\n\t\t\tcontroller.exec(() => {\n\t\t\t\tcontroller.diskUfUploader.onChange([event.getData()])\n\t\t\t});\n\t\t});\n\t});\n}\n\n","import { Loc, Runtime } from 'main.core';\nimport Default from './default';\n\nexport default class AIImageGenerator extends Default\n{\n\tid: string = 'ai-image-generator';\n\tbuttonParams: ?Object = {\n\t\tname: 'AI image generator',\n\t\ticonClassName: 'feed-add-post-editor-btn-ai-image',\n\t\tdisabledForTextarea: false,\n\t\ttoolbarSort: 398,\n\t\tcompact: true,\n\t};\n\n\thandler()\n\t{\n\t\tif (!this.editor.isImageCopilotEnabledBySettings())\n\t\t{\n\t\t\ttop.BX.UI.InfoHelper.show('limit_copilot_off');\n\n\t\t\treturn;\n\t\t}\n\n\t\tRuntime.loadExtension('ai.picker').then(() => {\n\t\t\tconst aiImagePicker = new BX.AI.Picker({\n\t\t\t\tmoduleId: 'main',\n\t\t\t\tcontextId: 'image_' + Loc.getMessage('USER_ID'),\n\t\t\t\tanalyticLabel: 'main_post_form_comments_ai_image',\n\t\t\t\tsaveImages: false,\n\t\t\t\thistory: true,\n\t\t\t\tonSelect: (imageURL) => {\n\t\t\t\t\tfetch(imageURL)\n\t\t\t\t\t\t.then((response) => response.blob())\n\t\t\t\t\t\t.then((myBlob: Blob) => {\n\t\t\t\t\t\t\tBX.onCustomEvent(window, 'onAddVideoMessage', [myBlob, this.editor.getFormId()]);\n\t\t\t\t\t\t})\n\t\t\t\t\t;\n\t\t\t\t},\n\t\t\t});\n\t\t\taiImagePicker.setLangSpace(BX.AI.Picker.LangSpace.image);\n\t\t\taiImagePicker.image();\n\t\t});\n\t}\n\n\tparse(content, pLEditor)\n\t{\n\t\treturn content;\n\t}\n\n\tunparse(bxTag, oNode)\n\t{\n\t\treturn '';\n\t}\n}\n","import Default from './default';\nimport Spoiler from './spoiler';\nimport PostUser from './postuser';\nimport UploadImage from './files/upload-image';\nimport UploadFile from './files/upload-file';\nimport DiskFile from './files/disk-file';\nimport AIImageGenerator from './aiImageGenerator';\n\nfunction getKnownParser(parserId, editor, htmlEditor): ?Default\n{\n\tif (parserId === 'Spoiler')\n\t{\n\t\treturn new Spoiler(editor, htmlEditor);\n\t}\n\tif (parserId === 'MentionUser')\n\t{\n\t\treturn new PostUser(editor, htmlEditor);\n\t}\n\tif (parserId === 'UploadImage')\n\t{\n\t\treturn new UploadImage(editor, htmlEditor);\n\t}\n\tif (parserId === 'UploadFile')\n\t{\n\t\treturn new UploadFile(editor, htmlEditor);\n\t}\n\tif (parserId === 'AIImage')\n\t{\n\t\treturn new AIImageGenerator(editor, htmlEditor);\n\t}\n\tif (typeof parserId === 'object' && parserId['disk_file'])\n\t{\n\t\treturn new DiskFile(editor, htmlEditor);\n\t}\n\n\treturn null;\n}\n\nexport default getKnownParser;","export default function bindAutoSave(htmlEditor, formNode)\n{\n\tif (!formNode)\n\t{\n\t\treturn;\n\t}\n\tBX.addCustomEvent(formNode, 'onAutoSavePrepare', function (ob) {\n\t\tob.FORM.setAttribute(\"bx-lhe-autosave-prepared\", \"Y\");\n\t\tsetTimeout(function() {\n\t\t\tBX.addCustomEvent(htmlEditor, 'OnContentChanged', function(text) {\n\t\t\t\tob[\"mpfTextContent\"] = text;\n\t\t\t\tob.Init();\n\t\t\t});\n\t\t},1500);\n\t});\n\n\tBX.addCustomEvent(formNode, 'onAutoSave', function(ob, form_data)\n\t{\n\t\tif (BX.type.isNotEmptyString(ob['mpfTextContent']))\n\t\t\tform_data['text'] = ob['mpfTextContent'];\n\t});\n\n\tBX.addCustomEvent(formNode, 'onAutoSaveRestore', function(ob, form_data) {\n\t\tif (form_data['text'] && /[^\\s]+/gi.test(form_data['text']))\n\t\t{\n\t\t\thtmlEditor.CheckAndReInit(form_data['text']);\n\t\t}\n\t});\n\n\tif (formNode.hasAttribute(\"bx-lhe-autosave-prepared\") && formNode.BXAUTOSAVE)\n\t{\n\t\tformNode.removeAttribute(\"bx-lhe-autosave-prepared\");\n\t\tsetTimeout(formNode.BXAUTOSAVE.Prepare, 100);\n\t}\n}","import Editor from '../editor';\n\nexport default function showPanelEditor(editor: Editor, htmlEditor, editorParams)\n{\n\tlet save = false;\n\tif (\n\t\teditorParams.showPanelEditor !== true\n\t\t&& editorParams.showPanelEditor !== false\n\t)\n\t{\n\t\teditorParams.showPanelEditor = !htmlEditor.toolbar.IsShown();\n\t\tsave = true;\n\t}\n\n\teditor.exec(() => {\n\t\tconst buttonNode = editor.getContainer().querySelector('[data-bx-role=\"button-show-panel-editor\"]');\n\n\t\tif (editorParams.showPanelEditor)\n\t\t{\n\t\t\thtmlEditor.dom.toolbarCont.style.opacity = 'inherit';\n\t\t\thtmlEditor.toolbar.Show();\n\n\t\t\tif (buttonNode)\n\t\t\t{\n\t\t\t\tbuttonNode.classList.add('feed-add-post-form-btn-active');\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\thtmlEditor.toolbar.Hide();\n\n\t\t\tif (buttonNode)\n\t\t\t{\n\t\t\t\tbuttonNode.classList.remove('feed-add-post-form-btn-active');\n\t\t\t}\n\t\t}\n\t});\n\n\tif (save !== false)\n\t{\n\t\tBX.userOptions.save('main.post.form', 'postEdit', 'showBBCode', editorParams.showPanelEditor ? 'Y' : 'N');\n\t}\n}","export default function showUrlPreview(htmlEditor, editorParams)\n{\n\tif (!(editorParams.urlPreviewId && window['BXUrlPreview'] && BX(editorParams.urlPreviewId)))\n\t{\n\t\treturn;\n\t}\n\n\tconst urlPreview = new BXUrlPreview(BX(editorParams.urlPreviewId));\n\tconst OnAfterUrlConvert = function(url)\n\t{\n\t\turlPreview.attachUrlPreview({url: url});\n\t};\n\tconst OnBeforeCommandExec = function(isContentAction, action, oAction, value)\n\t{\n\t\tif (action === 'createLink'\n\t\t\t&& BX.type.isPlainObject(value)\n\t\t\t&& value.hasOwnProperty('href')\n\t\t)\n\t\t{\n\t\t\turlPreview.attachUrlPreview({url: value.href});\n\t\t}\n\t}\n\tBX.addCustomEvent(htmlEditor, 'OnAfterUrlConvert', OnAfterUrlConvert);\n\tBX.addCustomEvent(htmlEditor, 'OnAfterLinkInserted', OnAfterUrlConvert);\n\tBX.addCustomEvent(htmlEditor, 'OnBeforeCommandExec', OnBeforeCommandExec);\n\n\tBX.addCustomEvent(htmlEditor, 'OnReinitialize', (text, data) => {\n\t\turlPreview.detachUrlPreview();\n\t\tlet urlPreviewId;\n\t\tfor (let uf in data)\n\t\t{\n\t\t\tif (data.hasOwnProperty(uf)\n\t\t\t\t&& data[uf].hasOwnProperty('USER_TYPE_ID')\n\t\t\t\t&& data[uf]['USER_TYPE_ID'] === 'url_preview')\n\t\t\t{\n\t\t\t\turlPreviewId = data[uf]['VALUE'];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (urlPreviewId)\n\t\t{\n\t\t\turlPreview.attachUrlPreview({id: urlPreviewId});\n\t\t}\n\t});\n}","import {Editor} from '../editor';\nimport {Loc} from 'main.core';\n\nexport default function customizeHTMLEditor(editor: Editor, htmlEditor)\n{\n\teditor.exec(() => {\n\t\t// Contextmenu changing for images/files\n\t\thtmlEditor.contextMenu.items['postimage'] =\n\t\t\thtmlEditor.contextMenu.items['postdocument'] =\n\t\t\t\thtmlEditor.contextMenu.items['postfile'] =\n\t\t\t\t\t[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTEXT: Loc.getMessage('BXEdDelFromText'),\n\t\t\t\t\t\t\tbbMode: true,\n\t\t\t\t\t\t\tACTION: function()\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvar node = htmlEditor.contextMenu.GetTargetItem('postimage');\n\t\t\t\t\t\t\t\tif (!node)\n\t\t\t\t\t\t\t\t\tnode = htmlEditor.contextMenu.GetTargetItem('postdocument');\n\t\t\t\t\t\t\t\tif (!node)\n\t\t\t\t\t\t\t\t\tnode = htmlEditor.contextMenu.GetTargetItem('postfile');\n\n\t\t\t\t\t\t\t\tif (node && node.element)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\thtmlEditor.selection.RemoveNode(node.element);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thtmlEditor.contextMenu.Hide();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t];\n\t\tif (htmlEditor.toolbar.controls && htmlEditor.toolbar.controls.FontSelector)\n\t\t{\n\t\t\thtmlEditor.toolbar.controls.FontSelector.SetWidth(45);\n\t\t}\n\t});\n}","import {EventEmitter} from 'main.core.events';\nimport Editor from \"../editor\";\n\nexport default function bindHTML(editor: Editor)\n{\n\tconst submitButton = document.querySelector('#lhe_button_submit_' + editor.getFormId());\n\tif (submitButton)\n\t{\n\t\tsubmitButton.addEventListener('click', function(event) {\n\t\t\tEventEmitter.emit(editor.getEventObject(), 'OnButtonClick', ['submit']);\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t});\n\t}\n\tconst cancelButton = document.querySelector('#lhe_button_cancel_' + editor.getFormId());\n\tif (cancelButton)\n\t{\n\t\tcancelButton.addEventListener('click', function(event) {\n\t\t\tEventEmitter.emit(editor.getEventObject(), 'OnButtonClick', ['cancel']);\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t});\n\t}\n}","import { Loc, Runtime } from 'main.core';\nimport { EventEmitter, BaseEvent } from 'main.core.events';\nimport { Editor } from '../editor';\n\nexport default function bindToolbar(editor: Editor, htmlEditor)\n{\n\tconst toolbar = editor.getContainer().querySelector('[data-bx-role=\"toolbar\"]')\n\tif (toolbar.querySelector('[data-id=\"file\"]'))\n\t{\n\t\tconst fileButton = toolbar.querySelector('[data-id=\"file\"]');\n\t\tif (fileButton)\n\t\t{\n\t\t\tfileButton.addEventListener('click', () => {\n\t\t\t\tEventEmitter.emit(editor.getEventObject(), 'onShowControllers', fileButton.hasAttribute('data-bx-button-status')\n\t\t\t\t\t? 'hide' : 'show');\n\t\t\t});\n\t\t\tEventEmitter.subscribe(editor.getEventObject(), 'onShowControllers', ({data}) => {\n\t\t\t\tif (data.toString() === 'show')\n\t\t\t\t{\n\t\t\t\t\tfileButton.setAttribute('data-bx-button-status', 'active');\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tfileButton.removeAttribute('data-bx-button-status');\n\t\t\t\t}\n\t\t\t});\n\t\t\tfileButton.setAttribute('data-bx-files-count', 0);\n\t\t\tEventEmitter.subscribe(editor.getEventObject(), 'onShowControllers:File:Increment', ({data}) => {\n\t\t\t\tconst count = data > 0 ? data : 1;\n\t\t\t\tconst filesCount = Math.max(parseInt(fileButton.getAttribute('data-bx-files-count') || 0) + count, 0);\n\t\t\t\tif (filesCount > 0)\n\t\t\t\t{\n\t\t\t\t\tif (!fileButton['counterObject'])\n\t\t\t\t\t{\n\t\t\t\t\t\tfileButton['counterObject'] = new BX.UI.Counter({\n\t\t\t\t\t\t\tvalue: filesCount,\n\t\t\t\t\t\t\tcolor: BX.UI.Counter.Color.GRAY,\n\t\t\t\t\t\t\tanimate: true\n\t\t\t\t\t\t});\n\t\t\t\t\t\tconst container = fileButton.querySelector('span');\n\t\t\t\t\t\tcontainer.appendChild(fileButton['counterObject'].getContainer());\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tfileButton['counterObject'].update(filesCount);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfileButton.setAttribute('data-bx-files-count', filesCount);\n\t\t\t});\n\t\t\tEventEmitter.subscribe(editor.getEventObject(), 'onShowControllers:File:Decrement', ({data}) => {\n\t\t\t\tconst count = data > 0 ? data : 1;\n\t\t\t\tconst filesCount = Math.max(parseInt(fileButton.getAttribute('data-bx-files-count') || 0) - count, 0);\n\t\t\t\tfileButton.setAttribute('data-bx-files-count', filesCount);\n\n\t\t\t\tif (fileButton['counterObject'])\n\t\t\t\t{\n\t\t\t\t\tfileButton['counterObject'].update(filesCount);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tif (toolbar.querySelector('[data-id=\"search-tag\"]'))\n\t{\n\t\twindow['BXPostFormTags_' + editor.getFormId()] = new BXPostFormTags(\n\t\t\teditor.getFormId(),\n\t\t\ttoolbar.querySelector('[data-id=\"search-tag\"]')\n\t\t);\n\t}\n\n\tif (toolbar.querySelector('[data-id=\"create-link\"]'))\n\t{\n\t\ttoolbar.querySelector('[data-id=\"create-link\"]').addEventListener('click', (event) => {\n\t\t\thtmlEditor.toolbar.controls.InsertLink.OnClick(event);\n\t\t});\n\t}\n\n\tif (toolbar.querySelector('[data-id=\"video\"]'))\n\t{\n\t\ttoolbar.querySelector('[data-id=\"video\"]').addEventListener('click', (event) => {\n\t\t\thtmlEditor.toolbar.controls.InsertVideo.OnClick(event);\n\t\t});\n\t}\n\n\tif (toolbar.querySelector('[data-id=\"quote\"]'))\n\t{\n\t\tconst quoteNode = toolbar.querySelector('[data-id=\"quote\"]');\n\t\tquoteNode.setAttribute('data-bx-type', 'action');\n\t\tquoteNode.setAttribute('data-bx-action', 'quote');\n\n\n\t\tquoteNode.addEventListener('mousedown', (event) => {\n\t\t\thtmlEditor.toolbar.controls.Quote.OnMouseDown.apply(htmlEditor.toolbar.controls.Quote, [event]);\n\t\t\thtmlEditor.CheckCommand(quoteNode);\n\t\t});\n\t}\n\n\tif (editor.getContainer().querySelector('[data-bx-role=\"button-show-panel-editor\"]'))\n\t{\n\t\teditor.getContainer().querySelector('[data-bx-role=\"button-show-panel-editor\"]')\n\t\t\t.addEventListener('click', () => {\n\t\t\t\teditor.showPanelEditor();\n\t\t\t});\n\t}\n\n\tconst copilot = toolbar.querySelector('[data-id=\"copilot\"]');\n\tif (copilot)\n\t{\n\t\tcopilot.addEventListener('click', () => {\n\t\t\tif (!editor.isTextCopilotEnabledBySettings())\n\t\t\t{\n\t\t\t\ttop.BX.UI.InfoHelper.show('limit_copilot_off');\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\teditor.showCopilot();\n\t\t});\n\t}\n}\n","import {Type, Tag} from 'main.core';\nimport {Popup, PopupManager} from 'main.popup';\nimport {EventEmitter} from 'main.core.events';\nimport 'main.polyfill.intersectionobserver';\n\nlet intersectionObserver;\nfunction observeIntersection(entity, callback)\n{\n\tif (!intersectionObserver)\n\t{\n\t\tintersectionObserver = new IntersectionObserver(function(entries) {\n\t\t\tentries.forEach((entry) => {\n\t\t\t\tif (entry.isIntersecting)\n\t\t\t\t{\n\t\t\t\t\tintersectionObserver.unobserve(entry.target);\n\t\t\t\t\tconst observedCallback = entry.target.observedCallback;\n\t\t\t\t\tdelete entry.target.observedCallback;\n\t\t\t\t\tsetTimeout(observedCallback);\n\t\t\t\t}\n\t\t\t});\n\t\t}, {\n\t\t\tthreshold: 0\n\t\t});\n\t}\n\tentity.observedCallback = callback;\n\n\tintersectionObserver.observe(entity);\n}\n\ntype Button = {\n\tID: ?string,\n\tBODY: Element|string,\n}\nlet justCounter = 0;\nexport default class Toolbar {\n\tconstructor(eventObject, container) {\n\t\tthis.container = container.querySelector('[data-bx-role=\"toolbar\"]');\n\n\t\tthis.adjustMorePosition = this.adjustMorePosition.bind(this);\n\t\tthis.moreItem = container.querySelector('[data-bx-role=\"toolbar-item-more\"]');\n\t\tthis.moreItem.addEventListener('click', this.showSubmenu.bind(this));\n\t\tobserveIntersection(this.container, this.adjustMorePosition);\n\t\twindow.addEventListener('resize', this.adjustMorePosition);\n\t}\n\n\tinsertAfter(button: Button, buttonId: ?String)\n\t{\n\t\tif (!Type.isElementNode(button['BODY']) && !Type.isStringFilled(button['BODY']))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst item = Tag.render`<div class=\"main-post-form-toolbar-button\" data-bx-role=\"toolbar-item\"></div>`;\n\n\t\tif (Type.isElementNode(button['BODY']))\n\t\t{\n\t\t\titem.appendChild(button['BODY']);\n\t\t}\n\t\telse\n\t\t{\n\t\t\titem.innerHTML = button['BODY'];\n\t\t}\n\n\t\tif (button['ID'])\n\t\t{\n\t\t\titem.setAttribute('data-id', button['ID']);\n\t\t}\n\n\t\tif (buttonId !== null)\n\t\t{\n\t\t\tlet found = false;\n\t\t\tlet itemBefore = null;\n\t\t\tArray.from(\n\t\t\t\tthis.container\n\t\t\t\t\t.querySelectorAll('[data-bx-role=\"toolbar-item\"]')\n\t\t\t)\n\t\t\t.forEach((toolbarItem) => {\n\t\t\t\tif (found === true && itemBefore === null)\n\t\t\t\t{\n\t\t\t\t\titemBefore = toolbarItem;\n\t\t\t\t}\n\t\t\t\telse if (found === false\n\t\t\t\t\t&& toolbarItem && toolbarItem.dataset\n\t\t\t\t\t&& toolbarItem.dataset.id === buttonId)\n\t\t\t\t{\n\t\t\t\t\tfound = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (itemBefore)\n\t\t\t{\n\t\t\t\titemBefore.parentNode.insertBefore(item, itemBefore);\n\t\t\t}\n\t\t}\n\t\tif (!item.parentNode)\n\t\t{\n\t\t\tthis.container.appendChild(item);\n\t\t}\n\t\tthis.adjustMorePosition();\n\t}\n\n\tgetItems(): Array\n\t{\n\t\treturn Array.from(this.container.querySelectorAll('[data-bx-role=\"toolbar-item\"]'));\n\t}\n\n\tgetVisibleItems(): Array\n\t{\n\t\tconst visibleItems = [];\n\t\tArray.from(\n\t\t\tthis.container\n\t\t\t\t.querySelectorAll('[data-bx-role=\"toolbar-item\"]')\n\t\t)\n\t\t.forEach((item) => {\n\t\t\tif (item.offsetTop > this.container.clientHeight / 2)\n\t\t\t{\n\t\t\t\tvisibleItems.push(item);\n\t\t\t}\n\t\t});\n\n\t\treturn visibleItems;\n\t}\n\n\tgetHiddenItems(): Array\n\t{\n\t\tconst hiddenItems = [];\n\t\tArray.from(\n\t\t\tthis.container\n\t\t\t\t.querySelectorAll('[data-bx-role=\"toolbar-item\"]')\n\t\t)\n\t\t.forEach((item) => {\n\t\t\tif (item.offsetTop > 0)\n\t\t\t{\n\t\t\t\thiddenItems.push(item);\n\t\t\t}\n\t\t});\n\n\t\treturn hiddenItems;\n\t}\n\n\tadjustMorePosition()\n\t{\n\t\tconst visibleItemsLength = this.getVisibleItems().length;\n\n\t\tif (visibleItemsLength <= 0 || visibleItemsLength >= this.getItems().length)\n\t\t{\n\t\t\tthis.moreItem.style.display = 'none';\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.moreItem.style.display = '';\n\t\t}\n\t}\n\n\tgetPopup(): Popup\n\t{\n\t\tif (!this.popup)\n\t\t{\n\t\t\tthis.popup = PopupManager.create({\n\t\t\t\tid: 'main_post_form_toolbar_' + (justCounter++),\n\t\t\t\tclassName: 'main-post-form-toolbar-popup',\n\t\t\t\tcacheable: false,\n\t\t\t\tcontent: this.getPopupContainer(),\n\t\t\t\tcloseByEsc: true,\n\t\t\t\tautoHide: true,\n\t\t\t\tangle: true,\n\t\t\t\tbindElement: this.moreItem,\n\t\t\t\toffsetTop: -5,\n\t\t\t\toffsetLeft: 5,\n\t\t\t\tevents: {\n\t\t\t\t\tonClose: () => {\n\t\t\t\t\t\tArray.from(\n\t\t\t\t\t\t\tthis.getPopupContainer()\n\t\t\t\t\t\t\t\t.querySelectorAll('[data-bx-role=\"toolbar-item\"]')\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.forEach((item) => {\n\t\t\t\t\t\t\tthis.container.appendChild(item);\n\t\t\t\t\t\t});\n\t\t\t\t\t\tdelete this.popup;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t\treturn this.popup;\n\t}\n\n\tgetPopupContainer(): Element\n\t{\n\t\tif (!this.popupContainer)\n\t\t{\n\t\t\tthis.popupContainer = document.createElement('DIV');\n\t\t}\n\t\treturn this.popupContainer;\n\t}\n\n\tshowSubmenu()\n\t{\n\t\tconst hiddenItems = this.getHiddenItems();\n\t\tif (hiddenItems.length <= 0)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\thiddenItems.forEach((item) => {\n\t\t\tthis.getPopupContainer().appendChild(item);\n\t\t});\n\t\tthis.getPopup().show();\n\t}\n}\n","import {Popup, PopupManager} from 'main.popup';\nimport {Loc, Dom} from 'main.core';\n\nexport default class TasksLimit\n{\n\tstatic showPopup(\n\t\tparams: {\n\t\t\tbindPosition: null,\n\t\t}\n\t)\n\t{\n\t\tlet tasksLimitPopup = PopupManager.getPopupById(this.getPopupId());\n\t\tif (!tasksLimitPopup)\n\t\t{\n\t\t\ttasksLimitPopup = new Popup(this.getPopupId(), null, {\n\t\t\t\tcontent: this.getTasksLimitPopupContent(),\n\t\t\t\tlightShadow : false,\n\t\t\t\toffsetLeft: 20,\n\t\t\t\tautoHide: false,\n\t\t\t\tangle: {\n\t\t\t\t\tposition: 'bottom',\n\t\t\t\t},\n\t\t\t\tcloseByEsc: false,\n\t\t\t\tcloseIcon: true,\n\t\t\t});\n\t\t}\n\n\t\ttasksLimitPopup.setBindElement(params.bindPosition);\n\t\ttasksLimitPopup.show();\n\t}\n\n\tstatic getPopupId()\n\t{\n\t\treturn 'bx-post-mention-tasks-limit-popup';\n\t}\n\n\tstatic getTasksLimitPopupContent()\n\t{\n\t\treturn Dom.create('DIV', {\n\t\t\tstyle: {\n\t\t\t\twidth: '400px',\n\t\t\t\tpadding: '10px',\n\t\t\t},\n\t\t\tchildren: [\n\t\t\t\tDom.create('SPAN', {\n\t\t\t\t\thtml: Loc.getMessage('MPF_MENTION_TASKS_LIMIT')\n\t\t\t\t\t\t.replace('#A_BEGIN#', '<a href=\"javascript:void(0);\" onclick=\"BX.Main.PostFormTasksLimit.onClickTasksLimitPopupSlider(this);\">')\n\t\t\t\t\t\t.replace('#A_END#', '</a>'),\n\t\t\t\t})\n\t\t\t],\n\t\t})\n\t}\n\n\tstatic onClickTasksLimitPopupSlider(bindElement)\n\t{\n\t\tBX.Runtime.loadExtension('ui.info-helper').then(({ FeaturePromotersRegistry }) => {\n\t\t\tif (FeaturePromotersRegistry)\n\t\t\t{\n\t\t\t\tFeaturePromotersRegistry.getPromoter({\n\t\t\t\t\tcode: 'limit_tasks_observers_participants',\n\t\t\t\t\tbindElement,\n\t\t\t\t}).show();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.hidePopup();\n\t\t\t\tBX.UI.InfoHelper.show('limit_tasks_observers_participants', {\n\t\t\t\t\tisLimit: true,\n\t\t\t\t\tlimitAnalyticsLabels: {\n\t\t\t\t\t\tmodule: 'tasks',\n\t\t\t\t\t\tsource: 'postForm',\n\t\t\t\t\t\tsubject: 'auditor'\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tstatic hidePopup()\n\t{\n\t\tconst tasksLimitPopup = PopupManager.getPopupById(this.getPopupId());\n\t\tif (tasksLimitPopup)\n\t\t{\n\t\t\ttasksLimitPopup.close();\n\t\t}\n\t}\n}\n","import {Type, Dom, Runtime, Loc} from 'main.core';\nimport {EventEmitter, BaseEvent} from 'main.core.events';\nimport getKnownParser from './parsers/index';\nimport {bindAutoSave, bindHTML, bindToolbar,\n\tcustomizeHTMLEditor, showPanelEditor, showUrlPreview\n} from './view-utils/index';\nimport Toolbar from './toolbar';\nimport TasksLimit from \"./taskslimit\";\n\nexport default class Editor\n{\n\tstatic repo = new Map();\n\tid: string;\n\tname: ?string;\n\teventNode: Element;\n\ttoolbar: Toolbar;\n\tjobs: Map = new Map();\n\n\teditorParams = {\n\t\theight: 100,\n\t\tctrlEnterHandler: null,\n\t\tparsers: null,\n\t\tshowPanelEditor: false,\n\t\tlazyLoad: true,\n\t\turlPreviewId: null,\n\t\ttasksLimitExceeded: false,\n\t};\n\tactionQueue = [];\n\n\tconstructor(\n\t\toptions: {\n\t\t\tid: string,\n\t\t\tname: ?string,\n\t\t\tformId: string,\n\t\t\teventNode: Element,\n\t\t},\n\t\teditorParams: {\n\t\t\theight: 100,\n\t\t\tctrlEnterHandler: null,\n\t\t\tshowPanelEditor: false,\n\t\t\tlazyLoad: true,\n\t\t\turlPreviewId: null,\n\t\t\ttasksLimitExceeded: false,\n\t\t}\n\t)\n\t{\n\t\tthis.id = options['id'];\n\t\tthis.name = options['name'];\n\t\tthis.formId = options['formId'];\n\t\tthis.eventNode = options.eventNode || document.querySelector('#div' + (this.name || this.id));\n\t\tthis.eventNode.dataset.bxHtmlEditable = 'Y';\n\t\tthis.formEntityType = null;\n\t\tEditor.repo.set(this.getId(), this);\n\n\t\tif (\n\t\t\t!Type.isArray(editorParams.parsers)\n\t\t\t&& Type.isPlainObject(editorParams.parsers)\n\t\t)\n\t\t{\n\t\t\teditorParams.parsers = Object.values(editorParams.parsers);\n\t\t}\n\n\t\tthis.setEditorParams(editorParams);\n\n\t\tthis.bindEvents(window['BXHtmlEditor'] ? window['BXHtmlEditor'].Get(this.getId()) : null);\n\t\tthis.toolbar = new Toolbar(this.getEventObject(), this.getContainer());\n\n\t\tthis.inited = true;\n\n\t\tif (this.name !== null)\n\t\t{\n\t\t\twindow[this.name] = this;\n\t\t}\n\n\t\tBX.onCustomEvent(this, 'onInitialized', [this, this.getFormId()]);\n\n\t\t//region Compatibility for crm.timeline\n\t\tEventEmitter.subscribe(this.getEventObject(), 'OnFileUploadSuccess', ({compatData}) => {\n\t\t\tBX.onCustomEvent(this.getEventObject(), 'onFileIsAdded', compatData);\n\t\t});\n\t\t//endregion\n\n\t\tEventEmitter.subscribe(this.getEventObject(), 'onBusy', ({data: handler}) => {\n\t\t\tif (this.jobs.size <= 0)\n\t\t\t{\n\t\t\t\tEventEmitter.emit(this.getEventObject(), 'onLHEIsBusy');\n\t\t\t}\n\t\t\tthis.jobs.set(handler, (this.jobs.get(handler) || 0) + 1);\n\t\t});\n\n\t\tEventEmitter.subscribe(this.getEventObject(), 'onReady', ({data: handler}) => {\n\t\t\tif (this.jobs.size <= 0 || !this.jobs.has(handler))\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet counter = this.jobs.get(handler);\n\t\t\tif (counter <= 1)\n\t\t\t{\n\t\t\t\tthis.jobs.delete(handler);\n\t\t\t\tif (this.jobs.size <= 0 )\n\t\t\t\t{\n\t\t\t\t\tEventEmitter.emit(this.getEventObject(), 'onLHEIsReady');\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.jobs.set(handler, --counter);\n\t\t\t}\n\t\t});\n\t}\n\n\tsetEditorParams(editorParams)\n\t{\n\t\tthis.editorParams = Object.assign(this.editorParams, editorParams);\n\t}\n\n\tbindEvents(htmlEditor = null)\n\t{\n\t\tthis.events = {};\n\t\t[\n\t\t\t['OnEditorInitedBefore', this.OnEditorInitedBefore.bind(this)],\n\t\t\t['OnCreateIframeAfter', this.OnCreateIframeAfter.bind(this)],\n\t\t\t['OnEditorInitedAfter', this.OnEditorInitedAfter.bind(this)],\n\t\t].forEach(([eventName, closure]) => {\n\t\t\tif (!htmlEditor)\n\t\t\t{\n\t\t\t\tthis.events[eventName] = (htmlEditor) => {\n\t\t\t\t\tif (htmlEditor.id === this.getId())\n\t\t\t\t\t{\n\t\t\t\t\t\t//!it important to use deprecated eventEmitter\n\t\t\t\t\t\tBX.removeCustomEvent(eventName, this.events[eventName]);\n\t\t\t\t\t\tdelete this.events[eventName];\n\t\t\t\t\t\tclosure(htmlEditor);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\t//!it important to use deprecated eventEmitter\n\t\t\t\tBX.addCustomEvent(eventName, this.events[eventName]);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tclosure(htmlEditor);\n\t\t\t}\n\t\t});\n\n\t\tEventEmitter.subscribe(this.getEventObject(), 'OnShowLHE', this.OnShowLHE.bind(this));\n\t\tEventEmitter.subscribe(this.getEventObject(), 'OnButtonClick', this.OnButtonClick.bind(this));\n\t\tEventEmitter.subscribe(this.getEventObject(), 'OnParserRegister', ({data: parser}) => {this.addParser(parser);});\n\t\tEventEmitter.subscribe(this.getEventObject(), 'OnGetHTMLEditor', ({data: someObjectToReceiveHTMLEditor}) => {someObjectToReceiveHTMLEditor.htmlEditor = this.getEditor();});\n\t\tEventEmitter.subscribe(this.getEventObject(), 'OnInsertContent', ({data: [text, html]}) => { this.insertContent(text, html); });\n\t\tEventEmitter.subscribe(this.getEventObject(), 'OnAddButton', ({data: [button, beforeButton]}) => {\n\t\t\tthis.getToolbar().insertAfter(button, beforeButton);\n\t\t});\n\n\t\tbindHTML(this);\n\t}\n\n\tgetId()\n\t{\n\t\treturn this.id;\n\t}\n\n\tsetEditor(htmlEditor)\n\t{\n\t\tif (this.htmlEditor === htmlEditor)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.htmlEditor = htmlEditor;\n\t\thtmlEditor.formID = this.getFormId();\n\n\t\tEventEmitter.subscribe(htmlEditor, 'OnCtrlEnter', () => {\n\t\t\thtmlEditor.SaveContent();\n\t\t\tif (Type.isFunction(this.editorParams.ctrlEnterHandler))\n\t\t\t{\n\t\t\t\tthis.editorParams.ctrlEnterHandler();\n\t\t\t}\n\t\t\telse if (Type.isStringFilled(this.editorParams.ctrlEnterHandler) && window[this.editorParams.ctrlEnterHandler])\n\t\t\t{\n\t\t\t\twindow[this.editorParams.ctrlEnterHandler]();\n\t\t\t}\n\t\t\telse if (document.forms[this.getFormId()])\n\t\t\t{\n\t\t\t\tBX.submit(document.forms[this.getFormId()]);\n\t\t\t}\n\t\t});\n\n\t\tthis.editorParams['height'] = htmlEditor.config['height'];\n\n\t\tconsole.groupCollapsed('main.post.form: parsers: ', this.getId());\n\t\tthis.editorParams.parsers.forEach((parserId) => {\n\t\t\tconst parser = getKnownParser(parserId, this, htmlEditor);\n\t\t\tif (parser)\n\t\t\t{\n\t\t\t\tconsole.groupCollapsed(parserId);\n\t\t\t\tconsole.log(parser);\n\n\t\t\t\tif (parser.hasButton())\n\t\t\t\t{\n\t\t\t\t\thtmlEditor.AddButton(parser.getButton())\n\t\t\t\t}\n\t\t\t\thtmlEditor.AddParser(parser.getParser());\n\t\t\t\tconsole.groupEnd(parserId);\n\t\t\t}\n\t\t});\n\t\tconsole.groupEnd('main.post.form: parsers: ', this.getId());\n\n\t\t//region Catching external files\n\t\t// paste an image from IO buffer into editor\n\t\tEventEmitter.subscribe(htmlEditor, 'OnImageDataUriHandle', ({compatData: [editor, imageBase64]}) => {\n\t\t\tconst blob = BX.UploaderUtils.dataURLToBlob(imageBase64.src);\n\n\t\t\tif (blob && blob.size > 0 && blob.type.indexOf('image/') === 0)\n\t\t\t{\n\t\t\t\tEventEmitter.emit(this.getEventObject(), 'onShowControllers', 'show');\n\t\t\t\tblob.name = (blob.name || imageBase64.title || ('image.' + blob.type.substr(6)));\n\t\t\t\tblob.referrerToEditor = imageBase64;\n\t\t\t\tEventEmitter\n\t\t\t\t\t.emit(this.getEventObject(), 'OnImageHasCaught', new BaseEvent({data: blob}))\n\t\t\t\t\t.forEach((result: Promise) => {\n\t\t\t\t\t\tresult\n\t\t\t\t\t\t\t.then(({image, html}) => {\n\t\t\t\t\t\t\t\tEventEmitter.emit(\n\t\t\t\t\t\t\t\t\thtmlEditor,\n\t\t\t\t\t\t\t\t\t'OnImageDataUriCaughtUploaded',\n\t\t\t\t\t\t\t\t\tnew BaseEvent({compatData: [imageBase64, image, {replacement: html}]})\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\t\t\tEventEmitter.emit(\n\t\t\t\t\t\t\t\t\thtmlEditor,\n\t\t\t\t\t\t\t\t\t'OnImageDataUriCaughtFailed',\n\t\t\t\t\t\t\t\t\tnew BaseEvent({compatData: [imageBase64]})\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\t// paste a video into editor\n\t\tEventEmitter.subscribe(EventEmitter.GLOBAL_TARGET, 'onAddVideoMessage', ({compatData: [file, formID]}) => {\n\t\t\tif (!formID || this.getFormId() !== formID)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tEventEmitter.emit(this.getEventObject(), 'onShowControllers', 'show');\n\t\t\tEventEmitter.emit(this.getEventObject(), 'OnVideoHasCaught', new BaseEvent({data: file}));\n\t\t});\n\t\t// DnD\n\n\t\tif (this.editorParams.isDnDEnabled)\n\t\t{\n\t\t\t(() => {\n\t\t\t\tconst placeHolder = BX('micro' + (this.name||this.id));\n\t\t\t\tlet active = false;\n\t\t\t\tlet timeoutId = 0;\n\t\t\t\tconst activate = (e: MouseEvent) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\tif (timeoutId > 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tclearTimeout(timeoutId);\n\t\t\t\t\t\ttimeoutId = 0;\n\t\t\t\t\t}\n\t\t\t\t\tif (active === true)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tlet isFileTransfer = (e && e['dataTransfer']\n\t\t\t\t\t\t&& e['dataTransfer']['types']\n\t\t\t\t\t\t&& e['dataTransfer']['types'].indexOf('Files') >= 0\n\t\t\t\t\t);\n\t\t\t\t\tif (isFileTransfer)\n\t\t\t\t\t{\n\t\t\t\t\t\tactive = true;\n\t\t\t\t\t\tthis.getContainer().classList.add('feed-add-post-dnd-over');\n\t\t\t\t\t\tif (placeHolder)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tplaceHolder.classList.add('feed-add-post-micro-dnd-ready');\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn true;\n\t\t\t\t};\n\t\t\t\tconst disActivate = (e) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\te.stopPropagation();\n\n\t\t\t\t\tif (timeoutId > 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tclearTimeout(timeoutId);\n\t\t\t\t\t}\n\n\t\t\t\t\ttimeoutId = setTimeout(() => {\n\t\t\t\t\t\tactive = false;\n\t\t\t\t\t\tthis.getContainer().classList.remove('feed-add-post-dnd-over');\n\t\t\t\t\t\tif (placeHolder)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tplaceHolder.classList.remove('feed-add-post-micro-dnd-ready');\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 100);\n\t\t\t\t\treturn false;\n\t\t\t\t};\n\t\t\t\tconst catchFiles = (e) => {\n\t\t\t\t\tdisActivate(e);\n\t\t\t\t\tif (e\n\t\t\t\t\t\t&& e['dataTransfer']\n\t\t\t\t\t\t&& e['dataTransfer']['types']\n\t\t\t\t\t\t&& e['dataTransfer']['types'].indexOf('Files') >= 0\n\t\t\t\t\t\t&& e['dataTransfer']['files']\n\t\t\t\t\t\t&& e['dataTransfer']['files'].length > 0\n\t\t\t\t\t)\n\t\t\t\t\t{\n\t\t\t\t\t\tEventEmitter.emit(this.getEventObject(), 'OnShowLHE', new BaseEvent({compatData: ['justShow', {onShowControllers: 'show'}]}));\n\t\t\t\t\t\tEventEmitter.emit(this.getEventObject(), 'onFilesHaveCaught', new BaseEvent({data: e['dataTransfer']['files']}));\n\t\t\t\t\t\tEventEmitter.emit(this.getEventObject(), 'onFilesHaveDropped', { event: e });\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t};\n\n\t\t\t\tthis.getContainer().addEventListener('dragover', activate);\n\t\t\t\tthis.getContainer().addEventListener('dragenter', activate);\n\t\t\t\tthis.getContainer().addEventListener('dragleave', disActivate);\n\t\t\t\tthis.getContainer().addEventListener('dragexit', disActivate);\n\t\t\t\tthis.getContainer().addEventListener('drop', catchFiles);\n\t\t\t\tthis.getContainer().setAttribute('dropzone', 'copy f:*\\/*');\n\t\t\t\tif (!document.body.hasAttribute('dropzone'))\n\t\t\t\t{\n\t\t\t\t\tdocument.body.setAttribute('dropzone', 'copy f:*/*');\n\t\t\t\t\tdocument.body.addEventListener('dragover', function(e){\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t});\n\t\t\t\t\tdocument.body.addEventListener('drop', function(e) {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\tif (e\n\t\t\t\t\t\t\t&& e['dataTransfer']\n\t\t\t\t\t\t\t&& e['dataTransfer']['types']\n\t\t\t\t\t\t\t&& e['dataTransfer']['types'].indexOf('Files') >= 0\n\t\t\t\t\t\t\t&& e['dataTransfer']['files']\n\t\t\t\t\t\t\t&& e['dataTransfer']['files'].length > 0\n\t\t\t\t\t\t)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlet lhe;\n\t\t\t\t\t\t\tlet iteratorBuffer;\n\t\t\t\t\t\t\tconst iterator = this.constructor.#shownForms.keys();\n\t\t\t\t\t\t\twhile (\n\t\t\t\t\t\t\t\t(iteratorBuffer = iterator.next())\n\t\t\t\t\t\t\t\t&& iteratorBuffer.done !== true\n\t\t\t\t\t\t\t\t&& iteratorBuffer.value\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlhe = iteratorBuffer.value;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (lhe)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tEventEmitter.emit(lhe.getEventObject(), 'OnShowLHE', new BaseEvent({compatData: ['justShow', {onShowControllers: 'show'}]}));\n\t\t\t\t\t\t\t\tEventEmitter.emit(lhe.getEventObject(), 'onFilesHaveCaught', new BaseEvent({ data: e['dataTransfer']['files']}));\n\t\t\t\t\t\t\t\tEventEmitter.emit(lhe.getEventObject(), 'onFilesHaveDropped', { event: e });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}.bind(this));\n\t\t\t\t}\n\t\t\t\tif (placeHolder)\n\t\t\t\t{\n\t\t\t\t\tplaceHolder.addEventListener('dragenter', (e) => {\n\t\t\t\t\t\tactivate(e);\n\t\t\t\t\t\tEventEmitter.emit(this.getEventObject(), 'OnShowLHE', new BaseEvent({compatData: ['justShow', {onShowControllers: 'show'}]}));\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tEventEmitter.subscribe(this.getEditor(), 'OnIframeDrop', ({data: [e]}) => catchFiles(e));\n\t\t\t\tEventEmitter.subscribe(this.getEditor(), 'OnIframeDragOver', ({data: [e]}) => activate(e));\n\t\t\t\tEventEmitter.subscribe(this.getEditor(), 'OnIframeDragLeave', ({data: [e]}) => disActivate(e));\n\t\t\t})();\n\t\t}\n\t\t//endregion\n\n\t\tEventEmitter.subscribe(htmlEditor, 'OnInsertContent', ({data: [text, html]}) => {\n\t\t\tthis.insertContent(text, html);\n\t\t});\n\n\t\t//region Visible customization\n\t\tshowPanelEditor(this, htmlEditor, this.editorParams);\n\t\tshowUrlPreview(htmlEditor, this.editorParams);\n\n\t\tcustomizeHTMLEditor(this, htmlEditor);\n\t\tbindAutoSave(htmlEditor, BX(this.getFormId()));\n\t\tbindToolbar(this, htmlEditor);\n\t\t//endregion\n\t\tEventEmitter.subscribe(this.getEventObject(), 'OnAfterShowLHE', () => {\n\t\t\tthis.getEditor().AllowBeforeUnloadHandler();\n\t\t});\n\t\tEventEmitter.subscribe(this.getEventObject(), 'OnAfterHideLHE', () => {\n\t\t\tTasksLimit.hidePopup();\n\t\t\tthis.getEditor().DenyBeforeUnloadHandler();\n\t\t});\n\n\t\tEventEmitter.subscribe(\n\t\t\thtmlEditor,\n\t\t\t'OnIframeClick',\n\t\t\t() => {\n\t\t\t\tconst event = new MouseEvent('click', {\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcancelable: true,\n\t\t\t\t\tview: window,\n\t\t\t\t});\n\t\t\t\thtmlEditor.iframeView.container.dispatchEvent(event);\n\t\t\t}\n\t\t);\n\t}\n\n\tgetEditor()\n\t{\n\t\treturn this.htmlEditor;\n\t}\n\n\tgetFormId()\n\t{\n\t\treturn this.formId;\n\t}\n\n\tgetEventObject()\n\t{\n\t\treturn this.eventNode;\n\t}\n\n\tgetContainer()\n\t{\n\t\treturn this.eventNode;\n\t}\n\n\tgetToolbar(): Toolbar\n\t{\n\t\treturn this.toolbar;\n\t}\n\n\tOnEditorInitedBefore(htmlEditor)\n\t{\n\t\tthis.setEditor(htmlEditor);\n\t}\n\n\tOnCreateIframeAfter()\n\t{\n\t\tif (this.editorIsLoaded !== true)\n\t\t{\n\t\t\tthis.editorIsLoaded = true;\n\t\t\tthis.exec();\n\t\t\tEventEmitter.emit(this, 'OnEditorIsLoaded', []);\n\t\t}\n\t}\n\n\tget isReady()\n\t{\n\t\treturn this.editorIsLoaded;\n\t}\n\n\tOnEditorInitedAfter(htmlEditor)\n\t{\n\t\tif (!this.editorParams.lazyLoad)\n\t\t{\n\t\t\tEventEmitter.emit(this.getEventObject(), 'OnShowLHE', new BaseEvent({compatData: ['justShow', htmlEditor, false]}));\n\t\t}\n\n\t\tif (htmlEditor.sandbox && htmlEditor.sandbox.inited)\n\t\t{\n\t\t\tthis.OnCreateIframeAfter();\n\t\t}\n\t}\n\n\taddParser(parser: {\n\t\tid: string,\n\t\tinit: Function, // init(htmlEditor) {} // function to catch htmlEditor\n\t\tparse: Function, // parse(text) {}\n\t\tunparse: Function, // unparse(bxTag, oNode) {}\n\t})\n\t{\n\t\tthis.exec(() => {\n\t\t\tparser.init(this.getEditor());\n\t\t\tthis.getEditor().AddParser({\n\t\t\t\tname: parser.id,\n\t\t\t\tobj: {\n\t\t\t\t\tParse: (parserId, text) => {\n\t\t\t\t\t\treturn parser.parse(text)\n\t\t\t\t\t},\n\t\t\t\t\tUnParse: parser.unparse\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (!this['addParserAfterDebounced'])\n\t\t\t{\n\t\t\t\tthis.addParserAfterDebounced = Runtime.debounce(() => {\n\t\t\t\t\tconst content = this.getEditor().GetContent();\n\t\t\t\t\tif (/	[13];/gi.test(content))\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.getEditor().SetContent(\n\t\t\t\t\t\t\tcontent.replace(/[/ig, \"[\").replace(/]/ig, \"]\"),\n\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}, 100);\n\t\t\t}\n\t\t\tthis.addParserAfterDebounced();\n\t\t});\n\t}\n\n\tinsertContent(text, html: ?string = null)\n\t{\n\t\tthis.exec(() => {\n\t\t\tconst editorMode = this.getEditor().GetViewMode();\n\t\t\tif (editorMode === 'wysiwyg')\n\t\t\t{\n\t\t\t\tconst range = this.getEditor().selection.GetRange();\n\t\t\t\tthis.getEditor().InsertHtml(html || text, range);\n\t\t\t\tsetTimeout(this.getEditor().AutoResizeSceleton.bind(this.getEditor()), 500);\n\t\t\t\tsetTimeout(this.getEditor().AutoResizeSceleton.bind(this.getEditor()), 1000);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.getEditor().textareaView.Focus();\n\n\t\t\t\tif (!this.getEditor().bbCode)\n\t\t\t\t{\n\t\t\t\t\tconst doc = this.getEditor().GetIframeDoc();\n\t\t\t\t\tconst dummy = doc.createElement('DIV');\n\t\t\t\t\tdummy.style.display = 'none';\n\t\t\t\t\tdummy.innerHTML = text;\n\t\t\t\t\tdoc.body.appendChild(dummy);\n\n\t\t\t\t\ttext = this.getEditor().Parse(text, true, false);\n\n\t\t\t\t\tdummy.parentNode.removeChild(dummy);\n\t\t\t\t}\n\n\t\t\t\tthis.getEditor().textareaView.WrapWith('', '', text);\n\t\t\t}\n\t\t});\n\t}\n\n\treinit(text, data)\n\t{\n\t\tlet showControllers = 'hide';\n\t\tif (Type.isPlainObject(data) && Object.values(data).length)\n\t\t{\n\t\t\tObject.values(data).forEach((property) => {\n\t\t\t\tif (property && property['VALUE'])\n\t\t\t\t{\n\t\t\t\t\tshowControllers = 'show';\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\tEventEmitter.emitAsync(this.getEventObject(), 'onReinitializeBeforeAsync', [text, data]).then(() => {\n\t\t\tEventEmitter.emit(this.getEventObject(), 'onShowControllers', showControllers);\n\t\t\tEventEmitter.emit(this.getEventObject(), 'onReinitializeBefore', [text, data]);\n\t\t\tthis.getEditor().CheckAndReInit(Type.isString(text) ? text : '');\n\t\t\tBX.onCustomEvent(this.getEditor(), 'onReinitialize', [this, text, data]);\n\n\t\t\tif (this.editorParams['height'])\n\t\t\t{\n\t\t\t\tthis.oEditor.SetConfigHeight(this.editorParams['height']);\n\t\t\t\tthis.oEditor.ResizeSceleton();\n\t\t\t}\n\t\t});\n\t}\n\n\tOnShowLHE({data, compatData})\n\t{\n\t\tlet [show, setFocus, FCFormId] = data || compatData;\n\t\tif (!this.getEditor() && window['BXHtmlEditor'])\n\t\t{\n\t\t\twindow['BXHtmlEditor'].Get(this.getId()).Init();\n\t\t}\n\t\tshow = (show === false || show === 'hide' || show === 'justShow') ? show : true;\n\n\t\tconst placeHolder = BX('micro' + (this.name||this.id));\n\t\tif (placeHolder)\n\t\t{\n\t\t\tplaceHolder.style.display = ((show === true || show === 'justShow') ? 'none' : 'block');\n\t\t}\n\n\t\tif (show === 'hide')\n\t\t{\n\t\t\tthis.constructor.#shownForms.delete(this);\n\n\t\t\tEventEmitter.emit(this.getEventObject(), 'OnBeforeHideLHE');\n\t\t\tif (this.getContainer().style.display === 'none')\n\t\t\t{\n\t\t\t\tEventEmitter.emit(this.getEventObject(), 'OnAfterHideLHE');\n\t\t\t\tEventEmitter.emit(this.getEventObject(), 'onShowControllers', 'hide');\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t(new BX['easing']({\n\t\t\t\t\tduration : 200,\n\t\t\t\t\tstart : { opacity: 100, height : this.getContainer().scrollHeight},\n\t\t\t\t\tfinish : { opacity : 0, height : 20},\n\t\t\t\t\ttransition : BX.easing.makeEaseOut(BX.easing.transitions.quad),\n\t\t\t\t\tstep : (state) => {\n\t\t\t\t\t\tthis.getContainer().style.height = state.height + 'px';\n\t\t\t\t\t\tthis.getContainer().style.opacity = state.opacity / 100;\n\t\t\t\t\t},\n\t\t\t\t\tcomplete: () => {\n\t\t\t\t\t\tthis.getContainer().style.cssText = '';\n\t\t\t\t\t\tthis.getContainer().style.display = 'none';\n\t\t\t\t\t\tEventEmitter.emit(this.getEventObject(), 'OnAfterHideLHE');\n\t\t\t\t\t\tEventEmitter.emit(this.getEventObject(), 'onShowControllers', 'hide');\n\t\t\t\t\t}\n\t\t\t\t})).animate();\n\t\t\t}\n\t\t}\n\t\telse if (show)\n\t\t{\n\t\t\tthis.constructor.#shownForms.set(this);\n\n\t\t\tthis.formEntityType = (\n\t\t\t\tType.isArray(FCFormId)\n\t\t\t\t&& Type.isStringFilled(FCFormId[0])\n\t\t\t\t&& FCFormId[0].match(/^TASK_(\\d+)$/i)\n\t\t\t\t\t? 'task'\n\t\t\t\t\t: null\n\t\t\t);\n\n\t\t\tif (setFocus && Type.isPlainObject(setFocus))\n\t\t\t{\n\t\t\t\tif (setFocus['onShowControllers'])\n\t\t\t\t{\n\t\t\t\t\tEventEmitter.emit(this.getEventObject(), 'onShowControllers', setFocus['onShowControllers']);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tEventEmitter.emit(this.getEventObject(), 'OnBeforeShowLHE');\n\t\t\tif (show === 'justShow' || this.getContainer().style.display === 'block')\n\t\t\t{\n\t\t\t\tthis.getContainer().style.display = 'block';\n\t\t\t\tEventEmitter.emit(this.getEventObject(), 'OnAfterShowLHE'); //To remember: Here is set a text -> reinitData-> reinit -> editor.CheckAndReInit()\n\t\t\t\tif (setFocus !== false)\n\t\t\t\t{\n\t\t\t\t\tthis.getEditor().Focus();\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tDom.adjust(this.getContainer(), {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\theight: '20px',\n\t\t\t\t\t\topacity:0.1\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\t(new BX['easing']({\n\t\t\t\t\tduration: 200,\n\t\t\t\t\tstart: { opacity: 10, height: 20 },\n\t\t\t\t\tfinish: { opacity: 100, height: this.getContainer().scrollHeight},\n\t\t\t\t\ttransition: BX.easing.makeEaseOut(BX.easing.transitions.quad),\n\t\t\t\t\tstep: (state) => {\n\t\t\t\t\t\tthis.getContainer().style.height = state.height + 'px';\n\t\t\t\t\t\tthis.getContainer().style.opacity = state.opacity / 100;\n\t\t\t\t\t},\n\t\t\t\t\tcomplete: () => {\n\t\t\t\t\t\tEventEmitter.emit(this.getEventObject(), 'OnAfterShowLHE'); //To remember: Here is set a text -> reinitData-> reinit -> editor.CheckAndReInit()\n\t\t\t\t\t\tthis.getEditor().Focus();\n\t\t\t\t\t\tthis.getContainer().style.cssText = \"\";\n\t\t\t\t\t}\n\t\t\t\t})).animate();\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.constructor.#shownForms.delete(this);\n\n\t\t\tEventEmitter.emit(this.getEventObject(), 'OnBeforeHideLHE');\n\t\t\tEventEmitter.emit(this.getEventObject(), 'onShowControllers', 'hide');\n\t\t\tthis.getContainer().style.display = 'none';\n\t\t\tEventEmitter.emit(this.getEventObject(), 'OnAfterHideLHE');\n\t\t}\n\t}\n\n\tOnButtonClick({data: [action]})\n\t{\n\t\tif (action !== 'cancel')\n\t\t{\n\t\t\tconst res = {result : true};\n\t\t\tEventEmitter.emit(this.getEventObject(), 'OnClickBeforeSubmit', new BaseEvent({compatData: [this, res]}));\n\t\t\tif (res['result'] !== false)\n\t\t\t{\n\t\t\t\tEventEmitter.emit(this.getEventObject(), 'OnClickSubmit', new BaseEvent({compatData: [this]}));\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tEventEmitter.emit(this.getEventObject(), 'OnClickCancel', new BaseEvent({compatData: [this]}));\n\t\t\tEventEmitter.emit(this.getEventObject(), 'OnShowLHE', new BaseEvent({compatData: ['hide']}));\n\t\t}\n\t}\n\n\t//region compatibility\n\texec(func, args)\n\t{\n\t\tif (typeof func == 'function')\n\t\t{\n\t\t\tthis.actionQueue.push([func, args]);\n\t\t}\n\n\t\tif (this.editorIsLoaded === true)\n\t\t{\n\t\t\tlet res;\n\t\t\twhile ((res = this.actionQueue.shift()) && res)\n\t\t\t{\n\t\t\t\tres[0].apply(this, res[1]);\n\t\t\t}\n\t\t}\n\t}\n\n\tget oEditor()\n\t{\n\t\treturn this.getEditor();\n\t}\n\n\tget oEditorId()\n\t{\n\t\treturn this.getId();\n\t}\n\n\tget formID()\n\t{\n\t\treturn this.getFormId();\n\t}\n\n\tget params()\n\t{\n\t\treturn {\n\t\t\tformID: this.getFormId()\n\t\t};\n\t}\n\n\tshowPanelEditor()\n\t{\n\t\tshowPanelEditor(this, this.getEditor(), {});\n\t}\n\n\tgetContent()\n\t{\n\t\treturn (this.oEditor ? this.oEditor.GetContent() : '');\n\t}\n\n\tsetContent(text)\n\t{\n\t\tif (this.getEditor())\n\t\t{\n\t\t\tthis.getEditor().SetContent(text);\n\t\t}\n\t}\n\n\tcontrollerInit(status)\n\t{\n\t\tEventEmitter.emit(this.getEventObject(), 'onShowControllers', status === 'hide' ? 'hide' : 'show');\n\t}\n\n\tshowCopilot(): void\n\t{\n\t\tthis.getEditor().SetView('wysiwyg');\n\t\tthis.getEditor().ShowCopilotAtTheBottom();\n\t}\n\n\tisTextCopilotEnabledBySettings()\n\t{\n\t\tconst isEnabled = this.getEditor().config.isCopilotTextEnabledBySettings;\n\n\t\treturn Type.isNil(isEnabled) || isEnabled;\n\t}\n\n\tisImageCopilotEnabledBySettings()\n\t{\n\t\tconst isEnabled = this.getEditor().config.isCopilotImageEnabledBySettings;\n\n\t\treturn Type.isNil(isEnabled) || isEnabled;\n\t}\n\n\tget controllers()\n\t{\n\t\tconst event = new BaseEvent();\n\t\tconst data = {};\n\t\tevent.setData(data);\n\t\tEventEmitter.emit(this.getEventObject(), 'onCollectControllers', event);\n\t\tconst result = {};\n\t\tObject.keys(data).forEach((fieldName) => {\n\t\t\tresult[fieldName] = Object.assign({}, data[fieldName]);\n\t\t\tresult[fieldName]['values'] = {};\n\t\t\tif (Type.isArray(data[fieldName]['values']))\n\t\t\t{\n\t\t\t\tdata[fieldName]['values'].forEach((id) => {\n\t\t\t\t\tresult[fieldName]['values'][id] = {\n\t\t\t\t\t\tid : id,\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t}\n\t\t\telse if (Type.isPlainObject(data[fieldName]['values']))\n\t\t\t{\n\t\t\t\tresult[fieldName]['values'] = Object.assign({}, data[fieldName]['values']);\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\tget arFiles()\n\t{\n\t\tconst event = new BaseEvent();\n\t\tconst data = {};\n\t\tevent.setData(data);\n\t\tEventEmitter.emit(this.getEventObject(), 'onCollectControllers', event);\n\t\tconst result = {};\n\t\tObject.keys(data).forEach((fieldName) => {\n\t\t\tif (data[fieldName]['values'])\n\t\t\t{\n\t\t\t\tdata[fieldName]['values'].forEach((id) => {\n\t\t\t\t\tresult[id] = [fieldName];\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\t//endregion\n\tstatic #shownForms = new Map();\n}\n","import {Type} from 'main.core';\nimport {EventEmitter} from 'main.core.events';\nimport Editor from \"./editor\";\nimport TasksLimit from \"./taskslimit\";\n\n\twindow['LHEPostForm'] = {\n\n\t\t//region compatibility\n\t\tgetEditor: function(editor)\n\t\t{\n\t\t\treturn (window[\"BXHtmlEditor\"] ? window[\"BXHtmlEditor\"].Get((typeof editor == \"object\" ? editor.id : editor)) : null);\n\t\t},\n\n\t\tgetHandler: function(editor)\n\t\t{\n\t\t\tconst id = Type.isStringFilled(editor) ? editor : editor.id;\n\t\t\treturn Editor.repo.get(id);\n\t\t},\n\n\t\tgetHandlerByFormId: function(formId)\n\t\t{\n\t\t\tlet result = null;\n\t\t\tEditor.repo.forEach((editor) => {\n\t\t\t\tif (editor.getFormId() === formId)\n\t\t\t\t{\n\t\t\t\t\tresult = editor;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn result;\n\t\t},\n\n\t\treinitData: function(editorID, text, data)\n\t\t{\n\t\t\tconst files = {};\n\t\t\tif (!Type.isPlainObject(data))\n\t\t\t{\n\t\t\t\tdata = {};\n\t\t\t}\n\n\t\t\tObject.entries(data).forEach(([userFieldName, userField]) => {\n\t\t\t\tif (Type.isPlainObject(userField)\n\t\t\t\t\t&& userField['USER_TYPE_ID']\n\t\t\t\t\t&& userField['VALUE']\n\t\t\t\t\t&& Object.values(userField['VALUE']).length > 0\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\tfiles[userFieldName] = userField;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tconst handler = this.getHandler(editorID);\n\t\t\tif (handler && (handler.isReady || Type.isStringFilled(text) || Object.values(files).length > 0))\n\t\t\t{\n\t\t\t\thandler.exec(handler.reinit, [text, files]);\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\n\t\treinitDataBefore: function(editorID)\n\t\t{\n\t\t\tconst handler = Editor.repo.get(editorID);\n\t\t\tif (handler && handler.getEventObject())\n\t\t\t{\n\t\t\t\tEventEmitter.emit(handler.getEventObject(), 'onReinitializeBefore', [handler]);\n\t\t\t}\n\t\t}\n\t\t//endregion\n\t}\n\nexport {\n\tEditor as PostForm,\n\tTasksLimit as PostFormTasksLimit,\n}\n",null,null]}