YetiForceCompany/YetiForceCRM

View on GitHub
public_html/layouts/basic/modules/Vtiger/resources/AdvanceSearch.min.js.map

Summary

Maintainability
Test Coverage
{"version":3,"file":"AdvanceSearch.min.js","sources":["AdvanceSearch.js"],"sourcesContent":["/*+***********************************************************************************\n * The contents of this file are subject to the vtiger CRM Public License Version 1.0\n * (\"License\"); You may not use this file except in compliance with the License\n * The Original Code is:  vtiger CRM Open Source\n * The Initial Developer of the Original Code is vtiger.\n * Portions created by vtiger are Copyright (C) vtiger.\n * All Rights Reserved.\n * Contributor(s): YetiForce S.A.\n *************************************************************************************/\n'use strict';\n\nVtiger_BasicSearch_Js(\n\t'Vtiger_AdvanceSearch_Js',\n\t{\n\t\t//cache will store the search data\n\t\tcache: {}\n\t},\n\t{\n\t\t//container which will store the search elements\n\t\telementContainer: false,\n\t\t//instance which represents advance filter\n\t\tadvanceFilter: false,\n\t\t//states whether the validation is registred for filter elements\n\t\tfilterValidationRegistered: false,\n\t\t//contains the filter form element\n\t\tfilterForm: false,\n\t\t//container which will store the parent elements\n\t\tparentContainer: false,\n\t\t/**\n\t\t * Function which will give the container\n\t\t */\n\t\tgetContainer: function () {\n\t\t\treturn this.elementContainer;\n\t\t},\n\t\t/**\n\t\t *Function which is used to set the continaer\n\t\t *@params : container - element which represent the container\n\t\t *@return current instance\n\t\t */\n\t\tsetContainer: function (container) {\n\t\t\tthis.elementContainer = container;\n\t\t\treturn this;\n\t\t},\n\t\t/**\n\t\t * Function which will give the parent container\n\t\t */\n\t\tgetParentContainer: function () {\n\t\t\treturn this.parentContainer;\n\t\t},\n\t\t/**\n\t\t *Function which is used to set the continaer\n\t\t *@params : container - element which represent the container\n\t\t *@return current instance\n\t\t */\n\t\tsetParentContainer: function (container) {\n\t\t\tthis.setMainContainer(container);\n\t\t\tthis.parentContainer = container;\n\t\t\treturn this;\n\t\t},\n\t\tgetFilterForm: function () {\n\t\t\treturn $('form[name=\"advanceFilterForm\"]', this.getContainer());\n\t\t},\n\t\t/**\n\t\t * Function used to get the advance search ui\n\t\t * @return : deferred promise\n\t\t */\n\t\tgetAdvanceSearch: function () {\n\t\t\tvar aDeferred = $.Deferred();\n\t\t\tvar searchModule = this.getSearchModule();\n\t\t\t//Exists in the cache\n\t\t\tif (searchModule in Vtiger_AdvanceSearch_Js.cache) {\n\t\t\t\taDeferred.resolve(Vtiger_AdvanceSearch_Js.cache[searchModule]);\n\t\t\t\treturn aDeferred.promise();\n\t\t\t}\n\t\t\tvar searchableModulesParams = {\n\t\t\t\tmodule: app.getModuleName(),\n\t\t\t\tsearchModule: searchModule,\n\t\t\t\tview: 'BasicAjax',\n\t\t\t\tmode: 'showAdvancedSearch'\n\t\t\t};\n\t\t\tif (app.getParentModuleName()) {\n\t\t\t\tsearchableModulesParams.parent = app.getParentModuleName();\n\t\t\t}\n\t\t\tvar progressInstance = $.progressIndicator();\n\t\t\tAppConnector.request(searchableModulesParams)\n\t\t\t\t.done(function (data) {\n\t\t\t\t\tprogressInstance.hide();\n\t\t\t\t\t//add to cache\n\t\t\t\t\tVtiger_AdvanceSearch_Js.cache[searchModule] = data;\n\t\t\t\t\taDeferred.resolve(data);\n\t\t\t\t})\n\t\t\t\t.fail(function (error, err) {\n\t\t\t\t\taDeferred.reject(error);\n\t\t\t\t});\n\t\t\treturn aDeferred.promise();\n\t\t},\n\t\t/**\n\t\t * Function which intializes search\n\t\t */\n\t\tinitiateSearch: function () {\n\t\t\tvar aDeferred = $.Deferred();\n\t\t\tvar thisInstance = this;\n\t\t\tvar postLoad = function (uiData) {\n\t\t\t\tthisInstance.setContainer($('#advanceSearchContainer'));\n\t\t\t\tthisInstance.filterValidationRegistered = false;\n\t\t\t\tthisInstance.registerEvents();\n\t\t\t\tthisInstance.advanceFilter = new Vtiger_ConditionBuilder_Js(\n\t\t\t\t\tthisInstance.getContainer().find('.js-condition-builder'),\n\t\t\t\t\tthisInstance.getSearchModule()\n\t\t\t\t);\n\t\t\t\tthisInstance.advanceFilter.registerEvents();\n\t\t\t\taDeferred.resolve();\n\t\t\t};\n\t\t\tthisInstance\n\t\t\t\t.getAdvanceSearch()\n\t\t\t\t.done(function (data) {\n\t\t\t\t\tvar params = {};\n\t\t\t\t\tparams.data = data;\n\t\t\t\t\tparams.cb = postLoad;\n\t\t\t\t\tapp.hideModalWindow();\n\t\t\t\t\tapp.showModalWindow(params);\n\t\t\t\t})\n\t\t\t\t.fail(function (error) {\n\t\t\t\t\taDeferred.reject();\n\t\t\t\t});\n\t\t\treturn aDeferred.promise();\n\t\t},\n\t\t/**\n\t\t * Function which invokes search\n\t\t */\n\t\tsearch: function () {\n\t\t\tvar conditionValues = this.advanceFilter.getConditions();\n\t\t\tvar module = this.getSearchModule();\n\t\t\treturn this._search({\n\t\t\t\tmodule: app.getModuleName(),\n\t\t\t\tsearchModule: module,\n\t\t\t\tadvfilterlist: JSON.stringify(conditionValues)\n\t\t\t});\n\t\t},\n\t\t/**\n\t\t * Function which shows search results in proper manner\n\t\t * @params : data to be shown\n\t\t */\n\t\tshowSearchResults: function (data) {\n\t\t\tvar aDeferred = $.Deferred();\n\t\t\tvar postLoad = function (data) {\n\t\t\t\t//app.showScrollBar($(data).find('.contents'));\n\t\t\t\taDeferred.resolve(data);\n\t\t\t};\n\t\t\tvar html =\n\t\t\t\t'<div class=\"row\">' +\n\t\t\t\t'<span class=\"col-md-4 searchHolder\"></span>' +\n\t\t\t\t'<span class=\"col-md-8 filterHolder marginLeftZero d-none\"></span>' +\n\t\t\t\t'</div>';\n\t\t\tvar jQhtml = $(html);\n\t\t\t$('.searchHolder', jQhtml).html(data);\n\n\t\t\tdata = jQhtml;\n\n\t\t\tvar params = {};\n\t\t\tparams.data = data;\n\t\t\tparams.cb = postLoad;\n\t\t\tapp.showModalWindow(params);\n\n\t\t\treturn aDeferred.promise();\n\t\t},\n\t\t/**\n\t\t * Function which will save the filter\n\t\t */\n\t\tsaveFilter: function (params) {\n\t\t\tvar aDeferred = $.Deferred();\n\t\t\tparams.source_module = this.getSearchModule();\n\t\t\tparams.status = 1;\n\t\t\tparams.advfilterlist = JSON.stringify(this.advanceFilter.getConditions());\n\t\t\tparams.module = 'CustomView';\n\t\t\tparams.action = 'Save';\n\t\t\tAppConnector.request(params).done(function (data) {\n\t\t\t\tif (!data.success) {\n\t\t\t\t\tvar params = {\n\t\t\t\t\t\ttitle: app.vtranslate('JS_MESSAGE'),\n\t\t\t\t\t\ttext: data.error.message,\n\t\t\t\t\t\ttype: 'error'\n\t\t\t\t\t};\n\t\t\t\t\tapp.showNotify(params);\n\t\t\t\t}\n\t\t\t\taDeferred.resolve(data);\n\t\t\t});\n\t\t\treturn aDeferred.promise();\n\t\t},\n\t\t/**\n\t\t * Function which will save the filter and show the list view of new custom view\n\t\t */\n\t\tsaveAndViewFilter: function (params) {\n\t\t\tthis.saveFilter(params).done(\n\t\t\t\tfunction (response) {\n\t\t\t\t\tvar url = response['result']['listviewurl'];\n\t\t\t\t\twindow.location.href = url;\n\t\t\t\t},\n\t\t\t\tfunction (error) {}\n\t\t\t);\n\t\t},\n\t\t/**\n\t\t * Function which specify whether the search component and filter component both are shown\n\t\t */\n\t\tisSearchAndFilterComponentsShown: function () {\n\t\t\tvar modalData = $('#' + Window.lastModalId);\n\t\t\tvar filterComponent = $('.filterHolder', modalData).find('#advanceSearchContainer');\n\t\t\tif (filterComponent.length <= 0) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\t/**\n\t\t * Function which will perform search and other operaions\n\t\t */\n\t\tperformSearch: function () {\n\t\t\tvar thisInstance = this;\n\t\t\tvar isSearchResultsAndFilterShown = this.isSearchAndFilterComponentsShown();\n\t\t\tthis.search().done(function (data) {\n\t\t\t\tthisInstance.setContainer(thisInstance.getContainer().detach());\n\t\t\t\tthisInstance.showSearchResults(data).done(function (modalBlock) {\n\t\t\t\t\tthisInstance.registerShowFiler();\n\t\t\t\t\t//if the filter already shown , show again\n\t\t\t\t\tif (isSearchResultsAndFilterShown) {\n\t\t\t\t\t\tthisInstance.showFilter();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t},\n\t\t/**\n\t\t * Function which will show the advance filter next to search results\n\t\t */\n\t\tshowFilter: function () {\n\t\t\tvar thisInstance = this;\n\t\t\tvar callback = function () {\n\t\t\t\tapp.showModalWindow(thisInstance.getContainer());\n\t\t\t};\n\t\t\tapp.hideModalWindow(callback);\n\t\t},\n\t\t/**\n\t\t * Function which will perform the validation for the advance filter fields\n\t\t * @return : deferred promise - resolves if validation succeded if not failure\n\t\t */\n\t\tperformValidation: function () {\n\t\t\tvar thisInstance = this;\n\t\t\tthis.formValidationDeferred = $.Deferred();\n\t\t\tvar controlForm = this.getFilterForm();\n\n\t\t\tvar validationDone = function (form, status) {\n\t\t\t\tif (status) {\n\t\t\t\t\tthisInstance.formValidationDeferred.resolve();\n\t\t\t\t} else {\n\t\t\t\t\tthisInstance.formValidationDeferred.reject();\n\t\t\t\t}\n\t\t\t};\n\t\t\t//To perform validation registration only once\n\t\t\tif (!this.filterValidationRegistered) {\n\t\t\t\tthis.filterValidationRegistered = true;\n\t\t\t\tcontrolForm.validationEngine({\n\t\t\t\t\tonValidationComplete: validationDone\n\t\t\t\t});\n\t\t\t}\n\t\t\t//This will trigger the validation\n\t\t\tcontrolForm.submit();\n\t\t\treturn this.formValidationDeferred.promise();\n\t\t},\n\t\t/**\n\t\t * Function which will register the show filer invocation\n\t\t */\n\t\tregisterShowFiler: function () {\n\t\t\tvar thisInstance = this;\n\t\t\t$('#showFilter').on('click', function (e) {\n\t\t\t\tthisInstance.showFilter();\n\t\t\t});\n\t\t},\n\t\t/**\n\t\t * Function which will register events\n\t\t */\n\t\tregisterEvents: function () {\n\t\t\tvar thisInstance = this;\n\t\t\tvar container = this.getContainer();\n\n\t\t\tcontainer.on('change', '#searchModuleList', function (e) {\n\t\t\t\tvar selectElement = $(e.currentTarget);\n\t\t\t\tvar selectedModuleName = selectElement.val();\n\t\t\t\tthisInstance.setSearchModule(selectedModuleName);\n\t\t\t\tthisInstance.initiateSearch();\n\t\t\t});\n\n\t\t\t$('#advanceSearchButton').on('click', function (e) {\n\t\t\t\tvar searchModule = thisInstance.getSearchModule();\n\t\t\t\t//If no module is selected\n\t\t\t\tif (searchModule.length <= 0) {\n\t\t\t\t\tapp\n\t\t\t\t\t\t.getChosenElementFromSelect($('#searchModuleList'))\n\t\t\t\t\t\t.validationEngine('showPrompt', app.vtranslate('JS_SELECT_MODULE'), 'error', 'topRight', true);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthisInstance\n\t\t\t\t\t.performValidation()\n\t\t\t\t\t.done(function () {\n\t\t\t\t\t\tthisInstance.performSearch();\n\t\t\t\t\t})\n\t\t\t\t\t.fail(function () {});\n\t\t\t});\n\n\t\t\t$('#advanceIntiateSave').on('click', function (e) {\n\t\t\t\tvar currentElement = $(e.currentTarget);\n\t\t\t\tcurrentElement.addClass('d-none');\n\t\t\t\tvar actionsContainer = currentElement.closest('.actions');\n\t\t\t\t$('.js-name-filter', actionsContainer).removeClass('d-none').focus();\n\t\t\t\t$('#advanceSave').removeClass('d-none');\n\t\t\t});\n\n\t\t\t$('#advanceSave').on('click', function (e) {\n\t\t\t\tvar actionsContainer = $(e.currentTarget).closest('.actions');\n\t\t\t\tvar filterNameField = $('input[name=\"viewname\"]', actionsContainer);\n\t\t\t\tvar value = filterNameField.val();\n\t\t\t\tif (value.length <= 0) {\n\t\t\t\t\tfilterNameField.validationEngine(\n\t\t\t\t\t\t'showPrompt',\n\t\t\t\t\t\tapp.vtranslate('JS_REQUIRED_FIELD'),\n\t\t\t\t\t\t'error',\n\t\t\t\t\t\t'topRight',\n\t\t\t\t\t\ttrue\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar searchModule = thisInstance.getSearchModule();\n\t\t\t\t//If no module is selected\n\t\t\t\tif (searchModule.length <= 0) {\n\t\t\t\t\tapp\n\t\t\t\t\t\t.getChosenElementFromSelect($('#searchModuleList'))\n\t\t\t\t\t\t.validationEngine('showPrompt', app.vtranslate('JS_SELECT_MODULE'), 'error', 'topRight', true);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthisInstance.performValidation().done(function () {\n\t\t\t\t\tvar params = {};\n\t\t\t\t\tparams.viewname = value;\n\t\t\t\t\tthisInstance.saveAndViewFilter(params);\n\t\t\t\t});\n\t\t\t});\n\n\t\t\t//DO nothing on submit of filter form\n\t\t\tthis.getFilterForm().on('submit', function (e) {\n\t\t\t\te.preventDefault();\n\t\t\t});\n\n\t\t\t//To set the search module with the currently selected values.\n\t\t\tthis.setSearchModule($('#searchModuleList').val());\n\t\t}\n\t}\n);\n"],"names":["Vtiger_BasicSearch_Js","cache","elementContainer","advanceFilter","filterValidationRegistered","filterForm","parentContainer","getContainer","setContainer","container","getParentContainer","setParentContainer","setMainContainer","getFilterForm","$","getAdvanceSearch","aDeferred","Deferred","searchModule","getSearchModule","Vtiger_AdvanceSearch_Js","resolve","promise","searchableModulesParams","module","app","getModuleName","view","mode","getParentModuleName","parent","progressInstance","progressIndicator","AppConnector","request","done","data","hide","fail","error","reject","initiateSearch","thisInstance","postLoad","registerEvents","Vtiger_ConditionBuilder_Js","find","params","cb","hideModalWindow","showModalWindow","search","conditionValues","getConditions","_search","advfilterlist","JSON","stringify","showSearchResults","jQhtml","html","saveFilter","source_module","status","action","success","title","vtranslate","text","message","type","showNotify","saveAndViewFilter","response","url","result","listviewurl","window","location","href","isSearchAndFilterComponentsShown","modalData","Window","lastModalId","filterComponent","length","performSearch","isSearchResultsAndFilterShown","detach","modalBlock","registerShowFiler","showFilter","callback","performValidation","formValidationDeferred","controlForm","validationDone","form","validationEngine","onValidationComplete","submit","on","e","selectElement","currentTarget","selectedModuleName","val","setSearchModule","getChosenElementFromSelect","currentElement","addClass","actionsContainer","closest","removeClass","focus","filterNameField","value","viewname","preventDefault"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uFACA,YAAY,CAEZA,qBAAqB,CACpB,yBAAyB,CACzB;AAECC,KAAK,CAAE,EACR,CAAC,CACD;AAECC,gBAAgB,GAAO;AAEvBC,aAAa,GAAO;AAEpBC,0BAA0B,GAAO;AAEjCC,UAAU,GAAO;AAEjBC,eAAe,GAAO;AAExB;AACA,KACEC,YAAY,CAAE,SAAAA,YAAA,EAAY,CACzB,OAAW,IAAA,CAACL,gBACb,CAAC;AAEH;AACA;AACA;AACA,KACEM,YAAY,CAAE,SAAAA,YAAUC,CAAAA,SAAS,CAAE,CAElC,OADI,IAAA,CAACP,gBAAgB,CAAGO,SAAS,CAC1B,IACR,CAAC;AAEH;AACA,KACEC,kBAAkB,CAAE,SAAAA,kBAAA,EAAY,CAC/B,OAAW,IAAA,CAACJ,eACb,CAAC;AAEH;AACA;AACA;AACA,KACEK,kBAAkB,CAAE,SAAAA,mBAAUF,SAAS,CAAE,CAGxC,OAFA,IAAI,CAACG,gBAAgB,CAACH,SAAS,CAAC,CAChC,IAAI,CAACH,eAAe,CAAGG,SAAS,CACzB,IACR,CAAC,CACDI,aAAa,CAAE,SAAAA,eAAY,CAC1B,OAAOC,CAAC,CAAC,kCAAgC,CAAE,IAAI,CAACP,YAAY,EAAE,CAC/D,CAAC;AAEH;AACA;AACA,KACEQ,gBAAgB,CAAE,SAAAA,gBAAAA,EAAY,CACzB,IAAAC,SAAS,CAAGF,CAAC,CAACG,QAAQ,EAAE,CACxBC,YAAY,CAAG,IAAI,CAACC,eAAe,EAAE,CACzC;AACA,GAAID,YAAY,IAAIE,uBAAuB,CAACnB,KAAK,CAEhD,OADAe,SAAS,CAACK,OAAO,CAACD,uBAAuB,CAACnB,KAAK,CAACiB,YAAY,CAAC,CAAC,CACvDF,SAAS,CAACM,OAAO,EAAE,CAE3B,IAAIC,uBAAuB,CAAG,CAC7BC,MAAM,CAAEC,GAAG,CAACC,aAAa,EAAE,CAC3BR,YAAY,CAAEA,YAAY,CAC1BS,IAAI,CAAE,WAAW,CACjBC,IAAI,CAAE,oBACP,CAAC,CACGH,GAAG,CAACI,mBAAmB,EAAE,GAC5BN,uBAAuB,CAACO,MAAM,CAAGL,GAAG,CAACI,mBAAmB,EAAE,CAAA,CAE3D,IAAIE,gBAAgB,CAAGjB,CAAC,CAACkB,iBAAiB,EAAE,CAW5C,OAVAC,YAAY,CAACC,OAAO,CAACX,uBAAuB,CAAC,CAC3CY,IAAI,CAAC,SAAUC,IAAI,CAAE,CACrBL,gBAAgB,CAACM,IAAI,EAAE,CAEvBjB,uBAAuB,CAACnB,KAAK,CAACiB,YAAY,CAAC,CAAGkB,IAAI,CAClDpB,SAAS,CAACK,OAAO,CAACe,IAAI,EACvB,CAAC,CAAC,CACDE,IAAI,CAAC,SAAUC,KAAK,CAAO,CAC3BvB,SAAS,CAACwB,MAAM,CAACD,KAAK,EACvB,CAAC,CAAC,CACIvB,SAAS,CAACM,OAAO,EACzB,CAAC;AAEH;AACA,KACEmB,cAAc,CAAE,SAAAA,cAAAA,EAAY,CACvB,IAAAzB,SAAS,CAAGF,CAAC,CAACG,QAAQ,EAAE,CACxByB,YAAY,CAAG,IAAI,CACnBC,QAAQ,CAAG,UAAkB,CAChCD,YAAY,CAAClC,YAAY,CAACM,CAAC,CAAC,yBAAyB,CAAC,CAAC,CACvD4B,YAAY,CAACtC,0BAA0B,CAAA,CAAA,CAAQ,CAC/CsC,YAAY,CAACE,cAAc,EAAE,CAC7BF,YAAY,CAACvC,aAAa,CAAG,IAAI0C,0BAA0B,CAC1DH,YAAY,CAACnC,YAAY,EAAE,CAACuC,IAAI,CAAC,uBAAuB,CAAC,CACzDJ,YAAY,CAACvB,eAAe,EAC7B,CAAC,CACDuB,YAAY,CAACvC,aAAa,CAACyC,cAAc,EAAE,CAC3C5B,SAAS,CAACK,OAAO,GAClB,CAAC,CAaD,OAZAqB,YAAY,CACV3B,gBAAgB,EAAE,CAClBoB,IAAI,CAAC,SAAUC,IAAI,CAAE,CACrB,IAAIW,MAAM,CAAG,EAAE,CACfA,MAAM,CAACX,IAAI,CAAGA,IAAI,CAClBW,MAAM,CAACC,EAAE,CAAGL,QAAQ,CACpBlB,GAAG,CAACwB,eAAe,EAAE,CACrBxB,GAAG,CAACyB,eAAe,CAACH,MAAM,EAC3B,CAAC,CAAC,CACDT,IAAI,CAAC,UAAiB,CACtBtB,SAAS,CAACwB,MAAM,GACjB,CAAC,CAAC,CACIxB,SAAS,CAACM,OAAO,EACzB,CAAC;AAEH;AACA,KACE6B,MAAM,CAAE,SAAAA,MAAA,EAAY,KACfC,eAAe,CAAG,IAAI,CAACjD,aAAa,CAACkD,aAAa,EAAE,CACpD7B,MAAM,CAAG,IAAI,CAACL,eAAe,EAAE,CACnC,OAAO,IAAI,CAACmC,OAAO,CAAC,CACnB9B,MAAM,CAAEC,GAAG,CAACC,aAAa,EAAE,CAC3BR,YAAY,CAAEM,MAAM,CACpB+B,aAAa,CAAEC,IAAI,CAACC,SAAS,CAACL,eAAe,CAC9C,CAAC,CACF,CAAC;AAEH;AACA;AACA,KACEM,iBAAiB,CAAE,SAAAA,kBAAUtB,IAAI,CAAE,KAC9BpB,SAAS,CAAGF,CAAC,CAACG,QAAQ,EAAE,CACxB0B,QAAQ,CAAG,SAAXA,QAAQA,CAAaP,IAAI,CAAE,CAE9BpB,SAAS,CAACK,OAAO,CAACe,IAAI,EACvB,CAAC,CAMGuB,MAAM,CAAG7C,CAAC,CAAK,2IAAA,CAAC,CACpBA,CAAC,CAAC,eAAe,CAAE6C,MAAM,CAAC,CAACC,IAAI,CAACxB,IAAI,CAAC,CAErCA,IAAI,CAAGuB,MAAM,CAEb,IAAIZ,MAAM,CAAG,EAAE,CAKf,OAJAA,MAAM,CAACX,IAAI,CAAGA,IAAI,CAClBW,MAAM,CAACC,EAAE,CAAGL,QAAQ,CACpBlB,GAAG,CAACyB,eAAe,CAACH,MAAM,CAAC,CAEpB/B,SAAS,CAACM,OAAO,EACzB,CAAC;AAEH;AACA,KACEuC,UAAU,CAAE,SAAAA,UAAAA,CAAUd,MAAM,CAAE,CAC7B,IAAI/B,SAAS,CAAGF,CAAC,CAACG,QAAQ,EAAE,CAiB5B,OAhBA8B,MAAM,CAACe,aAAa,CAAG,IAAI,CAAC3C,eAAe,EAAE,CAC7C4B,MAAM,CAACgB,MAAM,CAAG,CAAC,CACjBhB,MAAM,CAACQ,aAAa,CAAGC,IAAI,CAACC,SAAS,CAAC,IAAI,CAACtD,aAAa,CAACkD,aAAa,EAAE,CAAC,CACzEN,MAAM,CAACvB,MAAM,CAAG,YAAY,CAC5BuB,MAAM,CAACiB,MAAM,CAAG,MAAM,CACtB/B,YAAY,CAACC,OAAO,CAACa,MAAM,CAAC,CAACZ,IAAI,CAAC,SAAUC,IAAI,CAAE,CACjD,GAAI,CAACA,IAAI,CAAC6B,OAAO,CAAE,CAClB,IAAIlB,MAAM,CAAG,CACZmB,KAAK,CAAEzC,GAAG,CAAC0C,UAAU,CAAC,YAAY,CAAC,CACnCC,IAAI,CAAEhC,IAAI,CAACG,KAAK,CAAC8B,OAAO,CACxBC,IAAI,CAAE,OACP,CAAC,CACD7C,GAAG,CAAC8C,UAAU,CAACxB,MAAM,EACtB,CACA/B,SAAS,CAACK,OAAO,CAACe,IAAI,EACvB,CAAC,CAAC,CACKpB,SAAS,CAACM,OAAO,EACzB,CAAC;AAEH;AACA,KACEkD,iBAAiB,CAAE,SAAAA,iBAAAA,CAAUzB,MAAM,CAAE,CACpC,IAAI,CAACc,UAAU,CAACd,MAAM,CAAC,CAACZ,IAAI,CAC3B,SAAUsC,QAAQ,CAAE,CACnB,IAAIC,GAAG,CAAGD,QAAQ,CAAAE,MAAU,CAAAC,WAAe,CAC3CC,MAAM,CAACC,QAAQ,CAACC,IAAI,CAAGL,IACxB,CAAC,CACD,SAAUnC,KAAK,CAAE,EAClB,EACD,CAAC;AAEH;AACA,KACEyC,gCAAgC,CAAE,SAAAA,gCAAA,EAAY,KACzCC,SAAS,CAAGnE,CAAC,CAAC,GAAG,CAAGoE,MAAM,CAACC,WAAW,CAAC,CACvCC,eAAe,CAAGtE,CAAC,CAAC,eAAe,CAAEmE,SAAS,CAAC,CAACnC,IAAI,CAAC,yBAAyB,CAAC,CAAA,OAAA,EACrD,CAAC,EAA3BsC,eAAe,CAACC,MAAW,CAIhC,CAAC;AAEH;AACA,KACEC,aAAa,CAAE,SAAAA,aAAA,EAAY,KACtB5C,YAAY,CAAG,IAAI,CACnB6C,6BAA6B,CAAG,IAAI,CAACP,gCAAgC,EAAE,CAC3E,IAAI,CAAC7B,MAAM,EAAE,CAAChB,IAAI,CAAC,SAAUC,IAAI,CAAE,CAClCM,YAAY,CAAClC,YAAY,CAACkC,YAAY,CAACnC,YAAY,EAAE,CAACiF,MAAM,EAAE,CAAC,CAC/D9C,YAAY,CAACgB,iBAAiB,CAACtB,IAAI,CAAC,CAACD,IAAI,CAAC,SAAUsD,UAAU,CAAE,CAC/D/C,YAAY,CAACgD,iBAAiB,EAAE,CAE5BH,6BAA6B,EAChC7C,YAAY,CAACiD,UAAU,GAEzB,CAAC,EACF,CAAC,EACF,CAAC;AAEH;AACA,KACEA,UAAU,CAAE,SAAAA,UAAA,EAAY,KACnBjD,YAAY,CAAG,IAAI,CACnBkD,QAAQ,CAAG,SAAXA,QAAQA,EAAe,CAC1BnE,GAAG,CAACyB,eAAe,CAACR,YAAY,CAACnC,YAAY,EAAE,EAChD,CAAC,CACDkB,GAAG,CAACwB,eAAe,CAAC2C,QAAQ,EAC7B,CAAC;AAEH;AACA;AACA,KACEC,iBAAiB,CAAE,SAAAA,iBAAAA,EAAY,CAC9B,IAAInD,YAAY,CAAG,IAAI,CACvB,IAAI,CAACoD,sBAAsB,CAAGhF,CAAC,CAACG,QAAQ,EAAE,CAAA,IACtC8E,WAAW,CAAG,IAAI,CAAClF,aAAa,EAAE,CAElCmF,cAAc,CAAG,SAAjBA,cAAcA,CAAaC,IAAI,CAAElC,MAAM,CAAE,CACxCA,MAAM,CACTrB,YAAY,CAACoD,sBAAsB,CAACzE,OAAO,EAAE,CAE7CqB,YAAY,CAACoD,sBAAsB,CAACtD,MAAM,GAE5C,CAAC,CACD;AASA,OARS,IAAA,CAACpC,0BAA0B,GACnC,IAAI,CAACA,0BAA0B,CAAO,CAAA,CAAA,CACtC2F,WAAW,CAACG,gBAAgB,CAAC,CAC5BC,oBAAoB,CAAEH,cACvB,CAAC,CAAC,CAGHD,CAAAA,WAAW,CAACK,MAAM,EAAE,CACb,IAAI,CAACN,sBAAsB,CAACxE,OAAO,EAC3C,CAAC;AAEH;AACA,KACEoE,iBAAiB,CAAE,SAAAA,iBAAAA,EAAY,CAC9B,IAAIhD,YAAY,CAAG,IAAI,CACvB5B,CAAC,CAAC,aAAa,CAAC,CAACuF,EAAE,CAAC,OAAO,CAAE,SAAUC,CAAC,CAAE,CACzC5D,YAAY,CAACiD,UAAU,GACxB,CAAC,EACF,CAAC;AAEH;AACA,KACE/C,cAAc,CAAE,SAAAA,gBAAY,CAAA,IACvBF,YAAY,CAAG,IAAI,CACnBjC,SAAS,CAAG,IAAI,CAACF,YAAY,EAAE,CAiEnC;AAKA;AApEAE,SAAS,CAAC4F,EAAE,CAAC,QAAQ,CAAE,mBAAmB,CAAE,SAAUC,CAAC,CAAE,CACpD,IAAAC,aAAa,CAAGzF,CAAC,CAACwF,CAAC,CAACE,aAAa,CAAC,CAClCC,kBAAkB,CAAGF,aAAa,CAACG,GAAG,EAAE,CAC5ChE,YAAY,CAACiE,eAAe,CAACF,kBAAkB,CAAC,CAChD/D,YAAY,CAACD,cAAc,GAC5B,CAAC,CAAC,CAEF3B,CAAC,CAAC,sBAAsB,CAAC,CAACuF,EAAE,CAAC,OAAO,CAAE,SAAUC,CAAC,CAAE,CAClD,IAAIpF,YAAY,CAAGwB,YAAY,CAACvB,eAAe,EAAE,CACjD;AAAA,OAC2B,CAAC,EAAxBD,YAAY,CAACmE,MAAW,CAC3B,KAAA5D,GAAG,CACDmF,0BAA0B,CAAC9F,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAClDoF,gBAAgB,CAAC,YAAY,CAAEzE,GAAG,CAAC0C,UAAU,CAAC,kBAAkB,CAAC,CAAE,OAAO,CAAE,UAAU,GAAM,CAAC,CAAA,KAGhGzB,YAAY,CACVmD,iBAAiB,EAAE,CACnB1D,IAAI,CAAC,UAAY,CACjBO,YAAY,CAAC4C,aAAa,GAC3B,CAAC,CAAC,CACDhD,IAAI,CAAC,UAAY,EAAE,CACtB,CAAC,CAAC,CAEFxB,CAAC,CAAC,qBAAqB,CAAC,CAACuF,EAAE,CAAC,OAAO,CAAE,SAAUC,CAAC,CAAE,CACjD,IAAIO,cAAc,CAAG/F,CAAC,CAACwF,CAAC,CAACE,aAAa,CAAC,CACvCK,cAAc,CAACC,QAAQ,CAAC,QAAQ,CAAC,CACjC,IAAIC,gBAAgB,CAAGF,cAAc,CAACG,OAAO,CAAC,UAAU,CAAC,CACzDlG,CAAC,CAAC,iBAAiB,CAAEiG,gBAAgB,CAAC,CAACE,WAAW,CAAC,QAAQ,CAAC,CAACC,KAAK,EAAE,CACpEpG,CAAC,CAAC,cAAc,CAAC,CAACmG,WAAW,CAAC,QAAQ,EACvC,CAAC,CAAC,CAEFnG,CAAC,CAAC,cAAc,CAAC,CAACuF,EAAE,CAAC,OAAO,CAAE,SAAUC,CAAC,CAAE,CAAA,IACtCS,gBAAgB,CAAGjG,CAAC,CAACwF,CAAC,CAACE,aAAa,CAAC,CAACQ,OAAO,CAAC,UAAU,CAAC,CACzDG,eAAe,CAAGrG,CAAC,CAAC,0BAAwB,CAAEiG,gBAAgB,CAAC,CAC/DK,KAAK,CAAGD,eAAe,CAACT,GAAG,EAAE,CACjC,GAAoB,CAAC,EAAjBU,KAAK,CAAC/B,MAAW,CAQpB,OAPA,KAAA8B,eAAe,CAACjB,gBAAgB,CAC/B,YAAY,CACZzE,GAAG,CAAC0C,UAAU,CAAC,mBAAmB,CAAC,CACnC,OAAO,CACP,UAAU,GAEX,CAAC,CAIF,IAAIjD,YAAY,CAAGwB,YAAY,CAACvB,eAAe,EAAE,CACjD;AAAA,OAC2B,CAAC,EAAxBD,YAAY,CAACmE,MAAW,CAC3B,KAAA5D,GAAG,CACDmF,0BAA0B,CAAC9F,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAClDoF,gBAAgB,CAAC,YAAY,CAAEzE,GAAG,CAAC0C,UAAU,CAAC,kBAAkB,CAAC,CAAE,OAAO,CAAE,UAAU,CAAA,CAAA,CAAM,CAAC,CAIhG,KAAAzB,YAAY,CAACmD,iBAAiB,EAAE,CAAC1D,IAAI,CAAC,UAAY,CACjD,IAAIY,MAAM,CAAG,EAAE,CACfA,MAAM,CAACsE,QAAQ,CAAGD,KAAK,CACvB1E,YAAY,CAAC8B,iBAAiB,CAACzB,MAAM,EACtC,CAAC,CACF,CAAC,CAAC,CAGF,IAAI,CAAClC,aAAa,EAAE,CAACwF,EAAE,CAAC,QAAQ,CAAE,SAAUC,CAAC,CAAE,CAC9CA,CAAC,CAACgB,cAAc,GACjB,CAAC,CAAC,CAGF,IAAI,CAACX,eAAe,CAAC7F,CAAC,CAAC,mBAAmB,CAAC,CAAC4F,GAAG,EAAE,EAClD,CACD,CACD,CAAC;;"}