{"version":3,"sources":["webpack:///./behaviors/date_picker.js","webpack:///./lib/utils/autosave.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/base/new_dropdowns/disclosure/utils.js","webpack:///./milestones/index.js","webpack:////build/source/node_modules/fuzzaldrin-plus/lib/scorer.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/base/new_dropdowns/disclosure/constants.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown.js","webpack:////build/source/node_modules/fuzzaldrin-plus/lib/fuzzaldrin.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown_item.js","webpack:////build/source/node_modules/fuzzaldrin-plus/lib/query.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown_group.js","webpack:////build/source/node_modules/fuzzaldrin-plus/lib/pathScorer.js","webpack:////build/source/node_modules/fuzzaldrin-plus/lib/matcher.js","webpack:////build/source/node_modules/fuzzaldrin-plus/lib/filter.js"],"names":["initDatePickers","$","each","$datePicker","this","datePickerVal","val","calendar","Pikaday","field","get","theme","format","container","parent","parse","dateString","newDate","toString","date","toISODateFormat","onSelect","dateText","firstDay","gon","first_day_of_week","setDate","data","on","e","preventDefault","target","siblings","children","normalizeKey","autosaveKey","normalizedKey","Array","isArray","every","_isString","join","Error","lockVersionKey","clearDraft","window","localStorage","removeItem","console","error","getDraft","getItem","getLockVersion","updateDraft","text","lockVersion","setItem","getAutoSaveKeyFromDiscussion","discussion","noteableType","notes","slice","noteable_type","discussionId","id","capitalizeFirstCharacter","isItem","item","Boolean","_item$text","length","items","itemValidator","isGroup","group","itemsValidator","hasOnlyListItemsVue2","defaultSlot","nodes","tags","filter","vNode","tag","_vNode$componentOptio","componentOptions","includes","isValidSlotTagVue2","hasOnlyListItemsVue3","fragment","find","node","trim","_vNode$type","type","name","isValidSlotTagVue3","hasOnlyListItems","version","startsWith","initForm","mountMarkdownEditor","ZenMode","initDatePicker","initShow","Milestone","Sidebar","MountMilestoneSidebar","renderGFM","document","querySelector","el","TaskList","dataType","TYPE_MILESTONE","fieldName","selector","dataset","onError","createAlert","message","__","AcronymResult","computeScore","emptyAcronymResult","isAcronymFullWord","isMatch","isSeparator","isWordEnd","isWordStart","scoreAcronyms","scoreCharacter","scoreConsecutives","scoreExact","scoreExactMatch","scorePattern","scorePosition","scoreSize","exports","score","string","query","options","preparedQuery","string_lw","allowErrors","core_lw","core_up","toLowerCase","Math","ceil","subject","query_lw","query_up","i","j","m","n","qj_lw","qj_up","si","charCodeAt","subject_lw","acro","acro_score","align","csc_diag","csc_row","csc_score","csc_should_rebuild","miss_budget","miss_left","pos","record_miss","score_diag","score_row","score_up","si_lw","start","sz","count","indexOf","charCodes","max","curr_s","prev_s","len","next_s","c","sc","abs","quality","sameCase","end","bonus","posBonus","startOfWord","k","mi","nj","pos2","fullWord","sepCount","sumPos","nbAcronymInQuery","call","DISCLOSURE_DROPDOWN_ITEM_NAME","DISCLOSURE_DROPDOWN_GROUP_NAME","DISCLOSURE_DROPDOWN_GROUP_BORDER_POSITIONS","top","bottom","DROPDOWN_SELECTOR","ITEM_SELECTOR","__vue_script__","events","GL_DROPDOWN_SHOWN","GL_DROPDOWN_HIDDEN","GL_DROPDOWN_BEFORE_CLOSE","GL_DROPDOWN_FOCUS_CONTENT","components","GlBaseDropdown","GlDisclosureDropdownItem","GlDisclosureDropdownGroup","props","required","default","validator","toggleText","String","textSrOnly","category","primary","value","variant","size","icon","disabled","loading","toggleId","toggleClass","Object","noCaret","placement","keys","toggleAriaLabelledBy","listAriaLabelledBy","block","dropdownOffset","Number","undefined","fluidWidth","autoClose","positioningStrategy","strategy","startOpened","disclosureId","nextFocusedItemIndex","computed","_this$items","$scopedSlots","$slots","toggle","open","methods","$refs","baseDropdown","close","$emit","event","code","elements","getFocusableListItemElements","stop","focusItem","focusNextItem","handleAutoClose","_this$$refs$content","content","querySelectorAll","from","offset","currentIndex","nextIndex","index","_elements$index","focus","closeAndFocus","action","requestAnimationFrame","closest","$el","uniqueItemId","GL_DROPDOWN_CONTENTS_CLASS","__vue_component__","render","_vm","_h","$createElement","_c","_self","ref","staticClass","attrs","_d","$options","onShow","onHide","onBeforeClose","onKeydown","scopedSlots","_u","key","fn","_t","proxy","_v","disclosureTag","class","_l","handleAction","groupItem","_e","staticRenderFns","Query","defaultPathSeparator","matcher","parseOptions","pathScorer","preparedQueryCache","scorer","process","platform","module","candidates","usePathScoring","match","_results","_i","_ref","push","apply","wrap","prepareQuery","useExtensionBonus","pathSeparator","optCharRegEx","ITEM_CLASS","BLink","_this$item","_this$item2","href","to","isLink","is","extraAttrs","listeners","click","_item$action","_this$item3","_this$item3$extraAttr","_this$item4","_this$item4$extraAttr","_this$item$wrapperCla","_this$item5","wrapperClass","keydown","isCustomContent","MouseEvent","bubbles","cancelable","_this$$refs$item","dispatchEvent","_g","listIndex","wrapperListeners","itemComponent","_b","componentIndex","_s","coreChars","countDir","getCharCodes","getExtension","opt_char_re","truncatedUpperCase","_arg","_ref1","core","depth","ext","replace","str","upper","_len","toUpperCase","BORDER_CLASSES","bordered","borderPosition","_this$group","showHeader","nameId","borderClass","groupLabeledBy","getExtensionScore","scorePath","fullPathScore","alpha","basePathScore","basePos","extAdjust","fileLength","lastIndexOf","path","substr","candidate","startPos","endPos","maxDepth","matched","basenameMatch","computeMatch","mergeMatches","baseMatches","matches","matchIndex","matchPos","matchPositions","output","strPos","tagClass","tagClose","tagOpen","substring","a","b","ai","bj","out","backtrack","move","trace","reverse","pluckCandidates","sortCandidates","bKey","maxInners","maxResults","scoreProvider","scoredCandidates","spotLeft","sort","map"],"mappings":"2FAAA,4FAIe,SAASA,IACtBC,IAAE,eAAeC,MAAK,WACpB,MAAMC,EAAcF,IAAEG,MAChBC,EAAgBF,EAAYG,MAE5BC,EAAW,IAAIC,IAAQ,CAC3BC,MAAON,EAAYO,IAAI,GACvBC,MAAO,qCACPC,OAAQ,aACRC,UAAWV,EAAYW,SAASJ,IAAI,GACpCK,MAAO,SAACC,GAAU,OAAKC,aAAQD,IAC/BE,SAAU,SAACC,GAAI,OAAKC,aAAgBD,IACpCE,SAASC,GACPnB,EAAYG,IAAIC,EAASW,SAASI,KAEpCC,SAAUC,IAAIC,oBAGhBlB,EAASmB,QAAQT,aAAQZ,IAEzBF,EAAYwB,KAAK,UAAWpB,MAG9BN,IAAE,2CAA2C2B,GAAG,SAAS,SAACC,GACxDA,EAAEC,iBACe7B,IAAE4B,EAAEE,QAClBC,SAAS,gCACTC,SAAS,eACTN,KAAK,WACCD,QAAQ,W,mRC9BrB,MAAMQ,EAAe,SAACC,GACpB,IAAIC,EAEJ,GAAIC,MAAMC,QAAQH,IAAgBA,EAAYI,MAAKC,KACjDJ,EAAgBD,EAAYM,KAAK,SAC5B,KAAID,IAASL,GAIlB,MAAM,IAAIO,MAAM,wBAHhBN,EAAgBD,EAMlB,MAAO,YAAYC,GAGfO,EAAiB,SAACR,GAAW,OAAQD,EAAaC,GAAhB,gBAE3BS,EAAa,SAACT,GACzB,IACEU,OAAOC,aAAaC,WAAWb,EAAaC,IAC5CU,OAAOC,aAAaC,WAAWJ,EAAeR,IAC9C,MAAON,GAEPmB,QAAQC,MAAMpB,KAILqB,EAAW,SAACf,GACvB,IACE,OAAOU,OAAOC,aAAaK,QAAQjB,EAAaC,IAChD,MAAON,GAGP,OADAmB,QAAQC,MAAMpB,GACP,OAIEuB,EAAiB,SAACjB,GAC7B,IACE,OAAOU,OAAOC,aAAaK,QAAQR,EAAeR,IAClD,MAAON,GAGP,OADAmB,QAAQC,MAAMpB,GACP,OAIEwB,EAAc,SAAClB,EAAamB,EAAMC,GAC7C,IACEV,OAAOC,aAAaU,QAAQtB,EAAaC,GAAcmB,GACnDC,GACFV,OAAOC,aAAaU,QAAQb,EAAeR,GAAcoB,GAE3D,MAAO1B,GAEPmB,QAAQC,MAAMpB,KAQL4B,EAA+B,SAACC,GAAU,OAJjBC,EAKdD,EAAWE,MAAMC,MAAM,EAAG,GAAG,GAAGC,cALJC,EAKmBL,EAAWM,GAHhF,CAAC,OAAQC,YAAyBN,GAAeI,EAAc,SAAStB,KAAK,KAF1C,IAACkB,EAAcI,I,oCC9DpD,8MAKA,MAIMG,EAASC,GAAQC,QAAQD,IAJTA,KACpB,IAAIE,EACJ,OAAQF,SAAyE,QAA5BE,EAAaF,EAAKb,YAAiC,IAAfe,OAA9C,EAA+EA,EAAWC,QAAU,IAAMjC,MAAMC,QAAQ6B,aAAmC,EAASA,EAAKI,QAE9KC,CAAcL,GAChDM,EAAUC,GAASN,QAAQM,IAAUrC,MAAMC,QAAQoC,EAAMH,QAAUH,QAAQM,EAAMH,MAAMD,SAE7FI,EAAMH,MAAMhC,MAAM2B,GAGZS,EAAiBJ,GAASA,EAAMhC,MAAM2B,IAAWK,EAAMhC,MAAMkC,GAU7DG,EAAuBC,IAC3B,MAAMC,EAAQD,IACd,IAAKxC,MAAMC,QAAQwC,GACjB,OAAO,EAET,MAAMC,EAAOD,EAAME,OAAOC,GAASA,EAAMC,KACzC,OAAOH,EAAKT,QAAUS,EAAKxC,MAAM2C,GAdRD,KACzB,IAAIE,EAFaD,EAGjB,OAAOd,QAAQa,KAHEC,GAGyE,QAApDC,EAAwBF,EAAMG,wBAAwD,IAA1BD,OAAmC,EAASA,EAAsBD,MAAQD,EAAMC,IAH1J,CAAC,+BAAgC,8BAA+B,MAAMG,SAASH,KAe/DI,CAAmBJ,KAEvDK,EAAuBV,IAC3B,MAAMC,EAAQD,IACRW,EAAWV,EAAMW,KAAKC,GAAQrD,MAAMC,QAAQoD,EAAKzD,WAAayD,EAAKzD,SAASqC,QAElF,OADoBkB,EAAWA,EAASvD,SAAW6C,GAGlDE,OAAOC,IAAU,IAASA,EAAM3B,OAAS2B,EAAM3B,KAAKqC,OAAOrB,OAAS,GAAG/B,MAAM0C,GAlBrDA,KACzB,IAAIW,EACJ,MAAO,CAAC,IAA+B,KAAgCP,SAAwC,QAA9BO,EAAcX,EAAMY,YAAkC,IAAhBD,OAAyB,EAASA,EAAYE,OAAwB,OAAfb,EAAMY,MAgB7FE,CAAmBd,KAEtGe,EAAmBnB,KAClB,IAAWA,KAGZ,UAAIoB,QAAQC,WAAW,KAClBX,EAAqBV,GAEvBD,EAAqBC,K,oCChD9B,4MAiBO,SAASsB,IACdC,cACA,IAAIC,UACJC,cAGK,SAASC,IACd,IAAIC,IACJ,IAAIC,IACJ,IAAIC,IAEJC,YAAUC,SAASC,cAfwB,mCAiB3C,MAAMC,EAAKF,SAASC,cAhB2C,yDAkB/D,OAAKC,EAIE,IAAIC,IAAS,CAClBC,SAAUC,iBACVC,UAAW,cACXC,SAxBoC,oBAyBpC5D,YAAauD,EAAGM,QAAQ7D,YACxB8D,QAAS,WACPC,sBAAY,CACVC,QAASC,aACP,wGAXC,O,oBCjCX,WACE,IAAIC,EAAeC,EAAcC,EAAoBC,EAAmBC,EAASC,EAAaC,EAAWC,EAAoCC,EAAeC,EAAgBC,EAAmBC,EAAYC,EAAiBC,EAAcC,EAAeC,EAUzPC,EAAQC,MAAQ,SAASC,EAAQC,EAAOC,GACtC,IAAiBC,EAAeJ,EAAOK,EAEvC,OADAD,EAAgBD,EAAQC,cAA6BD,EAAQG,aACxCnB,EAAQc,EAAQG,EAAcG,QAASH,EAAcI,UAG1EH,EAAYJ,EAAOQ,cACnBT,EAAQhB,EAAaiB,EAAQI,EAAWD,GACjCM,KAAKC,KAAKX,IAJR,GAOXD,EAAQZ,QAAUA,EAAU,SAASyB,EAASC,EAAUC,GACtD,IAAIC,EAAGC,EAAGC,EAAGC,EAAGC,EAAOC,EAAOC,EAG9B,GAFAJ,EAAIL,EAAQhF,OACZsF,EAAIL,EAASjF,QACRqF,GAAKC,EAAID,EACZ,OAAO,EAIT,IAFAF,GAAK,EACLC,GAAK,IACIA,EAAIE,GAAG,CAGd,IAFAC,EAAQN,EAASS,WAAWN,GAC5BI,EAAQN,EAASQ,WAAWN,KACnBD,EAAIE,IACXI,EAAKT,EAAQU,WAAWP,MACbI,GAASE,IAAOD,IAI7B,GAAIL,IAAME,EACR,OAAO,EAGX,OAAO,GAGTlB,EAAQf,aAAeA,EAAe,SAAS4B,EAASW,EAAYnB,GAClE,IAAIoB,EAAMC,EAAYC,EAAOC,EAAUC,EAASC,EAAWC,EAAoBf,EAAGC,EAAGC,EAAGc,EAAaC,EAAWd,EAAGe,EAAK/B,EAAOW,EAAUqB,EAAalC,EAAOmC,EAAYC,EAAWC,EAAUC,EAAOC,EAAOC,EAO5M,GANAtC,EAAQE,EAAcF,MACtBW,EAAWT,EAAcS,SACzBI,EAAIL,EAAQhF,OACZsF,EAAIhB,EAAMtE,OAEV6F,GADAD,EAAOjC,EAAcqB,EAASW,EAAYrB,EAAOW,IAC/Bb,MACdwB,EAAKiB,QAAUvB,EACjB,OAAOxB,EAAWwB,EAAGD,EAAGQ,EAAYD,EAAKS,KAG3C,IADAA,EAAMV,EAAWmB,QAAQ7B,KACd,EACT,OAAOlB,EAAgBiB,EAASW,EAAYrB,EAAOW,EAAUoB,EAAKf,EAAGD,GASvE,IAPAmB,EAAY,IAAIzI,MAAMuH,GACtBU,EAAU,IAAIjI,MAAMuH,GACpBsB,EAAK1C,EAAUoB,EAAGD,GAElBe,EADAD,EAAcrB,KAAKC,KAxDR,IAwD0BO,GAAK,EAE1CY,GAAqB,EACrBd,GAAK,IACIA,EAAIE,GACXkB,EAAUpB,GAAK,EACfY,EAAQZ,GAAK,EAGf,IADAD,GAAK,IACIA,EAAIE,GAEX,KADAqB,EAAQf,EAAWR,IACRO,WAAW,KAAMlB,EAAcuC,WACxC,GAAIb,EAAoB,CAEtB,IADAd,GAAK,IACIA,EAAIE,GACXU,EAAQZ,GAAK,EAEfc,GAAqB,QAUzB,IANA9B,EAAQ,EACRmC,EAAa,EACbR,EAAW,EACXO,GAAc,EACdJ,GAAqB,EACrBd,GAAK,IACIA,EAAIE,GAAG,CAMd,IALAmB,EAAWD,EAAUpB,IACNhB,IACbA,EAAQqC,GAEVR,EAAY,EACRhB,EAASG,KAAOsB,EAIlB,GAHAC,EAAQjD,EAAYyB,EAAGH,EAASW,GAChCM,EAAYF,EAAW,EAAIA,EAAWlC,EAAkBmB,EAASW,EAAYrB,EAAOW,EAAUE,EAAGC,EAAGuB,IACpGb,EAAQS,EAAa3C,EAAeuB,EAAGC,EAAGuB,EAAOd,EAAYI,IACjD7B,EACVA,EAAQ0B,EACRM,EAAYD,MACP,CACL,GAAIG,KAAiBF,GAAa,EAChC,OAAOtB,KAAKkC,IAAI5C,EAAOoC,EAAUlB,EAAI,IAAMsB,EAE7CN,GAAc,EAGlBC,EAAaE,EACbV,EAAWC,EAAQZ,GACnBY,EAAQZ,GAAKa,EACbO,EAAUpB,GAAKhB,EAInB,OADAA,EAAQoC,EAAUlB,EAAI,IACPsB,GAGjBzC,EAAQT,YAAcA,EAAc,SAAS2C,EAAKrB,EAASW,GACzD,IAAIsB,EAAQC,EACZ,OAAY,IAARb,IAGJY,EAASjC,EAAQqB,GACjBa,EAASlC,EAAQqB,EAAM,GAChB7C,EAAY0D,IAAYD,IAAWtB,EAAWU,IAAQa,IAAWvB,EAAWU,EAAM,KAG3FlC,EAAQV,UAAYA,EAAY,SAAS4C,EAAKrB,EAASW,EAAYwB,GACjE,IAAIF,EAAQG,EACZ,OAAIf,IAAQc,EAAM,IAGlBF,EAASjC,EAAQqB,GACjBe,EAASpC,EAAQqB,EAAM,GAChB7C,EAAY4D,IAAYH,IAAWtB,EAAWU,IAAQe,IAAWzB,EAAWU,EAAM,KAG3F7C,EAAc,SAAS6D,GACrB,MAAa,MAANA,GAAmB,MAANA,GAAmB,MAANA,GAAmB,MAANA,GAAmB,MAANA,GAAmB,OAANA,GAG1EpD,EAAgB,SAASoC,GACvB,IAAIiB,EACJ,OAAIjB,EA/IM,GAiJD,KADPiB,EAhJQ,GAgJSjB,GACCiB,EAEXxC,KAAKkC,IAAI,IAAkBX,EAAK,IAI3ClC,EAAQD,UAAYA,EAAY,SAASoB,EAAGD,GAC1C,OAtJS,SAsJqBP,KAAKyC,IAAIlC,EAAIC,KAG7CxB,EAAa,SAASwB,EAAGD,EAAGmC,EAASnB,GACnC,OAAO,EAAIf,GA9JR,IA8JkBkC,EAAUvD,EAAcoC,IAAQnC,EAAUoB,EAAGD,IAGpElB,EAAQH,aAAeA,EAAe,SAAS6C,EAAOM,EAAKM,EAAUd,EAAOe,GAC1E,IAAIC,EAAOf,EAwBX,OAvBAA,EAAKC,EACLc,EAAQ,EACJF,IAAaZ,IACfc,GAAS,GAEPhB,IACFgB,GAAS,GAEPD,IACFC,GAAS,GAEPd,IAAUM,IACRR,IAEAC,GADEa,IAAaN,EACT,EAEA,GAGNO,IACFC,GAAS,IAGNF,EAAWb,GAAMA,EAAKe,IAG/BxD,EAAQP,eAAiBA,EAAiB,SAASuB,EAAGC,EAAGuB,EAAOd,EAAYI,GAC1E,IAAI2B,EAEJ,OADAA,EAAW3D,EAAckB,GACrBwB,EACKiB,EAjMN,MAiMwB/B,EAAaI,EAAYJ,EAAaI,GAAa,IAEvE2B,EAnMJ,IAmMoB3B,GAGzB9B,EAAQN,kBAAoBA,EAAoB,SAASmB,EAASW,EAAYrB,EAAOW,EAAUE,EAAGC,EAAGyC,GACnG,IAAIC,EAAGzC,EAAG0C,EAAIzC,EAAG0C,EAAIP,EAAUb,EAW/B,IANAkB,GAFAC,GAFA1C,EAAIL,EAAQhF,QAEHmF,IACT6C,GAFA1C,EAAIhB,EAAMtE,QAEDoF,GACK2C,EAAKC,EACnBP,EAAW,EACXb,EAAK,EACDtC,EAAMc,KAAOJ,EAAQG,IACvBsC,MAEOb,EAAKkB,GAAK7C,IAAWG,KAAOO,IAAaR,IAC5Cb,EAAMc,KAAOJ,EAAQG,IACvBsC,IAMJ,OAHIb,EAAKkB,GACP3C,IAES,IAAPyB,EACK,EAAI,EAAIa,EAEVzD,EAAa4C,EAAItB,EAAGmC,EAAUI,EAAapE,EAAU0B,EAAGH,EAASW,EAAYN,KAGtFlB,EAAQJ,gBAAkBA,EAAkB,SAASiB,EAASW,EAAYrB,EAAOW,EAAUoB,EAAKf,EAAGD,GACjG,IAAIqC,EAAKvC,EAAG8C,EAAMR,EAAUd,EAa5B,KAZAA,EAAQjD,EAAY2C,EAAKrB,EAASW,MAEhCsC,EAAOtC,EAAWmB,QAAQ7B,EAAUoB,EAAM,KAC9B,IACVM,EAAQjD,EAAYuE,EAAMjD,EAASW,MAEjCU,EAAM4B,GAIZ9C,GAAK,EACLsC,EAAW,IACFtC,EAAIG,GACPhB,EAAM+B,EAAMlB,KAAOH,EAAQG,IAC7BsC,IAIJ,OADAC,EAAMjE,EAAU4C,EAAMf,EAAI,EAAGN,EAASW,EAAYN,GAC3CvB,EAAWwB,EAAGD,EAAGrB,EAAasB,EAAGA,EAAGmC,EAAUd,EAAOe,GAAMrB,IAcpEhD,EAAqB,IAXrBF,EACE,SAAuBiB,EAAOiC,EAAKQ,GACjC/K,KAAKsI,MAAQA,EACbtI,KAAKuK,IAAMA,EACXvK,KAAK+K,MAAQA,IAOsB,EAAG,GAAK,GAE/C1C,EAAQR,cAAgBA,EAAgB,SAASqB,EAASW,EAAYrB,EAAOW,GAC3E,IAAI4B,EAAOqB,EAAU/C,EAAGC,EAAGC,EAAGC,EAAGC,EAAOkC,EAAUrD,EAAO+D,EAAUC,EAGnE,GAFA/C,EAAIL,EAAQhF,OACZsF,EAAIhB,EAAMtE,SACJqF,EAAI,GAAKC,EAAI,GACjB,OAAOjC,EAQT,IANAwD,EAAQ,EACRsB,EAAW,EACXC,EAAS,EACTX,EAAW,EACXtC,GAAK,EACLC,GAAK,IACIA,EAAIE,GAAG,CAEd,GADAC,EAAQN,EAASG,GACb5B,EAAY+B,GAAQ,CAEtB,IADAJ,EAAIQ,EAAWmB,QAAQvB,EAAOJ,EAAI,KACzB,EAAG,CACVgD,IACA,SAEA,MAGJ,OAAShD,EAAIE,GACX,GAAIE,IAAUI,EAAWR,IAAMzB,EAAYyB,EAAGH,EAASW,GAAa,CAC9DrB,EAAMc,KAAOJ,EAAQG,IACvBsC,IAEFW,GAAUjD,EACV0B,IACA,MAGJ,GAAI1B,IAAME,EACR,MAGJ,OAAIwB,EAAQ,EACHxD,GAET6E,EAAWrB,IAAUvB,GAAIhC,EAAkB0B,EAASW,EAAYrB,EAAOuC,GACvEzC,EAAQJ,EAAa6C,EAAOvB,EAAGmC,GAAU,EAAMS,GACxC,IAAI/E,EAAciB,EAAOgE,EAASvB,EAAOA,EAAQsB,KAG1D7E,EAAoB,SAAS0B,EAASW,EAAYrB,EAAO+D,GACvD,IAAIxB,EAAO1B,EAAGE,EAId,GADAwB,EAAQ,GAFRxB,EAAIL,EAAQhF,QAGJ,GAFJsE,EAAMtE,OAGR,OAAO,EAGT,IADAmF,GAAK,IACIA,EAAIE,GACX,GAAI3B,EAAYyB,EAAGH,EAASW,MAAiBkB,EAAQwB,EACnD,OAAO,EAGX,OAAO,KAGRC,KAAKxM,O,kCCtUR,4GAAMyM,EAAgC,2BAChCC,EAAiC,4BACjCC,EAA6C,CACjDC,IAAK,MACLC,OAAQ,W,kCCJV,uJAYA,MAAMC,EAAoB,IAAI,IACxBC,EAAgB,IAAI,IAsU1B,MAAMC,EArUO,CACXtH,KAAM,uBACNuH,OAAQ,CACNC,kBAAA,IACAC,mBAAA,IACAC,yBAAA,IACAC,0BAAA,KAEFC,WAAY,CACVC,eAAA,IACAC,yBAAA,IACAC,0BAAA,KAEFC,MAAO,CAILvJ,MAAO,CACLsB,KAAMxD,MACN0L,UAAU,EACVC,QAAS,IAAM,GACfC,UAAW,KAKbC,WAAY,CACVrI,KAAMsI,OACNJ,UAAU,EACVC,QAAS,IAKXI,WAAY,CACVvI,KAAMzB,QACN2J,UAAU,EACVC,SAAS,GAKXK,SAAU,CACRxI,KAAMsI,OACNJ,UAAU,EACVC,QAAS,IAAsBM,QAC/BL,UAAWM,GAASA,KAAS,KAK/BC,QAAS,CACP3I,KAAMsI,OACNJ,UAAU,EACVC,QAAS,IAAuBA,QAChCC,UAAWM,GAASA,KAAS,KAK/BE,KAAM,CACJ5I,KAAMsI,OACNJ,UAAU,EACVC,QAAS,SACTC,UAAWM,GAASA,KAAS,KAK/BG,KAAM,CACJ7I,KAAMsI,OACNJ,UAAU,EACVC,QAAS,IAKXW,SAAU,CACR9I,KAAMzB,QACN2J,UAAU,EACVC,SAAS,GAMXY,QAAS,CACP/I,KAAMzB,QACN2J,UAAU,EACVC,SAAS,GAMXa,SAAU,CACRhJ,KAAMsI,OACNJ,UAAU,EACVC,QAAS,IAAM,IAAS,yBAK1Bc,YAAa,CACXjJ,KAAM,CAACsI,OAAQ9L,MAAO0M,QACtBhB,UAAU,EACVC,QAAS,MAKXgB,QAAS,CACPnJ,KAAMzB,QACN2J,UAAU,EACVC,SAAS,GAKXiB,UAAW,CACTpJ,KAAMsI,OACNJ,UAAU,EACVC,QAAS,eACTC,UAAWM,GAASQ,OAAOG,KAAK,KAAoB7J,SAASkJ,IAM/DY,qBAAsB,CACpBtJ,KAAMsI,OACNJ,UAAU,EACVC,QAAS,MAMXoB,mBAAoB,CAClBvJ,KAAMsI,OACNJ,UAAU,EACVC,QAAS,MAKXqB,MAAO,CACLxJ,KAAMzB,QACN2J,UAAU,EACVC,SAAS,GAMXsB,eAAgB,CACdzJ,KAAM,CAAC0J,OAAQR,QACfhB,UAAU,EACVC,aAASwB,GAMXC,WAAY,CACV5J,KAAMzB,QACN2J,UAAU,EACVC,SAAS,GAKX0B,UAAW,CACT7J,KAAMzB,QACN2J,UAAU,EACVC,SAAS,GAOX2B,oBAAqB,CACnB9J,KAAMsI,OACNJ,UAAU,EACVC,QAAS,IACTC,UAAW2B,GAAY,CAAC,IAAmB,KAAgBvK,SAASuK,IAKtEC,YAAa,CACXhK,KAAMzB,QACN2J,UAAU,EACVC,SAAS,IAGbrM,KAAI,KACK,CACLmO,aAAc,IAAS,eACvBC,qBAAsB,OAG1BC,SAAU,CACR,gBACE,IAAIC,EACJ,OAAmC,QAA9BA,EAAc7P,KAAKmE,aAAmC,IAAhB0L,GAA0BA,EAAY3L,QAEjF,YAAiBlE,KAAK8P,aAAalC,SAAW5N,KAAK+P,OAAOnC,SACjD,KAEF,OAET,kBACE,OAAO5J,QAAQhE,KAAK8P,aAAaE,UAGrC,UACMhQ,KAAKyP,aACPzP,KAAKiQ,QAGTC,QAAS,CACP,OACElQ,KAAKmQ,MAAMC,aAAaH,QAE1B,QACEjQ,KAAKmQ,MAAMC,aAAaC,SAE1B,SAMErQ,KAAKsQ,MAAM,MAEb,cAAcC,GAMZvQ,KAAKsQ,MAAM,IAA0BC,IAEvC,SAMEvQ,KAAKsQ,MAAM,KACXtQ,KAAK2P,qBAAuB,MAE9B,UAAUY,GACR,MAAM,KACJC,GACED,EACEE,EAAWzQ,KAAK0Q,+BACtB,GAAID,EAASvM,OAAS,EAAG,OACzB,IAAIyM,GAAO,EACPH,IAAS,IACXxQ,KAAK4Q,UAAU,EAAGH,GACTD,IAAS,IAClBxQ,KAAK4Q,UAAUH,EAASvM,OAAS,EAAGuM,GAC3BD,IAAS,IAClBxQ,KAAK6Q,cAAcN,EAAOE,GAAW,GAC5BD,IAAS,IAClBxQ,KAAK6Q,cAAcN,EAAOE,EAAU,GAC3BD,IAAS,KAASA,IAAS,IACpCxQ,KAAK8Q,gBAAgBP,GAErBI,GAAO,EAELA,GACF,YAAUJ,IAGd,+BACE,IAAIQ,EACJ,MAAM5M,EAAuD,QAA9C4M,EAAsB/Q,KAAKmQ,MAAMa,eAA6C,IAAxBD,OAAiC,EAASA,EAAoBE,iBAAiBlE,GACpJ,OAAO,YAAc9K,MAAMiP,KAAK/M,GAAS,MAE3C,cAAcoM,EAAOE,EAAUU,GAC7B,MAAM,OACJxP,GACE4O,EACEa,EAAeX,EAASzF,QAAQrJ,GAChC0P,EAAY,IAAMD,EAAeD,EAAQ,EAAGV,EAASvM,OAAS,GACpElE,KAAK4Q,UAAUS,EAAWZ,IAE5B,UAAUa,EAAOb,GACf,IAAIc,EACJvR,KAAK2P,qBAAuB2B,EACY,QAAvCC,EAAkBd,EAASa,UAAwC,IAApBC,GAAsCA,EAAgBC,SAExG,gBACExR,KAAKmQ,MAAMC,aAAaqB,iBAE1B,aAAaC,GAGXjP,OAAOkP,sBAAsB,KAM3B3R,KAAKsQ,MAAM,SAAUoB,MAGzB,gBAAgBjQ,GACVzB,KAAKsP,WAAa7N,EAAEE,OAAOiQ,QAAQ7E,IAAkBtL,EAAEE,OAAOiQ,QAAQ9E,KAAuB9M,KAAKmQ,MAAMC,aAAayB,KACvH7R,KAAKyR,iBAGTK,aAAY,IACH,IAAS,oBAElBhO,OAAA,KAEFiO,2BAAA,KAWA,MAeMC,EAAoB,IACxB,CAAEC,OApBe,WAAa,IAAIC,EAAIlS,KAASmS,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,mBAAmB,CAACE,IAAI,eAAeC,YAAY,yBAAyBC,MAAM,CAAC,kBAAkBP,EAAInD,qBAAqB,YAAYmD,EAAIzD,SAAS,cAAcyD,EAAIpE,WAAW,eAAeoE,EAAIxD,YAAY,eAAewD,EAAIlE,WAAW,SAAWkE,EAAIjE,SAAS,QAAUiE,EAAI9D,QAAQ,KAAO8D,EAAI7D,KAAK,KAAO6D,EAAI5D,KAAK,SAAW4D,EAAI3D,SAAS,QAAU2D,EAAI1D,QAAQ,WAAW0D,EAAItD,QAAQ,UAAYsD,EAAIrD,UAAU,MAAQqD,EAAIjD,MAAM,OAASiD,EAAIhD,eAAe,cAAcgD,EAAI7C,WAAW,uBAAuB6C,EAAI3C,qBAAqB/N,GAAG0Q,EAAIQ,GAAG,GAAG,CAACR,EAAIS,SAAS1F,OAAOC,kBAAkBgF,EAAIU,OAAOV,EAAIS,SAAS1F,OAAOE,mBAAmB+E,EAAIW,OAAOX,EAAIS,SAAS1F,OAAOG,yBAAyB8E,EAAIY,cAAcZ,EAAIS,SAAS1F,OAAOI,0BAA0B6E,EAAIa,YAAYC,YAAYd,EAAIe,GAAG,CAAEf,EAAmB,gBAAE,CAACgB,IAAI,SAASC,GAAG,WAAW,MAAO,CAACjB,EAAIkB,GAAG,YAAYC,OAAM,GAAM,MAAM,MAAK,IAAO,CAACnB,EAAIoB,GAAG,KAAKpB,EAAIkB,GAAG,UAAUlB,EAAIoB,GAAG,KAAKjB,EAAGH,EAAIqB,cAAc,CAAChB,IAAI,UAAUzN,IAAI,YAAY0O,MAAMtB,EAAIS,SAASZ,2BAA2BU,MAAM,CAAC,GAAKP,EAAIxC,aAAa,kBAAkBwC,EAAIlD,oBAAsBkD,EAAIzD,SAAS,cAAc,qBAAqB,SAAW,MAAMjN,GAAG,CAAC,QAAU0Q,EAAIa,UAAU,MAAQb,EAAIpB,kBAAkB,CAACoB,EAAIkB,GAAG,WAAU,WAAW,MAAO,CAAClB,EAAIuB,GAAIvB,EAAS,OAAE,SAASnO,EAAKuN,GAAO,MAAO,CAAEY,EAAIpO,OAAOC,GAAO,CAACsO,EAAG,8BAA8B,CAACa,IAAIhB,EAAIJ,eAAeW,MAAM,CAAC,KAAO1O,GAAMvC,GAAG,CAAC,OAAS0Q,EAAIwB,cAAcV,YAAYd,EAAIe,GAAG,CAAE,cAAef,EAAIpC,aAAc,CAACoD,IAAI,YAAYC,GAAG,WAAW,MAAO,CAACjB,EAAIkB,GAAG,YAAY,KAAK,CAAC,KAAOrP,MAASsP,OAAM,GAAM,MAAM,MAAK,MAAS,CAAChB,EAAG,+BAA+B,CAACa,IAAInP,EAAK2B,KAAK+M,MAAM,CAAC,SAAqB,IAAVnB,EAAY,MAAQvN,GAAMvC,GAAG,CAAC,OAAS0Q,EAAIwB,cAAcV,YAAYd,EAAIe,GAAG,CAAEf,EAAIpC,aAAa,eAAgB,CAACoD,IAAI,cAAcC,GAAG,WAAW,MAAO,CAACjB,EAAIkB,GAAG,cAAc,KAAK,CAAC,MAAQrP,MAASsP,OAAM,GAAM,MAAM,MAAK,IAAO,CAACnB,EAAIoB,GAAG,KAAMpB,EAAIpC,aAAa,aAAcoC,EAAIuB,GAAI1P,EAAU,OAAE,SAAS4P,GAAW,OAAOtB,EAAG,8BAA8B,CAACa,IAAIhB,EAAIJ,eAAeW,MAAM,CAAC,KAAOkB,GAAWnS,GAAG,CAAC,OAAS0Q,EAAIwB,cAAcV,YAAYd,EAAIe,GAAG,CAAC,CAACC,IAAI,YAAYC,GAAG,WAAW,MAAO,CAACjB,EAAIkB,GAAG,YAAY,KAAK,CAAC,KAAOO,MAAcN,OAAM,IAAO,MAAK,QAAUnB,EAAI0B,MAAM,aAAW,GAAG1B,EAAIoB,GAAG,KAAKpB,EAAIkB,GAAG,WAAW,IAoB50ES,gBAnBA,SAGEzE,EAkB5BpC,OAhBuBoC,GAIc,OAFLA,GAkBhC,OACAA,OACAA,OACAA,GAGW,O,sBCtXf,wBACE,IAAI0E,EAAOC,EAAsBnP,EAAQoP,EAASC,EAAcC,EAAYC,EAAoBC,EAEhGxP,EAAS,EAAQ,QAEjBoP,EAAU,EAAQ,QAElBI,EAAS,EAAQ,QAEjBF,EAAa,EAAQ,QAErBJ,EAAQ,EAAQ,QAEhBK,EAAqB,KAErBJ,EAA4G,WAApF,MAAOM,EAA8CA,EAAQC,cAAW,GAAsB,KAAO,IAE7HC,EAAOlM,QAAU,CACfzD,OAAQ,SAAS4P,EAAYhM,EAAOC,GAIlC,OAHe,MAAXA,IACFA,EAAU,KAEI,MAATD,EAAgBA,EAAMtE,YAAS,KAA0B,MAAdsQ,EAAqBA,EAAWtQ,YAAS,IAG3FuE,EAAUwL,EAAaxL,EAASD,GACzB5D,EAAO4P,EAAYhM,EAAOC,IAHxB,IAKXH,MAAO,SAASC,EAAQC,EAAOC,GAI7B,OAHe,MAAXA,IACFA,EAAU,KAEK,MAAVF,EAAiBA,EAAOrE,YAAS,KAAqB,MAATsE,EAAgBA,EAAMtE,YAAS,IAGnFuE,EAAUwL,EAAaxL,EAASD,IACpBiM,eACHP,EAAW5L,MAAMC,EAAQC,EAAOC,GAEhC2L,EAAO9L,MAAMC,EAAQC,EAAOC,GAN5B,GASXiM,MAAO,SAASnM,EAAQC,EAAOC,GAC7B,IAAckM,EAId,OAHe,MAAXlM,IACFA,EAAU,IAEPF,GAGAC,EAGDD,IAAWC,EACN,WACLmM,EAAW,GACX,IAAK,IAAIC,EAAK,EAAGC,EAAOtM,EAAOrE,OAAQ,GAAK2Q,EAAOD,EAAKC,EAAOD,EAAKC,EAAM,GAAKA,EAAOD,IAAOA,IAAOD,EAASG,KAAKF,GAClH,OAAOD,GACNI,MAAM/U,OAEXyI,EAAUwL,EAAaxL,EAASD,GACzBwL,EAAQU,MAAMnM,EAAQC,EAAOC,IAb3B,IAeXuM,KAAM,SAASzM,EAAQC,EAAOC,GAI5B,OAHe,MAAXA,IACFA,EAAU,IAEPF,GAGAC,GAGLC,EAAUwL,EAAaxL,EAASD,GACzBwL,EAAQgB,KAAKzM,EAAQC,EAAOC,IAN1B,IAQXwM,aAAc,SAASzM,EAAOC,GAK5B,OAJe,MAAXA,IACFA,EAAU,KAEZA,EAAUwL,EAAaxL,EAASD,IACjBE,gBAInBuL,EAAe,SAASxL,EAASD,GAsB/B,OArB2B,MAAvBC,EAAQG,cACVH,EAAQG,aAAc,GAEM,MAA1BH,EAAQgM,iBACVhM,EAAQgM,gBAAiB,GAEM,MAA7BhM,EAAQyM,oBACVzM,EAAQyM,mBAAoB,GAED,MAAzBzM,EAAQ0M,gBACV1M,EAAQ0M,cAAgBpB,GAEE,MAAxBtL,EAAQ2M,eACV3M,EAAQ2M,aAAe,MAEL,MAAhB3M,EAAQuM,OACVvM,EAAQuM,KAAO,MAEY,MAAzBvM,EAAQC,gBACVD,EAAQC,cAAgByL,GAAsBA,EAAmB3L,QAAUA,EAAQ2L,EAAsBA,EAAqB,IAAIL,EAAMtL,EAAOC,IAE1IA,KAGR+D,KAAKxM,Q,wDC9GR,uHAOA,MAAMqV,EAAa,uBA6GnB,MAAMrI,EA5GO,CACXtH,KAAM,IACN2P,aACA/H,WAAY,CACVgI,MAAA,KAEF5H,MAAO,CACL3J,KAAM,CACJ0B,KAAMkJ,OACNhB,UAAU,EACVC,QAAS,KACTC,UAAW,MAGf+B,SAAU,CACR,SACE,IAAI2F,EAAYC,EAChB,MAA0G,iBAA9D,QAA5BD,EAAavV,KAAK+D,YAAiC,IAAfwR,OAAwB,EAASA,EAAWE,OAA0H,iBAA9D,QAA7BD,EAAcxV,KAAK+D,YAAkC,IAAhByR,OAAyB,EAASA,EAAYE,KAEpN,kBACE,OAAO1R,QAAQhE,KAAK8P,aAAalC,UAEnC,gBACE,MAAM,KACJ7J,GACE/D,KACJ,OAAIA,KAAK2V,OAAe,CACtBC,GAAI,IACJnD,MAAO,CACLgD,KAAM1R,EAAK0R,KACXC,GAAI3R,EAAK2R,MACN3R,EAAK8R,YAEVC,UAAW,CACTC,MAAO/V,KAAK0R,SAGT,CACLkE,GAAI,SACJnD,MAAO,IACD1O,aAAmC,EAASA,EAAK8R,WACrDpQ,KAAM,UAERqQ,UAAW,CACTC,MAAO,KACL,IAAIC,EACJjS,SAA6E,QAAhCiS,EAAejS,EAAK2N,cAAqC,IAAjBsE,GAAmCA,EAAaxJ,UAAK4C,EAAWrL,GACrJ/D,KAAK0R,aAKb,YACE,IAAIuE,EAAaC,EACjB,OAAqC,QAA7BD,EAAcjW,KAAK+D,YAAkC,IAAhBkS,GAA+E,QAApDC,EAAwBD,EAAYJ,kBAAkD,IAA1BK,GAAoCA,EAAsB3H,SAAW,KAAO,GAElN,iBACE,IAAI4H,EAAaC,EACjB,OAAqC,QAA7BD,EAAcnW,KAAK+D,YAAkC,IAAhBoS,GAA+E,QAApDC,EAAwBD,EAAYN,kBAAkD,IAA1BO,GAAoCA,EAAsB7H,SAAW,MAAQ,GAEnN,eACE,IAAI8H,EAAuBC,EAC3B,OAAsI,QAA9HD,EAAsD,QAA7BC,EAActW,KAAK+D,YAAkC,IAAhBuS,OAAyB,EAASA,EAAYC,oBAAoD,IAA1BF,EAAmCA,EAAwB,IAE3M,mBACE,MAAMP,EAAY,CAChBU,QAASxW,KAAK+S,WAKhB,OAHI/S,KAAKyW,kBACPX,EAAUC,MAAQ/V,KAAK0R,QAElBoE,IAGX5F,QAAS,CACP,UAAUK,GACR,MAAM,KACJC,GACED,EACJ,GAAIC,IAAS,KAASA,IAAS,IAC7B,GAAIxQ,KAAKyW,gBACPzW,KAAK0R,aACA,CACL,YAAUnB,GAKV,MAAM9O,EAAI,IAAIiV,WAAW,QAAS,CAChCC,SAAS,EACTC,YAAY,IAKZ,IAAIC,EAHN,GAAI7W,KAAK2V,OACP3V,KAAKmQ,MAAMpM,KAAK8N,IAAIiF,cAAcrV,QAGO,QAAxCoV,EAAmB7W,KAAKmQ,MAAMpM,YAAuC,IAArB8S,GAAuCA,EAAiBC,cAAcrV,KAK/H,SACEzB,KAAKsQ,MAAM,SAAUtQ,KAAK+D,SAa9B,MAeMiO,EAAoB,IACxB,CAAEC,OApBe,WAAa,IAAIC,EAAIlS,KAASmS,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,KAAKH,EAAI6E,GAAG,CAACvD,MAAM,CAACtB,EAAIS,SAAS0C,WAAYnD,EAAIqE,cAAc9D,MAAM,CAAC,SAAWP,EAAI8E,UAAU,cAAc,6BAA6B9E,EAAI+E,kBAAkB,CAAC/E,EAAIkB,GAAG,WAAU,WAAW,MAAO,CAACf,EAAGH,EAAIgF,cAActB,GAAG1D,EAAI6E,GAAG7E,EAAIiF,GAAG,CAAC5E,IAAI,OAAOzN,IAAI,YAAY0N,YAAY,+BAA+BC,MAAM,CAAC,SAAWP,EAAIkF,iBAAiB,YAAYlF,EAAIgF,cAAczE,OAAM,GAAOP,EAAIgF,cAAcpB,WAAW,CAACzD,EAAG,OAAO,CAACG,YAAY,qCAAqC,CAACN,EAAIkB,GAAG,aAAY,WAAW,MAAO,CAAClB,EAAIoB,GAAG,eAAepB,EAAImF,GAAGnF,EAAInO,KAAKb,MAAM,mBAAkB,UAAS,IAoBzpB2Q,gBAnBA,SAGEzE,EAkB5BpC,OAhBuBoC,GAIc,OAFLA,GAkBhC,OACAA,OACAA,OACAA,GAGW,O,sBCvJf,WACE,IAAWkI,EAAWC,EAAUC,EAAcC,EAAcC,EAAaC,EAAoB9C,EAE7FA,EAAO,EAAQ,QAAiB0C,EAAW1C,EAAK0C,SAAUE,EAAe5C,EAAK4C,aAE9ElD,EAAOlM,QACL,SAAeG,EAAOoP,GACpB,IAAIxC,EAAcD,EAAe0C,EAEjC,GADkCzC,GAAlCyC,EAAgB,MAARD,EAAeA,EAAO,IAAyBxC,aAAcD,EAAgB0C,EAAM1C,eACrF3M,IAASA,EAAMtE,OACnB,OAAO,KAETlE,KAAKwI,MAAQA,EACbxI,KAAKmJ,SAAWX,EAAMO,cACtB/I,KAAK8X,KAAOR,EAAU9O,EAAO4M,GAC7BpV,KAAK6I,QAAU7I,KAAK8X,KAAK/O,cACzB/I,KAAK8I,QAAU6O,EAAmB3X,KAAK8X,MACvC9X,KAAK+X,MAAQR,EAAS/O,EAAOA,EAAMtE,OAAQiR,GAC3CnV,KAAKgY,IAAMP,EAAazX,KAAKmJ,UAC7BnJ,KAAKiL,UAAYuM,EAAaxX,KAAKmJ,WAOvCuO,EAAc,eAEdJ,EAAY,SAAS9O,EAAO4M,GAI1B,OAHoB,MAAhBA,IACFA,EAAesC,GAEVlP,EAAMyP,QAAQ7C,EAAc,KAGrCuC,EAAqB,SAASO,GAC5B,IAAUC,EAAOvD,EAAIwD,EAErB,IADAD,EAAQ,GACHvD,EAAK,EAAGwD,EAAOF,EAAIhU,OAAQ0Q,EAAKwD,EAAMxD,IAEzCuD,GADOD,EAAItD,GACGyD,cAAc,GAE9B,OAAOF,GAGTX,EAAe,SAASU,GACtB,IAAIjN,EAAW5B,EAAGgC,EAIlB,IAHAA,EAAM6M,EAAIhU,OACVmF,GAAK,EACL4B,EAAY,KACH5B,EAAIgC,GACXJ,EAAUiN,EAAItO,WAAWP,KAAM,EAEjC,OAAO4B,KAGRuB,KAAKxM,O,kCCxDR,kFAMA,MAAMsY,EAAiB,CACrB,CAAC,IAA2C1L,KAAM,mDAClD,CAAC,IAA2CC,QAAS,oDAiEvD,MAAMG,EA/DO,CACXtH,KAAM,IACN4H,WAAY,CACVE,yBAAA,KAEFE,MAAO,CAILpJ,MAAO,CACLmB,KAAMkJ,OACNhB,UAAU,EACVC,QAAS,KACTC,UAAW,KAQb0K,SAAU,CACR9S,KAAMzB,QACN2J,UAAU,EACVC,SAAS,GAMX4K,eAAgB,CACd/S,KAAMsI,OACNJ,UAAU,EACVC,QAAS,IAA2ChB,IACpDiB,UAAWM,GAASQ,OAAOG,KAAK,KAA4C7J,SAASkJ,KAGzFyB,SAAU,CACR,cACE,OAAO5P,KAAKuY,SAAWD,EAAetY,KAAKwY,gBAAkB,MAE/D,aACE,IAAIC,EACJ,OAAOzY,KAAK8P,aAAa,iBAAkD,QAA9B2I,EAAczY,KAAKsE,aAAmC,IAAhBmU,OAAyB,EAASA,EAAY/S,OAEnI,iBACE,OAAO1F,KAAK0Y,WAAa1Y,KAAK2Y,OAAS,OAG3C,UACE3Y,KAAK2Y,OAAS,IAAS,kCAEzBzI,QAAS,CACP,aAAawB,GACX1R,KAAKsQ,MAAM,SAAUoB,IAEvBI,aAAY,IACH,IAAS,sBAapB,MAeME,EAAoB,IACxB,CAAEC,OApBe,WAAa,IAAIC,EAAIlS,KAASmS,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,KAAK,CAACmB,MAAMtB,EAAI0G,aAAa,CAAE1G,EAAc,WAAEG,EAAG,MAAM,CAACG,YAAY,yDAAyDC,MAAM,CAAC,GAAKP,EAAIyG,OAAO,cAAc,SAAS,CAACzG,EAAIkB,GAAG,eAAc,WAAW,MAAO,CAAClB,EAAIoB,GAAGpB,EAAImF,GAAGnF,EAAI5N,MAAMoB,YAAW,GAAGwM,EAAI0B,KAAK1B,EAAIoB,GAAG,KAAKjB,EAAG,KAAK,CAACG,YAAY,+BAA+BC,MAAM,CAAC,kBAAkBP,EAAI2G,iBAAiB,CAAC3G,EAAIkB,GAAG,WAAU,WAAW,OAAOlB,EAAIuB,GAAIvB,EAAI5N,MAAW,OAAE,SAASP,GAAM,OAAOsO,EAAG,8BAA8B,CAACa,IAAIhB,EAAIJ,eAAeW,MAAM,CAAC,KAAO1O,GAAMvC,GAAG,CAAC,OAAS0Q,EAAIwB,cAAcV,YAAYd,EAAIe,GAAG,CAAC,CAACC,IAAI,YAAYC,GAAG,WAAW,MAAO,CAACjB,EAAIkB,GAAG,YAAY,KAAK,CAAC,KAAOrP,MAASsP,OAAM,IAAO,MAAK,YAAa,MAoBjwBQ,gBAnBA,SAGEzE,EAkB5BpC,OAhBuBoC,GAIc,OAFLA,GAkBhC,OACAA,OACAA,OACAA,GAGW,O,sBC5Gf,WACE,IAAI9H,EAAciQ,EAAoCuB,EAAmBrR,EAASsR,EAAW3Q,EAAsByM,EAEnHA,EAAO,EAAQ,QAAapN,EAAUoN,EAAKpN,QAASH,EAAeuN,EAAKvN,aAAcc,EAAYyM,EAAKzM,UAMvGC,EAAQC,MAAQ,SAASC,EAAQC,EAAOC,GACtC,IAAiBC,EAAeJ,EAAOK,EAEvC,OADAD,EAAgBD,EAAQC,cAA6BD,EAAQG,aACxCnB,EAAQc,EAAQG,EAAcG,QAASH,EAAcI,UAG1EH,EAAYJ,EAAOQ,cACnBT,EAAQhB,EAAaiB,EAAQI,EAAWD,GACxCJ,EAAQyQ,EAAUxQ,EAAQI,EAAWL,EAAOG,GACrCO,KAAKC,KAAKX,IALR,GAQXyQ,EAAY,SAAS7P,EAASW,EAAYmP,EAAevQ,GACvD,IAAIwQ,EAAOC,EAAeC,EAASpB,EAAOnM,EAAKwN,EAAWC,EAAYlE,EAAezM,EAAewM,EACpG,GAAsB,IAAlB8D,EACF,OAAO,EAIT,IAFAtQ,EAAgBD,EAAQC,cAAewM,EAAoBzM,EAAQyM,kBAAmBC,EAAgB1M,EAAQ0M,cAC9GvJ,EAAM1C,EAAQhF,OAAS,EAChBgF,EAAQ0C,KAASuJ,GACtBvJ,IASF,GANAyN,EAAazN,GADbuN,EAAUjQ,EAAQoQ,YAAYnE,EAAevJ,IAE7CwN,EAAY,EACRlE,IAEF8D,GADAI,GAAaN,EAAkBjP,EAAYnB,EAAcsP,IAAKmB,EAASvN,EAAK,KAG7D,IAAbuN,EACF,OAAOH,EAGT,IADAjB,EAAQrP,EAAcqP,MACfoB,GAAW,GAAKpB,KAAU,GAC/BoB,EAAUjQ,EAAQoQ,YAAYnE,EAAegE,EAAU,GAIzD,OAFAD,GAA6B,IAAbC,EAAiBH,EAAgBI,EAAY9R,EAAa4B,EAAQzF,MAAM0V,EAAU,EAAGvN,EAAM,GAAI/B,EAAWpG,MAAM0V,EAAU,EAAGvN,EAAM,GAAIlD,IACvJuQ,EAAQ,IAzCE,GAyC6B1B,EAASrO,EAAS0C,EAAM,EAAGuJ,KACnD+D,GAAiB,EAAID,GAASD,EAAgB5Q,EAAU,EAxC5D,IAwC4EiR,IAGzFhR,EAAQkP,SAAWA,EAAW,SAASgC,EAAM3N,EAAKuJ,GAChD,IAAIpK,EAAO1B,EACX,GAAIuC,EAAM,EACR,OAAO,EAIT,IAFAb,EAAQ,EACR1B,GAAK,IACIA,EAAIuC,GAAO2N,EAAKlQ,KAAO8L,IAGhC,OAAS9L,EAAIuC,GACX,GAAI2N,EAAKlQ,KAAO8L,EAEd,IADApK,MACS1B,EAAIuC,GAAO2N,EAAKlQ,KAAO8L,IAKpC,OAAOpK,GAGT1C,EAAQoP,aAA8B,SAASS,GAC7C,IAAI3N,EAEJ,OADAA,EAAM2N,EAAIoB,YAAY,MACZ,EACD,GAEApB,EAAIsB,OAAOjP,EAAM,IAI5BuO,EAAoB,SAASW,EAAWzB,EAAK0B,EAAUC,EAAQC,GAC7D,IAAIrQ,EAAGsQ,EAASrQ,EAAGe,EACnB,IAAKyN,EAAI9T,OACP,OAAO,EAGT,MADAqG,EAAMkP,EAAUH,YAAY,IAAKK,IACrBD,GACV,OAAO,EAUT,KAPAnQ,EAAIoQ,EAASpP,IADbf,EAAIwO,EAAI9T,UAGNsF,EAAID,EACJA,EAAIyO,EAAI9T,QAEVqG,IACAsP,GAAW,IACFA,EAAUrQ,GACbiQ,EAAUlP,EAAMsP,KAAa7B,EAAI6B,KAIvC,OAAgB,IAAZA,GAAiBD,EAAW,EACvB,GAAMd,EAAkBW,EAAWzB,EAAK0B,EAAUnP,EAAM,EAAGqP,EAAW,GAExEC,EAAUtQ,KAGlBiD,KAAKxM,O,sBC7GR,WACE,IAAI8Z,EAAeC,EAActS,EAASG,EAAa8M,EAAOsF,EAAcnS,EAAeC,EAAgBC,EAAmB8M,EAE9HA,EAAO,EAAQ,QAAapN,EAAUoN,EAAKpN,QAASG,EAAciN,EAAKjN,YAAaG,EAAoB8M,EAAK9M,kBAAmBD,EAAiB+M,EAAK/M,eAAgBD,EAAgBgN,EAAKhN,cAE3LQ,EAAQqM,MAAQA,EAAQ,SAASnM,EAAQC,EAAOC,GAC9C,IAAIG,EAAaqR,EAAaC,EAAS/E,EAAezM,EAAeC,EAErE,OADAC,EAAcH,EAAQG,YAAaF,EAAgBD,EAAQC,cAAeyM,EAAgB1M,EAAQ0M,cAC5FvM,GAAenB,EAAQc,EAAQG,EAAcG,QAASH,EAAcI,UAG1EH,EAAYJ,EAAOQ,cAEI,KADvBmR,EAAUH,EAAaxR,EAAQI,EAAWD,IAC9BxE,QAGRqE,EAAOyC,QAAQmK,IAAkB,IACnC8E,EAAcH,EAAcvR,EAAQI,EAAWD,EAAeyM,GAC9D+E,EAAUF,EAAaE,EAASD,IAJzBC,GALA,IAcX7R,EAAQ2M,KAAO,SAASzM,EAAQC,EAAOC,GACrC,IAAI0R,EAAYC,EAAUC,EAAgBC,EAAQC,EAAQC,EAAUC,EAAUC,EAAS7C,EAavF,GAZqB,MAAhBpP,EAAQuM,OACWwF,GAAtB3C,EAAQpP,EAAQuM,MAAuBwF,SAAUE,EAAU7C,EAAM6C,QAASD,EAAW5C,EAAM4C,UAE7E,MAAZD,IACFA,EAAW,aAEE,MAAXE,IACFA,EAAU,kBAAoBF,EAAW,MAE3B,MAAZC,IACFA,EAAW,aAETlS,IAAWC,EACb,OAAOkS,EAAUnS,EAASkS,EAG5B,GAA8B,KAD9BJ,EAAiB3F,EAAMnM,EAAQC,EAAOC,IACnBvE,OACjB,OAAOqE,EAKT,IAHA+R,EAAS,GACTH,GAAc,EACdI,EAAS,IACAJ,EAAaE,EAAenW,QAAQ,CAM3C,KALAkW,EAAWC,EAAeF,IACXI,IACbD,GAAU/R,EAAOoS,UAAUJ,EAAQH,GACnCG,EAASH,KAEFD,EAAaE,EAAenW,QAAQ,CAC3C,GAAImW,EAAeF,KAAgBC,EAAW,EAEvC,CACLD,IACA,MAHAC,MAMJA,EACeG,IACbD,GAAUI,EACVJ,GAAU/R,EAAOoS,UAAUJ,EAAQH,GACnCE,GAAUG,EACVF,EAASH,GAMb,OAHIG,GAAUhS,EAAOrE,OAAS,IAC5BoW,GAAU/R,EAAOoS,UAAUJ,IAEtBD,GAGTR,EAAgB,SAAS5Q,EAASW,EAAYnB,EAAeyM,GAC3D,IAAIgE,EAASpB,EAAOnM,EAEpB,IADAA,EAAM1C,EAAQhF,OAAS,EAChBgF,EAAQ0C,KAASuJ,GACtBvJ,IAGF,IAAiB,KADjBuN,EAAUjQ,EAAQoQ,YAAYnE,EAAevJ,IAE3C,MAAO,GAGT,IADAmM,EAAQrP,EAAcqP,MACfA,KAAU,GAEf,IAAiB,KADjBoB,EAAUjQ,EAAQoQ,YAAYnE,EAAegE,EAAU,IAErD,MAAO,GAKX,OAFAA,IACAvN,IACOmO,EAAa7Q,EAAQzF,MAAM0V,EAASvN,GAAM/B,EAAWpG,MAAM0V,EAASvN,GAAMlD,EAAeyQ,IAGlGa,EAAe,SAASY,EAAGC,GACzB,IAAIC,EAAIC,EAAI1R,EAAGC,EAAGC,EAAGC,EAAGwR,EAGxB,GAFAzR,EAAIqR,EAAE1W,OAEI,KADVsF,EAAIqR,EAAE3W,QAEJ,OAAO0W,EAAEnX,QAEX,GAAU,IAAN8F,EACF,OAAOsR,EAAEpX,QAMX,IAJA4F,GAAK,EAEL0R,EAAKF,EADLvR,EAAI,GAEJ0R,EAAM,KACG3R,EAAIE,GAAG,CAEd,IADAuR,EAAKF,EAAEvR,GACA0R,GAAMD,KAAQxR,EAAIE,GACnBuR,EAAKD,GACPE,EAAIlG,KAAKiG,GAEXA,EAAKF,EAAEvR,GAET0R,EAAIlG,KAAKgG,GAEX,KAAOxR,EAAIE,GACTwR,EAAIlG,KAAK+F,EAAEvR,MAEb,OAAO0R,GAGTjB,EAAe,SAAS7Q,EAASW,EAAYnB,EAAeyI,GAC1D,IAA8BpH,EAAYC,EAAOiR,EAAWhR,EAAUC,EAASC,EAAWd,EAAGC,EAAGC,EAAG2Q,EAASgB,EAAM1R,EAAGe,EAAK/B,EAAOW,EAAUb,EAAOmC,EAAYC,EAAWC,EAAUC,EAAOC,EAAOsQ,EAkBjM,IAjBc,MAAVhK,IACFA,EAAS,GAEX3I,EAAQE,EAAcF,MACtBW,EAAWT,EAAcS,SACzBI,EAAIL,EAAQhF,OACZsF,EAAIhB,EAAMtE,OACV6F,EAAalC,EAAcqB,EAASW,EAAYrB,EAAOW,GAAUb,MACjEoC,EAAY,IAAIzI,MAAMuH,GACtBU,EAAU,IAAIjI,MAAMuH,GACb,EACF,EACE,EACI,EACX2R,EAAQ,IAAIlZ,MAAMsH,EAAIC,GACtBe,GAAO,EACPjB,GAAK,IACIA,EAAIE,GACXkB,EAAUpB,GAAK,EACfY,EAAQZ,GAAK,EAGf,IADAD,GAAK,IACIA,EAAIE,GAMX,IALAjB,EAAQ,EACRqC,EAAW,EACXV,EAAW,EACXW,EAAQf,EAAWR,GACnBC,GAAK,IACIA,EAAIE,GACXW,EAAY,EACZH,EAAQ,EACRS,EAAaE,EACTxB,EAASG,KAAOsB,IAClBC,EAAQjD,EAAYyB,EAAGH,EAASW,GAChCM,EAAYF,EAAW,EAAIA,EAAWlC,EAAkBmB,EAASW,EAAYrB,EAAOW,EAAUE,EAAGC,EAAGuB,GACpGb,EAAQS,EAAa3C,EAAeuB,EAAGC,EAAGuB,EAAOd,EAAYI,IAE/DQ,EAAWD,EAAUpB,GACrBW,EAAWC,EAAQZ,GACfhB,EAAQqC,EACVuQ,EA5BC,GA8BD5S,EAAQqC,EACRuQ,EAhCD,GAkCGlR,EAAQ1B,GACVA,EAAQ0B,EACRkR,EAlCK,GAoCL/Q,EAAY,EAEdO,EAAUpB,GAAKhB,EACf4B,EAAQZ,GAAKa,EACbgR,IAAQ5Q,GAAOjC,EAAQ,EAAI4S,EA3CxB,EAmDP,IAHA3Q,GAFAlB,EAAIE,EAAI,GAEEC,GADVF,EAAIE,EAAI,GAERyR,GAAY,EACZf,EAAU,GACHe,GAAa5R,GAAK,GAAKC,GAAK,GACjC,OAAQ6R,EAAM5Q,IACZ,KApDC,EAqDClB,IACAkB,GAAOf,EACP,MACF,KAvDG,EAwDDF,IACAiB,IACA,MACF,KA1DO,EA2DL2P,EAAQpF,KAAKzL,EAAI8H,GACjB7H,IACAD,IACAkB,GAAOf,EAAI,EACX,MACF,QACEyR,GAAY,EAIlB,OADAf,EAAQkB,UACDlB,KAGR1N,KAAKxM,O,sBCtNR,WACE,IAAWkU,EAAYmH,EAAiBjH,EAAQkH,EAEhDlH,EAAS,EAAQ,QAEjBF,EAAa,EAAQ,QAEb,EAAQ,QAEhBmH,EAAkB,SAAST,GACzB,OAAOA,EAAEnB,WAGX6B,EAAiB,SAASV,EAAGC,GAC3B,OAAOA,EAAEvS,MAAQsS,EAAEtS,OAGrBiM,EAAOlM,QAAU,SAASmM,EAAYhM,EAAOC,GAC3C,IAAI8S,EAAM9B,EAAWvG,EAAKsI,EAAWC,EAAYnT,EAAOoT,EAAeC,EAAkBC,EAAUrT,EAAQkM,EAAgBG,EAAIwD,EAM/H,IALAuD,EAAmB,GACnBzI,EAAMzK,EAAQyK,IAAKuI,EAAahT,EAAQgT,WAAYD,EAAY/S,EAAQ+S,UAAW/G,EAAiBhM,EAAQgM,eAC5GmH,EAAyB,MAAbJ,GAAsBA,EAAY,EAAIA,EAAYhH,EAAWtQ,OAAS,EAClFqX,EAAc,MAAPrI,EACPwI,EAAgBjH,EAAiBP,EAAaE,EACzCQ,EAAK,EAAGwD,EAAO5D,EAAWtQ,OAAQ0Q,EAAKwD,IAC1CqB,EAAYjF,EAAWI,MACvBrM,EAASgT,EAAO9B,EAAUvG,GAAOuG,KAIjCnR,EAAQoT,EAAcpT,MAAMC,EAAQC,EAAOC,IAC/B,KACVkT,EAAiB7G,KAAK,CACpB2E,UAAWA,EACXnR,MAAOA,MAEFsT,IAZuChH,KAsBlD,OALA+G,EAAiBE,KAAKP,GACtB9G,EAAamH,EAAiBG,IAAIT,GAChB,MAAdI,IACFjH,EAAaA,EAAW/Q,MAAM,EAAGgY,IAE5BjH,KAGRhI,KAAKxM","file":"commons-pages.groups.milestones.edit-pages.groups.milestones.new-pages.groups.milestones.show-pages.-7357ed32.b6b73b87.chunk.js","sourcesContent":["import $ from 'jquery';\nimport Pikaday from 'pikaday';\nimport { newDate, toISODateFormat } from '~/lib/utils/datetime_utility';\n\nexport default function initDatePickers() {\n $('.datepicker').each(function initPikaday() {\n const $datePicker = $(this);\n const datePickerVal = $datePicker.val();\n\n const calendar = new Pikaday({\n field: $datePicker.get(0),\n theme: 'gl-datepicker-theme animate-picker',\n format: 'yyyy-mm-dd',\n container: $datePicker.parent().get(0),\n parse: (dateString) => newDate(dateString),\n toString: (date) => toISODateFormat(date),\n onSelect(dateText) {\n $datePicker.val(calendar.toString(dateText));\n },\n firstDay: gon.first_day_of_week,\n });\n\n calendar.setDate(newDate(datePickerVal));\n\n $datePicker.data('pikaday', calendar);\n });\n\n $('.js-clear-due-date,.js-clear-start-date').on('click', (e) => {\n e.preventDefault();\n const calendar = $(e.target)\n .siblings('.issuable-form-select-holder')\n .children('.datepicker')\n .data('pikaday');\n calendar.setDate(null);\n });\n}\n","import { isString } from 'lodash';\nimport { capitalizeFirstCharacter } from '~/lib/utils/text_utility';\n\nconst normalizeKey = (autosaveKey) => {\n let normalizedKey;\n\n if (Array.isArray(autosaveKey) && autosaveKey.every(isString)) {\n normalizedKey = autosaveKey.join('/');\n } else if (isString(autosaveKey)) {\n normalizedKey = autosaveKey;\n } else {\n // eslint-disable-next-line @gitlab/require-i18n-strings\n throw new Error('Invalid autosave key');\n }\n\n return `autosave/${normalizedKey}`;\n};\n\nconst lockVersionKey = (autosaveKey) => `${normalizeKey(autosaveKey)}/lockVersion`;\n\nexport const clearDraft = (autosaveKey) => {\n try {\n window.localStorage.removeItem(normalizeKey(autosaveKey));\n window.localStorage.removeItem(lockVersionKey(autosaveKey));\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(e);\n }\n};\n\nexport const getDraft = (autosaveKey) => {\n try {\n return window.localStorage.getItem(normalizeKey(autosaveKey));\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(e);\n return null;\n }\n};\n\nexport const getLockVersion = (autosaveKey) => {\n try {\n return window.localStorage.getItem(lockVersionKey(autosaveKey));\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(e);\n return null;\n }\n};\n\nexport const updateDraft = (autosaveKey, text, lockVersion) => {\n try {\n window.localStorage.setItem(normalizeKey(autosaveKey), text);\n if (lockVersion) {\n window.localStorage.setItem(lockVersionKey(autosaveKey), lockVersion);\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(e);\n }\n};\n\nexport const getDiscussionReplyKey = (noteableType, discussionId) =>\n /* eslint-disable-next-line @gitlab/require-i18n-strings */\n ['Note', capitalizeFirstCharacter(noteableType), discussionId, 'Reply'].join('/');\n\nexport const getAutoSaveKeyFromDiscussion = (discussion) =>\n getDiscussionReplyKey(discussion.notes.slice(0, 1)[0].noteable_type, discussion.id);\n","import Vue from 'vue';\nimport isFunction from 'lodash/isFunction';\nimport isString from 'lodash/isString';\nimport { DISCLOSURE_DROPDOWN_ITEM_NAME, DISCLOSURE_DROPDOWN_GROUP_NAME } from './constants';\n\nconst itemValidator = item => {\n var _item$text;\n return (item === null || item === void 0 ? void 0 : (_item$text = item.text) === null || _item$text === void 0 ? void 0 : _item$text.length) > 0 && !Array.isArray(item === null || item === void 0 ? void 0 : item.items);\n};\nconst isItem = item => Boolean(item) && itemValidator(item);\nconst isGroup = group => Boolean(group) && Array.isArray(group.items) && Boolean(group.items.length) &&\n// eslint-disable-next-line unicorn/no-array-callback-reference\ngroup.items.every(isItem);\n\n// eslint-disable-next-line unicorn/no-array-callback-reference\nconst itemsValidator = items => items.every(isItem) || items.every(isGroup);\nconst isListItem = tag => ['gl-disclosure-dropdown-group', 'gl-disclosure-dropdown-item', 'li'].includes(tag);\nconst isValidSlotTagVue2 = vNode => {\n var _vNode$componentOptio;\n return Boolean(vNode) && isListItem(((_vNode$componentOptio = vNode.componentOptions) === null || _vNode$componentOptio === void 0 ? void 0 : _vNode$componentOptio.tag) || vNode.tag);\n};\nconst isValidSlotTagVue3 = vNode => {\n var _vNode$type;\n return [DISCLOSURE_DROPDOWN_ITEM_NAME, DISCLOSURE_DROPDOWN_GROUP_NAME].includes((_vNode$type = vNode.type) === null || _vNode$type === void 0 ? void 0 : _vNode$type.name) || vNode.type === 'li';\n};\nconst hasOnlyListItemsVue2 = defaultSlot => {\n const nodes = defaultSlot();\n if (!Array.isArray(nodes)) {\n return false;\n }\n const tags = nodes.filter(vNode => vNode.tag);\n return tags.length && tags.every(tag => isValidSlotTagVue2(tag));\n};\nconst hasOnlyListItemsVue3 = defaultSlot => {\n const nodes = defaultSlot();\n const fragment = nodes.find(node => Array.isArray(node.children) && node.children.length);\n const targetNodes = fragment ? fragment.children : nodes;\n return targetNodes\n // Remove empty text vNodes\n .filter(vNode => !isString(vNode.text) || vNode.text.trim().length > 0).every(vNode => isValidSlotTagVue3(vNode));\n};\nconst hasOnlyListItems = defaultSlot => {\n if (!isFunction(defaultSlot)) {\n return false;\n }\n if (Vue.version.startsWith('3')) {\n return hasOnlyListItemsVue3(defaultSlot);\n }\n return hasOnlyListItemsVue2(defaultSlot);\n};\n\nexport { hasOnlyListItems, isGroup, isItem, itemsValidator };\n","import initDatePicker from '~/behaviors/date_picker';\nimport Milestone from '~/milestones/milestone';\nimport { renderGFM } from '~/behaviors/markdown/render_gfm';\nimport { mountMarkdownEditor } from '~/vue_shared/components/markdown/mount_markdown_editor';\nimport Sidebar from '~/right_sidebar';\nimport MountMilestoneSidebar from '~/sidebar/mount_milestone_sidebar';\nimport ZenMode from '~/zen_mode';\nimport TaskList from '~/task_list';\nimport { TYPE_MILESTONE } from '~/issues/constants';\nimport { createAlert } from '~/alert';\nimport { __ } from '~/locale';\n\n// See app/views/shared/milestones/_description.html.haml\nexport const MILESTONE_DESCRIPTION_ELEMENT = '.milestone-detail .description';\nexport const MILESTONE_DESCRIPTION_TASK_LIST_CONTAINER_ELEMENT = `${MILESTONE_DESCRIPTION_ELEMENT}.js-task-list-container`;\nexport const MILESTONE_DETAIL_ELEMENT = '.milestone-detail';\n\nexport function initForm() {\n mountMarkdownEditor();\n new ZenMode(); // eslint-disable-line no-new\n initDatePicker();\n}\n\nexport function initShow() {\n new Milestone(); // eslint-disable-line no-new\n new Sidebar(); // eslint-disable-line no-new\n new MountMilestoneSidebar(); // eslint-disable-line no-new\n\n renderGFM(document.querySelector(MILESTONE_DESCRIPTION_ELEMENT));\n\n const el = document.querySelector(MILESTONE_DESCRIPTION_TASK_LIST_CONTAINER_ELEMENT);\n\n if (!el) {\n return null;\n }\n\n return new TaskList({\n dataType: TYPE_MILESTONE,\n fieldName: 'description',\n selector: MILESTONE_DETAIL_ELEMENT,\n lockVersion: el.dataset.lockVersion,\n onError: () => {\n createAlert({\n message: __(\n 'Someone edited this milestone at the same time you did. Please refresh the page to see changes.',\n ),\n });\n },\n });\n}\n","(function() {\n var AcronymResult, computeScore, emptyAcronymResult, isAcronymFullWord, isMatch, isSeparator, isWordEnd, isWordStart, miss_coeff, pos_bonus, scoreAcronyms, scoreCharacter, scoreConsecutives, scoreExact, scoreExactMatch, scorePattern, scorePosition, scoreSize, tau_size, wm;\n\n wm = 150;\n\n pos_bonus = 20;\n\n tau_size = 150;\n\n miss_coeff = 0.75;\n\n exports.score = function(string, query, options) {\n var allowErrors, preparedQuery, score, string_lw;\n preparedQuery = options.preparedQuery, allowErrors = options.allowErrors;\n if (!(allowErrors || isMatch(string, preparedQuery.core_lw, preparedQuery.core_up))) {\n return 0;\n }\n string_lw = string.toLowerCase();\n score = computeScore(string, string_lw, preparedQuery);\n return Math.ceil(score);\n };\n\n exports.isMatch = isMatch = function(subject, query_lw, query_up) {\n var i, j, m, n, qj_lw, qj_up, si;\n m = subject.length;\n n = query_lw.length;\n if (!m || n > m) {\n return false;\n }\n i = -1;\n j = -1;\n while (++j < n) {\n qj_lw = query_lw.charCodeAt(j);\n qj_up = query_up.charCodeAt(j);\n while (++i < m) {\n si = subject.charCodeAt(i);\n if (si === qj_lw || si === qj_up) {\n break;\n }\n }\n if (i === m) {\n return false;\n }\n }\n return true;\n };\n\n exports.computeScore = computeScore = function(subject, subject_lw, preparedQuery) {\n var acro, acro_score, align, csc_diag, csc_row, csc_score, csc_should_rebuild, i, j, m, miss_budget, miss_left, n, pos, query, query_lw, record_miss, score, score_diag, score_row, score_up, si_lw, start, sz;\n query = preparedQuery.query;\n query_lw = preparedQuery.query_lw;\n m = subject.length;\n n = query.length;\n acro = scoreAcronyms(subject, subject_lw, query, query_lw);\n acro_score = acro.score;\n if (acro.count === n) {\n return scoreExact(n, m, acro_score, acro.pos);\n }\n pos = subject_lw.indexOf(query_lw);\n if (pos > -1) {\n return scoreExactMatch(subject, subject_lw, query, query_lw, pos, n, m);\n }\n score_row = new Array(n);\n csc_row = new Array(n);\n sz = scoreSize(n, m);\n miss_budget = Math.ceil(miss_coeff * n) + 5;\n miss_left = miss_budget;\n csc_should_rebuild = true;\n j = -1;\n while (++j < n) {\n score_row[j] = 0;\n csc_row[j] = 0;\n }\n i = -1;\n while (++i < m) {\n si_lw = subject_lw[i];\n if (!si_lw.charCodeAt(0) in preparedQuery.charCodes) {\n if (csc_should_rebuild) {\n j = -1;\n while (++j < n) {\n csc_row[j] = 0;\n }\n csc_should_rebuild = false;\n }\n continue;\n }\n score = 0;\n score_diag = 0;\n csc_diag = 0;\n record_miss = true;\n csc_should_rebuild = true;\n j = -1;\n while (++j < n) {\n score_up = score_row[j];\n if (score_up > score) {\n score = score_up;\n }\n csc_score = 0;\n if (query_lw[j] === si_lw) {\n start = isWordStart(i, subject, subject_lw);\n csc_score = csc_diag > 0 ? csc_diag : scoreConsecutives(subject, subject_lw, query, query_lw, i, j, start);\n align = score_diag + scoreCharacter(i, j, start, acro_score, csc_score);\n if (align > score) {\n score = align;\n miss_left = miss_budget;\n } else {\n if (record_miss && --miss_left <= 0) {\n return Math.max(score, score_row[n - 1]) * sz;\n }\n record_miss = false;\n }\n }\n score_diag = score_up;\n csc_diag = csc_row[j];\n csc_row[j] = csc_score;\n score_row[j] = score;\n }\n }\n score = score_row[n - 1];\n return score * sz;\n };\n\n exports.isWordStart = isWordStart = function(pos, subject, subject_lw) {\n var curr_s, prev_s;\n if (pos === 0) {\n return true;\n }\n curr_s = subject[pos];\n prev_s = subject[pos - 1];\n return isSeparator(prev_s) || (curr_s !== subject_lw[pos] && prev_s === subject_lw[pos - 1]);\n };\n\n exports.isWordEnd = isWordEnd = function(pos, subject, subject_lw, len) {\n var curr_s, next_s;\n if (pos === len - 1) {\n return true;\n }\n curr_s = subject[pos];\n next_s = subject[pos + 1];\n return isSeparator(next_s) || (curr_s === subject_lw[pos] && next_s !== subject_lw[pos + 1]);\n };\n\n isSeparator = function(c) {\n return c === ' ' || c === '.' || c === '-' || c === '_' || c === '/' || c === '\\\\';\n };\n\n scorePosition = function(pos) {\n var sc;\n if (pos < pos_bonus) {\n sc = pos_bonus - pos;\n return 100 + sc * sc;\n } else {\n return Math.max(100 + pos_bonus - pos, 0);\n }\n };\n\n exports.scoreSize = scoreSize = function(n, m) {\n return tau_size / (tau_size + Math.abs(m - n));\n };\n\n scoreExact = function(n, m, quality, pos) {\n return 2 * n * (wm * quality + scorePosition(pos)) * scoreSize(n, m);\n };\n\n exports.scorePattern = scorePattern = function(count, len, sameCase, start, end) {\n var bonus, sz;\n sz = count;\n bonus = 6;\n if (sameCase === count) {\n bonus += 2;\n }\n if (start) {\n bonus += 3;\n }\n if (end) {\n bonus += 1;\n }\n if (count === len) {\n if (start) {\n if (sameCase === len) {\n sz += 2;\n } else {\n sz += 1;\n }\n }\n if (end) {\n bonus += 1;\n }\n }\n return sameCase + sz * (sz + bonus);\n };\n\n exports.scoreCharacter = scoreCharacter = function(i, j, start, acro_score, csc_score) {\n var posBonus;\n posBonus = scorePosition(i);\n if (start) {\n return posBonus + wm * ((acro_score > csc_score ? acro_score : csc_score) + 10);\n }\n return posBonus + wm * csc_score;\n };\n\n exports.scoreConsecutives = scoreConsecutives = function(subject, subject_lw, query, query_lw, i, j, startOfWord) {\n var k, m, mi, n, nj, sameCase, sz;\n m = subject.length;\n n = query.length;\n mi = m - i;\n nj = n - j;\n k = mi < nj ? mi : nj;\n sameCase = 0;\n sz = 0;\n if (query[j] === subject[i]) {\n sameCase++;\n }\n while (++sz < k && query_lw[++j] === subject_lw[++i]) {\n if (query[j] === subject[i]) {\n sameCase++;\n }\n }\n if (sz < k) {\n i--;\n }\n if (sz === 1) {\n return 1 + 2 * sameCase;\n }\n return scorePattern(sz, n, sameCase, startOfWord, isWordEnd(i, subject, subject_lw, m));\n };\n\n exports.scoreExactMatch = scoreExactMatch = function(subject, subject_lw, query, query_lw, pos, n, m) {\n var end, i, pos2, sameCase, start;\n start = isWordStart(pos, subject, subject_lw);\n if (!start) {\n pos2 = subject_lw.indexOf(query_lw, pos + 1);\n if (pos2 > -1) {\n start = isWordStart(pos2, subject, subject_lw);\n if (start) {\n pos = pos2;\n }\n }\n }\n i = -1;\n sameCase = 0;\n while (++i < n) {\n if (query[pos + i] === subject[i]) {\n sameCase++;\n }\n }\n end = isWordEnd(pos + n - 1, subject, subject_lw, m);\n return scoreExact(n, m, scorePattern(n, n, sameCase, start, end), pos);\n };\n\n AcronymResult = (function() {\n function AcronymResult(score, pos, count) {\n this.score = score;\n this.pos = pos;\n this.count = count;\n }\n\n return AcronymResult;\n\n })();\n\n emptyAcronymResult = new AcronymResult(0, 0.1, 0);\n\n exports.scoreAcronyms = scoreAcronyms = function(subject, subject_lw, query, query_lw) {\n var count, fullWord, i, j, m, n, qj_lw, sameCase, score, sepCount, sumPos;\n m = subject.length;\n n = query.length;\n if (!(m > 1 && n > 1)) {\n return emptyAcronymResult;\n }\n count = 0;\n sepCount = 0;\n sumPos = 0;\n sameCase = 0;\n i = -1;\n j = -1;\n while (++j < n) {\n qj_lw = query_lw[j];\n if (isSeparator(qj_lw)) {\n i = subject_lw.indexOf(qj_lw, i + 1);\n if (i > -1) {\n sepCount++;\n continue;\n } else {\n break;\n }\n }\n while (++i < m) {\n if (qj_lw === subject_lw[i] && isWordStart(i, subject, subject_lw)) {\n if (query[j] === subject[i]) {\n sameCase++;\n }\n sumPos += i;\n count++;\n break;\n }\n }\n if (i === m) {\n break;\n }\n }\n if (count < 2) {\n return emptyAcronymResult;\n }\n fullWord = count === n ? isAcronymFullWord(subject, subject_lw, query, count) : false;\n score = scorePattern(count, n, sameCase, true, fullWord);\n return new AcronymResult(score, sumPos / count, count + sepCount);\n };\n\n isAcronymFullWord = function(subject, subject_lw, query, nbAcronymInQuery) {\n var count, i, m, n;\n m = subject.length;\n n = query.length;\n count = 0;\n if (m > 12 * n) {\n return false;\n }\n i = -1;\n while (++i < m) {\n if (isWordStart(i, subject, subject_lw) && ++count > nbAcronymInQuery) {\n return false;\n }\n }\n return true;\n };\n\n}).call(this);\n","const DISCLOSURE_DROPDOWN_ITEM_NAME = 'GlDisclosureDropdownItem';\nconst DISCLOSURE_DROPDOWN_GROUP_NAME = 'GlDisclosureDropdownGroup';\nconst DISCLOSURE_DROPDOWN_GROUP_BORDER_POSITIONS = {\n top: 'top',\n bottom: 'bottom'\n};\n\nexport { DISCLOSURE_DROPDOWN_GROUP_BORDER_POSITIONS, DISCLOSURE_DROPDOWN_GROUP_NAME, DISCLOSURE_DROPDOWN_ITEM_NAME };\n","import clamp from 'lodash/clamp';\nimport uniqueId from 'lodash/uniqueId';\nimport { stopEvent, filterVisible } from '../../../../utils/utils';\nimport { GL_DROPDOWN_SHOWN, GL_DROPDOWN_HIDDEN, GL_DROPDOWN_BEFORE_CLOSE, GL_DROPDOWN_FOCUS_CONTENT, POSITION_ABSOLUTE, POSITION_FIXED, HOME, END, ARROW_UP, ARROW_DOWN, ENTER, SPACE, GL_DROPDOWN_CONTENTS_CLASS } from '../constants';\nimport { buttonCategoryOptions, dropdownVariantOptions, buttonSizeOptions, dropdownPlacements } from '../../../../utils/constants';\nimport GlBaseDropdown, { BASE_DROPDOWN_CLASS } from '../base_dropdown/base_dropdown';\nimport GlDisclosureDropdownItem, { ITEM_CLASS } from './disclosure_dropdown_item';\nimport GlDisclosureDropdownGroup from './disclosure_dropdown_group';\nimport { itemsValidator, hasOnlyListItems, isItem } from './utils';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\n//\nconst DROPDOWN_SELECTOR = `.${BASE_DROPDOWN_CLASS}`;\nconst ITEM_SELECTOR = `.${ITEM_CLASS}`;\nvar script = {\n name: 'GlDisclosureDropdown',\n events: {\n GL_DROPDOWN_SHOWN,\n GL_DROPDOWN_HIDDEN,\n GL_DROPDOWN_BEFORE_CLOSE,\n GL_DROPDOWN_FOCUS_CONTENT\n },\n components: {\n GlBaseDropdown,\n GlDisclosureDropdownItem,\n GlDisclosureDropdownGroup\n },\n props: {\n /**\n * Items to display in the dropdown\n */\n items: {\n type: Array,\n required: false,\n default: () => [],\n validator: itemsValidator\n },\n /**\n * Toggle button text\n */\n toggleText: {\n type: String,\n required: false,\n default: ''\n },\n /**\n * Toggle text to be read by screen readers only\n */\n textSrOnly: {\n type: Boolean,\n required: false,\n default: false\n },\n /**\n * Styling option - dropdown's toggle category\n */\n category: {\n type: String,\n required: false,\n default: buttonCategoryOptions.primary,\n validator: value => value in buttonCategoryOptions\n },\n /**\n * Styling option - dropdown's toggle variant\n */\n variant: {\n type: String,\n required: false,\n default: dropdownVariantOptions.default,\n validator: value => value in dropdownVariantOptions\n },\n /**\n * The size of the dropdown toggle\n */\n size: {\n type: String,\n required: false,\n default: 'medium',\n validator: value => value in buttonSizeOptions\n },\n /**\n * Icon name that will be rendered in the toggle button\n */\n icon: {\n type: String,\n required: false,\n default: ''\n },\n /**\n * Set to \"true\" to disable the dropdown\n */\n disabled: {\n type: Boolean,\n required: false,\n default: false\n },\n /**\n * Set to \"true\" when dropdown content (items) is loading\n * It will render a small loader in the dropdown toggle and make it disabled\n */\n loading: {\n type: Boolean,\n required: false,\n default: false\n },\n /**\n * Custom toggle id.\n * For instance, it can be referenced by tooltip or popover\n */\n toggleId: {\n type: String,\n required: false,\n default: () => uniqueId('dropdown-toggle-btn-')\n },\n /**\n * Additional CSS classes to customize toggle appearance\n */\n toggleClass: {\n type: [String, Array, Object],\n required: false,\n default: null\n },\n /**\n * Set to \"true\" to hide the caret\n */\n noCaret: {\n type: Boolean,\n required: false,\n default: false\n },\n /**\n * Align disclosure dropdown with respect to the toggle button\n */\n placement: {\n type: String,\n required: false,\n default: 'bottom-start',\n validator: value => Object.keys(dropdownPlacements).includes(value)\n },\n /**\n * The `aria-labelledby` attribute value for the toggle button\n * Provide the string of ids seperated by space\n */\n toggleAriaLabelledBy: {\n type: String,\n required: false,\n default: null\n },\n /**\n * The `aria-labelledby` attribute value for the list of options\n * Provide the string of ids seperated by space\n */\n listAriaLabelledBy: {\n type: String,\n required: false,\n default: null\n },\n /**\n * Render the toggle button as a block element\n */\n block: {\n type: Boolean,\n required: false,\n default: false\n },\n /**\n * Custom offset to be applied to Floating UI's offset middleware.\n * https://floating-ui.com/docs/offset\n */\n dropdownOffset: {\n type: [Number, Object],\n required: false,\n default: undefined\n },\n /**\n * Lets the dropdown extend to match its content's width, up to a maximum width\n * defined by the `$gl-new-dropdown-max-width` variable.\n */\n fluidWidth: {\n type: Boolean,\n required: false,\n default: false\n },\n /**\n * Close the dropdown on item click (action)\n */\n autoClose: {\n type: Boolean,\n required: false,\n default: true\n },\n /**\n * Strategy to be applied by computePosition. If the dropdown's container is too short for it to\n * fit in, setting this to fixed will let it position itself above its container.\n * https://floating-ui.com/docs/computePosition#strategy\n */\n positioningStrategy: {\n type: String,\n required: false,\n default: POSITION_ABSOLUTE,\n validator: strategy => [POSITION_ABSOLUTE, POSITION_FIXED].includes(strategy)\n },\n /**\n * Opens dropdown on render\n */\n startOpened: {\n type: Boolean,\n required: false,\n default: false\n }\n },\n data() {\n return {\n disclosureId: uniqueId('disclosure-'),\n nextFocusedItemIndex: null\n };\n },\n computed: {\n disclosureTag() {\n var _this$items;\n if ((_this$items = this.items) !== null && _this$items !== void 0 && _this$items.length ||\n // eslint-disable-next-line @gitlab/vue-prefer-dollar-scopedslots\n hasOnlyListItems(this.$scopedSlots.default || this.$slots.default)) {\n return 'ul';\n }\n return 'div';\n },\n hasCustomToggle() {\n return Boolean(this.$scopedSlots.toggle);\n }\n },\n mounted() {\n if (this.startOpened) {\n this.open();\n }\n },\n methods: {\n open() {\n this.$refs.baseDropdown.open();\n },\n close() {\n this.$refs.baseDropdown.close();\n },\n onShow() {\n /**\n * Emitted when dropdown is shown\n *\n * @event shown\n */\n this.$emit(GL_DROPDOWN_SHOWN);\n },\n onBeforeClose(event) {\n /**\n * Emitted when dropdown is about to be closed\n *\n * @event beforeClose\n */\n this.$emit(GL_DROPDOWN_BEFORE_CLOSE, event);\n },\n onHide() {\n /**\n * Emitted when dropdown is hidden\n *\n * @event hidden\n */\n this.$emit(GL_DROPDOWN_HIDDEN);\n this.nextFocusedItemIndex = null;\n },\n onKeydown(event) {\n const {\n code\n } = event;\n const elements = this.getFocusableListItemElements();\n if (elements.length < 1) return;\n let stop = true;\n if (code === HOME) {\n this.focusItem(0, elements);\n } else if (code === END) {\n this.focusItem(elements.length - 1, elements);\n } else if (code === ARROW_UP) {\n this.focusNextItem(event, elements, -1);\n } else if (code === ARROW_DOWN) {\n this.focusNextItem(event, elements, 1);\n } else if (code === ENTER || code === SPACE) {\n this.handleAutoClose(event);\n } else {\n stop = false;\n }\n if (stop) {\n stopEvent(event);\n }\n },\n getFocusableListItemElements() {\n var _this$$refs$content;\n const items = (_this$$refs$content = this.$refs.content) === null || _this$$refs$content === void 0 ? void 0 : _this$$refs$content.querySelectorAll(ITEM_SELECTOR);\n return filterVisible(Array.from(items || []));\n },\n focusNextItem(event, elements, offset) {\n const {\n target\n } = event;\n const currentIndex = elements.indexOf(target);\n const nextIndex = clamp(currentIndex + offset, 0, elements.length - 1);\n this.focusItem(nextIndex, elements);\n },\n focusItem(index, elements) {\n var _elements$index;\n this.nextFocusedItemIndex = index;\n (_elements$index = elements[index]) === null || _elements$index === void 0 ? void 0 : _elements$index.focus();\n },\n closeAndFocus() {\n this.$refs.baseDropdown.closeAndFocus();\n },\n handleAction(action) {\n // See https://gitlab.com/gitlab-org/gitlab-ui/-/merge_requests/4376 for\n // detailed explanation why we need requestAnimationFrame\n window.requestAnimationFrame(() => {\n /**\n * Emitted when one of disclosure dropdown items is clicked\n *\n * @event action\n */\n this.$emit('action', action);\n });\n },\n handleAutoClose(e) {\n if (this.autoClose && e.target.closest(ITEM_SELECTOR) && e.target.closest(DROPDOWN_SELECTOR) === this.$refs.baseDropdown.$el) {\n this.closeAndFocus();\n }\n },\n uniqueItemId() {\n return uniqueId(`disclosure-item-`);\n },\n isItem\n },\n GL_DROPDOWN_CONTENTS_CLASS\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-base-dropdown',{ref:\"baseDropdown\",staticClass:\"gl-disclosure-dropdown\",attrs:{\"aria-labelledby\":_vm.toggleAriaLabelledBy,\"toggle-id\":_vm.toggleId,\"toggle-text\":_vm.toggleText,\"toggle-class\":_vm.toggleClass,\"text-sr-only\":_vm.textSrOnly,\"category\":_vm.category,\"variant\":_vm.variant,\"size\":_vm.size,\"icon\":_vm.icon,\"disabled\":_vm.disabled,\"loading\":_vm.loading,\"no-caret\":_vm.noCaret,\"placement\":_vm.placement,\"block\":_vm.block,\"offset\":_vm.dropdownOffset,\"fluid-width\":_vm.fluidWidth,\"positioning-strategy\":_vm.positioningStrategy},on:_vm._d({},[_vm.$options.events.GL_DROPDOWN_SHOWN,_vm.onShow,_vm.$options.events.GL_DROPDOWN_HIDDEN,_vm.onHide,_vm.$options.events.GL_DROPDOWN_BEFORE_CLOSE,_vm.onBeforeClose,_vm.$options.events.GL_DROPDOWN_FOCUS_CONTENT,_vm.onKeydown]),scopedSlots:_vm._u([(_vm.hasCustomToggle)?{key:\"toggle\",fn:function(){return [_vm._t(\"toggle\")]},proxy:true}:null],null,true)},[_vm._v(\" \"),_vm._t(\"header\"),_vm._v(\" \"),_c(_vm.disclosureTag,{ref:\"content\",tag:\"component\",class:_vm.$options.GL_DROPDOWN_CONTENTS_CLASS,attrs:{\"id\":_vm.disclosureId,\"aria-labelledby\":_vm.listAriaLabelledBy || _vm.toggleId,\"data-testid\":\"disclosure-content\",\"tabindex\":\"-1\"},on:{\"keydown\":_vm.onKeydown,\"click\":_vm.handleAutoClose}},[_vm._t(\"default\",function(){return [_vm._l((_vm.items),function(item,index){return [(_vm.isItem(item))?[_c('gl-disclosure-dropdown-item',{key:_vm.uniqueItemId(),attrs:{\"item\":item},on:{\"action\":_vm.handleAction},scopedSlots:_vm._u([('list-item' in _vm.$scopedSlots)?{key:\"list-item\",fn:function(){return [_vm._t(\"list-item\",null,{\"item\":item})]},proxy:true}:null],null,true)})]:[_c('gl-disclosure-dropdown-group',{key:item.name,attrs:{\"bordered\":index !== 0,\"group\":item},on:{\"action\":_vm.handleAction},scopedSlots:_vm._u([(_vm.$scopedSlots['group-label'])?{key:\"group-label\",fn:function(){return [_vm._t(\"group-label\",null,{\"group\":item})]},proxy:true}:null],null,true)},[_vm._v(\" \"),(_vm.$scopedSlots['list-item'])?_vm._l((item.items),function(groupItem){return _c('gl-disclosure-dropdown-item',{key:_vm.uniqueItemId(),attrs:{\"item\":groupItem},on:{\"action\":_vm.handleAction},scopedSlots:_vm._u([{key:\"list-item\",fn:function(){return [_vm._t(\"list-item\",null,{\"item\":groupItem})]},proxy:true}],null,true)})}):_vm._e()],2)]]})]})],2),_vm._v(\" \"),_vm._t(\"footer\")],2)};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n const __vue_inject_styles__ = undefined;\n /* scoped */\n const __vue_scope_id__ = undefined;\n /* module identifier */\n const __vue_module_identifier__ = undefined;\n /* functional template */\n const __vue_is_functional_template__ = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = __vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\nexport { DROPDOWN_SELECTOR, ITEM_SELECTOR };\n","(function() {\n var Query, defaultPathSeparator, filter, matcher, parseOptions, pathScorer, preparedQueryCache, scorer;\n\n filter = require('./filter');\n\n matcher = require('./matcher');\n\n scorer = require('./scorer');\n\n pathScorer = require('./pathScorer');\n\n Query = require('./query');\n\n preparedQueryCache = null;\n\n defaultPathSeparator = (typeof process !== \"undefined\" && process !== null ? process.platform : void 0) === \"win32\" ? '\\\\' : '/';\n\n module.exports = {\n filter: function(candidates, query, options) {\n if (options == null) {\n options = {};\n }\n if (!((query != null ? query.length : void 0) && (candidates != null ? candidates.length : void 0))) {\n return [];\n }\n options = parseOptions(options, query);\n return filter(candidates, query, options);\n },\n score: function(string, query, options) {\n if (options == null) {\n options = {};\n }\n if (!((string != null ? string.length : void 0) && (query != null ? query.length : void 0))) {\n return 0;\n }\n options = parseOptions(options, query);\n if (options.usePathScoring) {\n return pathScorer.score(string, query, options);\n } else {\n return scorer.score(string, query, options);\n }\n },\n match: function(string, query, options) {\n var _i, _ref, _results;\n if (options == null) {\n options = {};\n }\n if (!string) {\n return [];\n }\n if (!query) {\n return [];\n }\n if (string === query) {\n return (function() {\n _results = [];\n for (var _i = 0, _ref = string.length; 0 <= _ref ? _i < _ref : _i > _ref; 0 <= _ref ? _i++ : _i--){ _results.push(_i); }\n return _results;\n }).apply(this);\n }\n options = parseOptions(options, query);\n return matcher.match(string, query, options);\n },\n wrap: function(string, query, options) {\n if (options == null) {\n options = {};\n }\n if (!string) {\n return [];\n }\n if (!query) {\n return [];\n }\n options = parseOptions(options, query);\n return matcher.wrap(string, query, options);\n },\n prepareQuery: function(query, options) {\n if (options == null) {\n options = {};\n }\n options = parseOptions(options, query);\n return options.preparedQuery;\n }\n };\n\n parseOptions = function(options, query) {\n if (options.allowErrors == null) {\n options.allowErrors = false;\n }\n if (options.usePathScoring == null) {\n options.usePathScoring = true;\n }\n if (options.useExtensionBonus == null) {\n options.useExtensionBonus = false;\n }\n if (options.pathSeparator == null) {\n options.pathSeparator = defaultPathSeparator;\n }\n if (options.optCharRegEx == null) {\n options.optCharRegEx = null;\n }\n if (options.wrap == null) {\n options.wrap = null;\n }\n if (options.preparedQuery == null) {\n options.preparedQuery = preparedQueryCache && preparedQueryCache.query === query ? preparedQueryCache : (preparedQueryCache = new Query(query, options));\n }\n return options;\n };\n\n}).call(this);\n","import { BLink } from '../../../../vendor/bootstrap-vue/src/components/link/link';\nimport { ENTER, SPACE } from '../constants';\nimport { stopEvent } from '../../../../utils/utils';\nimport { isItem } from './utils';\nimport { DISCLOSURE_DROPDOWN_ITEM_NAME } from './constants';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\nconst ITEM_CLASS = 'gl-new-dropdown-item';\nvar script = {\n name: DISCLOSURE_DROPDOWN_ITEM_NAME,\n ITEM_CLASS,\n components: {\n BLink\n },\n props: {\n item: {\n type: Object,\n required: false,\n default: null,\n validator: isItem\n }\n },\n computed: {\n isLink() {\n var _this$item, _this$item2;\n return typeof ((_this$item = this.item) === null || _this$item === void 0 ? void 0 : _this$item.href) === 'string' || typeof ((_this$item2 = this.item) === null || _this$item2 === void 0 ? void 0 : _this$item2.to) === 'string';\n },\n isCustomContent() {\n return Boolean(this.$scopedSlots.default);\n },\n itemComponent() {\n const {\n item\n } = this;\n if (this.isLink) return {\n is: BLink,\n attrs: {\n href: item.href,\n to: item.to,\n ...item.extraAttrs\n },\n listeners: {\n click: this.action\n }\n };\n return {\n is: 'button',\n attrs: {\n ...(item === null || item === void 0 ? void 0 : item.extraAttrs),\n type: 'button'\n },\n listeners: {\n click: () => {\n var _item$action;\n item === null || item === void 0 ? void 0 : (_item$action = item.action) === null || _item$action === void 0 ? void 0 : _item$action.call(undefined, item);\n this.action();\n }\n }\n };\n },\n listIndex() {\n var _this$item3, _this$item3$extraAttr;\n return (_this$item3 = this.item) !== null && _this$item3 !== void 0 && (_this$item3$extraAttr = _this$item3.extraAttrs) !== null && _this$item3$extraAttr !== void 0 && _this$item3$extraAttr.disabled ? null : 0;\n },\n componentIndex() {\n var _this$item4, _this$item4$extraAttr;\n return (_this$item4 = this.item) !== null && _this$item4 !== void 0 && (_this$item4$extraAttr = _this$item4.extraAttrs) !== null && _this$item4$extraAttr !== void 0 && _this$item4$extraAttr.disabled ? null : -1;\n },\n wrapperClass() {\n var _this$item$wrapperCla, _this$item5;\n return (_this$item$wrapperCla = (_this$item5 = this.item) === null || _this$item5 === void 0 ? void 0 : _this$item5.wrapperClass) !== null && _this$item$wrapperCla !== void 0 ? _this$item$wrapperCla : '';\n },\n wrapperListeners() {\n const listeners = {\n keydown: this.onKeydown\n };\n if (this.isCustomContent) {\n listeners.click = this.action;\n }\n return listeners;\n }\n },\n methods: {\n onKeydown(event) {\n const {\n code\n } = event;\n if (code === ENTER || code === SPACE) {\n if (this.isCustomContent) {\n this.action();\n } else {\n stopEvent(event);\n /** Instead of simply navigating or calling the action, we want\n * the `a/button` to be the target of the event as it might have additional attributes.\n * E.g. `a` might have `target` attribute.\n */\n const e = new MouseEvent('click', {\n bubbles: true,\n cancelable: true\n });\n if (this.isLink) {\n this.$refs.item.$el.dispatchEvent(e);\n } else {\n var _this$$refs$item;\n (_this$$refs$item = this.$refs.item) === null || _this$$refs$item === void 0 ? void 0 : _this$$refs$item.dispatchEvent(e);\n }\n }\n }\n },\n action() {\n this.$emit('action', this.item);\n }\n }\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',_vm._g({class:[_vm.$options.ITEM_CLASS, _vm.wrapperClass],attrs:{\"tabindex\":_vm.listIndex,\"data-testid\":\"disclosure-dropdown-item\"}},_vm.wrapperListeners),[_vm._t(\"default\",function(){return [_c(_vm.itemComponent.is,_vm._g(_vm._b({ref:\"item\",tag:\"component\",staticClass:\"gl-new-dropdown-item-content\",attrs:{\"tabindex\":_vm.componentIndex}},'component',_vm.itemComponent.attrs,false),_vm.itemComponent.listeners),[_c('span',{staticClass:\"gl-new-dropdown-item-text-wrapper\"},[_vm._t(\"list-item\",function(){return [_vm._v(\"\\n \"+_vm._s(_vm.item.text)+\"\\n \")]})],2)])]})],2)};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n const __vue_inject_styles__ = undefined;\n /* scoped */\n const __vue_scope_id__ = undefined;\n /* module identifier */\n const __vue_module_identifier__ = undefined;\n /* functional template */\n const __vue_is_functional_template__ = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = __vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\nexport { ITEM_CLASS };\n","(function() {\n var Query, coreChars, countDir, getCharCodes, getExtension, opt_char_re, truncatedUpperCase, _ref;\n\n _ref = require(\"./pathScorer\"), countDir = _ref.countDir, getExtension = _ref.getExtension;\n\n module.exports = Query = (function() {\n function Query(query, _arg) {\n var optCharRegEx, pathSeparator, _ref1;\n _ref1 = _arg != null ? _arg : {}, optCharRegEx = _ref1.optCharRegEx, pathSeparator = _ref1.pathSeparator;\n if (!(query && query.length)) {\n return null;\n }\n this.query = query;\n this.query_lw = query.toLowerCase();\n this.core = coreChars(query, optCharRegEx);\n this.core_lw = this.core.toLowerCase();\n this.core_up = truncatedUpperCase(this.core);\n this.depth = countDir(query, query.length, pathSeparator);\n this.ext = getExtension(this.query_lw);\n this.charCodes = getCharCodes(this.query_lw);\n }\n\n return Query;\n\n })();\n\n opt_char_re = /[ _\\-:\\/\\\\]/g;\n\n coreChars = function(query, optCharRegEx) {\n if (optCharRegEx == null) {\n optCharRegEx = opt_char_re;\n }\n return query.replace(optCharRegEx, '');\n };\n\n truncatedUpperCase = function(str) {\n var char, upper, _i, _len;\n upper = \"\";\n for (_i = 0, _len = str.length; _i < _len; _i++) {\n char = str[_i];\n upper += char.toUpperCase()[0];\n }\n return upper;\n };\n\n getCharCodes = function(str) {\n var charCodes, i, len;\n len = str.length;\n i = -1;\n charCodes = [];\n while (++i < len) {\n charCodes[str.charCodeAt(i)] = true;\n }\n return charCodes;\n };\n\n}).call(this);\n","import uniqueId from 'lodash/uniqueId';\nimport GlDisclosureDropdownItem from './disclosure_dropdown_item';\nimport { isGroup } from './utils';\nimport { DISCLOSURE_DROPDOWN_GROUP_BORDER_POSITIONS, DISCLOSURE_DROPDOWN_GROUP_NAME } from './constants';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\nconst BORDER_CLASSES = {\n [DISCLOSURE_DROPDOWN_GROUP_BORDER_POSITIONS.top]: 'gl-border-t gl-border-t-dropdown gl-pt-2 gl-mt-2',\n [DISCLOSURE_DROPDOWN_GROUP_BORDER_POSITIONS.bottom]: 'gl-border-b gl-border-b-dropdown gl-pb-2 gl-mb-2'\n};\nvar script = {\n name: DISCLOSURE_DROPDOWN_GROUP_NAME,\n components: {\n GlDisclosureDropdownItem\n },\n props: {\n /**\n * Group of items\n */\n group: {\n type: Object,\n required: false,\n default: null,\n validator: isGroup\n },\n /**\n * If 'true', will set top border for the group\n * to separate from other groups. You can control\n * the border position using the `borderPosition`\n * property.\n */\n bordered: {\n type: Boolean,\n required: false,\n default: false\n },\n /**\n * Controls the position of the group's border. Valid\n * values are 'top' and 'bottom'.\n */\n borderPosition: {\n type: String,\n required: false,\n default: DISCLOSURE_DROPDOWN_GROUP_BORDER_POSITIONS.top,\n validator: value => Object.keys(DISCLOSURE_DROPDOWN_GROUP_BORDER_POSITIONS).includes(value)\n }\n },\n computed: {\n borderClass() {\n return this.bordered ? BORDER_CLASSES[this.borderPosition] : null;\n },\n showHeader() {\n var _this$group;\n return this.$scopedSlots['group-label'] || ((_this$group = this.group) === null || _this$group === void 0 ? void 0 : _this$group.name);\n },\n groupLabeledBy() {\n return this.showHeader ? this.nameId : null;\n }\n },\n created() {\n this.nameId = uniqueId('gl-disclosure-dropdown-group-');\n },\n methods: {\n handleAction(action) {\n this.$emit('action', action);\n },\n uniqueItemId() {\n return uniqueId(`disclosure-item-`);\n }\n }\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{class:_vm.borderClass},[(_vm.showHeader)?_c('div',{staticClass:\"gl-py-2 gl-pl-4 gl-text-sm gl-font-bold gl-text-strong\",attrs:{\"id\":_vm.nameId,\"aria-hidden\":\"true\"}},[_vm._t(\"group-label\",function(){return [_vm._v(_vm._s(_vm.group.name))]})],2):_vm._e(),_vm._v(\" \"),_c('ul',{staticClass:\"gl-mb-0 gl-list-none gl-pl-0\",attrs:{\"aria-labelledby\":_vm.groupLabeledBy}},[_vm._t(\"default\",function(){return _vm._l((_vm.group.items),function(item){return _c('gl-disclosure-dropdown-item',{key:_vm.uniqueItemId(),attrs:{\"item\":item},on:{\"action\":_vm.handleAction},scopedSlots:_vm._u([{key:\"list-item\",fn:function(){return [_vm._t(\"list-item\",null,{\"item\":item})]},proxy:true}],null,true)})})})],2)])};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n const __vue_inject_styles__ = undefined;\n /* scoped */\n const __vue_scope_id__ = undefined;\n /* module identifier */\n const __vue_module_identifier__ = undefined;\n /* functional template */\n const __vue_is_functional_template__ = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = __vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\nexport { BORDER_CLASSES };\n","(function() {\n var computeScore, countDir, file_coeff, getExtension, getExtensionScore, isMatch, scorePath, scoreSize, tau_depth, _ref;\n\n _ref = require('./scorer'), isMatch = _ref.isMatch, computeScore = _ref.computeScore, scoreSize = _ref.scoreSize;\n\n tau_depth = 20;\n\n file_coeff = 2.5;\n\n exports.score = function(string, query, options) {\n var allowErrors, preparedQuery, score, string_lw;\n preparedQuery = options.preparedQuery, allowErrors = options.allowErrors;\n if (!(allowErrors || isMatch(string, preparedQuery.core_lw, preparedQuery.core_up))) {\n return 0;\n }\n string_lw = string.toLowerCase();\n score = computeScore(string, string_lw, preparedQuery);\n score = scorePath(string, string_lw, score, options);\n return Math.ceil(score);\n };\n\n scorePath = function(subject, subject_lw, fullPathScore, options) {\n var alpha, basePathScore, basePos, depth, end, extAdjust, fileLength, pathSeparator, preparedQuery, useExtensionBonus;\n if (fullPathScore === 0) {\n return 0;\n }\n preparedQuery = options.preparedQuery, useExtensionBonus = options.useExtensionBonus, pathSeparator = options.pathSeparator;\n end = subject.length - 1;\n while (subject[end] === pathSeparator) {\n end--;\n }\n basePos = subject.lastIndexOf(pathSeparator, end);\n fileLength = end - basePos;\n extAdjust = 1.0;\n if (useExtensionBonus) {\n extAdjust += getExtensionScore(subject_lw, preparedQuery.ext, basePos, end, 2);\n fullPathScore *= extAdjust;\n }\n if (basePos === -1) {\n return fullPathScore;\n }\n depth = preparedQuery.depth;\n while (basePos > -1 && depth-- > 0) {\n basePos = subject.lastIndexOf(pathSeparator, basePos - 1);\n }\n basePathScore = basePos === -1 ? fullPathScore : extAdjust * computeScore(subject.slice(basePos + 1, end + 1), subject_lw.slice(basePos + 1, end + 1), preparedQuery);\n alpha = 0.5 * tau_depth / (tau_depth + countDir(subject, end + 1, pathSeparator));\n return alpha * basePathScore + (1 - alpha) * fullPathScore * scoreSize(0, file_coeff * fileLength);\n };\n\n exports.countDir = countDir = function(path, end, pathSeparator) {\n var count, i;\n if (end < 1) {\n return 0;\n }\n count = 0;\n i = -1;\n while (++i < end && path[i] === pathSeparator) {\n continue;\n }\n while (++i < end) {\n if (path[i] === pathSeparator) {\n count++;\n while (++i < end && path[i] === pathSeparator) {\n continue;\n }\n }\n }\n return count;\n };\n\n exports.getExtension = getExtension = function(str) {\n var pos;\n pos = str.lastIndexOf(\".\");\n if (pos < 0) {\n return \"\";\n } else {\n return str.substr(pos + 1);\n }\n };\n\n getExtensionScore = function(candidate, ext, startPos, endPos, maxDepth) {\n var m, matched, n, pos;\n if (!ext.length) {\n return 0;\n }\n pos = candidate.lastIndexOf(\".\", endPos);\n if (!(pos > startPos)) {\n return 0;\n }\n n = ext.length;\n m = endPos - pos;\n if (m < n) {\n n = m;\n m = ext.length;\n }\n pos++;\n matched = -1;\n while (++matched < n) {\n if (candidate[pos + matched] !== ext[matched]) {\n break;\n }\n }\n if (matched === 0 && maxDepth > 0) {\n return 0.9 * getExtensionScore(candidate, ext, startPos, pos - 2, maxDepth - 1);\n }\n return matched / m;\n };\n\n}).call(this);\n","(function() {\n var basenameMatch, computeMatch, isMatch, isWordStart, match, mergeMatches, scoreAcronyms, scoreCharacter, scoreConsecutives, _ref;\n\n _ref = require('./scorer'), isMatch = _ref.isMatch, isWordStart = _ref.isWordStart, scoreConsecutives = _ref.scoreConsecutives, scoreCharacter = _ref.scoreCharacter, scoreAcronyms = _ref.scoreAcronyms;\n\n exports.match = match = function(string, query, options) {\n var allowErrors, baseMatches, matches, pathSeparator, preparedQuery, string_lw;\n allowErrors = options.allowErrors, preparedQuery = options.preparedQuery, pathSeparator = options.pathSeparator;\n if (!(allowErrors || isMatch(string, preparedQuery.core_lw, preparedQuery.core_up))) {\n return [];\n }\n string_lw = string.toLowerCase();\n matches = computeMatch(string, string_lw, preparedQuery);\n if (matches.length === 0) {\n return matches;\n }\n if (string.indexOf(pathSeparator) > -1) {\n baseMatches = basenameMatch(string, string_lw, preparedQuery, pathSeparator);\n matches = mergeMatches(matches, baseMatches);\n }\n return matches;\n };\n\n exports.wrap = function(string, query, options) {\n var matchIndex, matchPos, matchPositions, output, strPos, tagClass, tagClose, tagOpen, _ref1;\n if ((options.wrap != null)) {\n _ref1 = options.wrap, tagClass = _ref1.tagClass, tagOpen = _ref1.tagOpen, tagClose = _ref1.tagClose;\n }\n if (tagClass == null) {\n tagClass = 'highlight';\n }\n if (tagOpen == null) {\n tagOpen = '<strong class=\"' + tagClass + '\">';\n }\n if (tagClose == null) {\n tagClose = '</strong>';\n }\n if (string === query) {\n return tagOpen + string + tagClose;\n }\n matchPositions = match(string, query, options);\n if (matchPositions.length === 0) {\n return string;\n }\n output = '';\n matchIndex = -1;\n strPos = 0;\n while (++matchIndex < matchPositions.length) {\n matchPos = matchPositions[matchIndex];\n if (matchPos > strPos) {\n output += string.substring(strPos, matchPos);\n strPos = matchPos;\n }\n while (++matchIndex < matchPositions.length) {\n if (matchPositions[matchIndex] === matchPos + 1) {\n matchPos++;\n } else {\n matchIndex--;\n break;\n }\n }\n matchPos++;\n if (matchPos > strPos) {\n output += tagOpen;\n output += string.substring(strPos, matchPos);\n output += tagClose;\n strPos = matchPos;\n }\n }\n if (strPos <= string.length - 1) {\n output += string.substring(strPos);\n }\n return output;\n };\n\n basenameMatch = function(subject, subject_lw, preparedQuery, pathSeparator) {\n var basePos, depth, end;\n end = subject.length - 1;\n while (subject[end] === pathSeparator) {\n end--;\n }\n basePos = subject.lastIndexOf(pathSeparator, end);\n if (basePos === -1) {\n return [];\n }\n depth = preparedQuery.depth;\n while (depth-- > 0) {\n basePos = subject.lastIndexOf(pathSeparator, basePos - 1);\n if (basePos === -1) {\n return [];\n }\n }\n basePos++;\n end++;\n return computeMatch(subject.slice(basePos, end), subject_lw.slice(basePos, end), preparedQuery, basePos);\n };\n\n mergeMatches = function(a, b) {\n var ai, bj, i, j, m, n, out;\n m = a.length;\n n = b.length;\n if (n === 0) {\n return a.slice();\n }\n if (m === 0) {\n return b.slice();\n }\n i = -1;\n j = 0;\n bj = b[j];\n out = [];\n while (++i < m) {\n ai = a[i];\n while (bj <= ai && ++j < n) {\n if (bj < ai) {\n out.push(bj);\n }\n bj = b[j];\n }\n out.push(ai);\n }\n while (j < n) {\n out.push(b[j++]);\n }\n return out;\n };\n\n computeMatch = function(subject, subject_lw, preparedQuery, offset) {\n var DIAGONAL, LEFT, STOP, UP, acro_score, align, backtrack, csc_diag, csc_row, csc_score, i, j, m, matches, move, n, pos, query, query_lw, score, score_diag, score_row, score_up, si_lw, start, trace;\n if (offset == null) {\n offset = 0;\n }\n query = preparedQuery.query;\n query_lw = preparedQuery.query_lw;\n m = subject.length;\n n = query.length;\n acro_score = scoreAcronyms(subject, subject_lw, query, query_lw).score;\n score_row = new Array(n);\n csc_row = new Array(n);\n STOP = 0;\n UP = 1;\n LEFT = 2;\n DIAGONAL = 3;\n trace = new Array(m * n);\n pos = -1;\n j = -1;\n while (++j < n) {\n score_row[j] = 0;\n csc_row[j] = 0;\n }\n i = -1;\n while (++i < m) {\n score = 0;\n score_up = 0;\n csc_diag = 0;\n si_lw = subject_lw[i];\n j = -1;\n while (++j < n) {\n csc_score = 0;\n align = 0;\n score_diag = score_up;\n if (query_lw[j] === si_lw) {\n start = isWordStart(i, subject, subject_lw);\n csc_score = csc_diag > 0 ? csc_diag : scoreConsecutives(subject, subject_lw, query, query_lw, i, j, start);\n align = score_diag + scoreCharacter(i, j, start, acro_score, csc_score);\n }\n score_up = score_row[j];\n csc_diag = csc_row[j];\n if (score > score_up) {\n move = LEFT;\n } else {\n score = score_up;\n move = UP;\n }\n if (align > score) {\n score = align;\n move = DIAGONAL;\n } else {\n csc_score = 0;\n }\n score_row[j] = score;\n csc_row[j] = csc_score;\n trace[++pos] = score > 0 ? move : STOP;\n }\n }\n i = m - 1;\n j = n - 1;\n pos = i * n + j;\n backtrack = true;\n matches = [];\n while (backtrack && i >= 0 && j >= 0) {\n switch (trace[pos]) {\n case UP:\n i--;\n pos -= n;\n break;\n case LEFT:\n j--;\n pos--;\n break;\n case DIAGONAL:\n matches.push(i + offset);\n j--;\n i--;\n pos -= n + 1;\n break;\n default:\n backtrack = false;\n }\n }\n matches.reverse();\n return matches;\n };\n\n}).call(this);\n","(function() {\n var Query, pathScorer, pluckCandidates, scorer, sortCandidates;\n\n scorer = require('./scorer');\n\n pathScorer = require('./pathScorer');\n\n Query = require('./query');\n\n pluckCandidates = function(a) {\n return a.candidate;\n };\n\n sortCandidates = function(a, b) {\n return b.score - a.score;\n };\n\n module.exports = function(candidates, query, options) {\n var bKey, candidate, key, maxInners, maxResults, score, scoreProvider, scoredCandidates, spotLeft, string, usePathScoring, _i, _len;\n scoredCandidates = [];\n key = options.key, maxResults = options.maxResults, maxInners = options.maxInners, usePathScoring = options.usePathScoring;\n spotLeft = (maxInners != null) && maxInners > 0 ? maxInners : candidates.length + 1;\n bKey = key != null;\n scoreProvider = usePathScoring ? pathScorer : scorer;\n for (_i = 0, _len = candidates.length; _i < _len; _i++) {\n candidate = candidates[_i];\n string = bKey ? candidate[key] : candidate;\n if (!string) {\n continue;\n }\n score = scoreProvider.score(string, query, options);\n if (score > 0) {\n scoredCandidates.push({\n candidate: candidate,\n score: score\n });\n if (!--spotLeft) {\n break;\n }\n }\n }\n scoredCandidates.sort(sortCandidates);\n candidates = scoredCandidates.map(pluckCandidates);\n if (maxResults != null) {\n candidates = candidates.slice(0, maxResults);\n }\n return candidates;\n };\n\n}).call(this);\n"],"sourceRoot":""}