@mchp-mcc/scf-pic8-osc-v1 4.3.7 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://creator/webpack/bootstrap","webpack://creator/./generated_module/src/creator.ts","webpack://creator/./generated_module/src/getUserData.ts","webpack://creator/./generated_module/src/pins/PCPHelper.ts","webpack://creator/./node_modules/@microchip/melody-automodule-interface/lib/src/Tables.js","webpack://creator/./node_modules/@microchip/pins-interface/lib/types.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/Analytics/AnalyticsHelper.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/App/AppModel.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/Utils.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/AutoModuleAppModel.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/AutoModuleHardware.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/AutoModuleHelpers.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/AutoModuleTemplates.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/ContextualHelp.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/FrequencyComponentHelper.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/RegisterFilterMode.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/TimeComponentHelper.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/getConfigData.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/views/autoModuleView.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/views/autoModuleViewHelpers.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/views/formData.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/views/scfUiSchema.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/views/schema.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/views/uiSchema.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/creator.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/index.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/interfaces/createPrototypeExports.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/interfaces/createPrototypeImports.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/interfaces/exports.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/interfaces/imports.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/interrupts/InterruptActions.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/pins/PCPHelper.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/pins/PCPStateActionBuilder.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/processor.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/tables/UidMapBuilder.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/tables/tables.js","webpack://creator/./node_modules/@microchip/scf-common/lib/Processor.js","webpack://creator/./node_modules/@microchip/scf-device/lib/CalculateRegisterValue.js","webpack://creator/./node_modules/@microchip/scf-device/lib/Register.js","webpack://creator/./node_modules/@microchip/scf-device/lib/Setting.js","webpack://creator/./node_modules/@microchip/scf-device/lib/util/Arrays.js","webpack://creator/./node_modules/@microchip/scf-interface/lib/c-function-types.js","webpack://creator/./node_modules/@microchip/scf-interface/lib/helpers.js","webpack://creator/./node_modules/@microchip/scf-interface/lib/index.js","webpack://creator/./node_modules/@microchip/scf-register-view-helper/lib/CreateRegisterView.js","webpack://creator/./node_modules/@microchip/scf-register-view-helper/lib/Model.js","webpack://creator/./node_modules/@microchip/scf-register-view-helper/lib/ViewSchemaBuilder.js","webpack://creator/./node_modules/@microchip/sys-init-basic-interface/lib/api.js","webpack://creator/./node_modules/@microchip/sys-init-basic-interface/lib/index.js","webpack://creator/./node_modules/@microchip/sys-init-basic-interface/lib/mock.js","webpack://creator/./node_modules/@microchip/sys-init-basic-interface/lib/sys-init-basic-interface.js","webpack://creator/./src/ClockCalculator.ts","webpack://creator/./src/CreatorFunctions.ts","webpack://creator/./src/DerivedData.ts","webpack://creator/./src/PinsLogic.ts","webpack://creator/./src/StringConstants.ts"],"names":["createCreator","getCreatorFunctions","hook","state","creatorFunctionsGetter","_objectSpread","getModuleConfig","getModuleConfigFromFile","autoCreate","create","getPinsDataFromFile","require","_unused","undefined","getPinsLogicFromFile","_unused2","_unused3","mockPinsLogic","getPinsData","getCompletePinData","appModel","getRowData","rowData","_getPinsDataFromFile","rows","getPinsLogic","pinsLogic","ClockCalculator","_createClass","oscSelect","HFInternalClk","externalClk","clkDivider","_this","_classCallCheck","_defineProperty","currentSystemClk","HFClk","StringConstants","SOSC","LFINTOSC","HFINTOSC","_this$HFInternalClk$r","_this$HFInternalClk","parseInt","replace","HFINTOSC_2xPLL","_this$HFInternalClk$r2","_this$HFInternalClk2","EXTOSC","MIN_PLL","MAX_PLL","Math","round","_this$HFInternalClk$r3","_this$HFInternalClk3","mfintosc","mfintosc_31KHz","lfintosc","toString","sosc","shouldImport","importKey","getDerivedData","dataModel","MyDerivedData","EmptyDerivedData","clockCalculator","_this$getModel$getCom","_this$getModel$getCom2","_this$getModel$getCom3","_this$getModel$getCom4","getModel","getComponentValue","moduleName","getModuleName","alerts","getMyAlerts","isEnabled","isVisible","coscOsccon2","getResOscValue","getClockCalculator","getCurrentSystemClk","foscHz_payload","sys_init_basic_interface_results","config_device_results","templateData","getTemplateData","overrideDefaultValues","overrideDefaultValue","configbits_basic_interface_args","getConfigbitsBasicInterfaceArgs","getOscClocksProcessedPayload","getClockProcessedPayload","doNotShow","importName","friendlyImportName","initializers","name","header","path","priority","sys_init_basic_interface","START","configsReq","componentName","_this$dataModel$getIm","_selectedOptionVal","externalClkSelectedOptions","getImportValue","configsResp","selectedOptionVal","resetOscValue","getDynamicComponetDefaultValue","actualOscValue","indexOf","pllStatus","pllEnable","isComponentValue","clkSrcVal","_this$getClockCalcula","_this$getClockCalcula2","_this$getClockCalcula3","_this$getClockCalcula4","_this$getClockCalcula5","_this$getClockCalcula6","_this$getClockCalcula7","oscObj","extosc","getExtOsc","fosc","hfintosc","getHfIntOsc","getLfIntOsc","getMfIntOsc","mfintosc_31Khz","getMfIntOsc_31KHz","getSosc","hasSosc","soscEnabled","soscPowerMode","_this$getClockCalcula8","_this$getClockCalcula9","_this$getClockCalcula10","_this$getClockCalcula11","_this$getClockCalcula12","_this$getClockCalcula13","_this$getClockCalcula14","clockObj","getComponent","_this$getPLLStatus","headers","initRegisters","getRegisterValues","deviceFrequency","moduleNameUpperCase","toUpperCase","moduleNameLowerCase","toLowerCase","PackageVersion","isPllEnabled","getPLLStatus","initializerOptimize","generateCommentedCode","_this$dataModel$getCo","componentValue","EXTOSC_4xPLL","_this$dataModel$getHa","_this$dataModel$getHa2","_MHz$replace","_MHz","foscOptions","getHardware","getPeripheral","registers","OSCFRQ","settings","HFFRQ","options","defaultVal","refClk","forEach","option","_option$name$replace","_option$name","defVal","getfoscOptions","_this$getDynamicCompo","_this$getModel$getCom5","_this$getModel$getCom6","_this$dataModel$getCo2","_this$dataModel$getCo3","noscOsccon1","push","type","Processor","Hint","text","Warning","_this$getModel$getCom7","ExtClkFreq_64MHz","ExtClkFreq_20MHz","ExtClkFreq_32MHz","_appModel$getImportVa","_appModel$getImportVa2","_appModel$getImportVa3","_appModel$getImportVa4","retRowJSONdata","rowActions","clockOutEnable","_appModel$getPCPHelpe","selectedOption","behaviourMeta","lockPinRegEx","isPic18ClkOut","actionArr","getPCPHelper","call","stateActionBuilder","rowWithName","forComponent","addIfLockedSetValue","addIfUnLockedSetValue","build","_iterator","_createForOfIteratorHelper","_step","s","n","done","eachAction","value","lockedState","pin_state","LOCKED","_appModel$getAssigned","meta","to","getAssignedImport","handle","providerId","unlockedState","UNLOCK","_appModel$getAssigned2","err","e","f","extClkSelect","_appModel$getComponen","mclrKey","component","_appModel$getPCPHelpe2","_appModel$getPCPHelpe3","_appModel$getPCPHelpe4","concat","mclrEnable","lvpEnable","selectedMclrOption","selectedLvpOption","isPic18Mclr","isQ10Mclr","_appModel$getPCPHelpe5","_appModel$getPCPHelpe6","_iterator2","_step2","_appModel$getAssigned3","_appModel$getAssigned4","_appModel$getComponen2","_appModel$getPCPHelpe7","actions"],"mappings":";;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;;;;;;;;;;;;;AClFsE;AAIO;AAI7E,IAAMA,aAAa,GAAG,SAAhBA,aAAaA,CACfC,mBAA2C,EACnB;EACxB,IAAMC,IAAI,GAAG,SAAPA,IAAIA,CAAIC,KAAY,EAAqB;IAC3C,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAA,EAA2B;MACnD,OAAAC,aAAA;QACIC,eAAe,EAAEC,oEAAuBA;MAAA,GACrCN,mBAAmB,CAAC,CAAC;IAEhC,CAAC;IACD,OAAOO,6EAAU,CAACL,KAAK,EAAEC,sBAAsB,CAAC;EACpD,CAAC;EACD,OAAOF,IAAI;AACf,CAAC;AAEM,IAAMO,MAAM,GAAGT,aAAa,CAACC,gEAAmB,CAAC,C;;;;;;;;;;;;ACpBxD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiE;AACV;AAEhD,IAAMS,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAA,EAA+B;EAC3D,IAAI;IACA,OAAOC,mBAAO,CAAC,oDAAyB,CAAC;EAC7C,CAAC,CAAC,OAAAC,OAAA,EAAM;IACJ,OAAOC,SAAS;EACpB;AACJ,CAAC;AAEM,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAA,EAAgC;EAC7D,IAAI;IACA,OAAOH,mBAAO,CAAC,kDAAwB,CAAC;EAC5C,CAAC,CAAC,OAAAI,QAAA,EAAM;IACJ,OAAOF,SAAS;EACpB;AACJ,CAAC;AAEM,IAAMN,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAA,EAAmC;EACnE,IAAI;IACA,OAAOI,mBAAO,CAAC,4DAA6B,CAAC;EACjD,CAAC,CAAC,OAAAK,QAAA,EAAM;IACJ,OAAOH,SAAS;EACpB;AACJ,CAAC,C;;;;;;;;;;;;;;;;;;;;;;ACtB0E;AAE3E,IAAMI,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,WAAwB,EAAgB;EAC3D,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,QAAkB,EAAU;IACpD,OAAO,CAAC,CAAC;EACb,CAAC;EACD,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAID,QAAkB,EAAEE,OAAgB,EAAc;IAClE,OAAOA,OAAO;EAClB,CAAC;EACD,OAAO;IACHH,kBAAkB,EAAEA,kBAAkB;IACtCE,UAAU,EAAEA,UAAU;IACtBH,WAAW,EAAEA;EACjB,CAAC;AACL,CAAC;AAGM,IAAMA,WAAW,GAAG,SAAdA,WAAWA,CAAA;EAAA,IAAAK,oBAAA;EAAA,QAAAA,oBAAA,GAAmBb,wEAAmB,CAAC,CAAC,cAAAa,oBAAA,cAAAA,oBAAA,GAAI;IAAEC,IAAI,EAAE;EAAG,CAAC;AAAA;AAEzE,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAA,EAAoB;EACzC,IAAMC,SAAS,GAAGZ,yEAAoB,CAAC,CAAC;EACxC,IAAIY,SAAS,EAAE;IACX,OAAArB,aAAA,CAAAA,aAAA,KACOqB,SAAS;MACZR,WAAW,EAAEA;IAAW;EAEhC,CAAC,MAAM;IACH,OAAOD,aAAa,CAACC,WAAW,CAAC;EACrC;AACJ,CAAC,C;;;;;;;;;;;;ACnCY;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,CAAC,0DAA0D;AAC3D,kC;;;;;;;;;;;;ACRa;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4EAA4E;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0DAA0D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wFAAwF;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,+EAA+E;AAChF;AACA;AACA;AACA;AACA,CAAC,6DAA6D;AAC9D;AACA;AACA;AACA;AACA;AACA,CAAC,0DAA0D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0DAA0D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,uDAAuD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB,2BAA2B;AAC3B,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA,iC;;;;;;;;;;;;ACtQa;AACb;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA,sBAAsB,mBAAO,CAAC,kHAA6B;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,iHAAiH,gBAAgB;AACjI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uHAAuH,gBAAgB;AACvI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE,qCAAqC;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2C;;;;;;;;;;;;ACpLa;AACb;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,oCAAoC,aAAa,EAAE;AACjE;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,yCAAyC,6BAA6B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E,OAAO;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA,6BAA6B,mBAAO,CAAC,kGAAqC;AAC1E,2BAA2B,mBAAO,CAAC,4HAAkC;AACrE,0BAA0B,mBAAO,CAAC,0HAAiC;AACnE,sBAAsB,mBAAO,CAAC,kHAA6B;AAC3D,gBAAgB,mBAAO,CAAC,sGAAuB;AAC/C,gBAAgB,mBAAO,CAAC,sGAAuB;AAC/C,kBAAkB,mBAAO,CAAC,8FAAmB;AAC7C,eAAe,mBAAO,CAAC,4FAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,8BAA8B;AACnE,uCAAuC,gCAAgC;AACvE,uCAAuC,gCAAgC;AACvE,uCAAuC,gCAAgC;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,qBAAqB,EAAE;AACvE,0CAA0C,0BAA0B,EAAE;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,8CAA8C,0BAA0B,EAAE;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA,sDAAsD,4BAA4B;AAClF;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,YAAY,0IAA0I,EAAE;AAC7M,oDAAoD,YAAY,2IAA2I,EAAE;AAC7M,8CAA8C,YAAY,8HAA8H,EAAE;AAC1L,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,oC;;;;;;;;;;;;AC9Pa;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,iBAAiB,EAAE;AAC5E;AACA;AACA;AACA,sDAAsD,8BAA8B,EAAE;AACtF;AACA;AACA;AACA,yDAAyD,8BAA8B,EAAE;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,iC;;;;;;;;;;;;ACvCa;AACb;AACA;AACA;AACA;AACA,cAAc,oCAAoC,aAAa,EAAE;AACjE;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,yCAAyC,6BAA6B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E,OAAO;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA,gBAAgB,mBAAO,CAAC,8FAAmC;AAC3D,eAAe,mBAAO,CAAC,sGAAuC;AAC9D,cAAc,mBAAO,CAAC,4EAAU;AAChC,oCAAoC,mBAAO,CAAC,8GAAqB;AACjE,sBAAsB,mBAAO,CAAC,sGAAiB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,6CAA6C,4BAA4B;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oGAAoG;AACpG;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,qBAAqB;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,CAAC;AACD;AACA,8C;;;;;;;;;;;;AC1Xa;AACb,8CAA8C,cAAc;AAC5D;AACA,kBAAkB,mBAAO,CAAC,kGAAqC;AAC/D,eAAe,mBAAO,CAAC,sGAAuC;AAC9D,0BAA0B,mBAAO,CAAC,8GAAqB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,8C;;;;;;;;;;;;AChCa;AACb;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA,8CAA8C,cAAc;AAC5D;AACA,+CAA+C,mBAAO,CAAC,4HAAkD;AACzG,gBAAgB,mBAAO,CAAC,8FAAmC;AAC3D,eAAe,mBAAO,CAAC,sGAAuC;AAC9D,cAAc,mBAAO,CAAC,4EAAU;AAChC,sBAAsB,mBAAO,CAAC,sGAAiB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kGAAkG;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8GAA8G;AAC9G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,+FAA+F;AAC/F;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8JAA8J;AAC9J,0FAA0F,gBAAgB;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sIAAsI,YAAY,oJAAoJ,EAAE;AACxS;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iLAAiL;AACjL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,YAAY,2dAA2d;AAC5gB;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE,iCAAiC,EAAE;AACrG;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6C;;;;;;;;;;;;AClXa;AACb;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,oCAAoC,aAAa,EAAE;AACjE;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,yCAAyC,6BAA6B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA,oCAAoC,mBAAO,CAAC,8GAAqB;AACjE,eAAe,mBAAO,CAAC,sGAAuC;AAC9D,sBAAsB,mBAAO,CAAC,sGAAiB;AAC/C,cAAc,mBAAO,CAAC,4EAAU;AAChC,2BAA2B,mBAAO,CAAC,gHAAsB;AACzD,0BAA0B,mBAAO,CAAC,8GAAqB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA,uDAAuD,eAAe;AACtE,uDAAuD,eAAe;AACtE;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,iCAAiC,qBAAqB;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+C;;;;;;;;;;;;ACnMa;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,WAAW;AAC/B,oBAAoB,aAAa;AACjC,oBAAoB,WAAW;AAC/B,oBAAoB,MAAM;AAC1B;AACA;AACA;AACA,0C;;;;;;;;;;;;AC/Ba;AACb;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,oBAAoB;AACrE;AACA;AACA,iBAAiB,EAAE;AACnB;AACA;AACA;AACA,iDAAiD,oBAAoB;AACrE;AACA;AACA,iBAAiB,EAAE;AACnB;AACA;AACA;AACA,iDAAiD,oBAAoB,+CAA+C;AACpH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,oBAAoB,qFAAqF;AAC1J;AACA;AACA;AACA;AACA,qDAAqD,oBAAoB;AACzE;AACA;AACA,qBAAqB,EAAE;AACvB;AACA;AACA,qDAAqD,oBAAoB;AACzE;AACA;AACA,qBAAqB,EAAE;AACvB;AACA;AACA,qDAAqD,oBAAoB,qDAAqD;AAC9H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,oBAAoB,sBAAsB;AAC3F;AACA;AACA;AACA,iDAAiD,oBAAoB,oBAAoB;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,yCAAyC,YAAY,iCAAiC,uBAAuB;AAC7G;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA,qBAAqB,EAAE,GAAG;AAC1B;AACA;AACA;AACA,yCAAyC,YAAY,iCAAiC,uBAAuB;AAC7G;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA,qBAAqB,EAAE,GAAG;AAC1B;AACA;AACA;AACA,yCAAyC,YAAY,iCAAiC,uBAAuB;AAC7G;AACA;AACA;AACA;AACA;AACA,qBAAqB,EAAE,GAAG;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,YAAY,qCAAqC;AAC1F;AACA;AACA;AACA,yCAAyC,YAAY,iCAAiC,uBAAuB;AAC7G;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB,EAAE,GAAG;AAC1B;AACA;AACA;AACA;AACA;AACA,6CAA6C,YAAY,iCAAiC,uBAAuB;AACjH;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA,yBAAyB,EAAE,GAAG;AAC9B;AACA;AACA;AACA,6CAA6C,YAAY,iCAAiC,uBAAuB;AACjH;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA,yBAAyB,EAAE,GAAG;AAC9B;AACA;AACA;AACA,6CAA6C,YAAY,iCAAiC,uBAAuB;AACjH;AACA;AACA;AACA;AACA;AACA,yBAAyB,EAAE,GAAG;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,oD;;;;;;;;;;;;AC3Oa;AACb;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA,cAAc,mBAAO,CAAC,4EAAU;AAChC;AACA;AACA;AACA;AACA;AACA,yDAAyD,wBAAwB,uBAAuB,iCAAiC;AACzI,sJAAsJ;AACtJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,sJAAsJ;AACtJ;AACA;AACA,uFAAuF,gBAAgB;AACvG;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,8C;;;;;;;;;;;;ACvEa;AACb;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,oBAAoB;AACzE;AACA;AACA,qBAAqB,EAAE;AACvB;AACA;AACA,qDAAqD,oBAAoB;AACzE;AACA;AACA,qBAAqB,EAAE;AACvB;AACA;AACA,qDAAqD,oBAAoB;AACzE;AACA;AACA,qBAAqB,EAAE;AACvB;AACA;AACA,qDAAqD,oBAAoB;AACzE;AACA;AACA,qBAAqB,EAAE;AACvB;AACA;AACA,qDAAqD,oBAAoB,qDAAqD;AAC9H;AACA;AACA,qDAAqD,oBAAoB,yFAAyF;AAClK;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,oBAAoB;AACrE;AACA;AACA,iBAAiB,EAAE;AACnB;AACA;AACA,iDAAiD,oBAAoB;AACrE;AACA;AACA,iBAAiB,EAAE;AACnB;AACA;AACA,iDAAiD,oBAAoB,0CAA0C;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,oBAAoB,sBAAsB;AAC3F;AACA;AACA;AACA,iDAAiD,oBAAoB,oBAAoB;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,yCAAyC,YAAY,iCAAiC,uBAAuB;AAC7G;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA,qBAAqB,EAAE,GAAG;AAC1B;AACA;AACA;AACA,yCAAyC,YAAY,iCAAiC,uBAAuB;AAC7G;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA,qBAAqB,EAAE,GAAG;AAC1B;AACA;AACA;AACA,yCAAyC,YAAY,iCAAiC,uBAAuB;AAC7G;AACA;AACA;AACA;AACA;AACA,qBAAqB,EAAE,GAAG;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,YAAY,0CAA0C;AAC/F;AACA;AACA;AACA,yCAAyC,YAAY,iCAAiC,uBAAuB;AAC7G;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB,EAAE,GAAG;AAC1B;AACA;AACA;AACA;AACA;AACA,6CAA6C,YAAY,iCAAiC,uBAAuB;AACjH;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA,yBAAyB,EAAE,GAAG;AAC9B;AACA;AACA;AACA,6CAA6C,YAAY,iCAAiC,uBAAuB;AACjH;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA,yBAAyB,EAAE,GAAG;AAC9B;AACA;AACA;AACA,6CAA6C,YAAY,iCAAiC,uBAAuB;AACjH;AACA;AACA;AACA;AACA;AACA,yBAAyB,EAAE,GAAG;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,+C;;;;;;;;;;;;ACvQa;AACb;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA,cAAc,mBAAO,CAAC,4EAAU;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,wBAAwB,kBAAkB,EAAE;AAC7D,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,yC;;;;;;;;;;;;AC3Da;AACb;AACA;AACA;AACA;AACA,cAAc,oCAAoC,aAAa,EAAE;AACjE;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,yCAAyC,6BAA6B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA,iCAAiC,mBAAO,CAAC,yHAAqC;AAC9E,cAAc,mBAAO,CAAC,+EAAa;AACnC,oCAAoC,mBAAO,CAAC,+GAAsB;AAClE,sBAAsB,mBAAO,CAAC,uGAAkB;AAChD,kCAAkC,mBAAO,CAAC,iHAAuB;AACjE,8BAA8B,mBAAO,CAAC,4HAAyB;AAC/D,iBAAiB,mBAAO,CAAC,kGAAY;AACrC,oBAAoB,mBAAO,CAAC,wGAAe;AAC3C,eAAe,mBAAO,CAAC,8FAAU;AACjC,iBAAiB,mBAAO,CAAC,kGAAY;AACrC;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,YAAY,4HAA4H,EAAE;AAC/L;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,YAAY,4HAA4H,EAAE;AAC/L,yDAAyD,YAAY,gIAAgI,EAAE;AACvM,qDAAqD,YAAY,4HAA4H,EAAE;AAC/L,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qHAAqH;AACrH;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,oGAAoG;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,0C;;;;;;;;;;;;AClJa;AACb,8CAA8C,cAAc;AAC5D;AACA,2BAA2B,mBAAO,CAAC,iHAAuB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iD;;;;;;;;;;;;AC1Da;AACb;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA,eAAe,mBAAO,CAAC,+FAAqB;AAC5C,cAAc,mBAAO,CAAC,+EAAa;AACnC,eAAe,mBAAO,CAAC,8FAAU;AACjC,4BAA4B,mBAAO,CAAC,mHAAwB;AAC5D,iCAAiC,mBAAO,CAAC,6HAA6B;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,sCAAsC;AAClG,SAAS;AACT;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACjFa;AACb;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA,eAAe,mBAAO,CAAC,+FAAqB;AAC5C,cAAc,mBAAO,CAAC,+EAAa;AACnC,0BAA0B,mBAAO,CAAC,+GAAsB;AACxD,uBAAuB,mBAAO,CAAC,yGAAmB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA,uC;;;;;;;;;;;;ACpIa;AACb;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E,OAAO;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA,eAAe,mBAAO,CAAC,+FAAqB;AAC5C,cAAc,mBAAO,CAAC,+EAAa;AACnC,0BAA0B,mBAAO,CAAC,+GAAsB;AACxD,4BAA4B,mBAAO,CAAC,mHAAwB;AAC5D,iCAAiC,mBAAO,CAAC,6HAA6B;AACtE,8BAA8B,mBAAO,CAAC,4HAAyB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,0BAA0B;AAC1B;AACA,2GAA2G;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA,8EAA8E;AAC9E,SAAS;AACT;AACA,6FAA6F;AAC7F;AACA,6KAA6K;AAC7K;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iCAAiC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,YAAY,wCAAwC;AAC7F;AACA;AACA,yCAAyC,YAAY,0CAA0C;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,0FAA0F,wBAAwB,EAAE;AACpH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kC;;;;;;;;;;;;AC9Pa;AACb;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA,eAAe,mBAAO,CAAC,+FAAqB;AAC5C,cAAc,mBAAO,CAAC,+EAAa;AACnC,8BAA8B,mBAAO,CAAC,4HAAyB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA,gGAAgG;AAChG;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,gGAAgG;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,uCAAuC,EAAE;AACnF,6CAA6C,uBAAuB,EAAE;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA,+CAA+C,SAAS,uFAAuF;AAC/I,iBAAiB;AACjB,4DAA4D,kCAAkC;AAC9F;AACA;AACA,gEAAgE,sCAAsC,2CAA2C;AACjJ;AACA,SAAS;AACT;AACA;AACA,sDAAsD,4BAA4B;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kGAAkG;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD,kIAAkI;AAClI;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,+BAA+B;AACpF;AACA;AACA;AACA;AACA,yDAAyD,+BAA+B;AACxF;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA,oC;;;;;;;;;;;;ACjLa;AACb;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA,+BAA+B,mBAAO,CAAC,mIAAqC;AAC5E,+BAA+B,mBAAO,CAAC,mIAAqC;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,mC;;;;;;;;;;;;AC9Ba;AACb,8CAA8C,cAAc;AAC5D;AACA,kBAAkB,mBAAO,CAAC,mFAAa;AACvC,2CAA2C,qCAAqC,4BAA4B,EAAE,EAAE;AAChH,gBAAgB,mBAAO,CAAC,+EAAW;AACnC,0CAA0C,qCAAqC,yBAAyB,EAAE,EAAE;AAC5G,iC;;;;;;;;;;;;ACPa;AACb;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA,cAAc,mBAAO,CAAC,4EAAU;AAChC;AACA;AACA;AACA,wIAAwI;AACxI;AACA;AACA;AACA;AACA,+CAA+C,SAAS,sDAAsD;AAC9G,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,6CAA6C;AACzE,KAAK;AACL;AACA;AACA,kD;;;;;;;;;;;;ACpCa;AACb;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA,2BAA2B,mBAAO,CAAC,4HAAkC;AACrE,eAAe,mBAAO,CAAC,sGAAuC;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,6BAA6B,0CAA0C,qBAAqB,mBAAmB;AACtK;AACA,SAAS;AACT;AACA,yIAAyI;AACzI;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,6BAA6B,gCAAgC,gBAAgB,aAAa;AACjJ;AACA;AACA,uDAAuD,6BAA6B,gCAAgC,gBAAgB,0DAA0D;AAC9L;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kD;;;;;;;;;;;;ACtDa;AACb;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA,eAAe,mBAAO,CAAC,sGAAuC;AAC9D,sBAAsB,mBAAO,CAAC,kHAA6B;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qGAAqG;AACrG;AACA;AACA;AACA,wDAAwD,0BAA0B,gCAAgC,wEAAwE,yLAAyL;AACnX;AACA;AACA;AACA;AACA,mFAAmF,wBAAwB,qKAAqK,wKAAwK,EAAE;AAC1b;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B,yBAAyB;AACzB;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kIAAkI,sEAAsE,EAAE;AAC1M;AACA;AACA,CAAC;AACD;AACA,mC;;;;;;;;;;;;ACrIa;AACb;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA,eAAe,mBAAO,CAAC,sGAAuC;AAC9D,0BAA0B,mBAAO,CAAC,0HAAiC;AACnE,yBAAyB,mBAAO,CAAC,wHAAgC;AACjE,cAAc,mBAAO,CAAC,4EAAU;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uHAAuH;AACvH;AACA;AACA,uDAAuD,6BAA6B,yCAAyC,2BAA2B;AACxJ;AACA;AACA;AACA;AACA,qOAAqO;AACrO;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,YAAY,6BAA6B,mBAAmB,iMAAiM,GAAG;AAC7T,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wLAAwL;AACxL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,oGAAoG,2CAA2C,EAAE;AACjJ,wDAAwD,sBAAsB,2CAA2C,qFAAqF,oDAAoD;AAClQ;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,mC;;;;;;;;;;;;AC5Ia;AACb;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA,0BAA0B,mBAAO,CAAC,0HAAiC;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,aAAa,2IAA2I;AACtM;AACA;AACA,8CAA8C,aAAa,iFAAiF;AAC5I;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,aAAa,2IAA2I;AACtM;AACA;AACA,8CAA8C,aAAa,iFAAiF;AAC5I;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4GAA4G,+BAA+B,EAAE;AAC7I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4GAA4G,+BAA+B,EAAE;AAC7I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4C;;;;;;;;;;;;ACrKa;AACb;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA,8BAA8B,mBAAO,CAAC,gHAAyB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,qC;;;;;;;;;;;;AClFa;AACb,8CAA8C,cAAc;AAC5D;AACA,cAAc,mBAAO,CAAC,kGAAqC;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iD;;;;;;;;;;;;AC/Ga;AACb;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA,iBAAiB,mBAAO,CAAC,yFAAgB;AACzC,0BAA0B,mBAAO,CAAC,yHAAgC;AAClE,4BAA4B,mBAAO,CAAC,6HAAkC;AACtE,sBAAsB,mBAAO,CAAC,iHAA4B;AAC1D,uBAAuB,mBAAO,CAAC,+HAAmC;AAClE,wBAAwB,mBAAO,CAAC,mHAA6B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,0CAA0C,qBAAqB,mFAAmF;AAClJ;AACA;AACA,kDAAkD,qBAAqB;AACvE;AACA,4GAA4G;AAC5G;AACA;AACA,kDAAkD,qBAAqB;AACvE;AACA,qaAAqa;AACra;AACA;AACA,kDAAkD,qBAAqB;AACvE;AACA,4GAA4G;AAC5G;AACA;AACA;AACA;AACA;AACA,sDAAsD,qBAAqB,8BAA8B,2BAA2B,wOAAwO,+iCAA+iC;AAC35C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qC;;;;;;;;;;;;AC9Da;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC,SAAS;AACT,sDAAsD,oDAAoD,EAAE;AAC5G;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,yC;;;;;;;;;;;;ACtEa;AACb;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E,OAAO;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA,eAAe,mBAAO,CAAC,sIAAuD;AAC9E,eAAe,mBAAO,CAAC,sGAAuC;AAC9D,sBAAsB,mBAAO,CAAC,kGAAiB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,4CAA4C,EAAE;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,gBAAgB;AAC9D;AACA,aAAa;AACb,2CAA2C,SAAS,yEAAyE;AAC7H;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,oBAAoB;AACvD;AACA;AACA,mBAAmB,iBAAiB;AACpC,uCAAuC,mBAAmB,6DAA6D;AACvH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE,YAAY,uDAAuD;AACzI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,mBAAmB;AAChE;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,uBAAuB,4BAA4B;AACnD;AACA,qDAAqD,wBAAwB,0BAA0B;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,4BAA4B,EAAE;AACtF,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,oBAAoB,EAAE;AACzE;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,sEAAsE;AACtE;AACA,SAAS;AACT,KAAK;AACL,6DAA6D,YAAY,EAAE;AAC3E,mBAAmB,4BAA4B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+HAA+H,uFAAuF,EAAE;AACxN;AACA,uBAAuB,oBAAoB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,4CAA4C,KAAK,qHAAqH,sEAAsE,EAAE,8FAA8F;AACvX,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,UAAU;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,+DAA+D,8BAA8B,iOAAiO;AAC9T;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,aAAa,uCAAuC;AAC1F;AACA;AACA,sCAAsC,aAAa,qCAAqC;AACxF;AACA;AACA,sCAAsC,aAAa,oHAAoH;AACvK;AACA;AACA,sCAAsC,aAAa,oHAAoH;AACvK;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,wBAAwB;AAC9C,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,wBAAwB;AAC9C,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,kC;;;;;;;;;;;;AC9iBa;AACb;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,6DAA6D;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,qBAAqB,wDAAwD;AAChH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,qBAAqB;AACxD,2CAA2C,YAAY,6BAA6B,mBAAmB,8BAA8B,GAAG;AACxI,aAAa,GAAG;AAChB;AACA;AACA;AACA;;;;;;;;;;;;;AC/Ea;AACb;AACA;AACA;AACA,cAAc,gBAAgB,sCAAsC,iBAAiB,EAAE;AACvF,6BAA6B,8EAA8E;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA,4EAA4E,OAAO;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D,gBAAgB,mBAAO,CAAC,sEAAW;AACnC,iBAAiB,mBAAO,CAAC,wEAAY;AACrC,eAAe,mBAAO,CAAC,8EAAe;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,wCAAwC;AACxC,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,qIAAqI,4DAA4D,uDAAuD,EAAE;AAC1P;AACA;AACA,wCAAwC,8DAA8D;AACtG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,0BAA0B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,oCAAoC,mCAAmC;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,6CAA6C;AACzF,oCAAoC,2BAA2B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,sCAAsC,oBAAoB;AAC1D;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,sCAAsC,mCAAmC;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;AC3NY;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACPa;AACb,8CAA8C,cAAc;AAC5D;AACA,eAAe,mBAAO,CAAC,8EAAe;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qKAAqK,8BAA8B,EAAE;AACrM;AACA,qKAAqK,oCAAoC,EAAE;AAC3M;AACA;AACA;AACA;AACA;AACA;AACA,+JAA+J,4BAA4B,EAAE;AAC7L;AACA;AACA;AACA;AACA,6GAA6G,0CAA0C,EAAE;AACzJ;AACA;AACA;AACA;AACA,4GAA4G,oBAAoB,EAAE;AAClI;AACA;AACA;AACA;AACA,4GAA4G,2BAA2B,EAAE;AACzI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACjFa;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wGAAwG,iBAAiB,EAAE;AAC3H;AACA;;;;;;;;;;;;;AC9Ca;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,kCAAkC,EAAE;AAC5E;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACnBa;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC1Ba;AACb,8CAA8C,cAAc;AAC5D,yBAAyB,mBAAO,CAAC,2FAAoB;AACrD;AACA,gBAAgB,mBAAO,CAAC,yEAAW;AACnC;AACA;;;;;;;;;;;;;ACNa;AACb;AACA,4CAA4C;AAC5C;AACA,8CAA8C,cAAc;AAC5D;AACA,gBAAgB,mBAAO,CAAC,8FAAmC;AAC3D,+CAA+C,mBAAO,CAAC,4HAAkD;AACzG,eAAe,mBAAO,CAAC,sGAAuC;AAC9D,0BAA0B,mBAAO,CAAC,wGAAqB;AACvD,cAAc,mBAAO,CAAC,gFAAS;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2JAA2J;AAC3J;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE,uCAAuC,EAAE;AAC/G;AACA;AACA;AACA,uEAAuE,wCAAwC,EAAE;AACjH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,aAAa;AACb,gCAAgC;AAChC,gCAAgC;AAChC;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,aAAa;AACb,gCAAgC;AAChC,gCAAgC;AAChC;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qFAAqF;AACrF;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,eAAe;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;;;;;;;;;;;ACnOa;AACb;AACA,4EAA4E,OAAO;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA,8CAA8C,cAAc;AAC5D;AACA,+CAA+C,mBAAO,CAAC,4HAAkD;AACzG,eAAe,mBAAO,CAAC,sGAAuC;AAC9D,gBAAgB,mBAAO,CAAC,8FAAmC;AAC3D;AACA;AACA;AACA;AACA,yCAAyC,wBAAwB;AACjE;AACA;AACA;AACA,qCAAqC,oBAAoB;AACzD;AACA;AACA;AACA,uCAAuC,QAAQ,iEAAiE;AAChH,0CAA0C,yBAAyB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,wCAAwC,uBAAuB;AAC/D;AACA;AACA,qEAAqE,sCAAsC,EAAE;AAC7G;AACA;AACA;AACA;AACA,wCAAwC,uBAAuB;AAC/D,oCAAoC,4BAA4B;AAChE,2CAA2C,4BAA4B;AACvE,qCAAqC,oBAAoB;AACzD;AACA;AACA;AACA;AACA,mCAAmC,cAAc;AACjD,qDAAqD,mCAAmC,EAAE;AAC1F;AACA,4CAA4C,wEAAwE;AACpH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,cAAc;AACjD;AACA;AACA,0CAA0C,yBAAyB;AACnE,uCAAuC,sBAAsB;AAC7D,oCAAoC,2BAA2B;AAC/D,2CAA2C,kCAAkC;AAC7E,0CAA0C,yCAAyC;AACnF,oCAAoC,mCAAmC;AACvE;AACA;AACA;AACA;AACA,yFAAyF,oBAAoB,EAAE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,iCAAiC,wDAAwD;;;;;;;;;;;;;ACnK5E;AACb;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,iBAAiB,iCAAiC,mCAAmC,sCAAsC;AACrK,4CAA4C,0BAA0B;AACtE;AACA,gDAAgD,0BAA0B;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;;;;;;;;;;;AClIa;AACb;AACA;AACA,kCAAkC,oCAAoC,aAAa,EAAE,EAAE;AACvF,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,yCAAyC,6BAA6B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA,kCAAkC,mBAAO,CAAC,sFAA0B;AACpE,cAAc,mBAAO,CAAC,wFAAiB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,wCAAwC;AAC9D;AACA;;;;;;;;;;;;;ACvCa;AACb,8CAA8C,cAAc;AAC5D,iCAAiC,mBAAO,CAAC,sHAA4B;AACrE,6CAA6C,qCAAqC,6CAA6C,EAAE,EAAE;AACnI,iDAAiD,qCAAqC,iDAAiD,EAAE,EAAE;AAC3I,kDAAkD,qCAAqC,kDAAkD,EAAE,EAAE;AAC7I,2DAA2D,qCAAqC,2DAA2D,EAAE,EAAE;;;;;;;;;;;;;ACNlJ;AACb,8CAA8C,cAAc;AAC5D;AACA,YAAY,mBAAO,CAAC,4EAAO;AAC3B;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,gBAAgB;AAChB;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA,yBAAyB;AACzB;AACA,qBAAqB;AACrB;AACA;AACA;AACA,4DAA4D;AAC5D,gDAAgD;AAChD,oSAAoS,kDAAkD,qBAAqB,yCAAyC,6BAA6B;AACjb;AACA,qBAAqB;AACrB;AACA,aAAa;AACb,SAAS;AACT;AACA;;;;;;;;;;;;;AClCa;AACb;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,QAAQ;AACzD,wCAAwC,QAAQ;AAChD,wDAAwD,QAAQ;AAChE;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA,aAAa,mBAAO,CAAC,8EAAQ;AAC7B,YAAY,mBAAO,CAAC,4EAAO;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sEAAsE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,+BAA+B;AACxF;AACA;AACA,qDAAqD,gBAAgB;AACrE;AACA;AACA;AACA,qDAAqD,cAAc,2CAA2C;AAC9G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,+BAA+B;AACxF;AACA;AACA,0DAA0D,gBAAgB;AAC1E;AACA;AACA;AACA,qDAAqD,cAAc,0CAA0C;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/FoD;AAE7C,IAAMS,eAAe,gBAAAC,YAAA;AAWL;;AAEnB,SAAAD,gBACIE,SAAiB,EACjBC,aAAqB,EACrBC,WAAmB,EACnBC,UAAkB,EACpB;EAAA,IAAAC,KAAA;EAAAC,eAAA,OAAAP,eAAA;EAAAQ,eAAA,mBAjBiB,OAAO;EAAAA,eAAA,mBACP,QAAQ;EAAAA,eAAA,yBACF,OAAO;EAAAA,eAAA,eACjB,OAAO;EAAAA,eAA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","file":"creator.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./generated_module/src/creator.ts\");\n","import { create as autoCreate } from \"@microchip/scf-automodule-impl\";\nimport { State } from \"@microchip/scf-automodule-impl/lib/creator\";\nimport { CreatorFunctions } from \"@microchip/melody-automodule-interface\";\nimport * as Creator from \"@microchip/scf-common/lib/Creator\";\nimport { getModuleConfigFromFile, getCreatorFunctions } from \"./getUserData\";\n\nexport type LegacyCreatorFunction = (state: State) => Creator.Module;\n\nconst createCreator = (\n getCreatorFunctions: () => CreatorFunctions,\n): LegacyCreatorFunction => {\n const hook = (state: State): Creator.Module => {\n const creatorFunctionsGetter = (): CreatorFunctions => {\n return {\n getModuleConfig: getModuleConfigFromFile,\n ...getCreatorFunctions(),\n };\n };\n return autoCreate(state, creatorFunctionsGetter);\n };\n return hook;\n};\n\nexport const create = createCreator(getCreatorFunctions);\n","import { ModuleConfig } from \"@microchip/melody-automodule-interface/lib/src/ModuleConfig\";\nimport { PinsData } from \"@microchip/melody-automodule-interface/lib/src/pins\";\nimport { PinsLogic } from \"@microchip/melody-automodule-interface/lib/src/types\";\nexport { getCreatorFunctions } from \"../../src/CreatorFunctions\";\nexport { getDerivedData } from \"../../src/DerivedData\";\n\nexport const getPinsDataFromFile = (): PinsData | undefined => {\n try {\n return require(\"../../src/pinsdata.json\");\n } catch {\n return undefined;\n }\n};\n\nexport const getPinsLogicFromFile = (): PinsLogic | undefined => {\n try {\n return require(\"../../src/PinsLogic.ts\");\n } catch {\n return undefined;\n }\n};\n\nexport const getModuleConfigFromFile = (): ModuleConfig | undefined => {\n try {\n return require(\"../../src/moduleConfig.json\");\n } catch {\n return undefined;\n }\n};\n","import { pin_row } from \"@microchip/pins-interface/lib/types\";\nimport { PinsData } from \"@microchip/melody-automodule-interface/lib/src/pins\";\nimport {\n AppModel,\n PinsLogic,\n} from \"@microchip/melody-automodule-interface/lib/src/types\";\nimport { getPinsDataFromFile, getPinsLogicFromFile } from \"../getUserData\";\n\nconst mockPinsLogic = (getPinsData: GetPinsData): PinsLogic => {\n const getCompletePinData = (appModel: AppModel): any => {\n return {};\n };\n const getRowData = (appModel: AppModel, rowData: pin_row): pin_row => {\n return rowData;\n };\n return {\n getCompletePinData: getCompletePinData,\n getRowData: getRowData,\n getPinsData: getPinsData,\n };\n};\n\ntype GetPinsData = typeof getPinsData;\nexport const getPinsData = (): PinsData => getPinsDataFromFile() ?? { rows: [] };\n\nexport const getPinsLogic = (): PinsLogic => {\n const pinsLogic = getPinsLogicFromFile();\n if (pinsLogic) {\n return {\n ...pinsLogic,\n getPinsData: getPinsData,\n };\n } else {\n return mockPinsLogic(getPinsData);\n }\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RowPrefix = void 0;\nvar RowPrefix;\n(function (RowPrefix) {\n RowPrefix[\"Default\"] = \"defaultRow_\";\n RowPrefix[\"Dynamic\"] = \"dynamicRow_\";\n})(RowPrefix = exports.RowPrefix || (exports.RowPrefix = {}));\n//# sourceMappingURL=Tables.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.data_schema = exports.PIN_ARCH = exports.behaviour = exports.direction = exports.actiontype = exports.pin_attribs_enum = exports.pin_interrupts_enum = exports.pin_state = exports.QueryAdapterKey = void 0;\nvar QueryAdapterKey;\n(function (QueryAdapterKey) {\n QueryAdapterKey[\"ALLPINS\"] = \"allpins\";\n QueryAdapterKey[\"ALLPINS_FOR_ATTRIBS\"] = \"allpins_for_attribs\";\n QueryAdapterKey[\"PPS\"] = \"pps\";\n QueryAdapterKey[\"APFCON\"] = \"apfcon\";\n QueryAdapterKey[\"PORTMUX\"] = \"portmux\";\n QueryAdapterKey[\"HASPPS\"] = \"hasPPS\";\n})(QueryAdapterKey = exports.QueryAdapterKey || (exports.QueryAdapterKey = {}));\nvar pin_state;\n(function (pin_state) {\n pin_state[\"EMPTY\"] = \"E\";\n pin_state[\"LOCKED\"] = \"L\";\n pin_state[\"UNLOCK\"] = \"UL\";\n pin_state[\"DiSABLE_LOCK\"] = \"DL\";\n pin_state[\"UNLOCKED_DISABLED\"] = \"DUL\";\n pin_state[\"LOCKED_LINK\"] = \"LL\";\n pin_state[\"UNLOCKED_MUX\"] = \"MUL\";\n pin_state[\"LOCKED_CONFLICT\"] = \"CL\";\n})(pin_state = exports.pin_state || (exports.pin_state = {}));\nvar pin_interrupts_enum;\n(function (pin_interrupts_enum) {\n pin_interrupts_enum[\"INTDIS_BUFFEN\"] = \"INTDIS_BUFFEN\";\n pin_interrupts_enum[\"BOTH_EDGES\"] = \"BOTH_EDGES\";\n pin_interrupts_enum[\"RISING_EDGE\"] = \"RISING_EDGE\";\n pin_interrupts_enum[\"FALLING_EDGE\"] = \"FALLING_EDGE\";\n pin_interrupts_enum[\"NONE\"] = \"NONE\";\n pin_interrupts_enum[\"LOW_LEVEL\"] = \"LOW_LEVEL\";\n})(pin_interrupts_enum = exports.pin_interrupts_enum || (exports.pin_interrupts_enum = {}));\nvar pin_attribs_enum;\n(function (pin_attribs_enum) {\n pin_attribs_enum[\"aliasReEx\"] = \"aliasReEx\";\n pin_attribs_enum[\"cname\"] = \"cname\";\n pin_attribs_enum[\"high\"] = \"high\";\n pin_attribs_enum[\"inv\"] = \"inv\";\n pin_attribs_enum[\"wpu\"] = \"wpu\";\n pin_attribs_enum[\"wpd\"] = \"wpd\";\n pin_attribs_enum[\"od\"] = \"od\";\n pin_attribs_enum[\"analog\"] = \"analog\";\n pin_attribs_enum[\"ioc\"] = \"ioc\";\n pin_attribs_enum[\"intcallback\"] = \"intcallback\";\n pin_attribs_enum[\"alias\"] = \"alias\";\n pin_attribs_enum[\"advInpBuff\"] = \"advInpBuff\";\n})(pin_attribs_enum = exports.pin_attribs_enum || (exports.pin_attribs_enum = {}));\nvar actiontype;\n(function (actiontype) {\n actiontype[\"SETACTION\"] = \"SETACTION\";\n actiontype[\"ATTRIBACTION\"] = \"ATTRIBACTION\";\n})(actiontype = exports.actiontype || (exports.actiontype = {}));\nvar direction;\n(function (direction) {\n direction[\"output\"] = \"output\";\n direction[\"input\"] = \"input\";\n direction[\"bidirectional\"] = \"bidirectional\";\n})(direction = exports.direction || (exports.direction = {}));\nvar behaviour;\n(function (behaviour) {\n behaviour[\"LOCK_UNLOCK\"] = \"LOCK_UNLOCK\";\n behaviour[\"ALWAYS_LOCKED\"] = \"ALWAYS_LOCKED\";\n behaviour[\"SINGLE_PIN_MUX\"] = \"SINGLE_PIN_MUX\";\n behaviour[\"OPTIONAL_PIN_MUX\"] = \"OPTIONAL_PIN_MUX\";\n behaviour[\"PPS\"] = \"PPS\";\n behaviour[\"APFCON\"] = \"APFCON\";\n behaviour[\"PORTMUX\"] = \"PORTMUX\";\n behaviour[\"EXCLUSIVE_LOCK\"] = \"EXCLUSIVE_LOCK\";\n behaviour[\"LOCKED_DISABLED\"] = \"LOCKED_DISABLED\";\n})(behaviour = exports.behaviour || (exports.behaviour = {}));\nvar PIN_ARCH;\n(function (PIN_ARCH) {\n PIN_ARCH[\"PIC18F\"] = \"PIC18F\";\n PIN_ARCH[\"AVR8\"] = \"AVR8\";\n PIN_ARCH[\"PIC16F\"] = \"PIC16F\";\n PIN_ARCH[\"PIC24F\"] = \"PIC24F\";\n})(PIN_ARCH = exports.PIN_ARCH || (exports.PIN_ARCH = {}));\n//------------------------------------ schema ------------------------------------//\nexports.data_schema = {\n $schema: \"http://json-schema.org/draft-07/schema#\",\n $ref: \"#/definitions/intf_data\",\n definitions: {\n intf_data: {\n type: \"object\",\n properties: {\n rows: {\n type: \"array\",\n items: {\n $ref: \"#/definitions/pin_row\",\n },\n },\n },\n required: [\"rows\"],\n additionalProperties: false,\n },\n pin_row: {\n type: \"object\",\n properties: {\n name: {\n type: \"string\",\n },\n module: {\n type: \"string\",\n },\n function: {\n type: \"string\",\n },\n direction: {\n $ref: \"#/definitions/direction\",\n },\n filter: {\n $ref: \"#/definitions/filter\",\n },\n behaviour: {\n $ref: \"#/definitions/behaviour\",\n },\n behaviourMeta: {\n $ref: \"#/definitions/behaviourMeta\",\n },\n attribs: {\n type: \"array\",\n items: {\n $ref: \"#/definitions/pin_attribs\",\n },\n },\n groupsdata: {\n $ref: \"#/definitions/pingroups_data\",\n },\n actions: {},\n },\n required: [\"name\", \"module\", \"function\", \"direction\", \"filter\", \"behaviour\"],\n additionalProperties: false,\n },\n direction: {\n type: \"string\",\n enum: [\"output\", \"input\", \"bidirectional\"],\n },\n filter: {\n type: \"object\",\n properties: {\n module: {\n type: \"string\",\n },\n aliasReEx: {\n type: \"string\",\n },\n },\n required: [\"module\", \"aliasReEx\"],\n additionalProperties: false,\n },\n behaviour: {\n type: \"string\",\n enum: [\n \"LOCK_UNLOCK\",\n \"ALWAYS_LOCKED\",\n \"SINGLE_PIN_MUX\",\n \"OPTIONAL_PIN_MUX\",\n \"PPS\",\n \"PORTMUX\",\n \"EXCLUSIVE_LOCK\",\n \"LOCKED_DISABLED\",\n ],\n },\n behaviourMeta: {\n type: \"object\",\n properties: {\n lockPinRegEx: {\n type: \"string\",\n },\n },\n required: [\"lockPinRegEx\"],\n additionalProperties: false,\n },\n pin_attribs: {\n type: \"object\",\n properties: {\n aliasReEx: {\n type: \"string\",\n },\n cname: {\n type: \"string\",\n },\n high: {\n type: \"boolean\",\n },\n inv: {\n type: \"boolean\",\n },\n wpu: {\n type: \"boolean\",\n },\n wpd: {\n type: \"boolean\",\n },\n od: {\n type: \"boolean\",\n },\n analog: {\n type: \"boolean\",\n },\n ioc: {\n $ref: \"#/definitions/pin_interrupts_enum\",\n },\n bidirection_out: {\n type: \"boolean\",\n },\n },\n required: [\"aliasReEx\"],\n additionalProperties: false,\n },\n pin_interrupts_enum: {\n type: \"string\",\n enum: [\n \"INTDIS_BUFFEN\",\n \"BOTH_EDGES\",\n \"RISING_EDGE\",\n \"FALLING_EDGE\",\n \"NONE\",\n \"LOW_LEVEL\",\n ],\n },\n pingroups_data: {\n type: \"object\",\n properties: {\n groups: {\n type: \"array\",\n items: {\n $ref: \"#/definitions/pins_group\",\n },\n },\n },\n required: [\"groups\"],\n additionalProperties: false,\n },\n pins_group: {\n type: \"object\",\n properties: {\n name: {\n type: \"string\",\n },\n filter: {\n $ref: \"#/definitions/grpfilter\",\n },\n datapath: {\n type: \"string\",\n },\n },\n required: [\"name\", \"filter\"],\n additionalProperties: false,\n },\n grpfilter: {\n type: \"object\",\n properties: {\n aliasReEx: {\n type: \"string\",\n },\n },\n required: [\"aliasReEx\"],\n additionalProperties: false,\n },\n },\n};\n//# sourceMappingURL=types.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.logAnalytics = exports.getAnalyticsDefault = void 0;\nvar getConfigData_1 = require(\"../autoModule/getConfigData\");\nvar getAnalyticsDefault = function (model) {\n var logAlwaysComps = [];\n var stateChangeComps = [];\n return (0, exports.logAnalytics)(model, stateChangeComps, logAlwaysComps);\n};\nexports.getAnalyticsDefault = getAnalyticsDefault;\nvar logAnalytics = function (model, logAlwaysComps, logOnChangeComps) {\n var _a, _b;\n var retData = {};\n var moduleconfig = (0, getConfigData_1.getConfigData)(model);\n var alwaysCompsDesired = (_a = moduleconfig.analytics) === null || _a === void 0 ? void 0 : _a.logAlwaysComps.concat(logAlwaysComps !== null && logAlwaysComps !== void 0 ? logAlwaysComps : []);\n retData = logAlwaysStaticAndDynamicData(model, moduleconfig, alwaysCompsDesired);\n var onChangeCompsDesired = (_b = moduleconfig.analytics) === null || _b === void 0 ? void 0 : _b.logOnChangeComps.concat(logOnChangeComps !== null && logOnChangeComps !== void 0 ? logOnChangeComps : []);\n var moduleState = model.getState();\n retData = __assign(__assign({}, retData), logOnChangeStaticAndDynamicData(moduleconfig, model, moduleState, onChangeCompsDesired));\n return retData;\n};\nexports.logAnalytics = logAnalytics;\nvar logAlwaysStaticAndDynamicData = function (model, moduleconfig, alwaysCompsDesired) {\n var _a, _b, _c;\n var retData = {};\n for (var _i = 0, _d = alwaysCompsDesired !== null && alwaysCompsDesired !== void 0 ? alwaysCompsDesired : []; _i < _d.length; _i++) {\n var eachDesiredComp = _d[_i];\n var correctMapping = void 0;\n var allComps = model.getAutoModuleAppModel().getAllComponents();\n var compObj = void 0;\n var resultantAnalyticsKey = void 0;\n if (eachDesiredComp !== \"*\") {\n compObj = (_a = allComps[eachDesiredComp]) === null || _a === void 0 ? void 0 : _a.component;\n if (compObj === undefined || !isCompCategoryAllowed(compObj))\n continue;\n correctMapping = (_b = moduleconfig.analytics) === null || _b === void 0 ? void 0 : _b.compMapping[eachDesiredComp];\n resultantAnalyticsKey = !correctMapping\n ? compObj.category === \"hardware\"\n ? formRegUndercSettNameForComp(compObj)\n : eachDesiredComp\n : correctMapping;\n var value = model.getComponentValue(eachDesiredComp);\n if (value !== undefined) {\n retData[resultantAnalyticsKey] = value;\n }\n }\n else {\n for (var eachCompName in allComps) {\n correctMapping = (_c = moduleconfig.analytics) === null || _c === void 0 ? void 0 : _c.compMapping[eachCompName];\n compObj = allComps[eachCompName].component;\n if (!isCompCategoryAllowed(compObj))\n continue;\n resultantAnalyticsKey = !correctMapping\n ? compObj.category === \"hardware\"\n ? formRegUndercSettNameForComp(compObj)\n : eachCompName\n : correctMapping;\n retData[resultantAnalyticsKey] = model.getComponentValue(eachCompName);\n }\n break;\n }\n }\n return retData;\n};\nvar formRegUndercSettNameForComp = function (compObj) {\n var regUndcSettingName = \"\";\n var compCategory = compObj.category;\n var compSetting = compCategory === \"hardware\" ? compObj.setting : \"\";\n var regName = getRegNameFromCompSettName(compObj.name, compSetting);\n if (regName === \"\") {\n regUndcSettingName = compSetting;\n }\n else if (compSetting === \"\") {\n regUndcSettingName = regName;\n }\n else {\n regUndcSettingName = regName + \"_\" + compSetting;\n }\n return regUndcSettingName;\n};\nvar getRegNameFromCompSettName = function (compName, settingName) {\n var regNameCaps = \"\";\n var compNameCaps = compName.toUpperCase();\n var settingNameCaps = settingName.toUpperCase();\n regNameCaps = compNameCaps.replace(settingNameCaps, \"\");\n return regNameCaps;\n};\nvar logOnChangeStaticAndDynamicData = function (moduleconfig, model, moduleState, onChangeCompsDesired) {\n var _a, _b;\n if (!onChangeCompsDesired || onChangeCompsDesired.length === 0)\n return {};\n var retData = logOnChangeDependencyComps(onChangeCompsDesired, model, moduleconfig);\n for (var eachCategoryKey in moduleState) {\n for (var eachSubCategoryKey in moduleState[eachCategoryKey]) {\n for (var eachChangedCompKey in moduleState[eachCategoryKey][eachSubCategoryKey]) {\n if ((onChangeCompsDesired === null || onChangeCompsDesired === void 0 ? void 0 : onChangeCompsDesired.indexOf(eachChangedCompKey)) !== -1 ||\n (onChangeCompsDesired === null || onChangeCompsDesired === void 0 ? void 0 : onChangeCompsDesired.indexOf(\"*\")) !== -1) {\n var correctMapping = (_a = moduleconfig.analytics) === null || _a === void 0 ? void 0 : _a.compMapping[eachChangedCompKey];\n var allComps = model.getAutoModuleAppModel().getAllComponents();\n var compObj = (_b = allComps[eachChangedCompKey]) === null || _b === void 0 ? void 0 : _b.component;\n if (compObj === undefined || !isCompCategoryAllowed(compObj))\n continue;\n var resultantAnalyticsKey = !correctMapping\n ? compObj.category === \"hardware\"\n ? formRegUndercSettNameForComp(compObj)\n : eachChangedCompKey\n : correctMapping;\n retData[resultantAnalyticsKey] =\n moduleState[eachCategoryKey][eachSubCategoryKey][eachChangedCompKey];\n }\n }\n }\n }\n return retData;\n};\nvar consolidateDependencyCompNames = function (onChangeCompsDesired, model) {\n var _a, _b;\n var consolidatedCompNames = [];\n var allComps = model.getAutoModuleAppModel().getAllComponents();\n for (var _i = 0, _c = onChangeCompsDesired !== null && onChangeCompsDesired !== void 0 ? onChangeCompsDesired : []; _i < _c.length; _i++) {\n var eachDesCompName = _c[_i];\n var compObj = (_a = allComps[eachDesCompName]) === null || _a === void 0 ? void 0 : _a.component;\n if (eachDesCompName !== \"*\" && (compObj === null || compObj === void 0 ? void 0 : compObj.category) === \"import\") {\n consolidatedCompNames.push(eachDesCompName);\n }\n else if (eachDesCompName === \"*\") {\n consolidatedCompNames = [];\n for (var eachcompKey in allComps) {\n compObj = (_b = allComps[eachcompKey]) === null || _b === void 0 ? void 0 : _b.component;\n if ((compObj === null || compObj === void 0 ? void 0 : compObj.category) === \"import\") {\n consolidatedCompNames.push(compObj.name);\n }\n }\n break;\n }\n }\n return consolidatedCompNames;\n};\nvar logOnChangeDependencyComps = function (onChangeCompsDesired, model, moduleconfig) {\n var _a, _b, _c;\n var result = {};\n var allComps = model.getAutoModuleAppModel().getAllComponents();\n //stage 1 - consolidating all desired comps\n var consolidatedCompNames = consolidateDependencyCompNames(onChangeCompsDesired, model);\n //stage 2 - populating the analytics data for consolidated dep comps - stage\n for (var _i = 0, consolidatedCompNames_1 = consolidatedCompNames; _i < consolidatedCompNames_1.length; _i++) {\n var eachCompName = consolidatedCompNames_1[_i];\n var correctMapping = (_b = (_a = moduleconfig.analytics) === null || _a === void 0 ? void 0 : _a.compMapping[eachCompName]) !== null && _b !== void 0 ? _b : eachCompName;\n var compObj = (_c = allComps[eachCompName]) === null || _c === void 0 ? void 0 : _c.component;\n if ((compObj === null || compObj === void 0 ? void 0 : compObj.category) !== \"import\")\n continue;\n var value = getDependencyCompValueForOnChange(compObj, model);\n if (value)\n result[correctMapping] = value;\n }\n return result;\n};\nvar getDependencyCompValueForOnChange = function (compObj, model) {\n var _a;\n var result = (_a = model.getImports()[compObj.importId].handle) === null || _a === void 0 ? void 0 : _a.label;\n return result;\n};\nvar isCompCategoryAllowed = function (compObj) {\n return (compObj !== undefined &&\n (compObj.category === \"hardware\" ||\n compObj.category === \"software\" ||\n compObj.category === \"import\" ||\n compObj.category === \"table\"));\n};\n//# sourceMappingURL=AnalyticsHelper.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getModel = void 0;\nvar Processor = __importStar(require(\"@microchip/scf-common/lib/Processor\"));\nvar AutoModuleAppModel_1 = require(\"../autoModule/AutoModuleAppModel\");\nvar AutoModuleHelpers_1 = require(\"../autoModule/AutoModuleHelpers\");\nvar getConfigData_1 = require(\"../autoModule/getConfigData\");\nvar exports_1 = require(\"../interfaces/exports\");\nvar imports_1 = require(\"../interfaces/imports\");\nvar PCPHelper_1 = require(\"../pins/PCPHelper\");\nvar tables_1 = require(\"../tables/tables\");\nvar getModel = function (prototype, getDerivedData) {\n return new MyAppModel(prototype, getDerivedData);\n};\nexports.getModel = getModel;\nvar MyAppModel = /** @class */ (function () {\n function MyAppModel(prototype, getDerivedData) {\n var _this = this;\n this.getState = function () { return _this.prototype.state; };\n this.getPayload = function () { return _this.prototype.payload; };\n this.getImports = function () { return _this.prototype.imports; };\n this.getExports = function () { return _this.prototype.exports; };\n this.getName = function () {\n return _this.getAutoModuleAppModel().getModuleName();\n };\n this.getCategory = function () {\n return _this.getAutoModuleAppModel().getModuleCategory();\n };\n this.getActiveName = function () {\n var _a, _b, _c;\n return (_c = (_b = (_a = _this.getDerivedFunctions()).getActiveName) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : _this.getName();\n };\n this.getGlobalNames = function () {\n var _a, _b, _c;\n return (_c = (_b = (_a = _this.getDerivedFunctions()).getGlobalNames) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : [];\n };\n this.getAutoModuleAppModel = function () {\n if (_this.autoModuleAppModel)\n return _this.autoModuleAppModel;\n _this.autoModuleAppModel = (0, AutoModuleAppModel_1.createAutoModuleAppModel)(_this);\n return _this.autoModuleAppModel;\n };\n this.getPrototypeModule = function () {\n return _this.prototype;\n };\n this.getRegisterValues = function (interfaceName) {\n if (_this.registerValues)\n return _this.registerValues;\n _this.registerValues = (0, AutoModuleHelpers_1.getRegisterValues)(_this, interfaceName);\n return _this.registerValues;\n };\n this.getInterrupts = function () {\n var _a, _b;\n if (_this.interrupts)\n return _this.interrupts;\n _this.interrupts = (_b = (_a = _this.getHardware()) === null || _a === void 0 ? void 0 : _a.getPeripheral()) === null || _b === void 0 ? void 0 : _b.interrupts;\n return _this.interrupts;\n };\n this.getProperties = function () {\n var _a, _b;\n if (_this.properties)\n return _this.properties;\n _this.properties = (_b = (_a = _this.getHardware()) === null || _a === void 0 ? void 0 : _a.getPeripheral()) === null || _b === void 0 ? void 0 : _b.properties;\n return _this.properties;\n };\n this.getRegisters = function () {\n var _a, _b;\n if (_this.registers)\n return _this.registers;\n _this.registers = (_b = (_a = _this.getHardware()) === null || _a === void 0 ? void 0 : _a.getPeripheral()) === null || _b === void 0 ? void 0 : _b.registers;\n return _this.registers;\n };\n this.getHardware = function (interfaceName) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;\n interfaceName = (0, AutoModuleHelpers_1.getFriendlyInterfaceId)(interfaceName);\n if (interfaceName) {\n var peripheral_1 = (_c = (_b = (_a = _this.getPrototypeModule()) === null || _a === void 0 ? void 0 : _a.imports) === null || _b === void 0 ? void 0 : _b[interfaceName]) === null || _c === void 0 ? void 0 : _c.payload;\n if (!peripheral_1)\n return undefined;\n return {\n getPeripheral: function () { return peripheral_1; },\n getName: function () { return peripheral_1.name; },\n instanceNumber: Number((_d = peripheral_1.instance) !== null && _d !== void 0 ? _d : peripheral_1.name.replace(peripheral_1.group, \"\")),\n };\n }\n if (!_this.defaultHardware) {\n var peripheralName = (0, AutoModuleHelpers_1.getFriendlyInterfaceId)((_g = (_f = (_e = (0, getConfigData_1.getConfigData)(_this)) === null || _e === void 0 ? void 0 : _e.peripherals) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.interfaceId.name);\n var peripheral_2 = (_k = (_j = (_h = _this.getPrototypeModule()) === null || _h === void 0 ? void 0 : _h.imports) === null || _j === void 0 ? void 0 : _j[peripheralName !== null && peripheralName !== void 0 ? peripheralName : \"\"]) === null || _k === void 0 ? void 0 : _k.payload;\n if (peripheral_2) {\n _this.defaultHardware = {\n getPeripheral: function () {\n return peripheral_2;\n },\n getName: function () { return peripheral_2.name; },\n instanceNumber: Number((_l = peripheral_2.instance) !== null && _l !== void 0 ? _l : peripheral_2.name.replace(peripheral_2.group, \"\")),\n };\n }\n }\n return _this.defaultHardware;\n };\n this.getPeripheralDescription = function () {\n var _a;\n return (_a = _this.getHardware()) === null || _a === void 0 ? void 0 : _a.getPeripheral();\n };\n this.getDerivedData = function () {\n if (_this.derivedData)\n return _this.derivedData;\n _this.derivedData = _this.getDerivedDataFunction(_this);\n return _this.derivedData;\n };\n this.getDerivedFunctions = function () {\n return _this.getDerivedData().getMyFunctions();\n };\n this.getDerivedFunction = function (functionName) {\n var _a, _b;\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n return (_b = (_a = _this.getDerivedFunctions()) === null || _a === void 0 ? void 0 : _a[functionName]) === null || _b === void 0 ? void 0 : _b.call.apply(_b, __spreadArray([_a], args, false));\n };\n this.getExportInterfaces = function () {\n if (_this.exportInterfaces)\n return _this.exportInterfaces;\n _this.exportInterfaces = (0, exports_1.createExportInterfaces)(_this.prototype.exports, _this);\n return _this.exportInterfaces;\n };\n this.getImportInterfaces = function () {\n if (_this.importInterfaces)\n return _this.importInterfaces;\n _this.importInterfaces = (0, imports_1.createImportInterfaces)(_this.prototype.imports, _this);\n return _this.importInterfaces;\n };\n this.isControlledByInterface = function (componentName) {\n var _a;\n return ((_a = _this.getExportInterfaces()) === null || _a === void 0 ? void 0 : _a.isControlledByInterface(componentName)) == true;\n };\n this.getAssignedImport = function (importName) {\n var _a;\n if (((_a = _this.prototype.imports) === null || _a === void 0 ? void 0 : _a[importName]) &&\n Processor.isAssigned(_this.prototype.imports[importName])) {\n return _this.prototype.imports[importName];\n }\n return undefined;\n };\n this.getImportValue = function (importName) {\n var _a;\n return (_a = _this.getAssignedImport(importName)) === null || _a === void 0 ? void 0 : _a.payload;\n };\n this.filterImportBySetting = function (populatedImports, importKey, optionFilter) {\n var _a;\n var filteredImports = __assign({}, populatedImports);\n if (populatedImports[importKey]) {\n filteredImports = __assign(__assign({}, filteredImports), (_a = {}, _a[importKey] = Processor.filterOptions(populatedImports[importKey], function (option) {\n return optionFilter(option);\n }), _a));\n }\n return filteredImports;\n };\n this.isComponentValue = function (componentName) {\n var _a;\n var value = _this.getComponentValue(componentName);\n var regex = new RegExp(\"enabled?\");\n var isValue = false;\n if (value) {\n if (typeof value === \"string\") {\n if (value === \"true\") {\n isValue = true;\n }\n else if (value === \"false\") {\n isValue = false;\n }\n else {\n isValue = regex.test((_a = String(value)) === null || _a === void 0 ? void 0 : _a.toLowerCase());\n }\n }\n else if (typeof value === \"boolean\") {\n isValue = value;\n }\n else {\n isValue = false;\n }\n }\n else {\n isValue = false;\n }\n return isValue;\n };\n this.getComponent = function (componentName) {\n return _this.getAutoModuleAppModel().getComponent(componentName);\n };\n this.getPCPHelper = function () {\n if (!_this.pcpHelper) {\n _this.pcpHelper = new PCPHelper_1.PCPHelper();\n _this.pcpHelper.setCallbacks({\n getCompletePinData: function () { var _a, _b; return (_b = (_a = _this.getDerivedFunctions()).getPinsLogic) === null || _b === void 0 ? void 0 : _b.call(_a).getCompletePinData(_this); },\n getRowData: function (rowData) { var _a, _b; return (_b = (_a = _this.getDerivedFunctions()).getPinsLogic) === null || _b === void 0 ? void 0 : _b.call(_a).getRowData(_this, rowData); },\n getPinsData: function () { var _a, _b; return (_b = (_a = _this.getDerivedFunctions()).getPinsLogic) === null || _b === void 0 ? void 0 : _b.call(_a).getPinsData(); },\n });\n }\n return _this.pcpHelper;\n };\n this.getTableHelpers = tables_1.getTableHelpers;\n this.prototype = prototype;\n this.getDerivedDataFunction = getDerivedData;\n }\n MyAppModel.prototype.getComponentValue = function (componentName) {\n return this.getAutoModuleAppModel().getComponentValue(componentName);\n };\n return MyAppModel;\n}());\n//# sourceMappingURL=AppModel.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toDictionary = exports.assertNotNull = exports.map = exports.forEach = exports.values = exports.getKeys = void 0;\n/** @returns the non-prototype keys of the given object */\nvar getKeys = function (obj) {\n return Object.getOwnPropertyNames(obj);\n};\nexports.getKeys = getKeys;\n/**\n * Gets the values of a map as a list\n * @param obj\n * @returns\n */\nvar values = function (obj) {\n return (0, exports.getKeys)(obj).map(function (key) { return obj[key]; });\n};\nexports.values = values;\nvar forEach = function (obj, action) {\n (0, exports.getKeys)(obj).forEach(function (key) { return action(key, obj[key]); });\n};\nexports.forEach = forEach;\nvar map = function (obj, mapper) {\n return (0, exports.getKeys)(obj).map(function (key) { return mapper(key, obj[key]); });\n};\nexports.map = map;\nvar assertNotNull = function (val, msg) {\n if (val == null) {\n throw new Error(msg);\n }\n};\nexports.assertNotNull = assertNotNull;\nvar toDictionary = function (arr, keyMapper, valueMapper) {\n var result = {};\n arr.forEach(function (entry) {\n result[keyMapper(entry)] = valueMapper(entry);\n });\n return result;\n};\nexports.toDictionary = toDictionary;\n//# sourceMappingURL=Utils.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MyAutoModuleAppModel = exports.createAutoModuleAppModel = void 0;\nvar Setting_1 = require(\"@microchip/scf-device/lib/Setting\");\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar Utils_1 = require(\"../Utils\");\nvar AutoModuleHelper = __importStar(require(\"./AutoModuleHelpers\"));\nvar getConfigData_1 = require(\"./getConfigData\");\nvar createAutoModuleAppModel = function (model, config) {\n return new MyAutoModuleAppModel(model, config);\n};\nexports.createAutoModuleAppModel = createAutoModuleAppModel;\nvar MyAutoModuleAppModel = /** @class */ (function () {\n function MyAutoModuleAppModel(model, config) {\n var _this = this;\n this.getModuleName = function () {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n if (_this.moduleName)\n return _this.moduleName;\n _this.moduleName =\n (_h = (_f = (_d = (_c = (_b = (_a = _this.model.getDerivedFunctions()).moduleName) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : _this.model.getComponentValue(\"componentName\")) !== null && _d !== void 0 ? _d : (_e = _this.model.getHardware()) === null || _e === void 0 ? void 0 : _e.getName()) !== null && _f !== void 0 ? _f : (_g = _this.config) === null || _g === void 0 ? void 0 : _g.moduleName) !== null && _h !== void 0 ? _h : \"Module\";\n return _this.moduleName;\n };\n this.getModuleCategory = function () {\n var _a, _b;\n return (_b = (_a = _this.model.getDerivedFunctions()).moduleCategory) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n this.createComponentList = function () {\n var componentList = {};\n var components = _this.getComponentList();\n var componentsWithDynamicDependencySelectors = __spreadArray(__spreadArray([], components, true), _this.getDefaultDependencySelectors(components), true);\n if (componentsWithDynamicDependencySelectors) {\n componentsWithDynamicDependencySelectors.forEach(function (component) {\n componentList[component.name] = {\n component: component,\n };\n });\n }\n return componentList;\n };\n this.getAllComponents = function () { return _this.componentList; };\n this.getComponentList = function () {\n var _a, _b, _c, _d, _e;\n var components = [];\n var config = _this.config;\n if (!config)\n return components;\n //Software Components\n (_b = (0, Utils_1.values)((_a = config.softwareData) !== null && _a !== void 0 ? _a : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (entry) {\n components.push(entry);\n });\n //Hardware Components\n (_c = config.peripherals) === null || _c === void 0 ? void 0 : _c.forEach(function (peripheral) {\n var _a;\n if (peripheral.registers) {\n (_a = (0, Arrays_1.getKeys)(peripheral.registers)) === null || _a === void 0 ? void 0 : _a.forEach(function (registerName) {\n var _a, _b;\n (_b = (_a = peripheral.registers) === null || _a === void 0 ? void 0 : _a[registerName]) === null || _b === void 0 ? void 0 : _b.forEach(function (setting) {\n var _a, _b;\n //Only add hardware components that exist at runtime\n var hardwareRegister = (_b = (_a = _this.model.getHardware()) === null || _a === void 0 ? void 0 : _a.getPeripheral().registers) === null || _b === void 0 ? void 0 : _b[registerName];\n if (!(hardwareRegister === null || hardwareRegister === void 0 ? void 0 : hardwareRegister.settings) ||\n hardwareRegister.settings[setting.setting] ||\n hardwareRegister.type === \"register\") {\n components.push(setting);\n }\n });\n });\n }\n });\n //Custom Dynamic Components\n (_e = (_d = _this.model\n .getDerivedFunctions()).getDynamicComponents) === null || _e === void 0 ? void 0 : _e.call(_d).forEach(function (component) {\n components.push(component);\n });\n return components;\n };\n this.getActions = function (component) {\n var _a, _b, _c;\n return ((_c = (_b = (_a = _this.model.getDerivedFunctions()).getActions) === null || _b === void 0 ? void 0 : _b.call(_a, component.name)) !== null && _c !== void 0 ? _c : component.actions);\n };\n this.getDefaultComponentAction = function (componentName) {\n var _a;\n var component = (_a = _this.getComponent(componentName)) === null || _a === void 0 ? void 0 : _a.component;\n return {\n type: \"[FORM] SUBMIT\",\n payload: {\n tabId: \"main\",\n path: \"\".concat(component === null || component === void 0 ? void 0 : component.group, \".\").concat(component === null || component === void 0 ? void 0 : component.name),\n value: \"%v\",\n },\n };\n };\n this.getSoftwareComponentValue = function (tab, component) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n var overriddenValue = _this.model.getDerivedFunction(component.name);\n if (overriddenValue != undefined && (component.type === \"time\" || component.type === \"frequency\")) {\n if (overriddenValue.defaultValue) {\n return overriddenValue.defaultValue;\n }\n else {\n return ((_d = (_c = (_b = (_a = _this.state) === null || _a === void 0 ? void 0 : _a[tab]) === null || _b === void 0 ? void 0 : _b[component.group]) === null || _c === void 0 ? void 0 : _c[component.name]) !== null && _d !== void 0 ? _d : component.defaultValue);\n }\n }\n if (overriddenValue != undefined) {\n return overriddenValue;\n }\n if (_this.model.isControlledByInterface(component.name)) {\n var processedArg = _this.model\n .getExportInterfaces()\n .getProcessedArgValue(component.name);\n if (processedArg != undefined) {\n return processedArg.value;\n }\n }\n return ((_h = (_g = (_f = (_e = _this.state) === null || _e === void 0 ? void 0 : _e[tab]) === null || _f === void 0 ? void 0 : _f[component.group]) === null || _g === void 0 ? void 0 : _g[component.name]) !== null && _h !== void 0 ? _h : AutoModuleHelper.getDefaultValue(_this.model.getDerivedFunctions().overrideDefaultValues, component));\n };\n this.getHardwareComponentValue = function (tab, component, setting) {\n var _a, _b, _c, _d, _e, _f, _g;\n if (!_this.hardware)\n return undefined;\n var overriddenValue = _this.model.getDerivedFunction(component.name);\n if (overriddenValue != undefined) {\n return overriddenValue;\n }\n if (_this.model.isControlledByInterface(component.name)) {\n var processedArg = _this.model\n .getExportInterfaces()\n .getProcessedArgValue(component.name);\n if (processedArg != undefined) {\n return processedArg.value;\n }\n }\n var overriddenCompValue = AutoModuleHelper.getOverrideDefaultValue(component, _this.model);\n var value; // value based on priority\n if (((_c = (_b = (_a = _this.state) === null || _a === void 0 ? void 0 : _a[tab]) === null || _b === void 0 ? void 0 : _b[component.group]) === null || _c === void 0 ? void 0 : _c[component.name]) != null) {\n value = _this.state[tab][component.group][component.name];\n }\n else if (overriddenCompValue !== undefined) {\n value = overriddenCompValue;\n }\n else {\n value =\n setting !== undefined\n ? component.overrideDefaultValue\n ? component.overrideDefaultValue\n : _this.getDefaultValue(component.displayOptionSetting, setting)\n : (_d = component.overrideDefaultValue) !== null && _d !== void 0 ? _d : undefined;\n }\n //if filtered mode -> get options\n if (value != undefined && ((_e = component.mode) === null || _e === void 0 ? void 0 : _e.operation) === \"filterOptions\") {\n var options = AutoModuleHelper.getSettingOptionsIfPresent(component, setting, (_g = _this.model.getComponent((_f = component.mode) === null || _f === void 0 ? void 0 : _f.masterComponent)) === null || _g === void 0 ? void 0 : _g.value);\n if (options.indexOf(value) == -1) {\n value = options[0];\n }\n }\n return value;\n };\n this.getHardwareComponentBooleanValue = function (tab, component, setting) {\n var _a, _b, _c;\n if (!_this.hardware)\n return undefined;\n var overriddenValue = _this.model.getDerivedFunction(component.name);\n if (overriddenValue != undefined) {\n return overriddenValue;\n }\n if (_this.model.isControlledByInterface(component.name)) {\n var processedArg = _this.model\n .getExportInterfaces()\n .getProcessedArgValue(component.name);\n if (processedArg != undefined) {\n if (setting &&\n setting.options &&\n typeof processedArg.value === \"boolean\") {\n var result_1 = \"\";\n if (processedArg.value === true) {\n var settingOptions = setting.options;\n settingOptions.forEach(function (eachOption) {\n if (eachOption.alias.toLowerCase().startsWith(\"enable\")) {\n result_1 = eachOption.alias;\n }\n });\n }\n else if (processedArg.value === false) {\n setting.options.forEach(function (eachOption) {\n if (eachOption.alias.toLowerCase().startsWith(\"disable\")) {\n result_1 = eachOption.alias;\n }\n });\n }\n return result_1;\n }\n return processedArg.value;\n }\n }\n var overriddenCompValue = AutoModuleHelper.getOverrideDefaultValue(component, _this.model);\n return ((_c = (_b = (_a = _this.state) === null || _a === void 0 ? void 0 : _a[tab]) === null || _b === void 0 ? void 0 : _b[component.group]) === null || _c === void 0 ? void 0 : _c[component.name]) != null\n ? _this.state[tab][component.group][component.name]\n ? _this.config.booleanValues.true\n : _this.config.booleanValues.false\n : overriddenCompValue !== undefined\n ? overriddenCompValue\n : setting !== undefined\n ? component.overrideDefaultValue\n ? component.overrideDefaultValue\n : _this.getDefaultValue(component.displayOptionSetting, setting)\n : undefined;\n };\n this.getDependencyComponentValue = function (component) {\n var dependencySelector = new AutoModuleHelper.DependencySelector(_this.model, component);\n var imp = _this.model.getImports()[component.importId];\n if (imp === null || imp === void 0 ? void 0 : imp.handle) {\n return dependencySelector.createOptionLabel(imp.handle, imp.payload);\n }\n return \"None\";\n };\n this.getFileLoadComponentValue = function (component) {\n var _a;\n var fileContents;\n fileContents = (_a = _this.model.getPrototypeModule().loadedFiles) === null || _a === void 0 ? void 0 : _a[component.name];\n return fileContents;\n };\n this.getFileSaveComponentValue = function (component) {\n var _a;\n var fileContents = undefined;\n var overriddenValue = _this.model.getDerivedFunction(component.name);\n if (overriddenValue !== undefined) {\n fileContents = overriddenValue;\n }\n else {\n fileContents = (_a = component.fileMeta) === null || _a === void 0 ? void 0 : _a.defaultContent;\n }\n return fileContents;\n };\n this.getDefaultValue = function (optionType, setting) {\n var _a;\n if (optionType == undefined)\n return setting.defaultValue;\n if (setting.defaultValue) {\n return (_a = (0, Setting_1.getOptionByName)(setting.defaultValue, setting)) === null || _a === void 0 ? void 0 : _a[optionType];\n }\n return undefined;\n };\n this.model = model;\n this.state = this.model.getState();\n this.hardware = this.model.getHardware();\n this.config = (0, getConfigData_1.getConfigData)(model);\n this.componentList = this.createComponentList();\n }\n MyAutoModuleAppModel.prototype.getDefaultDependencySelectors = function (components) {\n var dynamicDependencySelectors = [];\n var defaultTab = \"main\";\n var defaultGroup = \"software\";\n if (components.length > 0) {\n defaultTab = components[0].tabs[0];\n defaultGroup = components[0].group;\n }\n var imports = this.model.getImports();\n if (imports) {\n var importedNames = Object.keys(imports);\n importedNames.forEach(function (name) {\n var _a;\n var dependencySelectors = components.filter(function (component) {\n return component[\"importId\"] && component[\"importId\"] === name;\n });\n if (dependencySelectors.length === 0) {\n dynamicDependencySelectors.push({\n name: name + \" dependency selector\",\n importId: name,\n category: \"import\",\n type: \"ComboBox\",\n description: name + \" dependency selector\",\n group: defaultGroup,\n tabs: [defaultTab],\n uiBehavior: (_a = {},\n _a[\"ui:widget\"] = \"hidden\",\n _a),\n });\n }\n });\n }\n return dynamicDependencySelectors;\n };\n MyAutoModuleAppModel.prototype.isComponent = function (componentName) {\n var _a;\n var component = (_a = this.componentList[componentName]) === null || _a === void 0 ? void 0 : _a.component;\n var componentValue = this.getComponentValue(componentName);\n if (component.category === \"software\") {\n if (component.type === \"boolean\") {\n return this.getComponentValue(componentName);\n }\n return componentValue !== undefined;\n }\n else if (component.category === \"hardware\") {\n return componentValue === this.config.booleanValues.true;\n }\n return undefined;\n };\n MyAutoModuleAppModel.prototype.getComponentValue = function (componentName) {\n var _a;\n return (_a = this.getComponent(componentName)) === null || _a === void 0 ? void 0 : _a.value;\n };\n MyAutoModuleAppModel.prototype.getComponent = function (componentName) {\n var _this = this;\n var _a, _b;\n if (((_a = this.componentList[componentName]) === null || _a === void 0 ? void 0 : _a.value) != undefined)\n return this.componentList[componentName];\n var component = (_b = this.componentList[componentName]) === null || _b === void 0 ? void 0 : _b.component;\n component === null || component === void 0 ? void 0 : component.tabs.forEach(function (tab) {\n if (component) {\n if (component.category === \"software\") {\n _this.componentList[componentName].value =\n _this.getSoftwareComponentValue(tab, component);\n }\n else if (component.category === \"hardware\") {\n var setting = AutoModuleHelper.getSettingFromComponent(_this.model, component);\n if (component.type === \"boolean\") {\n _this.componentList[componentName].value =\n _this.getHardwareComponentBooleanValue(tab, component, setting);\n }\n else {\n _this.componentList[componentName].value =\n _this.getHardwareComponentValue(tab, component, setting);\n }\n }\n else if (component.category === \"import\") {\n _this.componentList[componentName].value =\n _this.getDependencyComponentValue(component);\n }\n else if (component.category === \"file_load\") {\n _this.componentList[componentName].value =\n _this.getFileLoadComponentValue(component);\n }\n else if (component.category === \"file_save\") {\n _this.componentList[componentName].value =\n _this.getFileSaveComponentValue(component);\n }\n _this.componentList[componentName].component.actions =\n _this.getActions(component);\n }\n });\n return this.componentList[componentName];\n };\n return MyAutoModuleAppModel;\n}());\nexports.MyAutoModuleAppModel = MyAutoModuleAppModel;\n//# sourceMappingURL=AutoModuleAppModel.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isFullyAssigned = exports.createPrototypeImport = void 0;\nvar Processor_1 = require(\"@microchip/scf-common/lib/Processor\");\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar AutoModuleHelpers_1 = require(\"./AutoModuleHelpers\");\nvar createPrototypeImport = function (interfaceName, config) {\n var _a, _b;\n return (_b = (_a = config === null || config === void 0 ? void 0 : config.imports) === null || _a === void 0 ? void 0 : _a[interfaceName]) === null || _b === void 0 ? void 0 : _b.import;\n};\nexports.createPrototypeImport = createPrototypeImport;\nvar isFullyAssigned = function (imports, config) {\n var _a;\n //get peripheral interfaces.\n var interfaces = getHardwareInterfaces((_a = config === null || config === void 0 ? void 0 : config.peripherals) !== null && _a !== void 0 ? _a : []);\n for (var i = 0; i < interfaces.length; i++) {\n var imp = imports === null || imports === void 0 ? void 0 : imports[interfaces[i]];\n if (!imp || !(0, Processor_1.isAssigned)(imp)) {\n return false;\n }\n }\n return true;\n};\nexports.isFullyAssigned = isFullyAssigned;\n//Assumes hardware import keys are the same as the interface IDs\nvar getHardwareInterfaces = function (peripherals) {\n var interfaces = (0, Arrays_1.map)(peripherals, function (peripheral) {\n var _a;\n return (_a = (0, AutoModuleHelpers_1.getFriendlyInterfaceId)(peripheral.interfaceId.name)) !== null && _a !== void 0 ? _a : \"\";\n });\n return interfaces;\n};\n//# sourceMappingURL=AutoModuleHardware.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getFriendlyInterfaceId = exports.getModuleDefaultDescription = exports.DependencySelector = exports.populateLoadedFiles = exports.getProcessedHandle = exports.filterModeOptions = exports.getSettingOptionsIfPresent = exports.getOverrideDefaultValue = exports.getSettingDefaultIfPresent = exports.getOptionValueByName = exports.getSettingFromComponent = exports.getSettingBits = exports.getRegisterValues = exports.hasConfigBits = exports.getComboOptions = exports.getDefaultValue = exports.castComponent = void 0;\nvar CalculateRegisterValue_1 = __importDefault(require(\"@microchip/scf-device/lib/CalculateRegisterValue\"));\nvar Setting_1 = require(\"@microchip/scf-device/lib/Setting\");\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar Utils_1 = require(\"../Utils\");\nvar getConfigData_1 = require(\"./getConfigData\");\nvar castComponent = function (component) {\n switch (component.category) {\n case \"software\":\n return component;\n case \"import\":\n return component;\n case \"hardware\":\n return component;\n default:\n throw Error(\"Unsupported Component Type\");\n }\n};\nexports.castComponent = castComponent;\nvar getDefaultValue = function (overrideDefaultValues, component) {\n var _a;\n return ((_a = overrideDefaultValues === null || overrideDefaultValues === void 0 ? void 0 : overrideDefaultValues(component.name)) !== null && _a !== void 0 ? _a : (component.type === \"ComboBox\"\n ? component.defaultValue.value\n : component.defaultValue));\n};\nexports.getDefaultValue = getDefaultValue;\nvar getComboOptions = function (overrideOptions, component) {\n var _a, _b;\n return (_a = overrideOptions === null || overrideOptions === void 0 ? void 0 : overrideOptions(component.name)) !== null && _a !== void 0 ? _a : (_b = component === null || component === void 0 ? void 0 : component.defaultValue) === null || _b === void 0 ? void 0 : _b[\"options\"];\n};\nexports.getComboOptions = getComboOptions;\nvar hasConfigBits = function (interfaceName) {\n var _a;\n return ((_a = (0, exports.getFriendlyInterfaceId)(interfaceName)) === null || _a === void 0 ? void 0 : _a.indexOf(\"configuration_bits\")) != -1;\n};\nexports.hasConfigBits = hasConfigBits;\nvar getRegisterValues = function (model, interfaceName) {\n var _a;\n var registers = {};\n var config = (0, getConfigData_1.getConfigData)(model);\n interfaceName = (0, exports.getFriendlyInterfaceId)(interfaceName);\n (_a = config === null || config === void 0 ? void 0 : config.peripherals) === null || _a === void 0 ? void 0 : _a.forEach(function (peripheral) {\n var _a, _b, _c;\n var peripheralName = (_a = (0, exports.getFriendlyInterfaceId)(peripheral.interfaceId.name)) !== null && _a !== void 0 ? _a : \"\";\n if ((0, exports.hasConfigBits)(peripheralName))\n return;\n if ((interfaceName != undefined && peripheralName !== interfaceName) ||\n !peripheral.registers)\n return;\n (_c = (0, Utils_1.getKeys)((_b = peripheral.registers) !== null && _b !== void 0 ? _b : {})) === null || _c === void 0 ? void 0 : _c.forEach(function (regName) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n var registerValue;\n var reg = (_b = (_a = model.getHardware(peripheralName)) === null || _a === void 0 ? void 0 : _a.getPeripheral().registers) === null || _b === void 0 ? void 0 : _b[regName];\n if (reg) {\n registerValue = {\n comment: \"\",\n value: 0,\n valueAsHex: \"0x00\",\n name: reg === null || reg === void 0 ? void 0 : reg.name,\n alias: (_c = reg === null || reg === void 0 ? void 0 : reg.alias) !== null && _c !== void 0 ? _c : reg === null || reg === void 0 ? void 0 : reg.name,\n por: reg.defaultValue,\n settings: {},\n };\n }\n else {\n return;\n }\n var registerVal = CalculateRegisterValue_1.default.for(reg);\n var comments = [];\n (_d = peripheral.registers) === null || _d === void 0 ? void 0 : _d[regName].forEach(function (set) {\n var _a, _b, _c, _d, _e;\n var setting = (_a = reg.settings) === null || _a === void 0 ? void 0 : _a[set.setting];\n if (setting) {\n if (setting.type !== \"R\") {\n //Add Comments\n comments.push(\"\".concat(set.setting, \" \").concat(model.getComponentValue(set.name), \"; \"));\n }\n if (registerValue === null || registerValue === void 0 ? void 0 : registerValue.settings) {\n registerValue.settings[setting.alias] = (0, exports.getSettingBits)(reg, setting, (_b = model.getComponent(set.name)) === null || _b === void 0 ? void 0 : _b.value, (_c = config === null || config === void 0 ? void 0 : config.deviceType) !== null && _c !== void 0 ? _c : \"PIC\");\n }\n switch (set.type) {\n case \"ComboBox\":\n case \"boolean\":\n registerVal.withNumberValue(setting, (_e = (0, exports.getOptionValueByName)(setting, (_d = model.getComponent(set.name)) === null || _d === void 0 ? void 0 : _d.value)) !== null && _e !== void 0 ? _e : 0);\n break;\n case \"number\":\n registerVal.withNumberValue(setting, model.getComponentValue(set.name));\n break;\n case \"register\":\n case \"string\":\n registerVal.withNumberValue(setting, Number(model.getComponentValue(set.name)));\n break;\n default:\n break;\n }\n }\n });\n if (reg.settings) {\n registerValue.value = registerVal.asNumber();\n }\n else {\n registerValue.value = Number((_j = model.getComponentValue((_h = (_g = (_f = (_e = peripheral.registers) === null || _e === void 0 ? void 0 : _e[regName]) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.name) !== null && _h !== void 0 ? _h : \"\")) !== null && _j !== void 0 ? _j : 0);\n comments.push(\"\".concat(registerValue.name, \" \").concat(registerValue.value, \"; \"));\n }\n registerValue.valueAsHex =\n \"0x\" + registerValue.value.toString(16).toUpperCase();\n registerValue.comment = sortComments(comments, reg);\n registers[(_k = reg === null || reg === void 0 ? void 0 : reg.alias) !== null && _k !== void 0 ? _k : reg.name] = registerValue;\n });\n });\n return registers;\n};\nexports.getRegisterValues = getRegisterValues;\nvar sortComments = function (comments, register) {\n comments.sort(function (a, b) {\n var _a, _b, _c, _d;\n var settingA = (_a = register.settings) === null || _a === void 0 ? void 0 : _a[(_b = a.split[\" \"]) === null || _b === void 0 ? void 0 : _b[0]];\n var settingB = (_c = register.settings) === null || _c === void 0 ? void 0 : _c[(_d = b.split(\" \")) === null || _d === void 0 ? void 0 : _d[0]];\n return Number(settingB === null || settingB === void 0 ? void 0 : settingB.mask) - Number(settingA === null || settingA === void 0 ? void 0 : settingA.mask);\n });\n return comments.join(\"\");\n};\nvar getSettingBits = function (register, setting, value, deviceType) {\n var _a;\n var option = (0, Setting_1.getOptionByAlias)(value, setting);\n var setValNumber = Number((_a = option === null || option === void 0 ? void 0 : option.value) !== null && _a !== void 0 ? _a : 0);\n var settingValue = {\n alias: setting.alias,\n name: setting.name,\n value: setValNumber !== null && setValNumber !== void 0 ? setValNumber : 0,\n valueAsHex: \"0x\" + setValNumber.toString(16).toUpperCase(),\n valueAsDescription: value,\n type: setting.type,\n optionName: option === null || option === void 0 ? void 0 : option.name,\n bitName: deviceType === \"PIC\"\n ? \"\".concat(register.name, \"bits.\").concat(setting.name)\n : \"\".concat(register.name, \".\").concat(setting.name),\n };\n return settingValue;\n};\nexports.getSettingBits = getSettingBits;\nvar getRegisterFromComponent = function (hardware, component) {\n var _a, _b, _c, _d, _e;\n var registerName = (_a = component.name\n .replace(component.setting.toLowerCase(), \"\")) === null || _a === void 0 ? void 0 : _a.toUpperCase();\n var register = (_b = hardware === null || hardware === void 0 ? void 0 : hardware.registers) === null || _b === void 0 ? void 0 : _b[registerName];\n if (register) {\n return register;\n }\n else {\n var regName = (_c = component.name\n .replace(component.setting.toLowerCase(), \"\")) === null || _c === void 0 ? void 0 : _c.toUpperCase();\n var registers = (0, Utils_1.getKeys)((_d = hardware === null || hardware === void 0 ? void 0 : hardware.registers) !== null && _d !== void 0 ? _d : {});\n for (var _i = 0, _f = registers !== null && registers !== void 0 ? registers : []; _i < _f.length; _i++) {\n var reg = _f[_i];\n var modifiedRegName = reg.replace(/_/g, \"\");\n if (regName === modifiedRegName) {\n return (_e = hardware === null || hardware === void 0 ? void 0 : hardware.registers) === null || _e === void 0 ? void 0 : _e[reg];\n }\n }\n }\n};\nvar getSettingFromComponent = function (model, component) {\n var _a;\n var config = (0, getConfigData_1.getConfigData)(model);\n var setting;\n if (model) {\n (_a = config === null || config === void 0 ? void 0 : config.peripherals) === null || _a === void 0 ? void 0 : _a.forEach(function (peripheral) {\n var _a, _b, _c;\n if (setting)\n return;\n var peripheralName = (0, exports.getFriendlyInterfaceId)(peripheral.interfaceId.name);\n var hardware = (_a = model.getHardware(peripheralName)) === null || _a === void 0 ? void 0 : _a.getPeripheral();\n var register = getRegisterFromComponent(hardware, component);\n if (register && !register.settings) {\n //No settings for this particular register. Create one\n setting = {\n alias: (_b = register.alias) !== null && _b !== void 0 ? _b : register.name,\n name: register.name,\n defaultValue: register.defaultValue,\n type: register.type,\n description: register.desc,\n porDefault: register.defaultValue,\n };\n }\n else {\n setting = (_c = register === null || register === void 0 ? void 0 : register.settings) === null || _c === void 0 ? void 0 : _c[component.setting];\n }\n });\n }\n return setting;\n};\nexports.getSettingFromComponent = getSettingFromComponent;\nvar getOptionValueByName = function (setting, optionName) {\n if (!setting)\n return undefined;\n var optionValue = setting.porDefault;\n if (setting.options) {\n setting.options.forEach(function (option) {\n if (option.name === optionName || option.description === optionName) {\n optionValue = option.value;\n }\n });\n }\n return Number(optionValue);\n};\nexports.getOptionValueByName = getOptionValueByName;\nvar getSettingDefaultIfPresent = function (component, setting, overrideDefaultValue) {\n var _a, _b;\n var defaultValue;\n if (overrideDefaultValue !== undefined) {\n return overrideDefaultValue;\n }\n if (component.overrideDefaultValue) {\n return component.overrideDefaultValue;\n }\n if (setting === null || setting === void 0 ? void 0 : setting.defaultValue) {\n var option = (0, Setting_1.getOptionByName)(setting.defaultValue, setting);\n defaultValue =\n (_b = option === null || option === void 0 ? void 0 : option[(_a = component.displayOptionSetting) !== null && _a !== void 0 ? _a : \"alias\"]) !== null && _b !== void 0 ? _b : setting.defaultValue;\n }\n return defaultValue;\n};\nexports.getSettingDefaultIfPresent = getSettingDefaultIfPresent;\nvar getOverrideDefaultValue = function (component, model) {\n var _a, _b;\n return (_b = (_a = model.getDerivedFunctions()).overrideDefaultValues) === null || _b === void 0 ? void 0 : _b.call(_a, component.name);\n};\nexports.getOverrideDefaultValue = getOverrideDefaultValue;\nvar getSettingOptionsIfPresent = function (component, setting, masterComponentValue) {\n var _a;\n var options = [\"\"];\n if (setting) {\n var filteredOptions = component.mode\n ? (0, exports.filterModeOptions)((_a = setting.options) !== null && _a !== void 0 ? _a : [], component, masterComponentValue)\n : setting.options;\n options = (0, Arrays_1.map)(filteredOptions !== null && filteredOptions !== void 0 ? filteredOptions : [], function (option) { var _a, _b; return (_b = option[(_a = component.displayOptionSetting) !== null && _a !== void 0 ? _a : \"alias\"]) !== null && _b !== void 0 ? _b : option.alias; });\n }\n return options;\n};\nexports.getSettingOptionsIfPresent = getSettingOptionsIfPresent;\nvar filterModeOptions = function (options, component, masterComponentValue) {\n var _a, _b, _c, _d;\n if (((_a = component.mode) === null || _a === void 0 ? void 0 : _a.operation) != \"filterOptions\" || masterComponentValue == undefined)\n return options;\n //Determine mode\n var mode = (0, Arrays_1.find)((_d = (0, Utils_1.getKeys)((_c = (_b = component.mode) === null || _b === void 0 ? void 0 : _b.optionModes) !== null && _c !== void 0 ? _c : {})) !== null && _d !== void 0 ? _d : [], function (mode) {\n var _a, _b, _c, _d;\n var match = (_b = (_a = component.mode) === null || _a === void 0 ? void 0 : _a.optionModes) === null || _b === void 0 ? void 0 : _b[mode];\n if (match) {\n return ((_d = (_c = masterComponentValue === null || masterComponentValue === void 0 ? void 0 : masterComponentValue.match(match)) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : -1) > 0;\n }\n return false;\n });\n // optionModes : when Key value are not same\n if (mode === undefined) {\n mode = masterComponentValue;\n }\n var filteredOptions = (0, Arrays_1.filter)(options !== null && options !== void 0 ? options : [], function (option) {\n var _a, _b, _c, _d;\n if (option.mode && mode) {\n var match = (_b = (_a = component.mode) === null || _a === void 0 ? void 0 : _a.optionModes) === null || _b === void 0 ? void 0 : _b[mode];\n if (match) {\n return ((_d = (_c = option.mode.match(match)) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : -1) > 0;\n }\n }\n return true;\n });\n return filteredOptions;\n};\nexports.filterModeOptions = filterModeOptions;\nvar getProcessedHandle = function (handle, payload) {\n var _a, _b, _c, _d;\n if (handle) {\n handle = __assign(__assign({}, handle), { label: (_d = (_c = (_b = (_a = handle === null || handle === void 0 ? void 0 : handle.label) !== null && _a !== void 0 ? _a : payload === null || payload === void 0 ? void 0 : payload.customName) !== null && _b !== void 0 ? _b : payload === null || payload === void 0 ? void 0 : payload.moduleName) !== null && _c !== void 0 ? _c : payload === null || payload === void 0 ? void 0 : payload.name) !== null && _d !== void 0 ? _d : handle.providerId + \" : \" + handle.exportId });\n }\n return handle;\n};\nexports.getProcessedHandle = getProcessedHandle;\nvar populateLoadedFiles = function (processedOutput) {\n var _a;\n var result = __assign({}, processedOutput);\n var consolidatedFiles = {};\n //pushing all the inmemory files provided from Melody\n if (result.loadedFiles !== undefined) {\n for (var eachFileId in result.loadedFiles) {\n var eachFile = result.loadedFiles[eachFileId];\n consolidatedFiles[eachFileId] = eachFile;\n }\n }\n //pushing all the instate files stored in state(project) - NOTE: if same fileId exists in state and memory then state will be given priority\n if (((_a = result.state) === null || _a === void 0 ? void 0 : _a.loadedFiles) !== undefined) {\n for (var eachFileId in result.state.loadedFiles) {\n var eachFile = result.state.loadedFiles[eachFileId];\n consolidatedFiles[eachFileId] = eachFile;\n }\n }\n result.loadedFiles = consolidatedFiles;\n return result;\n};\nexports.populateLoadedFiles = populateLoadedFiles;\nvar DependencySelector = /** @class */ (function () {\n function DependencySelector(model, component) {\n var _this = this;\n this.noneSelection = { label: \"None\" };\n this.createOptionEntry = function (option) {\n return {\n label: _this.createOptionLabel(option.handle, option.payload),\n value: option,\n };\n };\n this.createOptionLabel = function (handle, payload) {\n var _a, _b;\n return (_b = (_a = (0, exports.getProcessedHandle)(handle, payload)) === null || _a === void 0 ? void 0 : _a.label) !== null && _b !== void 0 ? _b : \"\";\n };\n this.model = model;\n this.component = component;\n }\n DependencySelector.prototype.generateDropdownOptions = function () {\n var dropdownOptions = [];\n var thisImport = this.model.getImports()[this.component.importId];\n var options = thisImport === null || thisImport === void 0 ? void 0 : thisImport.options;\n if (this.shouldAllowUnselectDependency(thisImport, options)) {\n dropdownOptions.push(this.noneSelection);\n }\n if (options !== undefined) {\n for (var option in options) {\n dropdownOptions.push(this.createOptionEntry(options[option]));\n }\n }\n return dropdownOptions;\n };\n DependencySelector.prototype.getDropdownOptionNames = function () {\n var names = [];\n this.generateDropdownOptions().forEach(function (option) { return names.push(option.label); });\n return names;\n };\n DependencySelector.prototype.shouldAllowUnselectDependency = function (thisImport, options) {\n return thisImport != undefined && thisImport.isUnassignable != false;\n };\n return DependencySelector;\n}());\nexports.DependencySelector = DependencySelector;\nfunction getModuleDefaultDescription() {\n //TODO: Need to refactor this so that gets it from the source.\n //Alternatively, we could get it during the automodule update process and fetch it from there...\n return undefined;\n}\nexports.getModuleDefaultDescription = getModuleDefaultDescription;\nvar getFriendlyInterfaceId = function (interfaceName) {\n interfaceName = interfaceName === null || interfaceName === void 0 ? void 0 : interfaceName.replace(/ /g, \"\").replace(/-/g, \"_\");\n return interfaceName;\n};\nexports.getFriendlyInterfaceId = getFriendlyInterfaceId;\n//# sourceMappingURL=AutoModuleHelpers.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getConfigBits = exports.getTemplateSettings = exports.getTemplatePayload = exports.getTemplates = void 0;\nvar AutoModuleHelper = __importStar(require(\"./AutoModuleHelpers\"));\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar getConfigData_1 = require(\"./getConfigData\");\nvar Utils_1 = require(\"../Utils\");\nvar AutoModuleHardware_1 = require(\"./AutoModuleHardware\");\nvar AutoModuleHelpers_1 = require(\"./AutoModuleHelpers\");\nvar getTemplates = function (model) {\n var _a;\n var config = (0, getConfigData_1.getConfigData)(model);\n var templates = [];\n (_a = config === null || config === void 0 ? void 0 : config.templates) === null || _a === void 0 ? void 0 : _a.forEach(function (template) {\n var _a, _b, _c;\n var newTemplate = __assign({}, template);\n if (!model)\n return;\n newTemplate.dest =\n (_c = (_b = (_a = model.getDerivedFunctions()).templateName) === null || _b === void 0 ? void 0 : _b.call(_a, newTemplate.src)) !== null && _c !== void 0 ? _c : newTemplate.dest;\n newTemplate.dest = newTemplate.dest.replace(\"${sourceFileName}\", model.getName().toLowerCase() + \".c\");\n newTemplate.dest = newTemplate.dest.replace(\"${headerFileName}\", model.getName().toLowerCase() + \".h\");\n if (shouldGenerate(newTemplate, model)) {\n templates.push(newTemplate);\n }\n });\n return templates;\n};\nexports.getTemplates = getTemplates;\nvar shouldGenerate = function (template, model) {\n var shouldGenerate = true;\n if (!model)\n return shouldGenerate;\n if (shouldGenerate &&\n template.generateWithHardware == true &&\n !(0, AutoModuleHardware_1.isFullyAssigned)(model.getPrototypeModule().imports, (0, getConfigData_1.getConfigData)(model))) {\n shouldGenerate = false;\n }\n if (shouldGenerate &&\n template.isGeneratableProperty &&\n model.getDerivedFunction(template.isGeneratableProperty) != true) {\n shouldGenerate = false;\n }\n return shouldGenerate;\n};\nvar getTemplatePayload = function (model) {\n var _a;\n if (!model)\n return undefined;\n var config = (0, getConfigData_1.getConfigData)(model);\n var moduleName = model.getName();\n var templatePayload = {\n name: {\n uppercase: moduleName.toUpperCase(),\n lowercase: moduleName.toLowerCase(),\n instance: moduleName,\n },\n filename: {\n source: \"\".concat(moduleName.toLowerCase(), \".c\"),\n header: \"\".concat(moduleName.toLowerCase(), \".h\"),\n },\n };\n var components = model\n .getAutoModuleAppModel()\n .getAllComponents();\n (_a = (0, Utils_1.values)(components)) === null || _a === void 0 ? void 0 : _a.forEach(function (entry) {\n templatePayload[entry.component.name] = getComponentPayload(entry.component, model);\n });\n templatePayload = __assign(__assign({}, templatePayload), (0, exports.getTemplateSettings)(model, config));\n return templatePayload;\n};\nexports.getTemplatePayload = getTemplatePayload;\nvar getTemplateSettings = function (model, config) {\n var _a, _b;\n if (!(model === null || model === void 0 ? void 0 : model.getHardware()))\n return undefined;\n return {\n registers: model.getRegisterValues(undefined),\n interrupts: (_a = model.getHardware()) === null || _a === void 0 ? void 0 : _a.getPeripheral().interrupts,\n properties: (_b = model.getHardware()) === null || _b === void 0 ? void 0 : _b.getPeripheral().properties,\n };\n};\nexports.getTemplateSettings = getTemplateSettings;\nvar getConfigBits = function (model) {\n var _a, _b, _c;\n var config = (0, getConfigData_1.getConfigData)(model);\n var configModule = (0, Arrays_1.find)((_a = config === null || config === void 0 ? void 0 : config.peripherals) !== null && _a !== void 0 ? _a : [], function (peripheral) {\n return AutoModuleHelper.hasConfigBits(peripheral.interfaceId.name);\n });\n if (configModule) {\n var interfaceName = AutoModuleHelper.getFriendlyInterfaceId(configModule.interfaceId.name);\n var templateConfigBits_1 = {};\n var registers_1 = (_b = model.getHardware(interfaceName)) === null || _b === void 0 ? void 0 : _b.getPeripheral().registers;\n (_c = (0, Utils_1.getKeys)(registers_1 !== null && registers_1 !== void 0 ? registers_1 : [])) === null || _c === void 0 ? void 0 : _c.forEach(function (configName) {\n var _a;\n var _b;\n var configBits = (_b = configModule.registers) === null || _b === void 0 ? void 0 : _b[configName];\n templateConfigBits_1 = __assign(__assign({}, templateConfigBits_1), (_a = {}, _a[configName] = {}, _a));\n configBits === null || configBits === void 0 ? void 0 : configBits.forEach(function (configBit) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;\n var register = registers_1 === null || registers_1 === void 0 ? void 0 : registers_1[configName];\n var value;\n if (register && !register.settings) {\n //missing settings for register\n value = (_b = (_a = model.getComponent(configBit.name)) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : \"\";\n }\n else {\n var setting = (_d = (_c = registers_1 === null || registers_1 === void 0 ? void 0 : registers_1[configName]) === null || _c === void 0 ? void 0 : _c.settings) === null || _d === void 0 ? void 0 : _d[configBit.setting];\n value =\n (_k = (_j = (_g = (_f = (0, Arrays_1.find)((_e = setting === null || setting === void 0 ? void 0 : setting.options) !== null && _e !== void 0 ? _e : [], function (option) {\n var _a, _b, _c;\n return option.description ===\n ((_a = model.getComponent(configBit.name)) === null || _a === void 0 ? void 0 : _a.value) ||\n option.alias ===\n ((_b = model.getComponent(configBit.name)) === null || _b === void 0 ? void 0 : _b.value) ||\n option.name === ((_c = model.getComponent(configBit.name)) === null || _c === void 0 ? void 0 : _c.value);\n })) === null || _f === void 0 ? void 0 : _f.name) !== null && _g !== void 0 ? _g : (_h = model.getComponent(configBit.name)) === null || _h === void 0 ? void 0 : _h.value) !== null && _j !== void 0 ? _j : setting === null || setting === void 0 ? void 0 : setting.defaultValue) !== null && _k !== void 0 ? _k : \"\";\n }\n templateConfigBits_1[configName][configBit.setting] = {\n name: configBit.setting,\n value: value,\n description: configBit.description,\n valueAsDescription: (_l = model.getComponent(configBit.name)) === null || _l === void 0 ? void 0 : _l.value,\n };\n });\n });\n return templateConfigBits_1;\n }\n else {\n return {};\n }\n};\nexports.getConfigBits = getConfigBits;\nvar getComponentPayload = function (component, model) {\n var _a, _b;\n var componentValue = model.getComponentValue(component.name);\n switch (component.type) {\n case \"ComboBox\":\n if (component.category === \"hardware\") {\n var setting = AutoModuleHelper.getSettingFromComponent(model, component);\n return {\n value: componentValue,\n options: AutoModuleHelper.getSettingOptionsIfPresent(component, setting, model.getComponentValue((_b = (_a = component.mode) === null || _a === void 0 ? void 0 : _a.masterComponent) !== null && _b !== void 0 ? _b : \"\")),\n };\n }\n else if (component.category === \"software\") {\n return {\n value: componentValue,\n options: (0, AutoModuleHelpers_1.getComboOptions)(model.getDerivedFunctions().overrideOptions, component),\n };\n }\n break;\n case \"boolean\":\n return model.isComponentValue(component.name);\n case \"number\":\n case \"string\":\n case \"register\":\n default:\n return componentValue;\n }\n};\n//# sourceMappingURL=AutoModuleTemplates.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAutoSdlHelp = void 0;\n/**\n * Returns the valid link for each component of a module\n *\n * @param dataModel - AppModel for current module\n * @param componentName - Current component under the module\n * @param helpUrl - Generic url\n * @returns Valid link to microchip docs\n */\nvar getAutoSdlHelp = function (dataModel, componentName, helpUrl) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;\n var deviceMeta = dataModel.getImportValue(\"device_meta\");\n var deviceName = (_a = deviceMeta === null || deviceMeta === void 0 ? void 0 : deviceMeta.deviceName) !== null && _a !== void 0 ? _a : \"\";\n var moduleName = (_d = (_c = (_b = dataModel.getHardware()) === null || _b === void 0 ? void 0 : _b.getPeripheral()) === null || _c === void 0 ? void 0 : _c.group) !== null && _d !== void 0 ? _d : \"\";\n var dosid = (_g = (_f = (_e = dataModel.getHardware()) === null || _e === void 0 ? void 0 : _e.getPeripheral()) === null || _f === void 0 ? void 0 : _f.dosid) !== null && _g !== void 0 ? _g : \"\";\n var comp = (_j = (_h = dataModel.getComponent(componentName)) === null || _h === void 0 ? void 0 : _h.component) !== null && _j !== void 0 ? _j : \"\";\n var setting = (_l = (_k = comp === null || comp === void 0 ? void 0 : comp.setting) === null || _k === void 0 ? void 0 : _k.toLowerCase()) !== null && _l !== void 0 ? _l : \"\";\n var registerName = componentName.toLowerCase().replace(setting, \"\");\n var registerAlias = (_m = registerName === null || registerName === void 0 ? void 0 : registerName.toUpperCase()) !== null && _m !== void 0 ? _m : \"\";\n var deviceRegister = (_r = (_q = (_p = (_o = dataModel.getPeripheralDescription()) === null || _o === void 0 ? void 0 : _o.registers) === null || _p === void 0 ? void 0 : _p[registerAlias]) === null || _q === void 0 ? void 0 : _q.name) !== null && _r !== void 0 ? _r : \"\";\n var register = registerAlias == deviceRegister ? registerAlias : deviceRegister;\n var url = helpUrl\n .replace(\"${deviceName}\", deviceName !== null && deviceName !== void 0 ? deviceName : \"\")\n .replace(\"${registerName}\", register !== null && register !== void 0 ? register : \"\")\n .replace(\"${moduleName}\", moduleName !== null && moduleName !== void 0 ? moduleName : \"\")\n .replace(\"${dosId}\", dosid !== null && dosid !== void 0 ? dosid : \"\");\n return url;\n};\nexports.getAutoSdlHelp = getAutoSdlHelp;\n//# sourceMappingURL=ContextualHelp.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getFreqCompSchema = exports.isFrequencyComponent = exports.isFreqUnitInState = exports.isFreqValueInState = exports.isFreqComponentInState = exports.getFreqCompFormData = void 0;\nvar getFreqCompFormData = function (model, component, tab) {\n var _a;\n var componentValue = {\n value: component.defaultValue.value,\n unit: component.defaultValue.unit\n };\n if (component.frequencyMeta) {\n // Min value update\n if (component.frequencyMeta.min) {\n componentValue = __assign(__assign({}, componentValue), { min: {\n value: component.frequencyMeta.min.value,\n unit: component.frequencyMeta.min.unit\n } });\n }\n // Max value update\n if (component.frequencyMeta.max) {\n componentValue = __assign(__assign({}, componentValue), { max: {\n value: component.frequencyMeta.max.value,\n unit: component.frequencyMeta.max.unit\n } });\n }\n // Options update\n if (component.frequencyMeta.unitOptions) {\n componentValue = __assign(__assign({}, componentValue), { options: component.frequencyMeta.unitOptions });\n }\n }\n // Form data updation based on dynamic data\n var updatedFreqComp = (model.getDerivedFunctions() && model.getDerivedFunctions()[component.name] != null) ? (_a = model.getDerivedFunctions()) === null || _a === void 0 ? void 0 : _a[component.name]() : undefined;\n if (updatedFreqComp) {\n // Default value update\n if (updatedFreqComp.defaultValue) {\n componentValue = __assign(__assign({}, componentValue), { value: updatedFreqComp.defaultValue.value, unit: updatedFreqComp.defaultValue.unit });\n }\n // Min, Max and Options update\n if (updatedFreqComp.frequencyMeta) {\n if (updatedFreqComp.frequencyMeta.min) {\n componentValue = __assign(__assign({}, componentValue), { min: {\n value: updatedFreqComp.frequencyMeta.min.value,\n unit: updatedFreqComp.frequencyMeta.min.unit,\n } });\n }\n if (updatedFreqComp.frequencyMeta.max) {\n componentValue = __assign(__assign({}, componentValue), { max: {\n value: updatedFreqComp.frequencyMeta.max.value,\n unit: updatedFreqComp.frequencyMeta.max.unit,\n } });\n }\n if (updatedFreqComp.frequencyMeta.unitOptions) {\n componentValue = __assign(__assign({}, componentValue), { options: updatedFreqComp.frequencyMeta.unitOptions });\n }\n }\n }\n if (!isFreqComponentInState(model, component, tab)) {\n return componentValue;\n }\n else {\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n if (isFreqValueInState(model, component, tab)) {\n var valueChanged = tabState[component.group][component.name].value;\n componentValue = __assign(__assign({}, componentValue), { value: valueChanged });\n }\n if (isFreqUnitInState(model, component, tab)) {\n var unitChanged = tabState[component.group][component.name].unit;\n componentValue = __assign(__assign({}, componentValue), { unit: unitChanged });\n }\n return componentValue;\n }\n};\nexports.getFreqCompFormData = getFreqCompFormData;\nfunction isFreqComponentInState(model, component, tab) {\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n return (tabState && tabState[component.group] && tabState[component.group][component.name]);\n}\nexports.isFreqComponentInState = isFreqComponentInState;\nfunction isFreqValueInState(model, component, tab) {\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n return (tabState && tabState[component.group] && tabState[component.group][component.name] && tabState[component.group][component.name].value);\n}\nexports.isFreqValueInState = isFreqValueInState;\nfunction isFreqUnitInState(model, component, tab) {\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n return (tabState && tabState[component.group] && tabState[component.group][component.name] && tabState[component.group][component.name].unit);\n}\nexports.isFreqUnitInState = isFreqUnitInState;\nfunction isFrequencyComponent(component) {\n return (component.category === \"software\" &&\n component.type === \"frequency\");\n}\nexports.isFrequencyComponent = isFrequencyComponent;\nfunction getFreqCompSchema(component, derivedFunctions) {\n var _a, _b;\n //Schema creation with static moduleConfig data\n var schema = {\n type: \"object\",\n $id: \"frequency\",\n title: (_b = (_a = derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideTitle) === null || _a === void 0 ? void 0 : _a.call(derivedFunctions, component.name)) !== null && _b !== void 0 ? _b : component.description,\n properties: {\n value: {\n type: \"number\",\n default: component.defaultValue.value,\n },\n unit: {\n type: \"string\",\n default: component.defaultValue.unit,\n }\n },\n };\n if (component.frequencyMeta) {\n // Min value update\n if (component.frequencyMeta.min) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { min: {\n type: \"object\",\n properties: {\n value: {\n type: \"number\",\n default: component.frequencyMeta.min.value,\n },\n unit: {\n type: \"string\",\n default: component.frequencyMeta.min.unit,\n }\n }\n } }) });\n }\n // Max value update\n if (component.frequencyMeta.max) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { max: {\n type: \"object\",\n properties: {\n value: {\n type: \"number\",\n default: component.frequencyMeta.max.value,\n },\n unit: {\n type: \"string\",\n default: component.frequencyMeta.max.unit,\n }\n }\n } }) });\n }\n // Unit options update\n if (component.frequencyMeta.unitOptions) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { options: {\n type: \"array\",\n items: {\n type: \"string\",\n enum: component.frequencyMeta.unitOptions,\n }\n } }) });\n }\n }\n //Schema updation based on dynamic data\n var updatedFreqComp = (derivedFunctions && derivedFunctions[component.name] != null) ? derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions[component.name]() : undefined;\n if (updatedFreqComp) {\n // description update\n if (updatedFreqComp.description) {\n schema = __assign(__assign({}, schema), { title: updatedFreqComp.description });\n }\n // defaultValue update\n if (updatedFreqComp.defaultValue) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { value: {\n type: \"number\",\n default: updatedFreqComp.defaultValue.value,\n }, unit: {\n type: \"string\",\n default: updatedFreqComp.defaultValue.unit,\n } }) });\n }\n // frequencyMeta update\n if (updatedFreqComp.frequencyMeta) {\n // Min value and unit update\n if (updatedFreqComp.frequencyMeta.min) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { min: {\n type: \"object\",\n properties: {\n value: {\n type: \"number\",\n default: updatedFreqComp.frequencyMeta.min.value,\n },\n unit: {\n type: \"string\",\n default: updatedFreqComp.frequencyMeta.min.unit,\n }\n }\n } }) });\n }\n // Max value and unit update\n if (updatedFreqComp.frequencyMeta.max) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { max: {\n type: \"object\",\n properties: {\n value: {\n type: \"number\",\n default: updatedFreqComp.frequencyMeta.max.value,\n },\n unit: {\n type: \"string\",\n default: updatedFreqComp.frequencyMeta.max.unit,\n }\n }\n } }) });\n }\n // Unit options update\n if (updatedFreqComp.frequencyMeta.unitOptions) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { options: {\n type: \"array\",\n items: {\n type: \"string\",\n enum: updatedFreqComp.frequencyMeta.unitOptions,\n }\n } }) });\n }\n }\n }\n return schema;\n}\nexports.getFreqCompSchema = getFreqCompSchema;\n//# sourceMappingURL=FrequencyComponentHelper.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hasModes = exports.processRegisterModes = void 0;\nvar Utils_1 = require(\"../Utils\");\nvar processRegisterModes = function (peripheral, hardwarePeripheral, model) {\n var _a, _b;\n if (!(0, exports.hasModes)(peripheral)) {\n return hardwarePeripheral;\n }\n var modifiedHardwarePeripheral = __assign(__assign({}, hardwarePeripheral), { registers: __assign({}, hardwarePeripheral.registers) });\n (_b = (0, Utils_1.getKeys)((_a = peripheral === null || peripheral === void 0 ? void 0 : peripheral.registers) !== null && _a !== void 0 ? _a : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (registerName) {\n var _a, _b, _c, _d, _e, _f, _g;\n var settings = (_a = peripheral === null || peripheral === void 0 ? void 0 : peripheral.registers) === null || _a === void 0 ? void 0 : _a[registerName];\n var delFlag = false;\n settings === null || settings === void 0 ? void 0 : settings.forEach(function (setting) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n /* const mode = find(setting.tabs, (mode => {\n return mode === \"registerFilter\"\n })) */ // TODO : Multiple modes support\n if (((_a = setting === null || setting === void 0 ? void 0 : setting.mode) === null || _a === void 0 ? void 0 : _a.operation) === \"registerFilter\") {\n var targetStr = (_c = model === null || model === void 0 ? void 0 : model.getComponent((_b = setting === null || setting === void 0 ? void 0 : setting.mode) === null || _b === void 0 ? void 0 : _b.masterComponent)) === null || _c === void 0 ? void 0 : _c.value;\n var matchRegEx = new RegExp((_e = (_d = setting === null || setting === void 0 ? void 0 : setting.mode) === null || _d === void 0 ? void 0 : _d.matchRegEx) !== null && _e !== void 0 ? _e : \"\");\n if (!matchRegEx.test(targetStr)) {\n var settingObj = (_h = (_g = (_f = modifiedHardwarePeripheral === null || modifiedHardwarePeripheral === void 0 ? void 0 : modifiedHardwarePeripheral.registers) === null || _f === void 0 ? void 0 : _f[registerName]) === null || _g === void 0 ? void 0 : _g.settings) === null || _h === void 0 ? void 0 : _h[setting.setting];\n if (settingObj !== undefined) {\n (_l = (_k = (_j = modifiedHardwarePeripheral === null || modifiedHardwarePeripheral === void 0 ? void 0 : modifiedHardwarePeripheral.registers) === null || _j === void 0 ? void 0 : _j[registerName]) === null || _k === void 0 ? void 0 : _k.settings) === null || _l === void 0 ? true : delete _l[setting.setting];\n }\n else {\n (_m = modifiedHardwarePeripheral === null || modifiedHardwarePeripheral === void 0 ? void 0 : modifiedHardwarePeripheral.registers) === null || _m === void 0 ? true : delete _m[registerName];\n }\n delFlag = true;\n }\n }\n });\n if (delFlag &&\n (0, Utils_1.getKeys)((_d = (_c = (_b = modifiedHardwarePeripheral === null || modifiedHardwarePeripheral === void 0 ? void 0 : modifiedHardwarePeripheral.registers) === null || _b === void 0 ? void 0 : _b[registerName]) === null || _c === void 0 ? void 0 : _c.settings) !== null && _d !== void 0 ? _d : [])\n .length <= 0) {\n (_f = (_e = modifiedHardwarePeripheral === null || modifiedHardwarePeripheral === void 0 ? void 0 : modifiedHardwarePeripheral.registers) === null || _e === void 0 ? void 0 : _e[registerName]) === null || _f === void 0 ? true : delete _f.settings;\n (_g = modifiedHardwarePeripheral === null || modifiedHardwarePeripheral === void 0 ? void 0 : modifiedHardwarePeripheral.registers) === null || _g === void 0 ? true : delete _g[registerName];\n }\n });\n return modifiedHardwarePeripheral;\n};\nexports.processRegisterModes = processRegisterModes;\nvar hasModes = function (peripheral) {\n var _a, _b;\n var flag = false;\n (_b = (0, Utils_1.getKeys)((_a = peripheral === null || peripheral === void 0 ? void 0 : peripheral.registers) !== null && _a !== void 0 ? _a : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (registerName) {\n var _a;\n var settings = (_a = peripheral === null || peripheral === void 0 ? void 0 : peripheral.registers) === null || _a === void 0 ? void 0 : _a[registerName];\n for (var _i = 0, _b = settings !== null && settings !== void 0 ? settings : []; _i < _b.length; _i++) {\n var setting = _b[_i];\n if ((setting === null || setting === void 0 ? void 0 : setting.mode) !== undefined) {\n flag = true;\n }\n }\n });\n return flag;\n};\nexports.hasModes = hasModes;\n//# sourceMappingURL=RegisterFilterMode.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getTimeComponentSchema = exports.isTimeComponent = exports.isTimeUnitInState = exports.isTimeValueInState = exports.isTimeComponentInState = exports.getTimeComponentFormData = void 0;\nvar getTimeComponentFormData = function (model, component, tab) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n var componentValue = {\n value: component.defaultValue.value,\n unit: component.defaultValue.unit\n };\n var updatedTimeComponent = (model.getDerivedFunctions() && model.getDerivedFunctions()[component.name] != null) ? (_a = model.getDerivedFunctions()) === null || _a === void 0 ? void 0 : _a[component.name]() : undefined;\n if (updatedTimeComponent) {\n if (updatedTimeComponent.defaultValue) {\n componentValue = {\n value: updatedTimeComponent.defaultValue.value,\n unit: updatedTimeComponent.defaultValue.unit,\n };\n }\n else {\n componentValue = {\n value: component.defaultValue.value,\n unit: component.defaultValue.unit,\n };\n }\n if (updatedTimeComponent.timeMeta) {\n if (updatedTimeComponent.timeMeta.min) {\n componentValue = __assign(__assign({}, componentValue), { min: {\n value: updatedTimeComponent.timeMeta.min.value,\n unit: updatedTimeComponent.timeMeta.min.unit,\n } });\n }\n else {\n componentValue = __assign(__assign({}, componentValue), { min: {\n value: (_c = (_b = component.timeMeta) === null || _b === void 0 ? void 0 : _b.min) === null || _c === void 0 ? void 0 : _c.value,\n unit: (_e = (_d = component.timeMeta) === null || _d === void 0 ? void 0 : _d.min) === null || _e === void 0 ? void 0 : _e.unit,\n } });\n }\n if (updatedTimeComponent.timeMeta.max) {\n componentValue = __assign(__assign({}, componentValue), { max: {\n value: updatedTimeComponent.timeMeta.max.value,\n unit: updatedTimeComponent.timeMeta.max.unit,\n } });\n }\n else {\n componentValue = __assign(__assign({}, componentValue), { max: {\n value: (_g = (_f = component.timeMeta) === null || _f === void 0 ? void 0 : _f.max) === null || _g === void 0 ? void 0 : _g.value,\n unit: (_j = (_h = component.timeMeta) === null || _h === void 0 ? void 0 : _h.max) === null || _j === void 0 ? void 0 : _j.unit,\n } });\n }\n if (updatedTimeComponent.timeMeta.unitOptions) {\n componentValue = __assign(__assign({}, componentValue), { options: updatedTimeComponent.timeMeta.unitOptions });\n }\n else {\n componentValue = __assign(__assign({}, componentValue), { options: (_k = component.timeMeta) === null || _k === void 0 ? void 0 : _k.unitOptions });\n }\n }\n }\n else if (component.timeMeta) {\n componentValue = {\n value: component.defaultValue.value,\n unit: component.defaultValue.unit,\n };\n if (component.timeMeta.min) {\n componentValue = __assign(__assign({}, componentValue), { min: {\n value: component.timeMeta.min.value,\n unit: component.timeMeta.min.unit,\n } });\n }\n if (component.timeMeta.max) {\n componentValue = __assign(__assign({}, componentValue), { max: {\n value: component.timeMeta.max.value,\n unit: component.timeMeta.max.unit,\n } });\n }\n if (component.timeMeta.unitOptions) {\n componentValue = __assign(__assign({}, componentValue), { options: component.timeMeta.unitOptions });\n }\n }\n else {\n componentValue = {\n value: component.defaultValue.value,\n unit: component.defaultValue.unit,\n };\n }\n if (!isTimeComponentInState(model, component, tab)) {\n return componentValue;\n }\n else {\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n if (isTimeValueInState(model, component, tab)) {\n var valueChanged = tabState[component.group][component.name].value;\n componentValue = __assign(__assign({}, componentValue), { value: valueChanged });\n }\n if (isTimeUnitInState(model, component, tab)) {\n var unitChanged = tabState[component.group][component.name].unit;\n componentValue = __assign(__assign({}, componentValue), { unit: unitChanged });\n }\n return componentValue;\n }\n};\nexports.getTimeComponentFormData = getTimeComponentFormData;\nfunction isTimeComponentInState(model, component, tab) {\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n return (tabState && tabState[component.group] && tabState[component.group][component.name]);\n}\nexports.isTimeComponentInState = isTimeComponentInState;\nfunction isTimeValueInState(model, component, tab) {\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n return (tabState && tabState[component.group] && tabState[component.group][component.name] && tabState[component.group][component.name].value);\n}\nexports.isTimeValueInState = isTimeValueInState;\nfunction isTimeUnitInState(model, component, tab) {\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n return (tabState && tabState[component.group] && tabState[component.group][component.name] && tabState[component.group][component.name].unit);\n}\nexports.isTimeUnitInState = isTimeUnitInState;\nfunction isTimeComponent(component) {\n return (component.category === \"software\" &&\n component.type === \"time\");\n}\nexports.isTimeComponent = isTimeComponent;\nfunction getTimeComponentSchema(component, derivedFunctions) {\n var _a, _b;\n //Schema creation with static moduleConfig data\n var schema = {\n type: \"object\",\n $id: \"timeComponent\",\n title: (_b = (_a = derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideTitle) === null || _a === void 0 ? void 0 : _a.call(derivedFunctions, component.name)) !== null && _b !== void 0 ? _b : component.description,\n properties: {\n value: {\n type: \"number\",\n default: component.defaultValue.value,\n },\n unit: {\n type: \"string\",\n default: component.defaultValue.unit,\n }\n },\n };\n if (component.timeMeta) {\n // Min value update\n if (component.timeMeta.min) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { min: {\n type: \"object\",\n properties: {\n value: {\n type: \"number\",\n default: component.timeMeta.min.value,\n },\n unit: {\n type: \"string\",\n default: component.timeMeta.min.unit,\n }\n }\n } }) });\n }\n // Max value update\n if (component.timeMeta.max) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { max: {\n type: \"object\",\n properties: {\n value: {\n type: \"number\",\n default: component.timeMeta.max.value,\n },\n unit: {\n type: \"string\",\n default: component.timeMeta.max.unit,\n }\n }\n } }) });\n }\n // Unit options update\n if (component.timeMeta.unitOptions) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { options: {\n type: \"array\",\n items: {\n type: \"string\",\n enum: component.timeMeta.unitOptions,\n }\n } }) });\n }\n }\n //Schema updation based on dynamic data\n var updatedTimeComponent = (derivedFunctions && derivedFunctions[component.name] != null) ? derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions[component.name]() : undefined;\n if (updatedTimeComponent) {\n // description update\n if (updatedTimeComponent.description) {\n schema = __assign(__assign({}, schema), { title: updatedTimeComponent.description });\n }\n // defaultValue update\n if (updatedTimeComponent.defaultValue) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { value: {\n type: \"number\",\n default: updatedTimeComponent.defaultValue.value,\n }, unit: {\n type: \"string\",\n default: updatedTimeComponent.defaultValue.unit,\n } }) });\n }\n // timeMeta update\n if (updatedTimeComponent.timeMeta) {\n // Min value and unit update\n if (updatedTimeComponent.timeMeta.min) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { min: {\n type: \"object\",\n properties: {\n value: {\n type: \"number\",\n default: updatedTimeComponent.timeMeta.min.value,\n },\n unit: {\n type: \"string\",\n default: updatedTimeComponent.timeMeta.min.unit,\n }\n }\n } }) });\n }\n // Max value and unit update\n if (updatedTimeComponent.timeMeta.max) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { max: {\n type: \"object\",\n properties: {\n value: {\n type: \"number\",\n default: updatedTimeComponent.timeMeta.max.value,\n },\n unit: {\n type: \"string\",\n default: updatedTimeComponent.timeMeta.max.unit,\n }\n }\n } }) });\n }\n // Unit options update\n if (updatedTimeComponent.timeMeta.unitOptions) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { options: {\n type: \"array\",\n items: {\n type: \"string\",\n enum: updatedTimeComponent.timeMeta.unitOptions,\n }\n } }) });\n }\n }\n }\n return schema;\n}\nexports.getTimeComponentSchema = getTimeComponentSchema;\n//# sourceMappingURL=TimeComponentHelper.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getConfigData = void 0;\n/* eslint-disable @typescript-eslint/no-var-requires */\nvar Utils_1 = require(\"../Utils\");\nvar getConfigData = function (model) {\n var _a, _b;\n var config = (_b = model === null || model === void 0 ? void 0 : (_a = model.getDerivedData()).getModuleConfig) === null || _b === void 0 ? void 0 : _b.call(_a);\n config = ConfigBuilder.for(config)\n .withDynamicConfigData(model)\n .withDynamicComponents(model)\n .build();\n return config;\n};\nexports.getConfigData = getConfigData;\nvar ConfigBuilder = /** @class */ (function () {\n function ConfigBuilder(config) {\n var _this = this;\n this.build = function () {\n return _this.config;\n };\n this.withDynamicConfigData = function (model) {\n var _a;\n return new ConfigBuilder((_a = model === null || model === void 0 ? void 0 : model.getDerivedFunction(\"getDynamicConfigData\", _this.config)) !== null && _a !== void 0 ? _a : _this.config);\n };\n this.withDynamicComponents = function (model) {\n var _a, _b;\n var dynamicComponents = (_b = model === null || model === void 0 ? void 0 : (_a = model.getDerivedFunctions()).getDynamicComponents) === null || _b === void 0 ? void 0 : _b.call(_a);\n if (dynamicComponents) {\n var dynamicComponentMap = (0, Utils_1.toDictionary)(dynamicComponents, function (component) {\n var _a;\n _this.config.UIGroups[component.group] =\n (_a = _this.config.UIGroups[component.group]) !== null && _a !== void 0 ? _a : component.group;\n return component.name;\n }, function (component) { return component; });\n _this.config.softwareData = __assign(__assign({}, _this.config.softwareData), dynamicComponentMap);\n }\n return new ConfigBuilder(_this.config);\n };\n this.config = config;\n }\n ConfigBuilder.for = function (config) {\n if (!config)\n throw console.error(\"Cannot find ModuleConfig\");\n return new ConfigBuilder(config);\n };\n return ConfigBuilder;\n}());\n//# sourceMappingURL=getConfigData.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createAutoViewPayloads = void 0;\nvar scf_register_view_helper_1 = require(\"@microchip/scf-register-view-helper\");\nvar Utils_1 = require(\"../../Utils\");\nvar AutoModuleHelper = __importStar(require(\"../AutoModuleHelpers\"));\nvar getConfigData_1 = require(\"../getConfigData\");\nvar registerFilter = __importStar(require(\"../RegisterFilterMode\"));\nvar autoModuleViewHelpers_1 = require(\"./autoModuleViewHelpers\");\nvar formData_1 = require(\"./formData\");\nvar scfUiSchema_1 = require(\"./scfUiSchema\");\nvar schema_1 = require(\"./schema\");\nvar uiSchema_1 = require(\"./uiSchema\");\nvar createAutoViewPayloads = function (model) {\n var config = (0, getConfigData_1.getConfigData)(model);\n var payloads = {\n main: {},\n };\n if (config === null || config === void 0 ? void 0 : config.tabs) {\n Object.keys(config.tabs).forEach(function (tab) {\n payloads[tab] = getPayloadForTab(tab);\n });\n }\n return payloads;\n function getPayloadForTab(tab) {\n if (tab === \"register\") {\n return createSimpleFormPayloadRegister();\n }\n var viewModel = {\n components: model.getAutoModuleAppModel().getAllComponents(),\n getComponent: model.getComponent,\n imports: model.getImports(),\n derivedFunctions: model.getDerivedFunctions(),\n getAssignedImport: model.getAssignedImport,\n getTableHelpers: model.getTableHelpers,\n };\n var schemaViewModel = {\n viewModel: viewModel,\n getDerivedFunction: {\n overrideTitle: model.getDerivedFunction(\"overrideTitle\"),\n isVisible: function (componentName) { var _a, _b; return (_b = (_a = model.getDerivedFunctions()).isVisible) === null || _b === void 0 ? void 0 : _b.call(_a, componentName); },\n getFunction: model.getDerivedFunction,\n },\n overrideTableOptions: model.getDerivedFunctions()[\"overrideTableOptions\"],\n overrideDefaultValues: model.getDerivedFunctions()[\"overrideTableDefaultValues\"],\n model: model,\n };\n var uiSchemaViewModel = {\n viewModel: viewModel,\n getDerivedFunction: {\n isEnabled: function (componentName) { var _a, _b; return (_b = (_a = model.getDerivedFunctions()).isEnabled) === null || _b === void 0 ? void 0 : _b.call(_a, componentName); },\n getUiBehavior: function (componentName) { var _a, _b; return (_b = (_a = model.getDerivedFunctions()).getUiBehavior) === null || _b === void 0 ? void 0 : _b.call(_a, componentName); },\n isVisible: function (componentName) { var _a, _b; return (_b = (_a = model.getDerivedFunctions()).isVisible) === null || _b === void 0 ? void 0 : _b.call(_a, componentName); },\n },\n getProcessedArgValue: model.getExportInterfaces().getProcessedArgValue,\n isControlledByInterface: model.isControlledByInterface,\n };\n return {\n schema: (0, schema_1.createSchema)(tab, config, schemaViewModel),\n uiSchema: (0, uiSchema_1.createUiSchema)(tab, config, uiSchemaViewModel),\n formData: (0, formData_1.createFormData)(tab, config, model),\n scfUiSchema: (0, scfUiSchema_1.createScfUiSchema)(tab, config, model),\n name: config === null || config === void 0 ? void 0 : config.tabs[tab],\n table: (0, autoModuleViewHelpers_1.shouldPopulateView)(model.getDerivedFunctions(), model.getImports(), model.getAssignedImport, config)\n ? model === null || model === void 0 ? void 0 : model.getDerivedFunction(\"getTableData\")\n : undefined,\n expandGroupsByDefault: (config === null || config === void 0 ? void 0 : config.UIGroupCollapse)\n ? config.UIGroupCollapse\n : true,\n };\n }\n function createSimpleFormPayloadRegister() {\n if (!(config === null || config === void 0 ? void 0 : config.peripherals)) {\n return {};\n }\n var registerViewPayloads = [];\n config.peripherals.forEach(function (peripheral) {\n var _a, _b, _c, _d, _e, _f;\n if (AutoModuleHelper.hasConfigBits(peripheral.interfaceId.name)) {\n return;\n }\n var hardwarePeripheral = (_a = model\n .getHardware(peripheral.interfaceId.name)) === null || _a === void 0 ? void 0 : _a.getPeripheral();\n if (!(hardwarePeripheral === null || hardwarePeripheral === void 0 ? void 0 : hardwarePeripheral.registers)) {\n return;\n }\n var registerValues = model.getRegisterValues(peripheral.interfaceId.name);\n var interrupts = model.getInterrupts();\n hardwarePeripheral = registerFilter.processRegisterModes(peripheral, hardwarePeripheral, model);\n //TODO: implement for all peripherals\n var registerView = scf_register_view_helper_1.CreateRegisterView.for(hardwarePeripheral);\n if (registerValues) {\n (_b = (0, Utils_1.getKeys)(registerValues !== null && registerValues !== void 0 ? registerValues : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (registerName) {\n var _a;\n var foundRegister = (_a = hardwarePeripheral === null || hardwarePeripheral === void 0 ? void 0 : hardwarePeripheral.registers) === null || _a === void 0 ? void 0 : _a[registerName];\n if (foundRegister) {\n registerView.withRegisterValue(foundRegister, registerValues[registerName].value);\n }\n });\n }\n for (var interruptsKey in interrupts !== null && interrupts !== void 0 ? interrupts : {}) {\n var interrupt = interrupts === null || interrupts === void 0 ? void 0 : interrupts[interruptsKey];\n if (interrupt) {\n var interruptComponent = model.getComponent(interruptsKey.toLowerCase());\n var interruptCompVal = typeof (interruptComponent === null || interruptComponent === void 0 ? void 0 : interruptComponent.value) === \"boolean\"\n ? (interruptComponent === null || interruptComponent === void 0 ? void 0 : interruptComponent.value)\n ? \"enabled\"\n : \"disabled\"\n : interruptComponent === null || interruptComponent === void 0 ? void 0 : interruptComponent.value;\n registerView\n .withInterruptValue(interrupt, (_c = interruptCompVal !== null && interruptCompVal !== void 0 ? interruptCompVal : interrupt.defaultValue) !== null && _c !== void 0 ? _c : \"disabled\")\n .withInterruptOptions(interrupt, (_f = (_e = (_d = interruptComponent === null || interruptComponent === void 0 ? void 0 : interruptComponent.component) === null || _d === void 0 ? void 0 : _d[\"defaultValue\"]) === null || _e === void 0 ? void 0 : _e.options) !== null && _f !== void 0 ? _f : [\n \"enabled\",\n \"disabled\",\n ]);\n }\n }\n registerViewPayloads.push(registerView.create());\n });\n return registerViewPayloads[0];\n }\n};\nexports.createAutoViewPayloads = createAutoViewPayloads;\n//# sourceMappingURL=autoModuleView.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isComponentInvisible = exports.shouldPopulateView = exports.isModeActive = exports.isImage = exports.isUrl = void 0;\nvar AutoModuleHardware_1 = require(\"../AutoModuleHardware\");\nfunction isUrl(component) {\n return (component.category === \"software\" &&\n component.type === \"string\" &&\n component.format === \"url\");\n}\nexports.isUrl = isUrl;\nfunction isImage(component) {\n return (component.category === \"software\" &&\n component.type === \"string\" &&\n component.format === \"image\");\n}\nexports.isImage = isImage;\nfunction isModeActive(mode, component, getComponent) {\n var _a, _b, _c, _d, _e, _f;\n if (((_a = component === null || component === void 0 ? void 0 : component.mode) === null || _a === void 0 ? void 0 : _a.operation) !== mode) {\n return undefined; //No mode selected\n }\n var masterComponent = getComponent(component.mode.masterComponent);\n if ((_b = component.mode) === null || _b === void 0 ? void 0 : _b.matchRegEx) {\n var value = (_f = (_e = (_d = (_c = masterComponent === null || masterComponent === void 0 ? void 0 : masterComponent.value) === null || _c === void 0 ? void 0 : _c.toString()) === null || _d === void 0 ? void 0 : _d.match(component.mode.matchRegEx)) === null || _e === void 0 ? void 0 : _e.length) !== null && _f !== void 0 ? _f : 0;\n return value > 0;\n }\n return undefined;\n}\nexports.isModeActive = isModeActive;\nfunction shouldPopulateView(derivedFunctions, imports, getAssignedImport, config) {\n var _a;\n if (displayViewOnImportAssigned(getAssignedImport, config) === false) {\n return false;\n }\n return (((_a = derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.shouldPopulateViewAtStartup) === null || _a === void 0 ? void 0 : _a.call(derivedFunctions)) === true ||\n (0, AutoModuleHardware_1.isFullyAssigned)(imports, config));\n}\nexports.shouldPopulateView = shouldPopulateView;\nfunction displayViewOnImportAssigned(getAssignedImport, config) {\n var shouldPopulateView = true;\n if (config === null || config === void 0 ? void 0 : config.displayViewOnImportAssigned) {\n config.displayViewOnImportAssigned.forEach(function (impKey) {\n if (getAssignedImport(impKey) == undefined) {\n shouldPopulateView = false;\n }\n });\n }\n return shouldPopulateView;\n}\nvar isComponentInvisible = function (component, appModel) {\n var _a, _b;\n var isInvisibleViaProperty = component.isVisibleProperty &&\n appModel.getDerivedFunction(component.isVisibleProperty) == false;\n return (((_b = (_a = appModel.getDerivedFunctions()).isVisible) === null || _b === void 0 ? void 0 : _b.call(_a, component.name)) === false ||\n isInvisibleViaProperty ||\n isModeActive(\"isVisible\", component, appModel.getComponent) === false);\n};\nexports.isComponentInvisible = isComponentInvisible;\n//# sourceMappingURL=autoModuleViewHelpers.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createFormData = void 0;\nvar tables_1 = require(\"../../tables/tables\");\nvar Utils_1 = require(\"../../Utils\");\nvar schema_1 = require(\"./schema\");\nvar TimeComponentHelper_1 = require(\"../TimeComponentHelper\");\nvar FrequencyComponentHelper_1 = require(\"../FrequencyComponentHelper\");\nfunction createFormData(tab, config, model) {\n var _a;\n var formData = {};\n if (config) {\n var components = model.getAutoModuleAppModel().getAllComponents();\n (_a = (0, Utils_1.values)(components)) === null || _a === void 0 ? void 0 : _a.forEach(function (entry) {\n var _a;\n if (!config) {\n return;\n }\n var component = entry.component;\n var value = model.getComponentValue(component.name);\n var regex = new RegExp(\"[en,dis]abled?\");\n if (component.type === \"boolean\") {\n if (value && typeof value === 'string') {\n if (regex.test(value.toLowerCase()) && typeof config.booleanValues.true === \"string\") {\n var configVal = config.booleanValues.true;\n if (configVal.toLowerCase() === \"enable\") {\n value = value.toLowerCase().startsWith(configVal.toLowerCase());\n }\n else {\n value = configVal.toLowerCase().startsWith(value.toLowerCase());\n }\n }\n else if (value === \"true\") {\n value = true;\n }\n else if (value === \"false\") {\n value = false;\n }\n }\n else if (value && typeof value === 'boolean') {\n value = value;\n }\n }\n if (component.type === \"DescriptionOnly\") {\n value = null;\n }\n if ((0, schema_1.isInvalidTab)(component.tabs, tab)) {\n return;\n }\n if (component.category === \"table\") {\n value = (0, tables_1.getTableFormData)(model, component, tab);\n }\n if (component.category === \"file_load\") {\n value = \"\";\n }\n if (component.type === \"time\") {\n value = (0, TimeComponentHelper_1.getTimeComponentFormData)(model, component, tab);\n }\n if (component.type === \"frequency\") {\n value = (0, FrequencyComponentHelper_1.getFreqCompFormData)(model, component, tab);\n }\n if (component.category === \"file_save\") {\n value = \"\";\n }\n formData[component.group] = __assign(__assign({}, formData[component.group]), (_a = {}, _a[component.name] = value, _a));\n });\n }\n return formData;\n}\nexports.createFormData = createFormData;\n//# sourceMappingURL=formData.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createScfUiSchema = void 0;\nvar tables_1 = require(\"../../tables/tables\");\nvar Utils_1 = require(\"../../Utils\");\nvar AutoModuleHelpers_1 = require(\"../AutoModuleHelpers\");\nvar ContextualHelp_1 = require(\"../ContextualHelp\");\nfunction createScfUiSchema(tab, config, model) {\n var _a;\n var scfUiSchema = {};\n if (config) {\n var components_1 = getAllComponents(model);\n (_a = (0, Utils_1.getKeys)(components_1)) === null || _a === void 0 ? void 0 : _a.forEach(function (eachKey) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n var component = components_1[eachKey].component;\n var name = component.name, group = component.group;\n var schema = {};\n if (component.tabs.indexOf(tab) == -1)\n return;\n if (!scfUiSchema[group]) {\n scfUiSchema[group] = {};\n }\n if (!scfUiSchema[group][name]) {\n scfUiSchema[group][name] = {};\n }\n var actions = getActions(component, model);\n var transformErrors = model.getDerivedFunction(\"getCustomUiErrors\", name);\n if (model.getImports()) {\n var deviceMeta = model.getImportValue(\"device_meta\");\n var hasSdlSupport = (_a = deviceMeta === null || deviceMeta === void 0 ? void 0 : deviceMeta.hasSdlSupport) !== null && _a !== void 0 ? _a : false;\n if (component.sdlHelp && hasSdlSupport) {\n var helpUrl = component.sdlHelp.url;\n schema[\"helpKeyword\"] = getHelpKeyword(model, name, helpUrl);\n schema[\"tooltip\"] = getTooltip(component);\n }\n }\n if (component.category === \"file_load\") {\n schema[\"fileLoadProps\"] = {};\n schema[\"fileLoadProps\"][\"fileId\"] = eachKey;\n schema[\"fileLoadProps\"][\"saveState\"] = (_c = (_b = component.fileMeta) === null || _b === void 0 ? void 0 : _b.saveState) !== null && _c !== void 0 ? _c : false;\n schema[\"fileLoadProps\"][\"filter\"] = (_d = component.fileMeta) === null || _d === void 0 ? void 0 : _d.filter;\n schema[\"fileLoadProps\"][\"type\"] = \"file_load\";\n schema[\"fileLoadProps\"][\"compText\"] = (_e = component.fileMeta) === null || _e === void 0 ? void 0 : _e.compText;\n }\n if (component.category === \"file_save\") {\n schema[\"fileSaveProps\"] = {};\n schema[\"fileSaveProps\"][\"fileId\"] = eachKey;\n schema[\"fileSaveProps\"][\"fileContents\"] = model.getComponentValue(component.name);\n schema[\"fileSaveProps\"][\"fileName\"] = (_f = component.fileMeta) === null || _f === void 0 ? void 0 : _f.defaultName;\n schema[\"fileSaveProps\"][\"type\"] = \"file_save\";\n schema[\"fileSaveProps\"][\"compText\"] = (_g = component.fileMeta) === null || _g === void 0 ? void 0 : _g.compText;\n }\n if (component.category === \"table\") {\n var tableState = (_k = (_j = (_h = model === null || model === void 0 ? void 0 : model.getState()) === null || _h === void 0 ? void 0 : _h[tab]) === null || _j === void 0 ? void 0 : _j[group]) === null || _k === void 0 ? void 0 : _k[name];\n var uids = (0, tables_1.createTableUids)(component, tab, model, tableState);\n schema[\"table\"] = getTableUiSchema(component, uids);\n actions = (0, tables_1.getTableActions)(component, tab, model, uids);\n }\n schema[\"precision\"] = component[\"precision\"];\n schema[\"shouldDispatchOnChange\"] = component[\"shouldDispatchOnChange\"];\n if (actions) {\n schema[\"actions\"] = actions;\n }\n if (transformErrors) {\n schema[\"transformErrors\"] = transformErrors;\n }\n scfUiSchema[group][name] = __assign({}, schema);\n });\n }\n return scfUiSchema;\n}\nexports.createScfUiSchema = createScfUiSchema;\nfunction getAllComponents(model) {\n return model.getAutoModuleAppModel().getAllComponents();\n}\nfunction getHelpKeyword(model, componentName, helpUrl) {\n var _a;\n return ((_a = model.getDerivedFunction(\"getHelpUrl\", componentName, helpUrl)) !== null && _a !== void 0 ? _a : (0, ContextualHelp_1.getAutoSdlHelp)(model, componentName, helpUrl));\n}\nfunction getTooltip(component) {\n var _a, _b;\n return (_b = (_a = component.sdlHelp) === null || _a === void 0 ? void 0 : _a.tooltip) !== null && _b !== void 0 ? _b : \"Click for more information\";\n}\nfunction getTableUiSchema(component, uids) {\n var cellValidationInfo = (0, tables_1.getCellValidationInfo)(component);\n return {\n canRemoveRows: component.canRemoveRows,\n canInsertRows: component.canInsertRows,\n canAddRows: component.canAddRows,\n canMoveRowDown: component.canMoveRowDown,\n canMoveRowUp: component.canMoveRowUp,\n canEnableRows: component.canEnableRows,\n uids: uids,\n cellValidationInfo: cellValidationInfo,\n };\n}\nfunction getDependencySelectorActions(component, model) {\n var depSelector = new AutoModuleHelpers_1.DependencySelector(model, component);\n var options = depSelector.generateDropdownOptions();\n var dependencySelectorActions = [];\n options.forEach(function (dropdownOption) {\n var option = dropdownOption.value;\n dependencySelectorActions.push({\n type: \"[Import] SET\",\n payload: {\n importId: component.importId,\n handle: option === null || option === void 0 ? void 0 : option.handle,\n interfaceId: option === null || option === void 0 ? void 0 : option.interfaceId,\n option: dropdownOption.label,\n },\n });\n });\n return JSON.stringify(dependencySelectorActions);\n}\nfunction getActions(component, model) {\n if (component.category === \"import\") {\n return getDependencySelectorActions(component, model);\n }\n var actions = model.getDerivedFunction(\"getActions\", component.name, component.actions);\n return JSON.stringify(actions); //TODO: support map\n}\n//# sourceMappingURL=scfUiSchema.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getDependencyComponentSchema = exports.isInvalidTab = exports.createSchema = void 0;\nvar tables_1 = require(\"../../tables/tables\");\nvar Utils_1 = require(\"../../Utils\");\nvar AutoModuleHelpers_1 = require(\"../AutoModuleHelpers\");\nvar TimeComponentHelper_1 = require(\"../TimeComponentHelper\");\nvar FrequencyComponentHelper_1 = require(\"../FrequencyComponentHelper\");\nvar autoModuleViewHelpers_1 = require(\"./autoModuleViewHelpers\");\nfunction createSchema(tab, config, viewModel) {\n var _a, _b, _c, _d, _e, _f, _g;\n var schema = {};\n if (config) {\n var populateView_1 = (0, autoModuleViewHelpers_1.shouldPopulateView)(viewModel.viewModel.derivedFunctions, viewModel.viewModel.imports, viewModel.viewModel.getAssignedImport, config);\n schema = {\n description: (_c = (_b = (_a = viewModel.viewModel).getModuleDescription) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : (0, AutoModuleHelpers_1.getModuleDefaultDescription)(),\n title: config.moduleName,\n type: \"object\",\n properties: {},\n };\n var schemaBuilder_1 = {\n properties: {},\n };\n (_e = (0, Utils_1.values)((_d = viewModel.viewModel.components) !== null && _d !== void 0 ? _d : {})) === null || _e === void 0 ? void 0 : _e.forEach(function (entry) {\n var _a, _b, _c, _d, _e;\n var component = entry.component;\n if ((!populateView_1 && component.category != \"import\") ||\n isInvalidTab(component.tabs, tab)) {\n return;\n }\n if (!schemaBuilder_1[component.group]) {\n schemaBuilder_1[component.group] = {\n title: (_c = (_b = (_a = viewModel.viewModel.derivedFunctions) === null || _a === void 0 ? void 0 : _a.overrideGroupTitle) === null || _b === void 0 ? void 0 : _b.call(_a, component.group)) !== null && _c !== void 0 ? _c : config === null || config === void 0 ? void 0 : config.UIGroups[component.group],\n description: (_e = (_d = viewModel.viewModel.derivedFunctions) === null || _d === void 0 ? void 0 : _d.overrideGroupDescription) === null || _e === void 0 ? void 0 : _e.call(_d, component.group),\n type: \"object\",\n properties: {},\n };\n }\n schemaBuilder_1[component.group].properties = __assign(__assign({}, schemaBuilder_1[component.group].properties), getComponentSchema(component, tab, viewModel));\n });\n //Sort groups based on order of UIGroups and remove groups with no components\n (_g = (0, Utils_1.getKeys)((_f = config.UIGroups) !== null && _f !== void 0 ? _f : {})) === null || _g === void 0 ? void 0 : _g.forEach(function (group) {\n var _a, _b, _c, _d;\n if (((_d = (_c = (0, Utils_1.getKeys)((_b = (_a = schemaBuilder_1[group]) === null || _a === void 0 ? void 0 : _a.properties) !== null && _b !== void 0 ? _b : {})) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : -1) > 0 &&\n schema.properties) {\n schema.properties[group] = schemaBuilder_1[group];\n }\n });\n }\n return schema;\n}\nexports.createSchema = createSchema;\nfunction getComponentSchema(component, tab, viewModel) {\n var _a;\n var schema = {};\n if (isInvalidTab(component.tabs, tab) ||\n (viewModel.model && (0, autoModuleViewHelpers_1.isComponentInvisible)(component, viewModel.model))) {\n return schema;\n }\n schema = addComponentSchema(component, viewModel);\n if (schema == undefined) {\n return schema;\n }\n if (shouldAddValidator(component, viewModel.viewModel.derivedFunctions)) {\n schema = addComponentValidator(schema, component, viewModel.viewModel.derivedFunctions);\n }\n var componentName = component.name;\n schema = (_a = {}, _a[componentName] = __assign({}, schema), _a);\n return schema;\n}\nfunction isInvalidTab(tabs, tab) {\n return tabs.indexOf(tab) == -1;\n}\nexports.isInvalidTab = isInvalidTab;\nfunction addComponentValidator(schema, component, derivedFunctions) {\n return __assign(__assign({}, schema), derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions[component.name + \"Validator\"]());\n}\nfunction shouldAddValidator(component, derivedFunctions) {\n return (component.validation &&\n derivedFunctions &&\n (derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions[component.name + \"Validator\"]) != null);\n}\nfunction addComponentSchema(component, viewModel) {\n if (component.category === \"software\") {\n return getSoftwareComponentSchema(component, viewModel.viewModel.derivedFunctions);\n }\n else if (component.category === \"hardware\") {\n return getHardwareComponentSchema(component, viewModel);\n }\n else if (component.category === \"import\") {\n return getDependencyComponentSchema(component, viewModel);\n }\n else if (component.category === \"file_load\") {\n return getFileLoadComponentSchema(component, viewModel);\n }\n else if (component.category === \"file_save\") {\n return getFileSaveComponentSchema(component, viewModel);\n }\n else if (component[\"category\"] === \"table\") {\n return (0, tables_1.getTableComponentSchema)(component, viewModel);\n }\n return undefined;\n}\nfunction getSoftwareComponentSchema(component, derivedFunctions) {\n var _a, _b, _c, _d, _e, _f;\n var schema = {};\n if (component.type === \"ComboBox\") {\n schema = {\n type: \"string\",\n title: (_b = (_a = derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideTitle) === null || _a === void 0 ? void 0 : _a.call(derivedFunctions, component.name)) !== null && _b !== void 0 ? _b : component.description,\n default: (0, AutoModuleHelpers_1.getDefaultValue)(derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideDefaultValues, component),\n enum: (0, AutoModuleHelpers_1.getComboOptions)(derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideOptions, component),\n };\n }\n else if (component.type === \"hex\") {\n schema = {\n type: \"integer\",\n title: (_d = (_c = derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideTitle) === null || _c === void 0 ? void 0 : _c.call(derivedFunctions, component.name)) !== null && _d !== void 0 ? _d : component.description,\n format: \"hex\",\n default: (0, AutoModuleHelpers_1.getDefaultValue)(derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideDefaultValues, component),\n };\n }\n else if (component.type === \"DescriptionOnly\") {\n schema = {\n type: \"null\",\n title: component.description,\n };\n }\n else if (component.type === \"time\") {\n schema = (0, TimeComponentHelper_1.getTimeComponentSchema)(component, derivedFunctions);\n }\n else if (component.type === \"frequency\") {\n schema = (0, FrequencyComponentHelper_1.getFreqCompSchema)(component, derivedFunctions);\n }\n else {\n schema = {\n type: component.type,\n title: (_f = (_e = derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideTitle) === null || _e === void 0 ? void 0 : _e.call(derivedFunctions, component.name)) !== null && _f !== void 0 ? _f : component.description,\n };\n if ((0, autoModuleViewHelpers_1.isUrl)(component) && component.urlDescription) {\n schema = __assign(__assign({}, schema), { description: component.urlDescription });\n }\n if ((0, autoModuleViewHelpers_1.isImage)(component) && component.imageDescription) {\n schema = __assign(__assign({}, schema), { description: component.imageDescription });\n }\n }\n return schema;\n}\nfunction getDependencyComponentSchema(component, viewModel) {\n var _a, _b, _c, _d, _e, _f;\n var schema = {};\n if (((_a = component.uiBehavior) === null || _a === void 0 ? void 0 : _a[\"ui:widget\"]) === \"hidden\") {\n return;\n }\n if (component.type === \"ComboBox\" && viewModel.model) {\n var dependencySelector = new AutoModuleHelpers_1.DependencySelector(viewModel.model, component);\n if (dependencySelector.getDropdownOptionNames().length <= 0) {\n return schema;\n }\n var dropdownOptions = dependencySelector.getDropdownOptionNames();\n var assignedImport = (_c = (_b = viewModel.createProcessedImports) === null || _b === void 0 ? void 0 : _b.call(viewModel, \"views\")) === null || _c === void 0 ? void 0 : _c[component.importId];\n var NONE_1 = \"None\";\n var assignedName = NONE_1;\n var selectedDependency = viewModel.model.getComponentValue(component.name);\n if (assignedImport === null || assignedImport === void 0 ? void 0 : assignedImport.handle) {\n assignedName = dependencySelector.createOptionLabel(assignedImport.handle, assignedImport.payload);\n dropdownOptions.push(assignedName);\n }\n else if (selectedDependency) {\n dropdownOptions.push(selectedDependency);\n }\n dropdownOptions = dropdownOptions.sort(function (a, b) {\n return a.localeCompare(b);\n });\n dropdownOptions = __spreadArray([NONE_1], dropdownOptions.filter(function (item) { return item !== NONE_1; }), true);\n schema = {\n type: \"string\",\n title: (_f = (_e = (_d = viewModel.getDerivedFunction).overrideTitle) === null || _e === void 0 ? void 0 : _e.call(_d, component.name)) !== null && _f !== void 0 ? _f : component.description,\n default: assignedName,\n enum: dropdownOptions,\n };\n }\n return schema;\n}\nexports.getDependencyComponentSchema = getDependencyComponentSchema;\nfunction getFileLoadComponentSchema(component, viewModel) {\n var _a, _b, _c;\n var schema = {};\n if (viewModel.model) {\n schema = {\n type: \"string\",\n title: (_c = (_b = (_a = viewModel.getDerivedFunction).overrideTitle) === null || _b === void 0 ? void 0 : _b.call(_a, component.name)) !== null && _c !== void 0 ? _c : component.description,\n };\n }\n return schema;\n}\nfunction getFileSaveComponentSchema(component, viewModel) {\n var _a, _b, _c;\n var schema = {};\n if (viewModel.model) {\n schema = {\n type: \"string\",\n title: (_c = (_b = (_a = viewModel.getDerivedFunction).overrideTitle) === null || _b === void 0 ? void 0 : _b.call(_a, component.name)) !== null && _c !== void 0 ? _c : component.description,\n };\n }\n return schema;\n}\nfunction getHardwareComponentSchema(component, viewModel) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n var schema = {};\n var model = viewModel.model;\n if (model) {\n if (model.getComponentValue(component.name) !== undefined &&\n component.type !== \"register\") {\n if (component.type === \"ComboBox\") {\n var setting = (0, AutoModuleHelpers_1.getSettingFromComponent)(model, component);\n schema = {\n type: \"string\",\n title: (_c = (_b = (_a = viewModel.viewModel.derivedFunctions) === null || _a === void 0 ? void 0 : _a.overrideTitle) === null || _b === void 0 ? void 0 : _b.call(_a, component.name)) !== null && _c !== void 0 ? _c : component.description,\n default: (0, AutoModuleHelpers_1.getSettingDefaultIfPresent)(component, setting, (_e = (_d = model\n .getDerivedFunctions()).overrideDefaultValues) === null || _e === void 0 ? void 0 : _e.call(_d, component.name)),\n enum: (0, AutoModuleHelpers_1.getSettingOptionsIfPresent)(component, setting, model.getComponentValue((_g = (_f = component.mode) === null || _f === void 0 ? void 0 : _f.masterComponent) !== null && _g !== void 0 ? _g : \"\")),\n };\n }\n else {\n schema = {\n type: component.type,\n title: (_k = (_j = (_h = viewModel.viewModel.derivedFunctions) === null || _h === void 0 ? void 0 : _h.overrideTitle) === null || _j === void 0 ? void 0 : _j.call(_h, component.name)) !== null && _k !== void 0 ? _k : component.description,\n };\n }\n }\n }\n return schema;\n}\n//# sourceMappingURL=schema.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createUiSchema = void 0;\nvar tables_1 = require(\"../../tables/tables\");\nvar Utils_1 = require(\"../../Utils\");\nvar autoModuleViewHelpers_1 = require(\"./autoModuleViewHelpers\");\nfunction createUiSchema(tab, config, viewModel) {\n var _a;\n var _b, _c, _d;\n var uiSchema = {};\n if (config) {\n if (config.UIOrder) {\n (_c = (0, Utils_1.getKeys)((_b = config.UIOrder) !== null && _b !== void 0 ? _b : {})) === null || _c === void 0 ? void 0 : _c.forEach(function (group) {\n var _a;\n uiSchema[group] = {\n \"ui:order\": (_a = config === null || config === void 0 ? void 0 : config.UIOrder) === null || _a === void 0 ? void 0 : _a[group],\n };\n });\n }\n var components = viewModel.viewModel.components;\n var isGroupHidden_1 = {};\n (_d = (0, Utils_1.values)(components !== null && components !== void 0 ? components : {})) === null || _d === void 0 ? void 0 : _d.forEach(function (entry) {\n var _a, _b;\n var _c, _d, _e, _f, _g, _h, _j;\n var component = entry.component;\n var tabIndex = (_d = (_c = component.tabs) === null || _c === void 0 ? void 0 : _c.indexOf(tab)) !== null && _d !== void 0 ? _d : -1;\n if (tabIndex === -1)\n return;\n var isComponentGroupHidden = isGroupHidden_1[component.group] === undefined ||\n isGroupHidden_1[component.group] === true;\n if (isComponentGroupHidden) {\n var isHidden = (_f = ((_e = component.uiBehavior) === null || _e === void 0 ? void 0 : _e[\"ui:widget\"]) === \"hidden\") !== null && _f !== void 0 ? _f : false;\n if (((_h = (_g = viewModel.getDerivedFunction).isVisible) === null || _h === void 0 ? void 0 : _h.call(_g, component.name)) === false) {\n isHidden = true;\n }\n isGroupHidden_1[component.group] = isHidden;\n }\n if (component.category === \"table\") {\n var table = component;\n var tableCols_1 = table.columns;\n var colNames = Object.keys(tableCols_1);\n var defaultAlignment_1 = \"left\";\n var displayHeadersHorizontally = (_j = table.displayHeadersHorizontally) !== null && _j !== void 0 ? _j : false;\n var displayHeadersDiagonally_1 = !displayHeadersHorizontally;\n var columns_1 = [];\n var defaultColumnWidth_1 = (0, tables_1.calculateColumnWidth)(tableCols_1);\n var headerMaxLength_1 = colNames\n .map(function (name) { return tableCols_1[name].title.length; })\n .reduce(function (a, b) { return Math.max(a, b); });\n colNames.forEach(function (name) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n var isColEditable = !tableCols_1[name].readonly;\n var columnWidth = defaultColumnWidth_1[name];\n var disableRowsForCol = (_c = (_b = (_a = viewModel.viewModel.derivedFunctions) === null || _a === void 0 ? void 0 : _a.disableTableCells) === null || _b === void 0 ? void 0 : _b.call(_a, name)) !== null && _c !== void 0 ? _c : [];\n columns_1.push({\n dataField: name,\n editable: isColEditable ? undefined : false,\n columnWidth: tableCols_1[name].columnWidth\n ? tableCols_1[name].columnWidth + \"%\"\n : columnWidth + \"%\",\n width: tableCols_1[name].width\n ? tableCols_1[name].width + \"%\"\n : columnWidth + \"%\",\n dataSort: tableCols_1[name].isSortable,\n headerAlign: displayHeadersDiagonally_1\n ? defaultAlignment_1\n : (_e = (_d = tableCols_1[name].headerAlign) !== null && _d !== void 0 ? _d : tableCols_1[name].dataAlign) !== null && _e !== void 0 ? _e : defaultAlignment_1,\n dataAlign: (_g = (_f = tableCols_1[name].dataAlign) !== null && _f !== void 0 ? _f : tableCols_1[name].headerAlign) !== null && _g !== void 0 ? _g : defaultAlignment_1,\n disabledRows: (_h = tableCols_1[name].disabledRows) !== null && _h !== void 0 ? _h : disableRowsForCol,\n tdStyle: (0, tables_1.getCellStyle)(tableCols_1[name].readonly),\n headerText: (_j = tableCols_1[name]) === null || _j === void 0 ? void 0 : _j[\"columnTip\"],\n hidden: (_m = (_l = (_k = viewModel.viewModel.derivedFunctions) === null || _k === void 0 ? void 0 : _k.hideTableColumn) === null || _l === void 0 ? void 0 : _l.call(_k, name)) !== null && _m !== void 0 ? _m : false,\n });\n });\n columns_1 = columns_1.map(function (col) {\n return __assign(__assign({}, col), { thStyle: (0, tables_1.getHeaderStyle)(headerMaxLength_1, displayHeadersDiagonally_1) });\n });\n uiSchema[table.group] = __assign(__assign({}, uiSchema[table.group]), (_a = {}, _a[table.name] = (0, tables_1.getTableUiSchema)(table, columns_1), _a));\n }\n else {\n uiSchema[component.group] = __assign(__assign({}, uiSchema[component.group]), (_b = {}, _b[component.name] = __assign(__assign({}, getUiBehavior(component, viewModel)), getUiSchemaExportArg(component.name, viewModel)), _b));\n }\n });\n for (var group in isGroupHidden_1) {\n if (isGroupHidden_1[group]) {\n uiSchema[group] = __assign(__assign({}, uiSchema[group]), (_a = {}, _a[\"ui:widget\"] = \"hidden\", _a));\n }\n }\n }\n return uiSchema;\n}\nexports.createUiSchema = createUiSchema;\nfunction getUiSchemaExportArg(name, viewModel) {\n var uiSchema = {};\n if (viewModel.isControlledByInterface(name)) {\n var expArg = viewModel.getProcessedArgValue(name);\n if (expArg) {\n uiSchema = {\n \"ui:readonly\": true,\n \"ui:help\": \"Controlled by \" + expArg.interface,\n };\n }\n }\n return uiSchema;\n}\nfunction getUiBehavior(component, viewModel) {\n var _a, _b;\n var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;\n var uiBehavior = {};\n if (component.uiBehavior) {\n (_d = (0, Utils_1.getKeys)((_c = component.uiBehavior) !== null && _c !== void 0 ? _c : {})) === null || _d === void 0 ? void 0 : _d.forEach(function (key) {\n var _a, _b;\n switch (key) {\n case \"readonly\":\n uiBehavior[\"ui:readonly\"] = (_a = component.uiBehavior) === null || _a === void 0 ? void 0 : _a[key];\n break;\n default:\n uiBehavior[key] = (_b = component.uiBehavior) === null || _b === void 0 ? void 0 : _b[key];\n break;\n }\n });\n }\n if ((0, autoModuleViewHelpers_1.isUrl)(component)) {\n uiBehavior[\"ui:widget\"] = \"url\";\n }\n else if ((0, autoModuleViewHelpers_1.isImage)(component)) {\n uiBehavior[\"ui:widget\"] = \"image\";\n }\n else if (component.category === \"file_load\") {\n uiBehavior[\"ui:field\"] = \"file_load\";\n uiBehavior[\"ui:readonly\"] = (_e = component.uiBehavior) === null || _e === void 0 ? void 0 : _e.readonly;\n }\n else if (component.type === \"time\") {\n uiBehavior[\"ui:field\"] = \"TimeComponent\";\n }\n else if (component.type === \"frequency\") {\n uiBehavior[\"ui:field\"] = \"frequency\";\n }\n else if (component.category === \"file_save\") {\n uiBehavior[\"ui:field\"] = \"file_save\";\n uiBehavior[\"ui:readonly\"] = (_f = component.uiBehavior) === null || _f === void 0 ? void 0 : _f.readonly;\n }\n var overriddenBehavior = {};\n if (viewModel) {\n var overriddenValue = (_h = (_g = viewModel.getDerivedFunction).getUiBehavior) === null || _h === void 0 ? void 0 : _h.call(_g, component.name);\n if (overriddenValue != undefined) {\n overriddenBehavior = __assign(__assign({}, overriddenBehavior), overriddenValue);\n if (((_j = (0, Utils_1.getKeys)(overriddenBehavior !== null && overriddenBehavior !== void 0 ? overriddenBehavior : {})) === null || _j === void 0 ? void 0 : _j.indexOf(\"readonly\")) != -1) {\n overriddenBehavior[\"ui:readonly\"] = overriddenBehavior[\"readonly\"];\n delete overriddenBehavior[\"readonly\"];\n }\n }\n var isEnabled = (_m = (_l = (_k = viewModel.getDerivedFunction).isEnabled) === null || _l === void 0 ? void 0 : _l.call(_k, component.name)) !== null && _m !== void 0 ? _m : (0, autoModuleViewHelpers_1.isModeActive)(\"isEnabled\", component, viewModel.viewModel.getComponent);\n if (isEnabled != undefined) {\n overriddenBehavior = __assign(__assign({}, overriddenBehavior), (_a = {}, _a[\"ui:readonly\"] = !isEnabled, _a));\n }\n var isVisible = (_p = (_o = viewModel.getDerivedFunction).isVisible) === null || _p === void 0 ? void 0 : _p.call(_o, component.name);\n if (isVisible != undefined) {\n if (!isVisible) {\n overriddenBehavior = __assign(__assign({}, overriddenBehavior), (_b = {}, _b[\"ui:widget\"] = \"hidden\", _b));\n }\n }\n }\n uiBehavior = __assign(__assign({}, uiBehavior), overriddenBehavior);\n return uiBehavior;\n}\n//# sourceMappingURL=uiSchema.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.create = void 0;\nvar createPrototypeExports_1 = require(\"./interfaces/createPrototypeExports\");\nvar createPrototypeImports_1 = require(\"./interfaces/createPrototypeImports\");\nvar create = function (state, getCreatorFunctions) {\n var _a, _b, _c;\n var config = (_b = (_a = getCreatorFunctions()).getModuleConfig) === null || _b === void 0 ? void 0 : _b.call(_a);\n var prototypeImports = (0, createPrototypeImports_1.createPrototypeImports)(state, getCreatorFunctions());\n var prototypeExports = (0, createPrototypeExports_1.createPrototypeExports)(config);\n return {\n payload: state,\n imports: __assign({}, prototypeImports),\n exports: prototypeExports,\n isSingletonPerDevice: config === null || config === void 0 ? void 0 : config.isSingletonPerDevice,\n isEntryPoint: (_c = config === null || config === void 0 ? void 0 : config.isEntryPoint) !== null && _c !== void 0 ? _c : true,\n };\n};\nexports.create = create;\n//# sourceMappingURL=creator.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.create = exports.process = void 0;\nvar processor_1 = require(\"./processor\");\nObject.defineProperty(exports, \"process\", { enumerable: true, get: function () { return processor_1.process; } });\nvar creator_1 = require(\"./creator\");\nObject.defineProperty(exports, \"create\", { enumerable: true, get: function () { return creator_1.create; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createPrototypeExports = void 0;\nvar Utils_1 = require(\"../Utils\");\nvar createPrototypeExports = function (config) {\n var _a, _b;\n var exports = {};\n (_b = (0, Utils_1.getKeys)((_a = config === null || config === void 0 ? void 0 : config.exports) !== null && _a !== void 0 ? _a : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (expName) {\n var _a;\n var exp = (_a = config === null || config === void 0 ? void 0 : config.exports) === null || _a === void 0 ? void 0 : _a[expName];\n if (exp == undefined)\n return;\n exports[expName] = __assign(__assign({}, exp), { interfaces: processExportInterfaces(exp.interfaces) });\n });\n return exports;\n};\nexports.createPrototypeExports = createPrototypeExports;\nvar processExportInterfaces = function (int) {\n var newInterfaces = [];\n int.forEach(function (_a) {\n var interfaceId = _a.interfaceId, payload = _a.payload;\n newInterfaces.push({ interfaceId: interfaceId, payload: payload });\n });\n return newInterfaces;\n};\n//# sourceMappingURL=createPrototypeExports.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createPrototypeImports = void 0;\nvar AutoModuleHardware_1 = require(\"../autoModule/AutoModuleHardware\");\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar createPrototypeImports = function (state, creatorFunctions, config) {\n var _a, _b, _c;\n var prototypeImports = {};\n config = (_a = creatorFunctions.getModuleConfig) === null || _a === void 0 ? void 0 : _a.call(creatorFunctions);\n if (!config)\n return prototypeImports;\n if (config === null || config === void 0 ? void 0 : config.peripherals) {\n config.peripherals.forEach(function (peripheral) {\n var _a;\n var interfaceName = getFriendlyInterfaceId(peripheral.interfaceId.name);\n var prototypeImport = (0, AutoModuleHardware_1.createPrototypeImport)(interfaceName, config);\n if (prototypeImport) {\n prototypeImports = __assign(__assign({}, prototypeImports), (_a = {}, _a[interfaceName] = __assign(__assign({}, prototypeImport), { isRequired: true }), _a));\n }\n });\n }\n (_c = (0, Arrays_1.getKeys)((_b = config === null || config === void 0 ? void 0 : config.imports) !== null && _b !== void 0 ? _b : {})) === null || _c === void 0 ? void 0 : _c.forEach(function (key) {\n var _a, _b;\n var _c, _d, _e, _f, _g;\n var imp = (_c = config === null || config === void 0 ? void 0 : config.imports) === null || _c === void 0 ? void 0 : _c[key];\n var args = (_d = creatorFunctions === null || creatorFunctions === void 0 ? void 0 : creatorFunctions.getCreatorImportArgs) === null || _d === void 0 ? void 0 : _d.call(creatorFunctions, key, state);\n var shouldOrder = (_f = (_e = creatorFunctions.updateImportWithShouldAssignDescOrder) === null || _e === void 0 ? void 0 : _e.call(creatorFunctions, key)) !== null && _f !== void 0 ? _f : imp === null || imp === void 0 ? void 0 : imp.import.shouldAssignDescendantsInOrder;\n if (imp) {\n if (((_g = creatorFunctions === null || creatorFunctions === void 0 ? void 0 : creatorFunctions.shouldImport) === null || _g === void 0 ? void 0 : _g.call(creatorFunctions, key, state)) != false) {\n prototypeImports = __assign(__assign({}, prototypeImports), (_a = {}, _a[key] = __assign(__assign({}, imp.import), { args: args }), _a));\n }\n if (shouldOrder && shouldOrder.length > 0) {\n prototypeImports = __assign(__assign({}, prototypeImports), (_b = {}, _b[key] = __assign(__assign({}, imp.import), { args: args, shouldAssignDescendantsInOrder: shouldOrder }), _b));\n }\n }\n });\n return prototypeImports;\n};\nexports.createPrototypeImports = createPrototypeImports;\nvar getFriendlyInterfaceId = function (interfaceName) {\n interfaceName = interfaceName.replace(/ /g, \"\").replace(/-/g, \"_\");\n return interfaceName;\n};\n//# sourceMappingURL=createPrototypeImports.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MyExportInterfaces = exports.createExportInterfaces = void 0;\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar getConfigData_1 = require(\"../autoModule/getConfigData\");\nvar createExportInterfaces = function (exports, model) {\n return new MyExportInterfaces(exports, model);\n};\nexports.createExportInterfaces = createExportInterfaces;\nvar MyExportInterfaces = /** @class */ (function () {\n function MyExportInterfaces(exports, model) {\n var _this = this;\n this.getConfig = function () {\n if (!_this.config) {\n _this.config = (0, getConfigData_1.getConfigData)(_this.model);\n }\n return _this.config;\n };\n this.getComponents = function () {\n if (!_this.components) {\n _this.components = _this.createComponentList();\n }\n return _this.components;\n };\n this.createProcessedExports = function () {\n var _a, _b;\n var exportPayload = _this.exports;\n var config = _this.getConfig();\n if (config.exports) {\n (_b = (0, Arrays_1.getKeys)((_a = config.exports) !== null && _a !== void 0 ? _a : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (key) {\n var _a;\n var _b, _c, _d, _e;\n var exp = (_b = config.exports) === null || _b === void 0 ? void 0 : _b[key];\n exportPayload = __assign(__assign({}, exportPayload), (_a = {}, _a[key] = __assign(__assign({}, (_c = config.exports) === null || _c === void 0 ? void 0 : _c[key]), { interfaces: [], name: (_d = _this.model.getDerivedFunction(\"exportName\", key)) !== null && _d !== void 0 ? _d : (_e = exportPayload[key]) === null || _e === void 0 ? void 0 : _e.name }), _a));\n exp === null || exp === void 0 ? void 0 : exp.interfaces.forEach(function (int) {\n var _a, _b, _c, _d;\n var processedInterface = _this.getInterface(key, int.interfaceId);\n if (processedInterface) {\n exportPayload[key].interfaces.push(__assign(__assign({}, processedInterface), { payload: (_b = (_a = _this.model) === null || _a === void 0 ? void 0 : _a.getDerivedFunction(int.interfaceId.name + \"_payload\")) !== null && _b !== void 0 ? _b : {}, payloads: (_d = (_c = _this.model) === null || _c === void 0 ? void 0 : _c.getDerivedFunction(int.interfaceId.name + \"_payloads\")) !== null && _d !== void 0 ? _d : {} }));\n }\n });\n });\n }\n return exportPayload;\n };\n this.getInterfaceArgs = function (interfaceKey, interfaceId) {\n var _a;\n return (_a = _this.getInterface(interfaceKey, interfaceId)) === null || _a === void 0 ? void 0 : _a.args;\n };\n this.getInterfaceResults = function (interfaceKey, interfaceId) {\n var _a;\n return (_a = _this.getInterface(interfaceKey, interfaceId)) === null || _a === void 0 ? void 0 : _a.results;\n };\n this.createComponentList = function () {\n var _a, _b;\n var componentList = [];\n var exports = (_a = _this.getConfig().exports) !== null && _a !== void 0 ? _a : {};\n (_b = (0, Arrays_1.getKeys)(exports)) === null || _b === void 0 ? void 0 : _b.forEach(function (key) {\n var exp = exports[key];\n exp.interfaces.forEach(function (int) {\n if (int.components) {\n componentList.push.apply(componentList, int.components);\n }\n });\n });\n return componentList;\n };\n this.isControlledByInterface = function (componentName) {\n return _this.getComponents().indexOf(componentName) != -1;\n };\n this.getProcessedArgValue = function (componentName) {\n var _a, _b;\n var processedArgValue;\n var interfaceData = _this.getInterfaceData();\n if (_this.model &&\n _this.model.getDerivedFunctions().getProcessedArgValue &&\n interfaceData != undefined) {\n processedArgValue = (_b = (_a = _this.model\n .getDerivedFunctions()) === null || _a === void 0 ? void 0 : _a.getProcessedArgValue) === null || _b === void 0 ? void 0 : _b.call(_a, componentName, interfaceData);\n }\n return processedArgValue;\n };\n this.getInterfaceData = function () {\n var _a, _b;\n var argValues;\n var exports = (_a = _this.getConfig().exports) !== null && _a !== void 0 ? _a : {};\n (_b = (0, Arrays_1.getKeys)(exports)) === null || _b === void 0 ? void 0 : _b.forEach(function (key) {\n var exp = exports[key];\n exp.interfaces.forEach(function (int) {\n var _a;\n var args = _this.getInterfaceArgs(key, int.interfaceId);\n if (args) {\n (_a = (0, Arrays_1.getKeys)(args)) === null || _a === void 0 ? void 0 : _a.forEach(function (key) {\n var _a;\n (_a = (0, Arrays_1.getKeys)(args[key])) === null || _a === void 0 ? void 0 : _a.forEach(function (arg) {\n if (!argValues)\n argValues = [];\n argValues.push({\n interface: int.interfaceId.name,\n name: arg,\n value: args[key][arg],\n module: key,\n });\n });\n });\n }\n });\n });\n return argValues;\n };\n this.exports = exports;\n this.model = model;\n }\n MyExportInterfaces.prototype.getInterface = function (interfaceKey, interfaceId) {\n var _a;\n if (!this.exports[interfaceKey])\n return undefined;\n return (0, Arrays_1.find)((_a = this.exports[interfaceKey].interfaces) !== null && _a !== void 0 ? _a : [], function (i) { return JSON.stringify(i.interfaceId) === JSON.stringify(interfaceId); });\n };\n return MyExportInterfaces;\n}());\nexports.MyExportInterfaces = MyExportInterfaces;\n//# sourceMappingURL=exports.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MyImportInterfaces = exports.createImportInterfaces = void 0;\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar AutoModuleHelpers_1 = require(\"../autoModule/AutoModuleHelpers\");\nvar InterruptActions_1 = require(\"../interrupts/InterruptActions\");\nvar Utils_1 = require(\"../Utils\");\nvar createImportInterfaces = function (imports, model, config) {\n return new MyImportInterfaces(imports, model, config);\n};\nexports.createImportInterfaces = createImportInterfaces;\nvar MyImportInterfaces = /** @class */ (function () {\n function MyImportInterfaces(imports, model, config) {\n var _this = this;\n this.createProcessedImports = function (stage) {\n var _a;\n var processedImports = _this.filterImports();\n (_a = (0, Utils_1.getKeys)(processedImports !== null && processedImports !== void 0 ? processedImports : {})) === null || _a === void 0 ? void 0 : _a.forEach(function (key) {\n var _a;\n var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;\n processedImports = __assign(__assign({}, processedImports), (_a = {}, _a[key] = __assign(__assign(__assign({}, processedImports[key]), { args: stage === \"arguments\"\n ? (_b = _this.model) === null || _b === void 0 ? void 0 : _b.getDerivedFunction(key + \"_args\")\n : (_c = processedImports[key]) === null || _c === void 0 ? void 0 : _c.args, results: stage === \"results\"\n ? _this.getResults(processedImports, key)\n : (_d = processedImports[key]) === null || _d === void 0 ? void 0 : _d.results, name: (_e = _this.model.getDerivedFunction(\"importName\", key)) !== null && _e !== void 0 ? _e : (_f = processedImports[key]) === null || _f === void 0 ? void 0 : _f.name, handle: (0, AutoModuleHelpers_1.getProcessedHandle)(processedImports[key].handle, processedImports[key].payload), options: (_j = _this.getProcessedImportOptions(key, (_h = (_g = processedImports[key]) === null || _g === void 0 ? void 0 : _g.options) !== null && _h !== void 0 ? _h : [])) !== null && _j !== void 0 ? _j : processedImports[key].options, shouldAssignDescendantsInOrder: (_m = (_l = (_k = _this.model\n .getDerivedFunctions()).updateImportWithShouldAssignDescOrder) === null || _l === void 0 ? void 0 : _l.call(_k, key)) !== null && _m !== void 0 ? _m : processedImports[key].shouldAssignDescendantsInOrder }), (_p = (_o = _this.model\n .getDerivedFunctions()).overrideImport) === null || _p === void 0 ? void 0 : _p.call(_o, key, processedImports[key])), _a));\n });\n return processedImports;\n };\n this.filterImports = function () {\n var _a, _b, _c;\n var filteredImports = (_c = (_b = (_a = _this.model.getDerivedFunctions()).filterImports) === null || _b === void 0 ? void 0 : _b.call(_a, _this.imports)) !== null && _c !== void 0 ? _c : _this.imports;\n return filteredImports;\n };\n //Populates option labels with a custom module name if provided in export payload\n this.getProcessedImportOptions = function (importKey, options) {\n var modifiedOptions = [];\n options === null || options === void 0 ? void 0 : options.forEach(function (option, index) {\n var _a, _b;\n modifiedOptions[index] = __assign(__assign({}, option), { handle: __assign(__assign({}, option.handle), { label: (_a = _this.model.getDerivedFunction(\"importOptionLabel\", importKey, option)) !== null && _a !== void 0 ? _a : (_b = option.payload) === null || _b === void 0 ? void 0 : _b.moduleName }) });\n });\n return modifiedOptions;\n };\n this.getResults = function (imports, key) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;\n var importResults = (_a = _this.model) === null || _a === void 0 ? void 0 : _a.getDerivedFunction(key + \"_results\");\n if (importResults)\n return importResults;\n var imp = imports[key];\n if (imp.interfaceId.name === \"initializer-system\") {\n var initResults = {\n initializer: {\n name: _this.model.getName() + \"_Initialize\",\n header: (_c = (_b = _this.model) === null || _b === void 0 ? void 0 : _b.getDerivedFunction(\"headerFile\")) !== null && _c !== void 0 ? _c : {\n name: _this.model.getName().toLowerCase() + \".h\",\n path: \"include/\",\n },\n },\n };\n return initResults;\n }\n else if (imp.interfaceId.name === \"pin-standard\") {\n return (_e = (_d = _this.model).getPCPHelper) === null || _e === void 0 ? void 0 : _e.call(_d).getData();\n }\n else if (imp.interfaceId.name === \"pins-interface\") {\n return (_g = (_f = _this.model).getPCPHelper) === null || _g === void 0 ? void 0 : _g.call(_f).getData();\n }\n else if (imp.interfaceId.name === \"interrupt-standard\") {\n var interrupts_1 = [];\n var actions_1 = {};\n var isHighPriority_1 = (_k = (_j = (_h = _this.model) === null || _h === void 0 ? void 0 : _h.getImportValue(\"interrupt_standard\")) === null || _j === void 0 ? void 0 : _j.isHighPriority) !== null && _k !== void 0 ? _k : {};\n (_o = (0, Utils_1.values)((_m = (_l = _this.model.getHardware()) === null || _l === void 0 ? void 0 : _l.getPeripheral().interrupts) !== null && _m !== void 0 ? _m : {})) === null || _o === void 0 ? void 0 : _o.forEach(function (interrupt) {\n var _a, _b;\n var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;\n if (!interrupt)\n return;\n var filterInterrupt = (_e = (_d = (_c = _this.model\n .getDerivedFunctions()).filterInterrupts) === null || _d === void 0 ? void 0 : _d.call(_c, interrupt.name)) !== null && _e !== void 0 ? _e : true;\n if (filterInterrupt) {\n var interruptComponentName = (_g = (_f = _this.getInterruptComponentName(interrupt.name)) !== null && _f !== void 0 ? _f : interrupt.name.toLowerCase()) !== null && _g !== void 0 ? _g : \"\";\n var isEnabled_1 = (_h = _this.model.isComponentValue(interruptComponentName !== null && interruptComponentName !== void 0 ? interruptComponentName : \"\")) !== null && _h !== void 0 ? _h : false;\n interrupts_1.push({\n //Standard\n name: (_j = interrupt.name) !== null && _j !== void 0 ? _j : \"\",\n module: (_m = (_l = (_k = _this.model.getHardware()) === null || _k === void 0 ? void 0 : _k.getName()) !== null && _l !== void 0 ? _l : _this.model.getName()) !== null && _m !== void 0 ? _m : \"\",\n isEnabled: isEnabled_1,\n //Callback Extension\n isrCallback: (_r = (_q = (_o = _this.model) === null || _o === void 0 ? void 0 : (_p = _o.getDerivedFunctions()).isrCallback) === null || _q === void 0 ? void 0 : _q.call(_p, interrupt.name)) !== null && _r !== void 0 ? _r : {\n name: _this.model.getName() + interrupt.handlerName,\n header: (_v = (_u = (_s = _this.model) === null || _s === void 0 ? void 0 : (_t = _s.getDerivedFunctions()).headerFile) === null || _u === void 0 ? void 0 : _u.call(_t)) !== null && _v !== void 0 ? _v : {\n name: _this.model.getName().toLowerCase() + \".h\",\n path: \"include/\",\n },\n },\n generateISR: isEnabled_1,\n //Priority Extension\n isHighPriority: (_w = isHighPriority_1[interrupt.name]) !== null && _w !== void 0 ? _w : true,\n });\n var isEnableActions = (_a = ((_z = (_y = (_x = _this.model\n .getDerivedFunctions()).getInterruptActions) === null || _y === void 0 ? void 0 : _y.call(_x, interrupt.name, \"isEnabled\")) !== null && _z !== void 0 ? _z : [])).concat.apply(_a, (0, InterruptActions_1.getDefaultInterruptActions)(_this.model, interruptComponentName));\n var isEnableAction = (0, Arrays_1.find)(isEnableActions, function (action) { return action[\"validFor\"] !== isEnabled_1; });\n actions_1 = __assign(__assign({}, actions_1), (_b = {}, _b[interrupt.name] = __assign(__assign({}, actions_1 === null || actions_1 === void 0 ? void 0 : actions_1[interrupt.name]), { isEnabled: isEnableAction ? [isEnableAction] : [] }), _b));\n }\n });\n return {\n interruptList: interrupts_1,\n interruptActions: actions_1,\n moduleName: (_p = _this.model.getName()) !== null && _p !== void 0 ? _p : \"\",\n };\n }\n else if (imp.interfaceId.name === \"api-prefix-registration\") {\n var apiPrefixResults = {\n apiPrefix: (_s = (_r = (_q = _this.model) === null || _q === void 0 ? void 0 : _q.getDerivedFunctions()) === null || _r === void 0 ? void 0 : _r.apiPrefix) !== null && _s !== void 0 ? _s : (_t = _this.model) === null || _t === void 0 ? void 0 : _t.getComponentValue(\"componentName\"),\n moduleName: (_u = _this.model) === null || _u === void 0 ? void 0 : _u.getName(),\n };\n return apiPrefixResults;\n }\n };\n this.getInterruptComponentName = function (interruptName) {\n var _a, _b;\n return (_b = (_a = _this.model.getDerivedFunctions()) === null || _a === void 0 ? void 0 : _a.interruptComponentName) === null || _b === void 0 ? void 0 : _b.call(_a, interruptName);\n };\n this.imports = imports;\n this.model = model;\n }\n return MyImportInterfaces;\n}());\nexports.MyImportInterfaces = MyImportInterfaces;\n//# sourceMappingURL=imports.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getDefaultInterruptActions = exports.InterruptActionsBuilder = void 0;\nvar AutoModuleHelpers_1 = require(\"../autoModule/AutoModuleHelpers\");\nvar InterruptActionsBuilder = /** @class */ (function () {\n function InterruptActionsBuilder(model) {\n var _this = this;\n this.actions = [];\n this.createActionFor = function (componentName) {\n var _a;\n _this.actions = _this.buildActions();\n _this.curComponent = componentName\n ? (_a = _this.model.getComponent(componentName)) === null || _a === void 0 ? void 0 : _a.component\n : undefined;\n _this.curComponentName = componentName;\n _this.tableRowId = undefined;\n _this.tableRowCol = undefined;\n _this.tableCellPath = undefined;\n return _this;\n };\n this.addActionIfEnabled = function (actionValue) {\n if (!_this.curComponentName || !_this.curComponent)\n return _this;\n if (!_this.isActionValueAcceptable(_this.curComponent, actionValue))\n return _this;\n var payload = {\n tabId: _this.curComponent.tabs[0],\n value: actionValue,\n };\n if (_this.curComponent.category === \"table\") {\n if (!_this.tableCellPath)\n return _this;\n payload = __assign(__assign({}, payload), { path: \"\".concat(_this.curComponent.group, \".\").concat(_this.curComponent.name, \".\").concat(_this.tableCellPath), rowId: _this.tableRowId });\n }\n else {\n payload = __assign(__assign({}, payload), { path: \"\".concat(_this.curComponent.group, \".\").concat(_this.curComponent.name) });\n }\n _this.actions.push({\n validFor: true,\n action: {\n type: \"[FORM] SUBMIT\",\n payload: payload,\n },\n });\n return _this;\n };\n this.addActionIfDisabled = function (actionValue) {\n if (!_this.curComponentName || !_this.curComponent)\n return _this;\n if (!_this.isActionValueAcceptable(_this.curComponent, actionValue))\n return _this;\n var payload = {\n tabId: _this.curComponent.tabs[0],\n value: actionValue,\n };\n if (_this.curComponent.category === \"table\") {\n if (!_this.tableCellPath)\n return _this;\n payload = __assign(__assign({}, payload), { path: \"\".concat(_this.curComponent.group, \".\").concat(_this.curComponent.name, \".\").concat(_this.tableCellPath), rowId: _this.tableRowId });\n }\n else {\n payload = __assign(__assign({}, payload), { path: \"\".concat(_this.curComponent.group, \".\").concat(_this.curComponent.name) });\n }\n _this.actions.push({\n validFor: false,\n action: {\n type: \"[FORM] SUBMIT\",\n payload: payload,\n },\n });\n return _this;\n };\n this.setPathToTableCell = function (rowIndex, colName) {\n var _a;\n if (((_a = _this.curComponent) === null || _a === void 0 ? void 0 : _a.category) !== \"table\")\n return _this;\n _this.tableRowId = rowIndex;\n _this.tableRowCol = colName;\n _this.tableCellPath = \"\".concat(rowIndex, \".\").concat(colName);\n return _this;\n };\n this.isActionValueAcceptable = function (component, actionValue) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n if (component.category === \"hardware\") {\n if (component.type === \"ComboBox\") {\n var options = (_a = (0, AutoModuleHelpers_1.getSettingFromComponent)(_this.model, component)) === null || _a === void 0 ? void 0 : _a.options;\n if (!(options === null || options === void 0 ? void 0 : options.some(function (option) {\n var _a;\n return option[(_a = component[\"displayOptionSetting\"]) !== null && _a !== void 0 ? _a : \"alias\"] ===\n actionValue;\n }))) {\n return false;\n }\n }\n else if (component.type === \"boolean\") {\n // if (actionValue !== \"enabled\" && actionValue !== \"disabled\") {\n if (actionValue !== true && actionValue !== false) {\n return false;\n }\n }\n }\n else if (component.category === \"software\") {\n if (component.type === \"ComboBox\") {\n var options = component[\"options\"];\n if (!(options === null || options === void 0 ? void 0 : options.some(function (option) { return option === actionValue; }))) {\n return false;\n }\n }\n else if (component.type === \"boolean\") {\n if (actionValue !== true && actionValue !== false) {\n return false;\n }\n }\n }\n else if (component.category === \"table\") {\n if (!_this.tableRowCol)\n return false;\n if (((_c = (_b = component.columns) === null || _b === void 0 ? void 0 : _b[_this.tableRowCol]) === null || _c === void 0 ? void 0 : _c.type) === \"ComboBox\") {\n var options = (_f = (_e = (_d = component.columns) === null || _d === void 0 ? void 0 : _d[_this.tableRowCol]) === null || _e === void 0 ? void 0 : _e.defaultValue) === null || _f === void 0 ? void 0 : _f[\"options\"];\n if (!(options === null || options === void 0 ? void 0 : options.some(function (option) { return option === actionValue; }))) {\n return false;\n }\n }\n else if (((_h = (_g = component.columns) === null || _g === void 0 ? void 0 : _g[_this.tableRowCol]) === null || _h === void 0 ? void 0 : _h.type) === \"boolean\") {\n if (actionValue !== true && actionValue !== false) {\n return false;\n }\n }\n }\n return true;\n };\n this.buildActions = function () {\n return _this.actions;\n };\n this.model = model;\n }\n InterruptActionsBuilder.createActionBuilder = function (model) {\n return new InterruptActionsBuilder(model);\n };\n return InterruptActionsBuilder;\n}());\nexports.InterruptActionsBuilder = InterruptActionsBuilder;\nfunction getDefaultInterruptActions(model, componentName) {\n if (!componentName)\n return [];\n return (InterruptActionsBuilder.createActionBuilder(model)\n .createActionFor(componentName)\n .addActionIfEnabled(true)\n .addActionIfDisabled(false)\n // .addActionIfEnabled(\"enabled\")\n // .addActionIfDisabled(\"disabled\")\n .buildActions());\n}\nexports.getDefaultInterruptActions = getDefaultInterruptActions;\n//# sourceMappingURL=InterruptActions.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PCPHelper = exports.stateActionBuilder = void 0;\nvar PCPStateActionBuilder_1 = require(\"./PCPStateActionBuilder\");\nfunction stateActionBuilder(pinRow) {\n return new PCPStateActionBuilder_1.PCPStateActionBuilder(pinRow);\n}\nexports.stateActionBuilder = stateActionBuilder;\nvar PCPHelper = /** @class */ (function () {\n function PCPHelper() {\n var _this = this;\n this.pinCallbacks = undefined;\n this.getAllFilteredRows = function (allRows) {\n var validRows = [];\n allRows.forEach(function (eachRow) {\n var userRowData = _this.userRowData(eachRow);\n // check the validity of user provided data\n if (userRowData && _this.isRowValid(userRowData)) {\n validRows.push(userRowData);\n }\n });\n return validRows;\n };\n this.isRowValid = function (eachRow) {\n if ((eachRow === null || eachRow === void 0 ? void 0 : eachRow.name) &&\n (eachRow === null || eachRow === void 0 ? void 0 : eachRow.module) &&\n (eachRow === null || eachRow === void 0 ? void 0 : eachRow.function) &&\n (eachRow === null || eachRow === void 0 ? void 0 : eachRow.direction) &&\n (eachRow === null || eachRow === void 0 ? void 0 : eachRow.behaviour)) {\n return true;\n }\n else {\n return false;\n }\n };\n this.userRowData = function (eachRow) {\n var _a;\n var eachrowret = eachRow;\n if ((_a = _this.pinCallbacks) === null || _a === void 0 ? void 0 : _a.getRowData) {\n eachrowret = _this.pinCallbacks.getRowData(__assign({}, eachRow));\n }\n return eachrowret;\n };\n this.getAllRows = function () {\n var _a, _b, _c, _d, _e;\n var pinRows = (_d = (_c = (_b = (_a = _this.pinCallbacks) === null || _a === void 0 ? void 0 : _a.getPinsData) === null || _b === void 0 ? void 0 : _b.call(_a)) === null || _c === void 0 ? void 0 : _c.rows) !== null && _d !== void 0 ? _d : [];\n var userdata = {};\n if ((_e = _this.pinCallbacks) === null || _e === void 0 ? void 0 : _e.getCompletePinData) {\n userdata = _this.pinCallbacks.getCompletePinData();\n if (userdata && (userdata === null || userdata === void 0 ? void 0 : userdata.rows)) {\n pinRows = userdata.rows;\n }\n }\n return pinRows;\n };\n this.getData = function () {\n var retData = {\n rows: _this.getAllFilteredRows(_this.getAllRows()),\n };\n return retData;\n };\n }\n PCPHelper.prototype.stateActionBuilder = function (pinRow) {\n return stateActionBuilder(pinRow);\n };\n PCPHelper.prototype.setCallbacks = function (callbacks) {\n this.pinCallbacks = callbacks;\n };\n return PCPHelper;\n}());\nexports.PCPHelper = PCPHelper;\n//# sourceMappingURL=PCPHelper.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PCPStateActionBuilder = void 0;\nvar types_1 = require(\"@microchip/pins-interface/lib/types\");\nvar PCPStateActionBuilder = /** @class */ (function () {\n function PCPStateActionBuilder(pinRow) {\n this.actionDataArr = [];\n this.pinRow = pinRow;\n this.tabId = \"main\";\n }\n PCPStateActionBuilder.prototype.rowWithName = function (rowName) {\n this.rowName = rowName;\n return this;\n };\n /**\n *\n * @param tabId - default tabId is \"main\", please change this as per your needs.\n * @returns PCPStateActionBuilder\n */\n PCPStateActionBuilder.prototype.compWithTabId = function (tabId) {\n this.tabId = tabId;\n return this;\n };\n PCPStateActionBuilder.prototype.addIfLockedSetValue = function (pinRegEx, value, pinNameReEx) {\n this.actionDataArr.push({\n pinstate: types_1.pin_state.LOCKED,\n validFor: pinRegEx,\n validForpinNameReEx: pinNameReEx,\n value: value,\n actiontype: types_1.actiontype.SETACTION,\n });\n return this;\n };\n PCPStateActionBuilder.prototype.addIfLockedProvideAttribs = function (pinRegEx, attribs) {\n this.actionDataArr.push({\n pinstate: types_1.pin_state.LOCKED,\n validFor: pinRegEx,\n value: this.formAttribs(attribs),\n actiontype: types_1.actiontype.ATTRIBACTION,\n });\n return this;\n };\n PCPStateActionBuilder.prototype.addIfUnlockedProvideAttribs = function (pinRegEx, attribs) {\n this.actionDataArr.push({\n pinstate: types_1.pin_state.UNLOCK,\n validFor: pinRegEx,\n value: this.formAttribs(attribs),\n actiontype: types_1.actiontype.ATTRIBACTION,\n });\n return this;\n };\n PCPStateActionBuilder.prototype.formAttribs = function (attribarray) {\n return {\n attribs: attribarray,\n };\n };\n PCPStateActionBuilder.prototype.addIfUnLockedSetValue = function (pinRegEx, value) {\n this.actionDataArr.push({\n pinstate: types_1.pin_state.UNLOCK,\n validFor: pinRegEx,\n value: value,\n actiontype: types_1.actiontype.SETACTION,\n });\n return this;\n };\n PCPStateActionBuilder.prototype.forComponent = function (component) {\n this.component = component;\n return this;\n };\n PCPStateActionBuilder.prototype.build = function () {\n var _this = this;\n var actionArr = [];\n if (this.pinRow.name === this.rowName) {\n this.actionDataArr.forEach(function (eachData) {\n var _a;\n var _b;\n var actionObj = {\n validFor: eachData.validFor,\n state: (_a = {},\n _a[eachData.pinstate] = {\n type: \"[FORM] SUBMIT\",\n payload: {\n tabId: _this.tabId,\n path: _this.component.group + \".\" + _this.component.name,\n value: eachData.value,\n },\n },\n _a),\n actiontype: (_b = eachData.actiontype) !== null && _b !== void 0 ? _b : \"\",\n };\n if (eachData.validForpinNameReEx !== undefined) {\n actionObj.validForpinNameReEx = eachData.validForpinNameReEx;\n }\n actionArr.push(actionObj);\n });\n }\n return actionArr;\n };\n return PCPStateActionBuilder;\n}());\nexports.PCPStateActionBuilder = PCPStateActionBuilder;\n/*\n PCPHelper\n .stateActionBuilder(rowData)\n .rowWithName(\"dacoutx\")\n .forComponent(dacOPEnCompo)\n .addIfLockedSetValue(\"DAC1OUT1\", \"DACOUT1 Enabled and DACOUT2 Disabled\")\n .addIfLockedSetValue(\"DAC1OUT2\", \"DACOUT2 Enabled and DACOUT1 Disabled\")\n .addIfUnLockedSetValue(\".*\", \"DACOUT1 and DACOUT2 are Disabled\")\n .build()\n*/\n//# sourceMappingURL=PCPStateActionBuilder.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.process = void 0;\nvar AppModel_1 = require(\"./App/AppModel\");\nvar AutoModuleHelpers_1 = require(\"./autoModule/AutoModuleHelpers\");\nvar AutoModuleTemplates_1 = require(\"./autoModule/AutoModuleTemplates\");\nvar getConfigData_1 = require(\"./autoModule/getConfigData\");\nvar autoModuleView_1 = require(\"./autoModule/views/autoModuleView\");\nvar AnalyticsHelper_1 = require(\"./Analytics/AnalyticsHelper\");\n/**\n * @param initialModule\n * @param stage\n * @param getDerivedData\n */\nvar process = function (initialModule, stage, getDerivedData) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;\n initialModule = (0, AutoModuleHelpers_1.populateLoadedFiles)(initialModule);\n var model = (0, AppModel_1.getModel)(initialModule, getDerivedData);\n if (!model)\n return initialModule;\n var processedOutput = __assign({}, initialModule);\n processedOutput = __assign(__assign({}, processedOutput), { showRegisterEditor: (0, getConfigData_1.getConfigData)(model).showRegisterEditor });\n switch (stage) {\n case \"arguments\":\n processedOutput = __assign(__assign({}, processedOutput), { imports: (_a = model\n .getImportInterfaces()\n .createProcessedImports(stage)) !== null && _a !== void 0 ? _a : initialModule.imports });\n break;\n case \"payloads\":\n processedOutput = __assign(__assign({}, processedOutput), { exports: (_b = model\n .getExportInterfaces()\n .createProcessedExports()) !== null && _b !== void 0 ? _b : initialModule.exports, name: model.getName(), help: (_e = (_d = (_c = model === null || model === void 0 ? void 0 : model.getDerivedFunctions()) === null || _c === void 0 ? void 0 : _c.overrideModuleLevelHelp) === null || _d === void 0 ? void 0 : _d.call(_c)) !== null && _e !== void 0 ? _e : (0, getConfigData_1.getConfigData)(model).help });\n break;\n case \"results\":\n processedOutput = __assign(__assign({}, processedOutput), { imports: (_f = model\n .getImportInterfaces()\n .createProcessedImports(stage)) !== null && _f !== void 0 ? _f : initialModule.imports });\n break;\n case \"views\":\n {\n var customTemplateData = (_j = (_h = model === null || model === void 0 ? void 0 : (_g = model.getDerivedFunctions()).templateData) === null || _h === void 0 ? void 0 : _h.call(_g)) !== null && _j !== void 0 ? _j : {};\n var view = (0, autoModuleView_1.createAutoViewPayloads)(model);\n processedOutput = __assign(__assign({}, processedOutput), { payload: __assign(__assign({}, initialModule.payload), { auto: view, customView: (_l = (_k = model === null || model === void 0 ? void 0 : model.getDerivedFunctions()) === null || _k === void 0 ? void 0 : _k.getCustomView) === null || _l === void 0 ? void 0 : _l.call(_k, initialModule) }), templateData: customTemplateData, templates: (0, AutoModuleTemplates_1.getTemplates)(model), alerts: (_o = model === null || model === void 0 ? void 0 : (_m = model.getDerivedFunctions()).alerts) === null || _o === void 0 ? void 0 : _o.call(_m), name: model.getActiveName(), category: model.getCategory(), description: (_r = (_q = (_p = model === null || model === void 0 ? void 0 : model.getDerivedFunctions()) === null || _p === void 0 ? void 0 : _p.getModuleDescription) === null || _q === void 0 ? void 0 : _q.call(_p)) !== null && _r !== void 0 ? _r : (0, AutoModuleHelpers_1.getModuleDefaultDescription)(), globalNames: (_u = (_t = (_s = model === null || model === void 0 ? void 0 : model.getDerivedFunctions()) === null || _s === void 0 ? void 0 : _s.getGlobalNames) === null || _t === void 0 ? void 0 : _t.call(_s)) !== null && _u !== void 0 ? _u : [], analytics: (_x = (_w = (_v = model.getDerivedFunctions()).getAnalytics) === null || _w === void 0 ? void 0 : _w.call(_v)) !== null && _x !== void 0 ? _x : (0, AnalyticsHelper_1.getAnalyticsDefault)(model) });\n }\n break;\n default:\n return initialModule;\n }\n return processedOutput;\n};\nexports.process = process;\n//# sourceMappingURL=processor.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UidMapBuilder = void 0;\nvar UidMapBuilder = /** @class */ (function () {\n function UidMapBuilder() {\n this.uidMap = {};\n }\n UidMapBuilder.prototype.addDefaultRows = function (rowData) {\n var _this = this;\n rowData.forEach(function (row, rowCount) {\n var _a;\n _this.uidMap[row.uid] = (_a = row.rowId) !== null && _a !== void 0 ? _a : rowCount;\n });\n return this;\n };\n UidMapBuilder.prototype.addDynamicRows = function (tableState) {\n var _this = this;\n tableState.forEach(function (row) {\n var uid = row === null || row === void 0 ? void 0 : row.uid;\n if (uid && uid.indexOf(\"dynamicRow_\") > -1) {\n _this.incrementUidAndShift(uid, row.rowId);\n }\n });\n return this;\n };\n UidMapBuilder.prototype.removeRows = function (tableState) {\n var _this = this;\n tableState.forEach(function (row) {\n var uid = row === null || row === void 0 ? void 0 : row.uid;\n if (uid && (row === null || row === void 0 ? void 0 : row.dynamicallyRemoved)) {\n _this.uidMap[uid] = -1;\n }\n });\n return this;\n };\n UidMapBuilder.prototype.sortByValue = function () {\n var _this = this;\n var count = 0;\n var sortedUids = [];\n this.getUidKeys().forEach(function (uid) {\n var _a;\n sortedUids.push((_a = {}, _a[uid] = _this.uidMap[uid], _a));\n });\n sortedUids = sortedUids.sort(function (a, b) { return a[Object.keys(a)[0]] - b[Object.keys(b)[0]]; });\n sortedUids.forEach(function (uid) {\n var uidKey = Object.keys(uid)[0];\n if (_this.uidMap[uidKey] > -1) {\n _this.uidMap[uidKey] = count++;\n }\n });\n return this;\n };\n UidMapBuilder.prototype.create = function () {\n return this.uidMap;\n };\n UidMapBuilder.prototype.incrementUidAndShift = function (uid, rowId) {\n var _this = this;\n this.getUidKeys().forEach(function (uid) {\n if (_this.uidMap[uid] >= rowId) {\n _this.uidMap[uid]++;\n }\n });\n this.uidMap[uid] = rowId;\n };\n UidMapBuilder.prototype.getUidKeys = function () {\n return Object.keys(this.uidMap);\n };\n return UidMapBuilder;\n}());\nexports.UidMapBuilder = UidMapBuilder;\n//# sourceMappingURL=UidMapBuilder.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getHeaderStyle = exports.getCellStyle = exports.getTableUiSchema = exports.getTableActions = exports.getCellValidationInfo = exports.createTableUids = exports.overrideDefaultsAndFilterRows = exports.getValueBasedOnState = exports.getTableFormData = exports.removeRowFromTable = exports.addRowToTable = exports.addRowsToTable = exports.overrideCellValue = exports.createInitialRows = exports.getInitialTableFormData = exports.calculateColumnWidth = exports.isTableInState = exports.overrideTableDefaultsWithChanges = exports.getTableHelpers = exports.getTableComponentSchema = void 0;\nvar Tables_1 = require(\"@microchip/melody-automodule-interface/lib/src/Tables\");\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar UidMapBuilder_1 = require(\"./UidMapBuilder\");\nfunction getTableComponentSchema(component, viewModel) {\n var _a, _b, _c, _d;\n var tableColumns = {};\n for (var columnsKey in component.columns) {\n var rjsfType = void 0;\n if (component.columns[columnsKey].type === \"ComboBox\") {\n var colBox = component.columns[columnsKey];\n rjsfType = \"string\";\n tableColumns[columnsKey] = {\n type: rjsfType,\n title: colBox.title,\n default: getDefaultValue(viewModel.overrideDefaultValues, colBox, columnsKey, component.name),\n enum: getComboOptions(viewModel.overrideTableOptions, colBox, columnsKey, component.name),\n };\n }\n else {\n rjsfType = (_a = component === null || component === void 0 ? void 0 : component.columns[columnsKey]) === null || _a === void 0 ? void 0 : _a.type;\n tableColumns[columnsKey] = {\n type: rjsfType,\n title: component.columns[columnsKey].title,\n default: component.columns[columnsKey].defaultValue,\n };\n }\n }\n return {\n type: \"array\",\n title: (_d = (_c = (_b = viewModel.viewModel.derivedFunctions) === null || _b === void 0 ? void 0 : _b.overrideTitle) === null || _c === void 0 ? void 0 : _c.call(_b, component.name)) !== null && _d !== void 0 ? _d : component.description,\n items: {\n type: \"object\",\n properties: __assign({}, tableColumns),\n },\n };\n}\nexports.getTableComponentSchema = getTableComponentSchema;\nvar getTableHelpers = function () {\n return {\n addRowToTable: addRowToTable,\n addRowsToTable: addRowsToTable,\n calculateColumnWidth: calculateColumnWidth,\n createInitialRows: createInitialRows,\n createTableUids: createTableUids,\n getCellStyle: getCellStyle,\n getCellValidationInfo: getCellValidationInfo,\n getHeaderStyle: getHeaderStyle,\n getInitialTableFormData: getInitialTableFormData,\n getTableActions: getTableActions,\n getTableFormData: getTableFormData,\n getTableUiSchema: getTableUiSchema,\n getValueBasedOnState: getValueBasedOnState,\n isTableInState: isTableInState,\n overrideCellValue: overrideCellValue,\n overrideDefaultsAndFilterRows: overrideDefaultsAndFilterRows,\n overrideTableDefaultsWithChanges: overrideTableDefaultsWithChanges,\n removeRowFromTable: removeRowFromTable,\n createUidMapBuilder: function () { return new UidMapBuilder_1.UidMapBuilder(); },\n };\n};\nexports.getTableHelpers = getTableHelpers;\nfunction overrideTableDefaultsWithChanges(rowChanged, initialFormData, uidMap) {\n var value = __spreadArray([], initialFormData, true);\n if (Array.isArray(rowChanged)) {\n rowChanged.forEach(function (changedRow) {\n var changedUid = changedRow.uid;\n var rowChangeNum = uidMap[changedUid];\n value[rowChangeNum] = __assign(__assign({}, value[rowChangeNum]), changedRow);\n });\n }\n return value;\n}\nexports.overrideTableDefaultsWithChanges = overrideTableDefaultsWithChanges;\nfunction isTableInState(tabState, component) {\n return (tabState && tabState[component.group] && tabState[component.group][component.name]);\n}\nexports.isTableInState = isTableInState;\nfunction calculateColumnWidth(columns) {\n if (!columns) {\n return {};\n }\n var runningWidth = 0;\n var booleanFields = 0;\n var columnWidths = {};\n for (var columnName in columns) {\n if (columns[columnName].type === \"boolean\") {\n var width = 8;\n booleanFields++;\n columnWidths[columnName] = width;\n runningWidth += width;\n }\n }\n for (var columnName in columns) {\n if (columns[columnName].type !== \"boolean\") {\n var width = (100 - runningWidth) / (Object.keys(columns).length - booleanFields);\n columnWidths[columnName] = width;\n }\n }\n return columnWidths;\n}\nexports.calculateColumnWidth = calculateColumnWidth;\nfunction getInitialTableFormData(table, columnNames, model) {\n var value = [];\n var tableFormData = {};\n columnNames.forEach(function (columnName) {\n if (!tableFormData[columnName]) {\n tableFormData[columnName] = getDefaultValue(model.getDerivedFunctions().overrideTableDefaultValues, table.columns[columnName], columnName, table.name);\n }\n });\n if (!(table === null || table === void 0 ? void 0 : table.rowData)) {\n value = createInitialRows(table, tableFormData);\n }\n else {\n var rowId_1 = 0;\n table === null || table === void 0 ? void 0 : table.rowData.forEach(function (row) {\n var rowDataCols = Object.keys(row);\n columnNames.forEach(function (colName) {\n var _a;\n if (rowDataCols.indexOf(colName) === -1) {\n row = __assign(__assign({}, row), (_a = {}, _a[colName] = tableFormData[colName], _a.uid = createRowUid(Tables_1.RowPrefix.Default, rowId_1), _a));\n }\n });\n value.push(__assign(__assign({}, row), { uid: createRowUid(Tables_1.RowPrefix.Default, rowId_1), rowId: rowId_1 }));\n rowId_1++;\n });\n }\n return value;\n}\nexports.getInitialTableFormData = getInitialTableFormData;\nfunction createInitialRows(table, tableFormData) {\n var _a;\n if (tableFormData === void 0) { tableFormData = {}; }\n var value = [];\n var initialRows = (_a = table === null || table === void 0 ? void 0 : table.defaultRowNum) !== null && _a !== void 0 ? _a : 1;\n for (var i = 0; i < initialRows; i++) {\n value.push(__assign(__assign({}, tableFormData), { rowId: i, uid: createRowUid(Tables_1.RowPrefix.Default, i) }));\n }\n return value;\n}\nexports.createInitialRows = createInitialRows;\nfunction overrideCellValue(tableData, cell) {\n var modifiedTableData = __spreadArray([], tableData, true);\n modifiedTableData[cell.rowId][cell.columnName] = cell.value;\n return modifiedTableData;\n}\nexports.overrideCellValue = overrideCellValue;\nfunction addRowsToTable(tableData, columns, newRow, numberOfRows) {\n if (numberOfRows <= 0) {\n return tableData;\n }\n var value = addRowToTable(tableData, columns, __assign(__assign({}, newRow), { uid: Tables_1.RowPrefix.Dynamic + (numberOfRows - 1) }));\n return addRowsToTable(value, columns, newRow, numberOfRows - 1);\n}\nexports.addRowsToTable = addRowsToTable;\nfunction addRowToTable(tableData, columns, newRow) {\n var _a;\n var columnNames = Object.keys(columns);\n var newRowCols = Object.keys(newRow);\n var newRowId = newRow.rowId;\n var filteredTableTemp = [];\n if (tableData.length === 0) {\n filteredTableTemp.push(newRow);\n return filteredTableTemp;\n }\n if (newRowId != null) {\n columnNames.forEach(function (colName) {\n var _a;\n var _b, _c;\n var defaultColumnWidth = calculateColumnWidth(columns);\n if (newRowCols.indexOf(colName) === -1) {\n newRow = __assign(__assign({}, newRow), (_a = {}, _a[colName] = (_c = (_b = columns[colName].defaultValue) === null || _b === void 0 ? void 0 : _b[\"value\"]) !== null && _c !== void 0 ? _c : columns[colName].defaultValue, _a.columnWidth = columns[colName].columnWidth\n ? columns[colName].columnWidth + \"%\"\n : defaultColumnWidth[colName] + \"%\", _a));\n }\n });\n var tableFirstHalf = tableData.slice(0, newRowId);\n var tableSecondHalf = tableData.slice(newRowId);\n for (var i = 0; i < tableSecondHalf.length; i++) {\n var currentRowId = tableSecondHalf[i].rowId;\n tableSecondHalf[i] = __assign(__assign({}, tableSecondHalf[i]), { rowId: currentRowId + 1 });\n var actions = (_a = tableSecondHalf[i]) === null || _a === void 0 ? void 0 : _a.actions;\n if (actions) {\n tableSecondHalf[i][\"actions\"] = updateActionsRowId(actions, currentRowId + 1);\n }\n }\n tableFirstHalf.push(newRow);\n filteredTableTemp = __spreadArray(__spreadArray([], tableFirstHalf, true), tableSecondHalf, true);\n return filteredTableTemp;\n }\n return tableData;\n}\nexports.addRowToTable = addRowToTable;\nfunction removeRowFromTable(tableData, rowId) {\n var _a;\n var tableRemoved = tableData.filter(function (row) { return row.rowId !== rowId; });\n for (var i = 0; i < tableRemoved.length; i++) {\n tableRemoved[i].rowId = i;\n var actions = (_a = tableRemoved[i]) === null || _a === void 0 ? void 0 : _a.actions;\n if (actions) {\n tableRemoved[i][\"actions\"] = updateActionsRowId(actions, i);\n }\n }\n return tableRemoved;\n}\nexports.removeRowFromTable = removeRowFromTable;\nfunction getTableFormData(model, table, tab) {\n var _a;\n return ((_a = model.getDerivedFunction(table.name, table, model, tab)) !== null && _a !== void 0 ? _a : getValueBasedOnState(table, model, tab));\n}\nexports.getTableFormData = getTableFormData;\nfunction getValueBasedOnState(table, model, tab) {\n var columnNames = Object.keys(table.columns);\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n var initialFormData = getInitialTableFormData(table, columnNames, model);\n if (!isTableInState(tabState, table)) {\n return initialFormData;\n }\n else {\n var rowChanged = tabState[table.group][table.name];\n var tableUids = createTableUids(table, tab, model, rowChanged);\n return overrideDefaultsAndFilterRows(rowChanged, initialFormData, table.columns, tableUids, table, tab);\n }\n}\nexports.getValueBasedOnState = getValueBasedOnState;\nfunction overrideDefaultsAndFilterRows(rowChanged, initialFormData, columns, tableUids, component, tab) {\n var modifiedForData = __spreadArray([], initialFormData, true);\n var keys = Object.keys(tableUids);\n rowChanged = rowChanged.filter(function (row) { return row != null; });\n rowChanged.forEach(function (row) {\n if (row.uid.indexOf(Tables_1.RowPrefix.Dynamic) > -1) {\n modifiedForData.push(row);\n }\n });\n var filteredModifed = [];\n keys.forEach(function (uid) {\n modifiedForData.forEach(function (row) {\n if (row.uid === uid) {\n filteredModifed[tableUids[uid]] = __assign(__assign({}, initialFormData[0]), row);\n }\n });\n });\n filteredModifed = filteredModifed.filter(function (row) { return row; });\n for (var i = 0; i < filteredModifed.length; i++) {\n if (filteredModifed[i].uid.indexOf(Tables_1.RowPrefix.Dynamic) > -1)\n continue;\n filteredModifed[i].rowId++;\n }\n var _loop_1 = function (i) {\n Object.keys(columns).forEach(function (columnName) {\n modifiedForData[i].actions = updateActionsRowId(createDefaultTableAction(component, i, columnName, tab, tableUids), i);\n });\n };\n for (var i = 0; i < modifiedForData.length; i++) {\n _loop_1(i);\n }\n return overrideTableDefaultsWithChanges(rowChanged, filteredModifed, tableUids);\n}\nexports.overrideDefaultsAndFilterRows = overrideDefaultsAndFilterRows;\nfunction createTableUids(component, tab, model, tableState) {\n var _a, _b, _c;\n var table = component;\n var dynamicTableData = model === null || model === void 0 ? void 0 : model.getDerivedFunction(component.name, component, model, tab);\n if (dynamicTableData) {\n var uidMap_1 = {};\n var rowNum_1 = 0;\n dynamicTableData.forEach(function (entry) {\n var uid = entry === null || entry === void 0 ? void 0 : entry.uid;\n if (uid !== undefined) {\n uidMap_1[uid] = rowNum_1++;\n }\n });\n return uidMap_1;\n }\n var rowData = table[\"rowData\"];\n if (!dynamicTableData && rowData) {\n var _loop_2 = function (i) {\n if (!rowData[i].uid) {\n rowData[i].uid = createRowUid(Tables_1.RowPrefix.Default, i);\n }\n rowData[i].rowId =\n (_b = (_a = (0, Arrays_1.find)(tableState !== null && tableState !== void 0 ? tableState : [], function (row) { return row.uid === (rowData === null || rowData === void 0 ? void 0 : rowData[i].uid); })) === null || _a === void 0 ? void 0 : _a.rowId) !== null && _b !== void 0 ? _b : rowData[i].rowId;\n };\n for (var i = 0; i < rowData.length; i++) {\n _loop_2(i);\n }\n }\n else {\n rowData =\n dynamicTableData !== null && dynamicTableData !== void 0 ? dynamicTableData : createInitialRows(table).map(function (row) {\n var _a, _b;\n return __assign(__assign({}, (row !== null && row !== void 0 ? row : {})), { rowId: (_b = (_a = (0, Arrays_1.find)(tableState !== null && tableState !== void 0 ? tableState : [], function (r) { return r.uid === (row === null || row === void 0 ? void 0 : row.uid); })) === null || _a === void 0 ? void 0 : _a.rowId) !== null && _b !== void 0 ? _b : row.rowId });\n });\n }\n var uidMapBuilder = (_c = model === null || model === void 0 ? void 0 : model.getTableHelpers().createUidMapBuilder()) !== null && _c !== void 0 ? _c : (0, exports.getTableHelpers)().createUidMapBuilder();\n return uidMapBuilder\n .addDefaultRows(rowData)\n .addDynamicRows(tableState !== null && tableState !== void 0 ? tableState : [])\n .removeRows(tableState !== null && tableState !== void 0 ? tableState : [])\n .sortByValue()\n .create();\n}\nexports.createTableUids = createTableUids;\nfunction getCellValidationInfo(component) {\n var table = component;\n var colInfo = [];\n var columns = table.columns;\n for (var column in columns) {\n var colData = table.columns[column];\n if (colData === null || colData === void 0 ? void 0 : colData[\"cellValidator\"]) {\n colInfo.push({\n type: colData[\"type\"],\n minValue: colData[\"cellValidator\"][\"minValue\"],\n maxValue: colData[\"cellValidator\"][\"maxValue\"],\n errMessage: colData[\"cellValidator\"][\"errorMessage\"],\n errTitle: colData[\"cellValidator\"][\"errorTitle\"],\n cValidation: colData[\"cellValidator\"][\"cValidation\"],\n cValidationErrTitle: colData[\"cellValidator\"][\"cValidationErrorTitle\"],\n cValidationErrMessage: colData[\"cellValidator\"][\"cValidationErrorMessage\"],\n });\n }\n }\n return colInfo;\n}\nexports.getCellValidationInfo = getCellValidationInfo;\nfunction getTableActions(component, tab, model, uids, rowFormData) {\n var _a, _b, _c, _d, _e;\n var table = component;\n var dynamicTableData;\n if (!rowFormData) {\n dynamicTableData = model === null || model === void 0 ? void 0 : model.getDerivedFunction(component.name, component, model, tab);\n }\n var rowData = (_b = (_a = rowFormData !== null && rowFormData !== void 0 ? rowFormData : dynamicTableData) !== null && _a !== void 0 ? _a : table[\"rowData\"]) !== null && _b !== void 0 ? _b : createInitialRows(table);\n var columnNames = Object.keys(table.columns);\n var tableActions = { table: {} };\n var rowCount = 0;\n var tableState = (_e = (_d = (_c = model === null || model === void 0 ? void 0 : model.getState()) === null || _c === void 0 ? void 0 : _c[tab]) === null || _d === void 0 ? void 0 : _d[component.group]) === null || _e === void 0 ? void 0 : _e[component.name];\n rowData.forEach(function (row) {\n columnNames.forEach(function (columnName) {\n var _a, _b, _c, _d;\n if (!tableActions[\"table\"][row.uid]) {\n tableActions[\"table\"][row.uid] = {};\n }\n var uid;\n for (var uidsKey in uids) {\n if (uids[uidsKey] === row.rowId) {\n uid = uidsKey;\n }\n }\n uid = uid !== null && uid !== void 0 ? uid : createRowUid(Tables_1.RowPrefix.Default, rowCount);\n var defaultAction = createDefaultTableAction(component, rowCount, columnName, tab, uid);\n if (tableState) {\n var ind_1 = -1;\n var filtered = tableState.filter(function (row, index) {\n ind_1 = index;\n return row.uid === uid;\n });\n if (filtered.length) {\n defaultAction = createDefaultTableAction(component, ind_1, columnName, tab, uid !== null && uid !== void 0 ? uid : createRowUid(Tables_1.RowPrefix.Default, rowCount));\n }\n }\n if (component.columns[columnName].type == \"ComboBox\") {\n defaultAction[\"payload\"] = __assign(__assign({}, defaultAction[\"payload\"]), { options: getComboOptions((_a = model === null || model === void 0 ? void 0 : model.getDerivedFunctions()) === null || _a === void 0 ? void 0 : _a.overrideTableOptions, table.columns[columnName], columnName, component.name) });\n }\n var cellAction = (_c = (_b = row.actions) === null || _b === void 0 ? void 0 : _b[columnName]) !== null && _c !== void 0 ? _c : defaultAction;\n tableActions[\"table\"][row.uid][columnName] =\n (_d = model === null || model === void 0 ? void 0 : model.getDerivedFunction(\"getActions\", table.name, cellAction)) !== null && _d !== void 0 ? _d : cellAction;\n });\n rowCount++;\n });\n var uidKeys = Object.keys(uids);\n uidKeys.forEach(function (uidKey) {\n columnNames.forEach(function (columnName) {\n if (uids[uidKey] > -1) {\n if (!tableActions[\"table\"][uidKey]) {\n tableActions[\"table\"][uidKey] = {};\n tableActions[\"table\"][uidKey][columnName] = createDefaultTableAction(table, uids[uidKey], columnName, tab, uidKey);\n }\n else if (!tableActions[\"table\"][uidKey][columnName]) {\n tableActions[\"table\"][uidKey][columnName] = createDefaultTableAction(table, uids[uidKey], columnName, tab, uidKey);\n }\n }\n });\n });\n return JSON.stringify(tableActions);\n}\nexports.getTableActions = getTableActions;\nfunction getTableUiSchema(table, columns) {\n var _a, _b;\n var tableUi = {\n tableCols: columns,\n search: table[\"isSearchable\"],\n striped: false,\n bordered: false,\n };\n if (table[\"canRemoveRows\"]) {\n tableUi = __assign(__assign({}, tableUi), { rightActions: getTableRightActions() });\n }\n if (table[\"canInsertRows\"]) {\n tableUi = __assign(__assign({}, tableUi), { leftActions: getTableLeftActions() });\n }\n if (table.canMoveRowDown) {\n tableUi = __assign(__assign({}, tableUi), { leftActions: ((_a = tableUi.leftActions) !== null && _a !== void 0 ? _a : []).concat(getTableMoveRowActions()[0]) });\n }\n if (table.canMoveRowUp) {\n tableUi = __assign(__assign({}, tableUi), { leftActions: ((_b = tableUi.leftActions) !== null && _b !== void 0 ? _b : []).concat(getTableMoveRowActions()[1]) });\n }\n return {\n \"ui:field\": \"table\",\n className: \"col-md-12 individualComponent\",\n table: __assign({}, tableUi),\n };\n}\nexports.getTableUiSchema = getTableUiSchema;\nfunction getCellStyle(isReadonly) {\n var tdStyle = {\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n };\n if (isReadonly) {\n tdStyle[\"backgroundColor\"] = \"#EEEEEE\";\n }\n return tdStyle;\n}\nexports.getCellStyle = getCellStyle;\nfunction getHeaderStyle(maxHeaderSize, displayHeadersDiagonally) {\n return displayHeadersDiagonally\n ? getDiagonalHeaderStyles(maxHeaderSize)\n : getDefaultHeaderStyles(maxHeaderSize);\n}\nexports.getHeaderStyle = getHeaderStyle;\nfunction getDiagonalHeaderStyles(maxHeaderSize) {\n var headerSizeMultiplier = 3.3;\n return {\n position: \"relative\",\n bottom: \"-7px\",\n pointerEvents: \"none\",\n left: \"6px\",\n transformOrigin: \"bottom left\",\n transform: \"rotate(-30deg)\",\n paddingTop: \"\".concat(headerSizeMultiplier * maxHeaderSize, \"px\"),\n };\n}\nfunction getDefaultHeaderStyles(maxHeaderSize) {\n return {\n whiteSpace: \"unset\",\n maxWidth: \"\".concat(maxHeaderSize, \"px\"),\n };\n}\nfunction createDefaultTableAction(component, row, column, tab, uid) {\n return {\n type: \"[Table] EDIT_CELL\",\n payload: {\n tabId: tab !== null && tab !== void 0 ? tab : \"main\",\n path: \"\".concat(component === null || component === void 0 ? void 0 : component.group, \".\").concat(component === null || component === void 0 ? void 0 : component.name),\n column: column,\n value: \"%v\",\n uid: uid,\n rowId: row,\n },\n };\n}\nfunction updateActionsRowId(currentActions, rowId) {\n var modifiedActions = __assign({}, currentActions);\n var columnNames = Object.keys(currentActions);\n columnNames.forEach(function (columnName) {\n var _a;\n var payload = (_a = modifiedActions[columnName]) === null || _a === void 0 ? void 0 : _a[\"payload\"];\n if (payload) {\n var path = payload[\"path\"].split(\".\");\n path[path.length - 2] = rowId;\n modifiedActions[columnName][\"payload\"][\"rowId\"] = rowId;\n modifiedActions[columnName][\"payload\"][\"path\"] = path.join(\".\");\n }\n });\n return modifiedActions;\n}\nvar getDefaultValue = function (overrideDefaultValues, component, componentName, tableName) {\n var _a;\n return ((_a = overrideDefaultValues === null || overrideDefaultValues === void 0 ? void 0 : overrideDefaultValues(tableName, componentName)) !== null && _a !== void 0 ? _a : (component.type === \"ComboBox\"\n ? component.defaultValue.value\n : component.defaultValue));\n};\nvar getComboOptions = function (overrideOptions, component, componentName, tableName) {\n var _a;\n var dynamicOptions = overrideOptions === null || overrideOptions === void 0 ? void 0 : overrideOptions(tableName, componentName);\n return dynamicOptions && dynamicOptions.length > 0\n ? dynamicOptions\n : (_a = component === null || component === void 0 ? void 0 : component.defaultValue) === null || _a === void 0 ? void 0 : _a[\"options\"];\n};\nfunction getTableLeftActions() {\n return [\n {\n dataField: \"insert-button\",\n editable: false,\n displayName: \"\",\n columnWidth: \"21px\",\n width: \"21px\",\n tdStyle: { textOverflow: \"unset\" },\n },\n ];\n}\nfunction getTableRightActions() {\n return [\n {\n dataField: \"delete-button\",\n editable: false,\n displayName: \"\",\n columnWidth: \"21px\",\n width: \"21px\",\n tdStyle: { textOverflow: \"unset\" },\n },\n ];\n}\nfunction getTableMoveRowActions() {\n return [\n {\n dataField: \"row-down-button\",\n editable: false,\n displayName: \"\",\n columnWidth: \"21px\",\n width: \"21px\",\n },\n {\n dataField: \"row-up-button\",\n editable: false,\n displayName: \"\",\n columnWidth: \"21px\",\n width: \"21px\",\n },\n ];\n}\nfunction createRowUid(prefix, postfix) {\n return prefix + postfix;\n}\n//# sourceMappingURL=tables.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.mapOptionLabels = exports.filterOptions = exports.isSingleton = exports.isUnassigned = exports.isAssigned = exports.hasOptions = exports.AlertTypes = void 0;\nvar AlertTypes;\n(function (AlertTypes) {\n AlertTypes[\"Error\"] = \"error\";\n AlertTypes[\"Warning\"] = \"warning\";\n AlertTypes[\"Hint\"] = \"hint\";\n})(AlertTypes = exports.AlertTypes || (exports.AlertTypes = {}));\n/**\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n */\nfunction hasOptions(dep) {\n return dep.options !== undefined;\n}\nexports.hasOptions = hasOptions;\n/**\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n */\nfunction isAssigned(dep) {\n return typeof dep.handle !== \"undefined\";\n}\nexports.isAssigned = isAssigned;\n/**\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n */\nfunction isUnassigned(dep) {\n return typeof dep.handle === \"undefined\";\n}\nexports.isUnassigned = isUnassigned;\n/**\n * Type guard function for SingletonExport\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n * @param resource the export to check on being a singleton\n * @deprecated No longer used. Replaced with dynamic singleton identification\n * at runtime.\n */\nfunction isSingleton(resource) {\n return typeof resource.isSingleton !== \"undefined\" && resource.isSingleton;\n}\nexports.isSingleton = isSingleton;\n/**\n * Returns a copy of `populatedImport` with all options removed which\n * cause `optionFilter` to return false.\n */\nfunction filterOptions(populatedImport, optionFilter) {\n if (populatedImport.options) {\n return __assign(__assign({}, populatedImport), { options: populatedImport.options.filter(optionFilter) });\n }\n return populatedImport;\n}\nexports.filterOptions = filterOptions;\n/**\n * Returns a copy of `populatedImport` with the options' handle labels\n * mapped according to `labelFactory`.\n */\nfunction mapOptionLabels(populatedImport, labelFactory) {\n if (populatedImport.options) {\n return __assign(__assign({}, populatedImport), { options: populatedImport.options.map(function (option) {\n return __assign(__assign({}, option), { handle: __assign(__assign({}, option.handle), { label: labelFactory(option) }) });\n }) });\n }\n return populatedImport;\n}\nexports.mapOptionLabels = mapOptionLabels;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Setting_1 = require(\"./Setting\");\nvar Register_1 = require(\"./Register\");\nvar Arrays_1 = require(\"./util/Arrays\");\n/** Builder pattern */\nvar CalculateRegisterValue = /** @class */ (function () {\n function CalculateRegisterValue(register) {\n var _this = this;\n this.modifiedSettings = [];\n /** Assign a numerical value to the given `Setting`. */\n this.withNumberValue = function (setting, value) {\n if (setting === undefined) {\n throw new Error(\"Cannot assign number value to setting, setting is undefined.\");\n }\n if (!_this.getSetting(setting)) {\n throw new Error(\"Setting \".concat(setting.alias, \" is not present in Register \").concat(_this.register.name));\n }\n _this.modifiedSettings = __spreadArray(__spreadArray([], _this.modifiedSettings, true), [\n new NumberSettingValue(setting, value),\n ], false);\n return _this;\n };\n /** Assign the given `Option` to the given `Setting`. */\n this.withOption = function (setting, option) {\n if (setting === undefined) {\n throw new Error(\"Cannot assign option to setting, setting is undefined.\");\n }\n if (!_this.getSetting(setting)) {\n throw new Error(\"Setting \".concat(setting.alias, \" is not present in Register \").concat(_this.register.name));\n }\n if (!option || !_this.getOption(setting, option)) {\n throw new Error(\"Option \".concat(option === null || option === void 0 ? void 0 : option.name, \" is not present in Setting \").concat(setting.name));\n }\n _this.modifiedSettings = __spreadArray(__spreadArray([], _this.modifiedSettings, true), [\n new OptionSettingValue(setting, option),\n ], false);\n return _this;\n };\n /** Assign the `Option` matching the given alias to the given `Setting`. */\n this.withOptionAlias = function (setting, optionAlias) {\n if (setting === undefined) {\n throw new Error(\"Cannot assign option alias to setting, setting is undefined.\");\n }\n var option = (0, Setting_1.getOptionByAlias)(optionAlias, setting);\n if (option === undefined) {\n throw new Error(\"Option Alias: \\\"\".concat(optionAlias, \"\\\" not present in Setting: \\\"\").concat(setting.name, \"\\\".\"));\n }\n return _this.withOption(setting, option);\n };\n /** Assign the `Option` matching the given name to the given `Setting`. */\n this.withOptionName = function (setting, optionName) {\n if (setting === undefined) {\n throw new Error(\"Cannot assign option name to setting, setting is undefined.\");\n }\n var option = (0, Setting_1.getOptionByName)(optionName, setting);\n if (option === undefined) {\n throw new Error(\"Option Name: \\\"\".concat(optionName, \"\\\" not present in Setting: \\\"\").concat(setting.name, \"\\\".\"));\n }\n return _this.withOption(setting, option);\n };\n /** Assign the `Option` matching the given description to the given `Setting`. */\n this.withOptionDescription = function (setting, optionDescription) {\n if (setting === undefined) {\n throw new Error(\"Cannot assign option description to setting, setting is undefined.\");\n }\n var option = (0, Setting_1.getOptionByDescription)(optionDescription, setting);\n if (option === undefined) {\n throw new Error(\"Option Description: \\\"\".concat(optionDescription, \"\\\" not present in Setting: \\\"\").concat(setting.name, \"\\\".\"));\n }\n return _this.withOption(setting, option);\n };\n this.getSetting = function (setting) {\n return (0, Register_1.getSettingByAlias)(setting.alias, _this.register);\n };\n this.getOption = function (setting, option) {\n return (option === null || option === void 0 ? void 0 : option.name) ? (0, Setting_1.getOptionByName)(option.name, setting) : undefined;\n };\n this.calculate = function () {\n var registerValue = 0;\n _this.modifiedSettings.forEach(function (modifiedSetting) {\n registerValue = _this.setValue(modifiedSetting, registerValue);\n });\n var unmodifiedSettings = _this.getUnmodifiedSettings();\n unmodifiedSettings.forEach(function (unmodifiedSetting) {\n registerValue = _this.setValue(SettingValue.defaultValue(unmodifiedSetting), registerValue);\n });\n return Number(registerValue);\n };\n this.setValue = function (setting, registerValue) {\n var value = registerValue;\n value &= ~setting.getMask(); // Clear bits\n value |= setting.getShiftedValue(); // Set bits\n return value >>> 0;\n };\n this.getUnmodifiedSettings = function () {\n var _a, _b;\n var modifiedSettingNames = (0, Arrays_1.map)(_this.modifiedSettings, function (setting) {\n return setting.getName();\n });\n return (0, Arrays_1.filter)((_b = (0, Arrays_1.values)((_a = _this.register.settings) !== null && _a !== void 0 ? _a : {})) !== null && _b !== void 0 ? _b : [], function (setting) { return modifiedSettingNames.indexOf(setting.name) < 0; });\n };\n /** Calculate and print the register's value as a hex string. */\n this.asHexString = function () { return CalculateRegisterValue.toHexString(_this.calculate()); };\n /** Calculate and print the register's value as a binary string. */\n this.asBinaryString = function () {\n return CalculateRegisterValue.toBinaryString(_this.calculate());\n };\n /** Calculate and print the register's value as a decimal string. */\n this.asDecimalString = function () {\n return CalculateRegisterValue.toDecimalString(_this.calculate());\n };\n /** Calculate and return the register's value as a number. */\n this.asNumber = function () { return _this.calculate(); };\n this.register = register;\n }\n /** Creates a register value calculation object for the given register. */\n CalculateRegisterValue.for = function (register) {\n return new CalculateRegisterValue(register);\n };\n /** Format the given number as a hex string value. */\n CalculateRegisterValue.toHexString = function (value) {\n if (value == null) {\n throw new Error(\"CalculateRegisterValue.toHexString() illegal argument exception. Value must not be null.\");\n }\n return \"0x\" + value.toString(16);\n };\n /** Format the given number as a binary string value. */\n CalculateRegisterValue.toBinaryString = function (value) {\n if (value == null) {\n throw new Error(\"CalculateRegisterValue.toBinaryString() illegal argument exception. Value must not be null.\");\n }\n return \"0b\" + value.toString(2);\n };\n /** Format the given number as a decimal string value. */\n CalculateRegisterValue.toDecimalString = function (value) {\n if (value == null) {\n throw new Error(\"CalculateRegisterValue.toDecimalString() illegal argument exception. Value must not be null.\");\n }\n return value.toString();\n };\n return CalculateRegisterValue;\n}());\nexports.default = CalculateRegisterValue;\nvar SettingValue = /** @class */ (function () {\n function SettingValue(setting) {\n var _this = this;\n this.getMask = function () { return Number(_this.setting.mask); };\n this.getShift = function () {\n var mask = _this.getMask();\n var shiftIndex = 0;\n while (!(mask & 0x1)) {\n mask = mask >> 1;\n shiftIndex++;\n }\n return shiftIndex;\n };\n this.getShiftedValue = function () { return _this.getValue() << _this.getShift(); };\n this.getName = function () { return _this.setting.name; };\n this.setting = setting;\n }\n SettingValue.defaultValue = function (setting) {\n var value = Number(setting.porDefault);\n return new NumberSettingValue(setting, value);\n };\n return SettingValue;\n}());\nvar NumberSettingValue = /** @class */ (function (_super) {\n __extends(NumberSettingValue, _super);\n function NumberSettingValue(setting, value) {\n var _this = _super.call(this, setting) || this;\n _this.getValue = function () { return _this.value; };\n _this.value = value;\n return _this;\n }\n return NumberSettingValue;\n}(SettingValue));\nvar OptionSettingValue = /** @class */ (function (_super) {\n __extends(OptionSettingValue, _super);\n function OptionSettingValue(setting, option) {\n var _this = _super.call(this, setting) || this;\n _this.getValue = function () { return Number(_this.option.value); };\n _this.option = option;\n return _this;\n }\n OptionSettingValue.fromDefaultValue = function (setting, value) {\n var foundValueByName = (0, Setting_1.getOptionByName)(value, setting);\n if (foundValueByName)\n return new OptionSettingValue(setting, foundValueByName);\n var foundValueByAlias = (0, Setting_1.getOptionByAlias)(value, setting);\n if (foundValueByAlias)\n return new OptionSettingValue(setting, foundValueByAlias);\n throw new Error(\"Unable to create default value '\".concat(value, \"' for setting '\").concat(setting.name, \"'.\"));\n };\n return OptionSettingValue;\n}(SettingValue));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSettingByAlias = void 0;\nvar getSettingByAlias = function (alias, register) {\n var _a;\n return (_a = register.settings) === null || _a === void 0 ? void 0 : _a[alias];\n};\nexports.getSettingByAlias = getSettingByAlias;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOptionDescriptions = exports.getOptionNames = exports.getOptionByDescription = exports.getOptionByName = exports.getOptionByAlias = exports.getBitRange = exports.getBitLabel = void 0;\nvar Arrays_1 = require(\"./util/Arrays\");\n/**\n * Converts a hexadecimal string to binary.\n * Any leading zeros are removed from the returned string.\n */\nvar hexToBinary = function (hex) {\n return parseInt(hex, 16).toString(2);\n};\n/**\n * Returns a string of the corresponding bit position(s).\n */\nvar getBitLabel = function (setting) {\n if (setting.mask === undefined) {\n return undefined;\n }\n var bitRange = (0, exports.getBitRange)(setting);\n if (!bitRange)\n return undefined;\n if (bitRange.high === bitRange.low) {\n return \"bit \".concat(bitRange.high);\n }\n return \"bit \".concat(bitRange.high, \"-\").concat(bitRange.low);\n};\nexports.getBitLabel = getBitLabel;\n/**\n * Converts the hexadecimal mask provided within the register setting\n * and returns an interface containing the corresponding low and high bit positions.\n */\nvar getBitRange = function (setting) {\n if (!setting.mask)\n return undefined;\n var processedHex = hexToBinary(setting.mask);\n return {\n high: processedHex.length - 1,\n low: getBitRangeLow(processedHex),\n };\n};\nexports.getBitRange = getBitRange;\nvar getOptionByAlias = function (alias, setting) {\n var _a, _b;\n var result = (0, Arrays_1.find)((_a = setting === null || setting === void 0 ? void 0 : setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.alias == alias; });\n if (!result) {\n result = (0, Arrays_1.find)((_b = setting === null || setting === void 0 ? void 0 : setting.options) !== null && _b !== void 0 ? _b : [], function (option) { return option.description == alias; });\n }\n return result;\n};\nexports.getOptionByAlias = getOptionByAlias;\nvar getOptionByName = function (name, setting) {\n var _a;\n return (0, Arrays_1.find)((_a = setting === null || setting === void 0 ? void 0 : setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.name == name; });\n};\nexports.getOptionByName = getOptionByName;\nvar getOptionByDescription = function (description, setting) {\n var _a;\n return (0, Arrays_1.find)((_a = setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.description == description; });\n};\nexports.getOptionByDescription = getOptionByDescription;\nvar getOptionNames = function (setting) {\n var _a;\n return (0, Arrays_1.map)((_a = setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.name; });\n};\nexports.getOptionNames = getOptionNames;\nvar getOptionDescriptions = function (setting) {\n var _a;\n return (0, Arrays_1.map)((_a = setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.description; });\n};\nexports.getOptionDescriptions = getOptionDescriptions;\nfunction getBitRangeLow(processedHex) {\n if (processedHex.charAt(1) === \"1\") {\n var index = 1;\n while (processedHex.charAt(index) === \"1\") {\n index++;\n }\n return processedHex.length - index;\n }\n else {\n return processedHex.length - 1;\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.values = exports.getKeys = exports.find = exports.filter = exports.map = void 0;\nvar map = function (arr, callback) {\n var result = [];\n arr.forEach(function (value, index) {\n result[index] = callback(value);\n });\n return result;\n};\nexports.map = map;\nvar filter = function (arr, callback) {\n var result = [];\n arr.forEach(function (value) {\n if (callback(value)) {\n result.push(value);\n }\n });\n return result;\n};\nexports.filter = filter;\n/**\n * Iterates over elements of the array, returning the first element that the predicate returns truthy for.\n */\nvar find = function (arr, callback) {\n for (var i = 0; i < arr.length; i++) {\n if (callback(arr[i])) {\n return arr[i];\n }\n }\n return undefined;\n};\nexports.find = find;\n/** @returns the non-prototype keys of the given object */\nvar getKeys = function (obj) {\n if (!obj)\n return undefined;\n return Object.getOwnPropertyNames(obj);\n};\nexports.getKeys = getKeys;\nvar values = function (obj) {\n var _a;\n if (!obj)\n return undefined;\n return (_a = (0, exports.getKeys)(obj)) === null || _a === void 0 ? void 0 : _a.map(function (key) { return obj[key]; });\n};\nexports.values = values;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.buildSimpleApi = function (functions) {\n var api = {};\n for (var key in functions) {\n api[key] = buildFunction(functions[key]);\n }\n return api;\n};\nvar buildFunction = function (cFunction) {\n return cFunction.returns + \" \" + cFunction.name + \"(\" + buildArguments(cFunction.arguments) + \")\";\n};\nvar buildArguments = function (args) {\n if (args) {\n return args.map(function (arg) { return arg.type + \" \" + arg.name; }).join(\", \");\n }\n else {\n return \"void\";\n }\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getInterfaceName = function (pkgJson) {\n var strReplace = \"@microchip/\";\n var interfaceName;\n if (pkgJson) {\n interfaceName = pkgJson[\"name\"];\n if (interfaceName) {\n interfaceName = interfaceName.replace(strReplace, \"\");\n }\n }\n if (!interfaceName) {\n throw new Error(\"Invalid Interface Name...!\");\n }\n return interfaceName;\n};\nexports.getInterfaceVersion = function (pkgJson) {\n var versionRegex = new RegExp(\"\\\\d+.\\\\d+.\\\\d+\");\n var version;\n if (pkgJson) {\n version = pkgJson[\"version\"];\n }\n if (!version && !versionRegex.test(version)) {\n throw new Error(\"Invalid Interface Version...!\");\n }\n return version;\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar c_function_types_1 = require(\"./c-function-types\");\nexports.buildSimpleApi = c_function_types_1.buildSimpleApi;\nvar helpers_1 = require(\"./helpers\");\nexports.getInterfaceName = helpers_1.getInterfaceName;\nexports.getInterfaceVersion = helpers_1.getInterfaceVersion;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CreateRegisterView = void 0;\nvar Setting_1 = require(\"@microchip/scf-device/lib/Setting\");\nvar CalculateRegisterValue_1 = __importDefault(require(\"@microchip/scf-device/lib/CalculateRegisterValue\"));\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar ViewSchemaBuilder_1 = require(\"./ViewSchemaBuilder\");\nvar Model_1 = require(\"./Model\");\nvar throwError = function (message) {\n throw new Error(message);\n};\nvar CreateRegisterView = /** @class */ (function () {\n function CreateRegisterView(module) {\n var _this = this;\n this.registers = [];\n this.interrupts = [];\n /** Create a register view */\n this.create = function () {\n var schemaBuilder = new ViewSchemaBuilder_1.ViewSchemaBuilder()\n .withSchema({\n title: \"Register Settings\",\n type: \"object\",\n })\n .withTabName(\"Register Initialization\")\n .withExpandedDefault(false);\n _this.registers.forEach(function (reg) {\n schemaBuilder.addChildComponent(reg.getRegister().name, _this.createRegisterView(reg));\n });\n schemaBuilder.addChildComponent(\"interrupts\", _this.createInterruptView());\n return schemaBuilder.build();\n };\n /** Assign a numerical value to the given register. */\n this.withRegisterValue = function (register, value) {\n _this.getSafeRegisterViewModel(register).setValue(value);\n return _this;\n };\n /** Assign a string value to the given interrupt. */\n this.withInterruptValue = function (interrupt, value) {\n _this.getSafeInterruptViewModel(interrupt).setValue(value);\n return _this;\n };\n /** Assign the interrupt combobox options. */\n this.withInterruptOptions = function (interrupt, options) {\n _this.getSafeInterruptViewModel(interrupt).setOptions(options);\n return _this;\n };\n /** Make all settings in all registers editable */\n this.withAllEditable = function () {\n _this.registers.forEach(function (register) {\n return _this.withEditableRegister(register.getRegister());\n });\n _this.interrupts.forEach(function (interrupt) {\n _this.withEditableInterrupt(interrupt.getInterrupt());\n });\n return _this;\n };\n /** Make settings in the given register editable based on setting type*/\n this.withEditableRegister = function (register) {\n var _a, _b;\n _this.getSafeRegisterViewModel(register).setReadonly(false);\n if (register) {\n (_b = (0, Arrays_1.values)((_a = register === null || register === void 0 ? void 0 : register.settings) !== null && _a !== void 0 ? _a : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (setting) {\n if ((setting === null || setting === void 0 ? void 0 : setting.type) === \"R\") {\n _this.getSafeSettingViewModel(register, setting).setReadonly(true);\n }\n });\n }\n return _this;\n };\n /** Make a given setting in register editable */\n this.withEditableSetting = function (register, setting) {\n _this.getSafeSettingViewModel(register, setting).setReadonly(false);\n return _this;\n };\n /** Make a given interrupt editable */\n this.withEditableInterrupt = function (interrupt) {\n _this.getSafeInterruptViewModel(interrupt).setReadonly(false);\n return _this;\n };\n this.getSafeRegisterViewModel = function (register) {\n var _a;\n return (_a = _this.getRegisterViewModel(register !== null && register !== void 0 ? register : throwError(\"Invalid register parameter.\"))) !== null && _a !== void 0 ? _a : throwError(\"Cannot get register view model for '\".concat(register.name, \"'. Not found in this module.\"));\n };\n this.getSafeInterruptViewModel = function (interrupt) {\n var _a;\n return (_a = _this.getInterruptViewModel(interrupt !== null && interrupt !== void 0 ? interrupt : throwError(\"Invalid interrupt parameter.\"))) !== null && _a !== void 0 ? _a : throwError(\"Cannot get interrupt view model for '\".concat(interrupt.name, \"'. Not found in this module.\"));\n };\n this.getSafeSettingViewModel = function (register, setting) {\n var _a;\n return (_a = _this.getSafeRegisterViewModel(register).getSettingViewModel(setting !== null && setting !== void 0 ? setting : throwError(\"Invalid setting parameter.\"))) !== null && _a !== void 0 ? _a : throwError(\"Cannot get setting view model for '\".concat(setting.name, \"'. Not found in this module.\"));\n };\n this.getRegisterViewModel = function (register) {\n var name = register.name;\n return (0, Arrays_1.find)(_this.registers, function (rv) { return rv.getRegister().name === name; });\n };\n this.getInterruptViewModel = function (interrupt) {\n var name = interrupt.name;\n return (0, Arrays_1.find)(_this.interrupts, function (rv) { return rv.getInterrupt().name === name; });\n };\n this.createRegisterView = function (register) {\n var registerValue = register.getValue() || 0;\n var schemaBuilder = new ViewSchemaBuilder_1.ViewSchemaBuilder()\n .withSchema({\n type: \"object\",\n title: register.getName() +\n \" : \" +\n CalculateRegisterValue_1.default.toHexString(registerValue),\n description: register.getDescription(),\n properties: {},\n })\n .withUiSchema({})\n .withFormData({});\n register.forEachSetting(function (setting) {\n schemaBuilder.addChildComponent(setting.getName(), _this.createSettingView(setting));\n });\n return schemaBuilder.build();\n };\n this.createSettingView = function (setting) {\n return setting.hasOptions()\n ? _this.createHasOptionsViewSchema(setting)\n : _this.getNoOptionsViewSchema(setting);\n };\n this.createInterruptView = function () {\n var schemaBuilder = new ViewSchemaBuilder_1.ViewSchemaBuilder()\n .withSchema({\n type: \"object\",\n title: \"Interrupts\",\n properties: {},\n })\n .withUiSchema({})\n .withFormData({});\n _this.interrupts.forEach(function (int) {\n schemaBuilder.addChildComponent(int.getInterrupt().name, _this.createInterruptViewSchema(int));\n });\n return schemaBuilder.build();\n };\n this.module = module;\n this.registers = this.createRegisterViewModelForEachRegister(module);\n this.interrupts = this.createInterruptViewModelForEachInterrupt(module);\n }\n CreateRegisterView.prototype.createRegisterViewModelForEachRegister = function (module) {\n var _a;\n var models = [];\n var registers = (_a = module.registers) !== null && _a !== void 0 ? _a : {};\n Object.keys(registers).forEach(function (registerKey) {\n models.push(new Model_1.RegisterViewModel(registers[registerKey]));\n });\n return models;\n };\n CreateRegisterView.prototype.createInterruptViewModelForEachInterrupt = function (module) {\n var _a;\n var models = [];\n var interrupts = (_a = module.interrupts) !== null && _a !== void 0 ? _a : {};\n Object.keys(interrupts).forEach(function (interruptKey) {\n models.push(new Model_1.InterruptViewModel(interrupts[interruptKey]));\n });\n return models;\n };\n CreateRegisterView.prototype.getNoOptionsViewSchema = function (setting) {\n var _a;\n var uiSchemaBuilder = new ViewSchemaBuilder_1.UiSchemaBuilder()\n .withReadonlyValue(setting.getIsReadonly())\n .withUiHelp(\"\".concat(setting.getName(), \": \") + ((_a = setting.getDescription()) !== null && _a !== void 0 ? _a : \"\"));\n return {\n schema: this.createSettingViewSchema(setting),\n uiSchema: setting.getMaxValue() > 1\n ? uiSchemaBuilder.build()\n : this.getBinarySettingUiSchema(setting),\n formData: setting.mapToOptionNameIfExists(setting.getValue()),\n };\n };\n CreateRegisterView.prototype.createHasOptionsViewSchema = function (setting) {\n var _a, _b;\n var schemaBuilder = new ViewSchemaBuilder_1.SchemaBuilder(\"string\", (_a = (0, Setting_1.getBitLabel)(setting.getSetting())) !== null && _a !== void 0 ? _a : \"\")\n .withEnum(setting.getOptionNames())\n .withDefault(setting.mapToOptionNameIfExists(setting.getValue()));\n var uiSchemaBuilder = new ViewSchemaBuilder_1.UiSchemaBuilder()\n .withReadonlyValue(setting.getIsReadonly())\n .withUiHelp(\"\".concat(setting.getName(), \": \") + ((_b = setting.getDescription()) !== null && _b !== void 0 ? _b : \"\"));\n return {\n schema: schemaBuilder.build(),\n uiSchema: uiSchemaBuilder.build(),\n formData: setting.mapToOptionNameIfExists(setting.getValue()),\n };\n };\n CreateRegisterView.prototype.createSettingViewSchema = function (setting) {\n var _a;\n var schema = new ViewSchemaBuilder_1.SchemaBuilder(\"integer\", (_a = (0, Setting_1.getBitLabel)(setting.getSetting())) !== null && _a !== void 0 ? _a : \"\").withDefault(setting.mapToOptionNameIfExists(setting.getPORDefault()));\n setting.getMaxValue() > 1\n ? schema.withMaximum(setting.getMaxValue()).withMinimum(0)\n : schema.withEnum([0, 1]);\n return schema.build();\n };\n CreateRegisterView.prototype.createInterruptViewSchema = function (interrupt) {\n var _a;\n var schema = new ViewSchemaBuilder_1.SchemaBuilder(\"string\", interrupt.getInterrupt().name)\n .withEnum(interrupt.getOptions())\n .withDefault(interrupt.getValue());\n var uiSchemaBuilder = new ViewSchemaBuilder_1.UiSchemaBuilder().withReadonlyValue(interrupt.getIsReadonly());\n return {\n schema: schema.build(),\n uiSchema: uiSchemaBuilder.build(),\n formData: (_a = interrupt.getValue()) !== null && _a !== void 0 ? _a : {},\n };\n };\n CreateRegisterView.prototype.getBinarySettingUiSchema = function (setting) {\n return new ViewSchemaBuilder_1.UiSchemaBuilder()\n .withReadonlyValue(setting.getIsReadonly())\n .withWidget(\"radio\")\n .withOptions({ inline: true })\n .build();\n };\n /** Creates Register View Builder for the given module. */\n CreateRegisterView.for = function (moduleDescription) {\n if (!moduleDescription) {\n throwError(\"Creation failed. Invalid module parameter.\");\n }\n if (!moduleDescription.registers && !moduleDescription.interrupts) {\n throwError(\"Creation failed for \".concat(moduleDescription.name, \". Input module contains no registers or interrupts.\"));\n }\n return new CreateRegisterView(moduleDescription);\n };\n return CreateRegisterView;\n}());\nexports.CreateRegisterView = CreateRegisterView;\n","\"use strict\";\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SettingViewModel = exports.RegisterViewModel = exports.InterruptViewModel = void 0;\nvar CalculateRegisterValue_1 = __importDefault(require(\"@microchip/scf-device/lib/CalculateRegisterValue\"));\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar Setting_1 = require(\"@microchip/scf-device/lib/Setting\");\nvar InterruptViewModel = /** @class */ (function () {\n function InterruptViewModel(interrupt) {\n var _this = this;\n this.isReadOnly = true;\n this.getInterrupt = function () { return _this.interrupt; };\n this.setValue = function (value) {\n _this.value = value;\n };\n this.getValue = function () { return _this.value; };\n this.setOptions = function (options) {\n _this.options = options;\n };\n this.getOptions = function () { var _a; return (_a = _this.options) !== null && _a !== void 0 ? _a : []; };\n this.getIsReadonly = function () { return _this.isReadOnly; };\n this.setReadonly = function (isReadOnly) {\n _this.isReadOnly = isReadOnly;\n };\n if (!interrupt) {\n throw new Error(\"IllegalInputArgument for 'interrupt' in InterruptValue\");\n }\n this.interrupt = interrupt;\n }\n return InterruptViewModel;\n}());\nexports.InterruptViewModel = InterruptViewModel;\nvar RegisterViewModel = /** @class */ (function () {\n function RegisterViewModel(register) {\n var _this = this;\n this.settings = [];\n this.getSettings = function () { return _this.settings; };\n this.getSettingViewModel = function (setting) {\n var name = setting.name;\n return (0, Arrays_1.find)(_this.settings, function (rv) { return rv.getSetting().name === name; });\n };\n this.forEachSetting = function (doThis) {\n _this.settings.forEach(doThis);\n };\n this.getRegister = function () { return _this.register; };\n this.getName = function () { return _this.register.name; };\n this.getDescription = function () { return _this.register.desc; };\n this.getValue = function () { return _this.value; };\n this.setValue = function (value) {\n _this.value = value;\n };\n this.setReadonly = function (value) {\n if (value === void 0) { value = true; }\n _this.forEachSetting(function (setting) { return setting.setReadonly(value); });\n };\n this.getDefaultValue = function () { return CalculateRegisterValue_1.default.for(_this.register).asNumber(); };\n this.getValueOrDefault = function () {\n var value = _this.getValue();\n return value !== null && value !== void 0 ? value : _this.getDefaultValue();\n };\n if (!register) {\n throw new Error(\"IllegalInputArgument for 'register' in RegisterValue\");\n }\n this.register = register;\n if (register.settings) {\n this.settings = this.createSettingViewModels(register);\n }\n }\n RegisterViewModel.prototype.createSettingViewModels = function (register) {\n var _this = this;\n var _a;\n var models = [];\n var settings = (_a = register.settings) !== null && _a !== void 0 ? _a : {};\n Object.keys(settings).forEach(function (settingKey) {\n models.push(new SettingViewModel(settings[settingKey], _this.getValueOrDefault));\n });\n return RegisterViewModel.sortSettingsDescending(models);\n };\n /** Sorts the settings in descending order based on bit positions. */\n RegisterViewModel.sortSettingsDescending = function (settings) {\n var result = __spreadArray([], settings, true);\n result.sort(function (settingOne, settingTwo) {\n var _a, _b, _c, _d;\n var bitRangeOne = (_b = (_a = (0, Setting_1.getBitRange)(settingOne.getSetting())) === null || _a === void 0 ? void 0 : _a.high) !== null && _b !== void 0 ? _b : -1;\n var bitRangeTwo = (_d = (_c = (0, Setting_1.getBitRange)(settingTwo.getSetting())) === null || _c === void 0 ? void 0 : _c.high) !== null && _d !== void 0 ? _d : -1;\n return bitRangeTwo - bitRangeOne;\n });\n return result;\n };\n return RegisterViewModel;\n}());\nexports.RegisterViewModel = RegisterViewModel;\nvar SettingViewModel = /** @class */ (function () {\n function SettingViewModel(setting, getRegisterValue) {\n var _this = this;\n this.isReadonly = true;\n this.setReadonly = function (value) {\n if (value === void 0) { value = true; }\n _this.isReadonly = value;\n };\n this.getIsReadonly = function () { return _this.isReadonly; };\n this.getSetting = function () { return _this.setting; };\n this.getName = function () { return _this.setting.name; };\n this.getDescription = function () { return _this.setting.description; };\n this.getPORDefault = function () { return Number(_this.setting.porDefault); };\n this.getMask = function () { return Number(_this.setting.mask); };\n this.hasOptions = function () {\n return !!_this.setting.options;\n };\n this.getOptionNames = function () {\n return (0, Arrays_1.map)(nullSafe(_this.setting.options), function (option) { return option.name; });\n };\n this.mapToOptionNameIfExists = function (value) {\n var option = _this.getOptionForValue(value);\n return option !== undefined ? option.name : value;\n };\n this.getOptionForValue = function (value) {\n return (0, Arrays_1.find)(nullSafe(_this.setting.options), function (option) {\n var optionValue = option.value;\n return optionValue != undefined ? parseInt(optionValue) === value : false;\n });\n };\n this.getValue = function () {\n var value = _this.getRegisterValue();\n value &= _this.getMask();\n return value >>> _this.getShift();\n };\n this.getShift = function () {\n var mask = _this.getMask();\n var shiftIndex = 0;\n while (!(mask & 0x1)) {\n mask = mask >>> 1;\n shiftIndex++;\n }\n return shiftIndex;\n };\n this.getMaxValue = function () {\n var mask = _this.getMask();\n while (!(mask & 0x1)) {\n mask = mask >>> 1;\n }\n return mask;\n };\n if (!setting) {\n throw new Error(\"SettingViewModel: Invalid input argument\");\n }\n this.setting = setting;\n this.getRegisterValue = getRegisterValue;\n }\n return SettingViewModel;\n}());\nexports.SettingViewModel = SettingViewModel;\nvar nullSafe = function (array) { return array !== null && array !== void 0 ? array : []; };\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UiSchemaBuilder = exports.SchemaBuilder = exports.ViewSchemaBuilder = void 0;\nvar ViewSchemaBuilder = /** @class */ (function () {\n function ViewSchemaBuilder() {\n this.schema = {};\n this.uiSchema = {};\n this.formData = {};\n this.tabName = \"main\";\n this.expandGroupsByDefault = true;\n }\n ViewSchemaBuilder.prototype.withSchema = function (schema) {\n this.schema = schema;\n return this;\n };\n ViewSchemaBuilder.prototype.withUiSchema = function (uiSchema) {\n this.uiSchema = uiSchema;\n return this;\n };\n ViewSchemaBuilder.prototype.withFormData = function (formData) {\n this.formData = formData;\n return this;\n };\n ViewSchemaBuilder.prototype.withTabName = function (name) {\n this.tabName = name;\n return this;\n };\n ViewSchemaBuilder.prototype.withExpandedDefault = function (expandGroupsByDefault) {\n this.expandGroupsByDefault = expandGroupsByDefault;\n return this;\n };\n ViewSchemaBuilder.prototype.addChildComponent = function (childName, child) {\n var _a, _b, _c;\n this.schema = __assign(__assign({}, this.schema), { properties: __assign(__assign({}, this.schema.properties), (_a = {}, _a[childName] = child.schema, _a)) });\n this.uiSchema = __assign(__assign({}, this.uiSchema), (_b = {}, _b[childName] = child.uiSchema, _b));\n if (this.formData instanceof Object) {\n this.formData = __assign(__assign({}, this.formData), (_c = {}, _c[childName] = child.formData, _c));\n }\n };\n ViewSchemaBuilder.prototype.build = function () {\n return {\n schema: this.schema,\n uiSchema: this.uiSchema,\n formData: this.formData,\n name: this.tabName,\n expandGroupsByDefault: this.expandGroupsByDefault,\n };\n };\n return ViewSchemaBuilder;\n}());\nexports.ViewSchemaBuilder = ViewSchemaBuilder;\nvar SchemaBuilder = /** @class */ (function () {\n function SchemaBuilder(type, title) {\n this.title = title;\n this.type = type;\n }\n SchemaBuilder.prototype.withProperties = function (properties) {\n this.properties = properties;\n return this;\n };\n SchemaBuilder.prototype.withDefault = function (defaultValue) {\n this.default = defaultValue;\n return this;\n };\n SchemaBuilder.prototype.withMaximum = function (maximum) {\n this.maximum = maximum;\n return this;\n };\n SchemaBuilder.prototype.withMinimum = function (minimum) {\n this.minimum = minimum;\n return this;\n };\n SchemaBuilder.prototype.withEnum = function (vals) {\n this.enum = vals;\n return this;\n };\n SchemaBuilder.prototype.build = function () {\n return {\n type: this.type,\n title: this.title,\n properties: this.properties,\n default: this.default,\n maximum: this.maximum,\n minimum: this.minimum,\n enum: this.enum,\n };\n };\n return SchemaBuilder;\n}());\nexports.SchemaBuilder = SchemaBuilder;\nvar UiSchemaBuilder = /** @class */ (function () {\n function UiSchemaBuilder() {\n }\n UiSchemaBuilder.prototype.withReadonlyValue = function (isReadonly) {\n this.isReadOnly = isReadonly;\n return this;\n };\n UiSchemaBuilder.prototype.withWidget = function (widgetName) {\n this.widget = widgetName;\n return this;\n };\n UiSchemaBuilder.prototype.withOptions = function (options) {\n this.options = options;\n return this;\n };\n UiSchemaBuilder.prototype.withUiHelp = function (uiHelp) {\n this.uiHelp = uiHelp;\n return this;\n };\n UiSchemaBuilder.prototype.build = function () {\n return {\n \"ui:readonly\": this.isReadOnly,\n \"ui:widget\": this.widget,\n \"ui:options\": this.options,\n \"ui:help\": this.uiHelp,\n };\n };\n return UiSchemaBuilder;\n}());\nexports.UiSchemaBuilder = UiSchemaBuilder;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createPrototypeExport = exports.createPrototypeImport = exports.getInterfaceId = void 0;\nvar InterfaceTypes = __importStar(require(\"@microchip/scf-interface\"));\nvar pkgJson = require(\"../package.json\");\nexports.getInterfaceId = function () {\n return {\n name: InterfaceTypes.getInterfaceName(pkgJson),\n version: InterfaceTypes.getInterfaceVersion(pkgJson),\n };\n};\nexports.createPrototypeImport = function () {\n return {\n interfaceId: exports.getInterfaceId(),\n };\n};\nexports.createPrototypeExport = function () {\n return {\n interfaces: [{ interfaceId: exports.getInterfaceId() }],\n };\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar sys_init_basic_interface_1 = require(\"./sys-init-basic-interface\");\nObject.defineProperty(exports, \"Interface\", { enumerable: true, get: function () { return sys_init_basic_interface_1.Interface; } });\nObject.defineProperty(exports, \"INIT_PRIORITY\", { enumerable: true, get: function () { return sys_init_basic_interface_1.INIT_PRIORITY; } });\nObject.defineProperty(exports, \"prioritySorter\", { enumerable: true, get: function () { return sys_init_basic_interface_1.prioritySorter; } });\nObject.defineProperty(exports, \"sortSysInitInitializers\", { enumerable: true, get: function () { return sys_init_basic_interface_1.sortSysInitInitializers; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createMock = void 0;\nvar api_1 = require(\"./api\");\nexports.createMock = function () {\n return {\n interfaceId: api_1.getInterfaceId(),\n payload: {\n moduleName: \"MyModule\",\n },\n args: {},\n results: {\n requestId: {\n initializers: [\n {\n name: \"mymodule_init1();\",\n header: {\n name: \"../mymodule.h\",\n path: \"include/\",\n },\n priority: 1,\n },\n ],\n localInitializers: [\n {\n funcDec: \"void mymodule_init2(void);\",\n name: \"mymodule_init2();\",\n funcBody: \"/** \\n * @ingroup systemdriver\\n * @brief Initializes the Peripheral module.\\n * @param None.\\n * @return None.\\n * void mymodule_init2(void){\\n * //IOCMD IOC enabled; CLKRMD CLKR enabled;\\n * PMD0 = 0x0;\\n * }\\n */\",\n priority: 1,\n },\n ],\n },\n },\n };\n};\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Interface = exports.sortSysInitInitializers = exports.prioritySorter = exports.INIT_PRIORITY = void 0;\nvar mock_1 = require(\"./mock\");\nvar api_1 = require(\"./api\");\nvar INIT_PRIORITY;\n(function (INIT_PRIORITY) {\n INIT_PRIORITY[INIT_PRIORITY[\"START\"] = 1] = \"START\";\n INIT_PRIORITY[INIT_PRIORITY[\"PRE_PERIPHERAL\"] = 50] = \"PRE_PERIPHERAL\";\n INIT_PRIORITY[INIT_PRIORITY[\"PERIPHERAL\"] = 100] = \"PERIPHERAL\";\n INIT_PRIORITY[INIT_PRIORITY[\"POST_PERIPHERAL\"] = 150] = \"POST_PERIPHERAL\";\n INIT_PRIORITY[INIT_PRIORITY[\"DEFAULT\"] = 200] = \"DEFAULT\";\n INIT_PRIORITY[INIT_PRIORITY[\"PRE_SOFTWARE\"] = 250] = \"PRE_SOFTWARE\";\n INIT_PRIORITY[INIT_PRIORITY[\"SOFTWARE\"] = 300] = \"SOFTWARE\";\n INIT_PRIORITY[INIT_PRIORITY[\"POST_SOFTWARE\"] = 350] = \"POST_SOFTWARE\";\n INIT_PRIORITY[INIT_PRIORITY[\"END\"] = 400] = \"END\";\n})(INIT_PRIORITY = exports.INIT_PRIORITY || (exports.INIT_PRIORITY = {}));\n/** Sorting initializer based on the priority. */\nexports.prioritySorter = function (a, b) {\n var _a, _b, _c, _d;\n var result = 0;\n var apriority = (_a = a === null || a === void 0 ? void 0 : a.initializer.priority) !== null && _a !== void 0 ? _a : INIT_PRIORITY.DEFAULT;\n var bpriority = (_b = b === null || b === void 0 ? void 0 : b.initializer.priority) !== null && _b !== void 0 ? _b : INIT_PRIORITY.DEFAULT;\n if (apriority < bpriority) {\n result = -1;\n }\n else if (apriority > bpriority) {\n result = 1;\n }\n else {\n //same priority sort via intializer name alphabetically\n result = (_d = (_c = a === null || a === void 0 ? void 0 : a.initializer.name) === null || _c === void 0 ? void 0 : _c.localeCompare(b === null || b === void 0 ? void 0 : b.initializer.name)) !== null && _d !== void 0 ? _d : 0;\n }\n return result;\n};\n/**Creating list - combination of initializers and localInitializers */\nexports.sortSysInitInitializers = function (data) {\n var retinitializers = __spreadArrays(data);\n var initSystemList = [];\n //iterating initializers[]\n for (var _i = 0, retinitializers_1 = retinitializers; _i < retinitializers_1.length; _i++) {\n var entry = retinitializers_1[_i];\n if (entry.initializers) {\n for (var _a = 0, _b = entry.initializers; _a < _b.length; _a++) {\n var subentry = _b[_a];\n // if (subentry) {\n var temp = {\n initializer: __assign(__assign({}, subentry), { isLocalInit: false, isNewInterface: true }),\n };\n initSystemList.push(temp);\n // }\n }\n }\n }\n //iterating localInitializers[]\n for (var _c = 0, retinitializers_2 = retinitializers; _c < retinitializers_2.length; _c++) {\n var entry = retinitializers_2[_c];\n if (entry.localInitializers) {\n for (var _d = 0, _e = entry.localInitializers; _d < _e.length; _d++) {\n var subentry = _e[_d];\n // if (subentry) {\n var temp = {\n initializer: __assign(__assign({}, subentry), { isLocalInit: true, isNewInterface: true }),\n };\n initSystemList.push(temp);\n // }\n }\n }\n }\n initSystemList.sort(exports.prioritySorter);\n return initSystemList;\n};\nexports.Interface = {\n createPrototypeExport: api_1.createPrototypeExport,\n createPrototypeImport: api_1.createPrototypeImport,\n getInterfaceId: api_1.getInterfaceId,\n createMock: mock_1.createMock,\n};\n","import { StringConstants } from \"./StringConstants\";\n\nexport class ClockCalculator {\n private lfintosc = \"31000\";\n private mfintosc = \"500000\";\n private mfintosc_31KHz = \"31250\";\n private sosc = \"32768\";\n private oscSelect: string;\n private HFInternalClk: string;\n private externalClk: number;\n private clkDivider: number;\n\n MAX_PLL = 16000000; // in Hz\n MIN_PLL = 3000000; // in Hz\n\n public constructor(\n oscSelect: string,\n HFInternalClk: string,\n externalClk: number,\n clkDivider: number,\n ) {\n this.oscSelect = oscSelect;\n this.HFInternalClk = HFInternalClk;\n this.externalClk = externalClk;\n this.clkDivider = clkDivider;\n }\n\n public getCurrentSystemClk = (): number => {\n let currentSystemClk: number;\n let HFClk: number;\n\n if (this.oscSelect === StringConstants.SOSC) {\n currentSystemClk = 32768 / this.clkDivider;\n } else if (this.oscSelect === StringConstants.LFINTOSC) {\n currentSystemClk = 31000 / this.clkDivider;\n } else if (this.oscSelect === StringConstants.HFINTOSC) {\n HFClk = parseInt(this.HFInternalClk?.replace(\"_MHz\", \"\") ?? \"1000000\");\n currentSystemClk = (HFClk * 1000000) / this.clkDivider;\n } else if (this.oscSelect === StringConstants.HFINTOSC_2xPLL) {\n HFClk = parseInt(this.HFInternalClk?.replace(\"_MHz\", \"\") ?? \"1000000\");\n if (HFClk == 8 || HFClk == 12 || HFClk == 16) {\n currentSystemClk = (HFClk * 2 * 1000000) / this.clkDivider;\n } else {\n currentSystemClk = (HFClk * 1000000) / this.clkDivider;\n }\n } else if (this.oscSelect === StringConstants.EXTOSC) {\n currentSystemClk = this.externalClk / this.clkDivider;\n } else {\n if (this.externalClk <= this.MIN_PLL || this.externalClk > this.MAX_PLL) {\n currentSystemClk = this.externalClk / this.clkDivider;\n } else {\n currentSystemClk = (this.externalClk * 4) / this.clkDivider;\n }\n }\n return Math.round(currentSystemClk);\n };\n\n public getHfIntOsc = (): string => {\n return this.HFInternalClk?.replace(\"_MHz\", \"000000\") ?? \"1000000\";\n };\n\n public getMfIntOsc = (): string => {\n return this.mfintosc;\n };\n\n public getMfIntOsc_31KHz = (): string => {\n return this.mfintosc_31KHz;\n };\n\n public getLfIntOsc = (): string => {\n return this.lfintosc;\n };\n\n public getExtOsc = (): string => {\n return this.externalClk.toString();\n };\n\n public getSosc = (): string => {\n return this.sosc;\n };\n}\n","import { CreatorFunctions } from \"@microchip/melody-automodule-interface\";\nimport { State } from \"../generated_module/src/types/State\";\n\nexport const getCreatorFunctions = (): CreatorFunctions => {\n return {\n shouldImport: shouldImport,\n };\n};\n\nconst shouldImport = (importKey: string, state: State): boolean => {\n return true;\n};\n","import * as Processor from \"@microchip/scf-common/lib/Processor\";\nimport { ClockCalculator } from \"./ClockCalculator\";\nimport * as config_device from \"@microchip/config-device\";\nimport { StringConstants } from \"./StringConstants\";\nimport osc_clocks from \"@microchip/osc-clocks\";\nimport * as clock from \"@microchip/clock-basic-interface\";\nimport {\n AppModel,\n DerivedData,\n DerivedFunctions,\n} from \"../generated_module/src/types/AutoModuleTypes\";\nimport * as InterfaceTypes from \"@microchip/scf-interface\";\nimport { getPinsLogic } from \"../generated_module/src/pins/PCPHelper\";\nimport * as configbits_basic_interface from \"@microchip/configbits-basic-interface\";\nimport * as sys_init_basic_interface from \"@microchip/sys-init-basic-interface\";\n\nexport const getDerivedData = (dataModel: AppModel): DerivedData => {\n if (dataModel) {\n return new MyDerivedData(dataModel);\n }\n return new EmptyDerivedData();\n};\n\n//This data will be used at the creator stage and relies on only the state\nexport class EmptyDerivedData implements DerivedData {\n getMyFunctions = (): DerivedFunctions => {\n return {};\n };\n getModel = (): AppModel | undefined => {\n return undefined;\n };\n}\n\n//This data will be used at the processor stage\nexport class MyDerivedData implements DerivedData {\n private dataModel: AppModel;\n private clockCalculator: ClockCalculator;\n\n constructor(dataModel: AppModel) {\n this.dataModel = dataModel;\n }\n\n getClockCalculator = (): ClockCalculator => {\n if (!this.clockCalculator) {\n this.clockCalculator = new ClockCalculator(\n this.getModel().getComponentValue(\"noscOsccon1\") ?? \"\",\n this.getModel().getComponentValue(\"hffrqOscfrq\") ?? \"\",\n this.getModel().getComponentValue(\"externalClk\") ?? 32768,\n parseInt(this.getModel().getComponentValue(\"ndivOsccon1\") ?? \"\"),\n );\n }\n return this.clockCalculator;\n };\n\n getMyFunctions = (): DerivedFunctions => {\n return {\n moduleName: this.getModuleName,\n alerts: this.getMyAlerts,\n isEnabled: this.isEnabled,\n isVisible: this.isVisible,\n coscOsccon2: this.getResOscValue,\n currentSystemClk: (): number =>\n this.getClockCalculator().getCurrentSystemClk(),\n \"fosc-hz_payload\": (): string =>\n this.getClockCalculator().getCurrentSystemClk().toString(),\n sys_init_basic_interface_results: this.sys_init_basic_interface_results,\n config_device_results: this.config_device_results,\n templateData: this.getTemplateData,\n overrideDefaultValues: this.overrideDefaultValue,\n configbits_basic_interface_args: this.getConfigbitsBasicInterfaceArgs,\n \"osc-clocks_payload\": this.getOscClocksProcessedPayload,\n \"clock-basic-interface_payload\": this.getClockProcessedPayload,\n doNotShow: (): boolean => false,\n getPinsLogic: getPinsLogic,\n importName: this.friendlyImportName,\n };\n };\n\n private friendlyImportName = (importKey: string): string => {\n if (importKey === \"scf_pic8_osc_v1\") return \"Oscillator Hardware\";\n if (importKey === \"sys_init_basic_interface\") return \"system.c Initialize()\";\n if (importKey === \"config_device\") return \"Configuration Device\";\n if (importKey === \"configbits_basic_interface\") return \"Configuration Request\";\n if (importKey === \"pins_interface\") return \"Pins\";\n return importKey;\n };\n private sys_init_basic_interface_results = (): sys_init_basic_interface.Results => {\n return {\n initializers: [\n {\n name: \"CLOCK_Initialize();\",\n header: {\n name: \"clock.h\",\n path: \"system/\",\n },\n priority: sys_init_basic_interface.INIT_PRIORITY.START,\n },\n ],\n };\n };\n private getConfigbitsBasicInterfaceArgs =\n (): configbits_basic_interface.Arguments => {\n return {\n configsReq: [\"FEXTOSC\", \"CLKOUTEN\", \"MCLRE\", \"LVP\", \"RSTOSC\"],\n };\n };\n\n private getDynamicComponetDefaultValue = (\n componentName: string,\n ): string | undefined => {\n const externalClkSelectedOptions = this.dataModel.getImportValue(\n \"configbits_basic_interface\",\n )?.configsResp?.[componentName];\n let selectedOptionVal: string | undefined;\n\n if (externalClkSelectedOptions) {\n selectedOptionVal = externalClkSelectedOptions[\"defaultValue\"][\"value\"];\n }\n return selectedOptionVal ?? undefined;\n };\n\n private getResOscValue = (): string => {\n const resetOscValue = this.getDynamicComponetDefaultValue(\"RSTOSC\");\n let actualOscValue;\n if (resetOscValue?.indexOf(\"4x PLL\") !== -1) {\n actualOscValue = \"EXTOSC with 4x PLL\";\n } else if (resetOscValue?.indexOf(\"Secondary Oscillator\") !== -1) {\n actualOscValue = \"SOSC\";\n } else if (resetOscValue?.indexOf(\"Low-Frequency\") !== -1) {\n actualOscValue = \"LFINTOSC\";\n } else if (\n resetOscValue?.indexOf(\"HFINTOSC with HFFRQ = 4 MHz and CDIV = 4:1\") !== -1\n ) {\n actualOscValue = \"HFINTOSC\";\n } else if (\n resetOscValue?.indexOf(\"HFINTOSC with HFFRQ = 64 MHz and CDIV = 1:1\") !== -1\n ) {\n actualOscValue = \"HFINTOSC\";\n } else if (resetOscValue?.indexOf(\"FEXTOSC\") !== -1) {\n actualOscValue = \"EXTOSC\";\n } else {\n actualOscValue = undefined;\n }\n return actualOscValue;\n };\n\n private getPLLStatus = (): boolean => {\n const pllStatus = this.getResOscValue();\n const pllEnable = this.dataModel.isComponentValue(\"pllenOscen\");\n const clkSrcVal = this.dataModel.getComponentValue(\"noscOsccon1\");\n if (pllStatus === \"EXTOSC with 4x PLL\") {\n return true;\n } else if (pllEnable === true) {\n return true;\n } else if (clkSrcVal?.indexOf(\"4x PLL\") !== -1) {\n return true;\n } else if (clkSrcVal?.indexOf(\"2x PLL\") !== -1) {\n return true;\n } else {\n return false;\n }\n };\n\n private getOscClocksProcessedPayload = (): osc_clocks.ProcessedPayload => {\n const oscObj: osc_clocks.ProcessedPayload = {\n extosc: this.getClockCalculator().getExtOsc() ?? \"32768\",\n fosc: this.getClockCalculator().getCurrentSystemClk().toString() ?? \"1000000\",\n hfintosc: this.getClockCalculator().getHfIntOsc() ?? \"1000000\",\n lfintosc: this.getClockCalculator().getLfIntOsc() ?? \"31000\",\n mfintosc: this.getClockCalculator().getMfIntOsc() ?? \"500000\",\n mfintosc_31Khz: this.getClockCalculator().getMfIntOsc_31KHz() ?? \"31250\",\n sosc: this.getClockCalculator().getSosc() ?? \"32768\",\n };\n const hasSosc: boolean =\n this.dataModel.isComponentValue(\"soscenOscen\") !== undefined ? true : false;\n if (hasSosc) {\n oscObj.hasSosc = true;\n oscObj.soscEnabled = this.dataModel.isComponentValue(\"soscenOscen\");\n oscObj.soscPowerMode = this.dataModel.getComponentValue(\"soscpwrOsccon3\");\n }\n return oscObj;\n };\n\n private getClockProcessedPayload = (): clock.Payload => {\n const clockObj: clock.Payload = {\n fosc: this.getClockCalculator().getCurrentSystemClk().toString() ?? \"1000000\",\n extosc: this.getClockCalculator().getExtOsc() ?? \"32768\",\n hfintosc: this.getClockCalculator().getHfIntOsc() ?? \"1000000\",\n lfintosc: this.getClockCalculator().getLfIntOsc() ?? \"31000\",\n mfintosc: this.getClockCalculator().getMfIntOsc() ?? \"500000\",\n mfintosc_31Khz: this.getClockCalculator().getMfIntOsc_31KHz() ?? \"31250\",\n sosc: this.getClockCalculator().getSosc() ?? \"32768\",\n };\n const hasSosc: boolean =\n this.dataModel.getComponent(\"soscenOscen\") !== undefined ? true : false;\n if (hasSosc) {\n clockObj.hasSosc = true;\n clockObj.soscEnabled = this.dataModel.isComponentValue(\"soscenOscen\");\n clockObj.soscPowerMode = this.dataModel.getComponentValue(\"soscpwrOsccon3\");\n }\n return clockObj;\n };\n\n public getModuleName = (): string => {\n return \"Clock Control\";\n };\n public getModel = (): AppModel => {\n return this.dataModel;\n };\n\n private getTemplateData = (): any => {\n const headers: InterfaceTypes.HeaderFile = {\n name: \"clock.h\",\n path: \"../\",\n };\n const initRegisters = this.dataModel.getRegisterValues();\n //const registerValues = this.dataModel.getRegisterValues();\n return {\n deviceFrequency: this.getClockCalculator().getCurrentSystemClk().toString(),\n\n initRegisters: initRegisters,\n header: headers,\n\n moduleNameUpperCase: this.getModuleName().toUpperCase(),\n moduleNameLowerCase: this.getModuleName().toLowerCase(),\n PackageVersion: \"4.3.7\",\n isPllEnabled: this.getPLLStatus() ?? false,\n //...registerValues,\n\n initializerOptimize:\n this.getModel().getComponentValue(\"generateInitializerCode\") !==\n \"Initialize all registers\"\n ? true\n : false,\n generateCommentedCode:\n this.getModel().getComponentValue(\"generateInitializerCode\") ===\n \"Generate with commented unmodified registers\"\n ? true\n : false,\n };\n };\n\n private config_device_results = (): config_device.Results => {\n return {\n headers: [\n {\n name: \"clock.h\",\n path: \"system/\",\n },\n ],\n };\n };\n\n private isEnabled = (componentName: string): boolean => {\n switch (componentName) {\n case \"hffrqOscfrq\":\n return (\n this.dataModel.getComponentValue(\"noscOsccon1\")?.indexOf(\"HF\") != -1\n );\n case \"currentSystemClk\":\n return false;\n case \"lfIntOscFreq\":\n return false;\n default:\n return true;\n }\n };\n\n private isVisible = (componentName: string): boolean => {\n const componentValue = this.dataModel.getComponentValue(\"noscOsccon1\");\n switch (componentName) {\n case \"externalClk\":\n if (\n componentValue === StringConstants.EXTOSC ||\n componentValue === StringConstants.EXTOSC_4xPLL\n ) {\n return true;\n } else {\n return false;\n }\n case \"lfIntOscFreq\":\n if (componentValue != StringConstants.LFINTOSC) {\n return false;\n } else {\n return true;\n }\n case \"hffrqOscfrq\":\n if (\n componentValue != StringConstants.HFINTOSC &&\n componentValue != StringConstants.HFINTOSC_2xPLL\n ) {\n return false;\n } else {\n return true;\n }\n default:\n return true;\n }\n };\n private getfoscOptions = (): string | undefined => {\n const foscOptions =\n this.dataModel.getHardware()?.getPeripheral()?.registers.OSCFRQ?.settings\n ?.HFFRQ.options ?? [];\n let defaultVal: string | undefined;\n let refClk = parseInt(\"1_MHz\"?.replace(\"_MHz\", \"\") ?? 0);\n if (foscOptions) {\n foscOptions.forEach((option) => {\n const HFClk = parseInt(option.name?.replace(\"_MHz\", \"\") ?? 0);\n\n if (HFClk > refClk) {\n refClk = HFClk;\n defaultVal = option.name;\n }\n });\n }\n return defaultVal;\n };\n\n private overrideDefaultValue = (componentName: string): any => {\n let defVal: string | undefined = undefined;\n switch (componentName) {\n case \"hffrqOscfrq\":\n defVal = this.getfoscOptions();\n break;\n }\n return defVal;\n };\n\n private getMyAlerts = (): Processor.Alert[] => {\n const alerts: Processor.Alert[] = [];\n const selectedOptionVal: string =\n this.getDynamicComponetDefaultValue(\"FEXTOSC\") ?? \"\";\n const noscOsccon1 = this.dataModel.getComponentValue(\"noscOsccon1\");\n\n if (\n noscOsccon1 === StringConstants.EXTOSC_4xPLL ||\n noscOsccon1 === StringConstants.EXTOSC\n ) {\n alerts.push({\n type: Processor.AlertTypes.Hint,\n text: 'Please configure required \"External Oscillator Selection\" in System Module config bits',\n });\n }\n\n if (\n noscOsccon1 === StringConstants.EXTOSC_4xPLL &&\n ((this.getModel().getComponentValue(\"externalClk\") ?? 0) <=\n this.getClockCalculator().MIN_PLL ||\n (this.getModel().getComponentValue(\"externalClk\") ?? 0) >\n this.getClockCalculator().MAX_PLL)\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text: \"The frequency selected does not fall within the PLL locking range. Therefore, the actual frequency produced by hardware maybe unpredictable when the PLL is enabled. Either change the clock frequency or select a different option in Oscillator select.\",\n });\n }\n\n if (\n noscOsccon1 === StringConstants.EXTOSC_4xPLL ||\n noscOsccon1 === StringConstants.EXTOSC\n ) {\n if (\n selectedOptionVal?.indexOf(\"external clock\") != -1 &&\n this.getClockCalculator().getCurrentSystemClk() >\n StringConstants.ExtClkFreq_64MHz\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text:\n \"External clock frequency is greater than recommended value (\" +\n StringConstants.ExtClkFreq_64MHz +\n \" Hz)\",\n });\n }\n if (\n selectedOptionVal?.indexOf(\"crystal oscillator\") != -1 &&\n (this.getModel().getComponentValue(\"externalClk\") ?? 0) > 16000000 &&\n this.getClockCalculator().getCurrentSystemClk() >\n StringConstants.ExtClkFreq_20MHz\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text:\n \"External clock frequency is greater than recommended value (\" +\n StringConstants.ExtClkFreq_20MHz +\n \" Hz)\",\n });\n }\n if (\n selectedOptionVal.indexOf(\"Oscillator not enabled\") != -1 &&\n this.getClockCalculator().getCurrentSystemClk() >\n StringConstants.ExtClkFreq_32MHz\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text:\n \"External clock frequency is greater than recommended value (\" +\n StringConstants.ExtClkFreq_32MHz +\n \" Hz)\",\n });\n }\n }\n\n const HFClk = parseInt(\n this.dataModel.getComponentValue(\"hffrqOscfrq\")?.replace(\"_MHz\", \"\") ?? \"0\",\n );\n if (\n this.dataModel.getComponentValue(\"noscOsccon1\") ===\n StringConstants.HFINTOSC_2xPLL &&\n (HFClk == 1 || HFClk == 2 || HFClk == 4 || HFClk == 32)\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text: \"The frequency set in HF Internal Clock may not get generated by the clock hardware properly since it does not fall within the 2xPLL range of 8-16 MHz. Therefore, it is recommended that the option 'HFINTOSC' be selected in the Oscillator select combo box.\",\n });\n }\n\n return alerts;\n };\n}\n","import { pin_row, pin_state } from \"@microchip/pins-interface/lib/types\";\nimport { AppModel } from \"../generated_module/src/types/AutoModuleTypes\";\n\n// provide complete dynamic data for all pin rows. It overrides static pindata.json\nexport const getCompletePinData = (appModel: AppModel): any => {\n // way to programatically override the json data\n return {};\n};\n\n// overrides pin data for a particular row based on model.\nexport function getRowData(appModel: AppModel, rowData: pin_row): pin_row | undefined {\n let retRowJSONdata: pin_row | undefined = rowData;\n let rowActions: any = [];\n const clockOutEnable = appModel.getImportValue(\"configbits_basic_interface\")\n ?.configsResp?.[\"CLKOUTEN\"];\n\n if (clockOutEnable) {\n delete clockOutEnable[\"setting\"];\n delete clockOutEnable[\"displayOptionSetting\"];\n const selectedOption: string = clockOutEnable[\"defaultValue\"][\"value\"];\n\n if (selectedOption.indexOf(\"CLKOUT function is enabled\") != -1) {\n if (rowData.name === \"clockout\") {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"CLKOUT\" },\n };\n }\n }\n\n const isPic18ClkOut: boolean =\n selectedOption === \"CLKOUT function is enabled\" ||\n selectedOption === \"CLKOUT function is disabled\"\n ? true\n : false;\n const actionArr = appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"clockout\")\n .forComponent(clockOutEnable)\n .addIfLockedSetValue(\n \"CLKOUT\",\n isPic18ClkOut\n ? \"CLKOUT function is enabled\"\n : \"CLKOUT function is enabled; FOSC/4 clock appears at OSC2\",\n )\n .addIfUnLockedSetValue(\n \".*\",\n isPic18ClkOut\n ? \"CLKOUT function is disabled\"\n : \"CLKOUT function is disabled; i/o or oscillator function on OSC2\",\n )\n .build();\n // Provide the module reference(scriptID) of remote config bits module\n for (const eachAction of actionArr) {\n const lockedState = eachAction.state[pin_state.LOCKED];\n if (lockedState) {\n lockedState.meta = {\n to: appModel.getAssignedImport(\"configbits_basic_interface\")?.handle\n ?.providerId,\n };\n }\n const unlockedState = eachAction.state[pin_state.UNLOCK];\n if (unlockedState) {\n unlockedState.meta = {\n to: appModel.getAssignedImport(\"configbits_basic_interface\")?.handle\n ?.providerId,\n };\n }\n rowActions.push(eachAction);\n }\n }\n\n const extClkSelect = appModel.getImportValue(\"configbits_basic_interface\")\n ?.configsResp?.[\"FEXTOSC\"];\n\n if (extClkSelect) {\n delete extClkSelect[\"setting\"];\n delete extClkSelect[\"displayOptionSetting\"];\n\n const selectedOption: string = extClkSelect[\"defaultValue\"][\"value\"];\n\n if (\n selectedOption.indexOf(\"(external clock)\") != -1 ||\n selectedOption.indexOf(\"EC\") != -1\n ) {\n if (rowData.name === \"osc1\" || rowData.name === \"osc2\") {\n retRowJSONdata = undefined;\n }\n }\n\n if (selectedOption.indexOf(\"(crystal oscillator)\") != -1) {\n if (rowData.name === \"clockin\") {\n retRowJSONdata = undefined;\n }\n }\n\n if (\n selectedOption.indexOf(\"Oscillator not enabled\") != -1 ||\n selectedOption.indexOf(\"Reserved\") != -1\n ) {\n if (\n rowData.name === \"clockin\" ||\n rowData.name === \"osc1\" ||\n rowData.name === \"osc2\"\n ) {\n retRowJSONdata = undefined;\n }\n }\n // Restricting pin actions for clockin, osc1 and osc2 pin rows\n const mclrKey = appModel.getComponent(\"mclrUnusedKey\")?.component;\n if (mclrKey) {\n rowActions = rowActions.concat(\n appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"clockin\")\n .forComponent(mclrKey)\n .addIfLockedSetValue(\".*\", \"\")\n .addIfUnLockedSetValue(\".*\", \"\")\n .build(),\n );\n\n rowActions = rowActions.concat(\n appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"osc1\")\n .forComponent(mclrKey)\n .addIfLockedSetValue(\".*\", \"\")\n .addIfUnLockedSetValue(\".*\", \"\")\n .build(),\n );\n\n rowActions = rowActions.concat(\n appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"osc2\")\n .forComponent(mclrKey)\n .addIfLockedSetValue(\".*\", \"\")\n .addIfUnLockedSetValue(\".*\", \"\")\n .build(),\n );\n }\n }\n\n const mclrEnable = appModel.getImportValue(\"configbits_basic_interface\")\n ?.configsResp?.[\"MCLRE\"];\n const lvpEnable = appModel.getImportValue(\"configbits_basic_interface\")\n ?.configsResp?.[\"LVP\"];\n\n if (mclrEnable && lvpEnable) {\n delete mclrEnable[\"setting\"];\n delete mclrEnable[\"displayOptionSetting\"];\n const selectedMclrOption: string = mclrEnable[\"defaultValue\"][\"value\"];\n\n delete lvpEnable[\"setting\"];\n delete lvpEnable[\"displayOptionSetting\"];\n const selectedLvpOption: string = lvpEnable[\"defaultValue\"][\"value\"];\n\n if (\n selectedLvpOption.indexOf(\"HV on MCLR/VPP must be used for programming\") !=\n -1 ||\n selectedLvpOption.indexOf(\n \"High Voltage on MCLR/Vpp must be used for programming\",\n ) != -1\n ) {\n if (\n selectedMclrOption.indexOf(\"MCLR pin is MCLR\") != -1 ||\n selectedMclrOption.indexOf(\"MCLR pin is Master Clear function\") != -1 ||\n selectedMclrOption === \"MCLR pin (RE3) is MCLR\"\n ) {\n if (rowData.name === \"reset\" && retRowJSONdata) {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"MCLR\" },\n };\n }\n }\n const isPic18Mclr: boolean =\n selectedMclrOption ===\n \"If LVP = 0, MCLR pin is MCLR; If LVP = 1, RE3 pin function is MCLR \" ||\n selectedMclrOption ===\n \"If LVP = 0, MCLR pin function is port defined function; If LVP =1, RE3 pin fuction is MCLR\"\n ? true\n : false;\n const isQ10Mclr: boolean =\n selectedMclrOption === \"MCLR pin (RE3) is MCLR\" ||\n selectedMclrOption ===\n \"If LVP = 0, MCLR pin (RE3) is an input; If LVP =1, MCLR pin (RE3) is MCLR\"\n ? true\n : false;\n let actionArr: any = [];\n\n // For handling Q10 devices\n if (isQ10Mclr) {\n actionArr = appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"reset\")\n .forComponent(mclrEnable)\n .addIfLockedSetValue(\"MCLR\", \"MCLR pin (RE3) is MCLR\")\n .addIfUnLockedSetValue(\n \".*\",\n \"If LVP = 0, MCLR pin (RE3) is an input; If LVP =1, MCLR pin (RE3) is MCLR\",\n )\n .build();\n } else {\n actionArr = appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"reset\")\n .forComponent(mclrEnable)\n .addIfLockedSetValue(\n \"MCLR\",\n isPic18Mclr\n ? \"If LVP = 0, MCLR pin is MCLR; If LVP = 1, RE3 pin function is MCLR \"\n : \"MCLR pin is Master Clear function\",\n )\n .addIfUnLockedSetValue(\n \".*\",\n isPic18Mclr\n ? \"If LVP = 0, MCLR pin function is port defined function; If LVP =1, RE3 pin fuction is MCLR\"\n : \"MCLR pin function is port defined function\",\n )\n .build();\n }\n\n // Provide the module reference(scriptID) of remote config bits module\n for (const eachAction of actionArr) {\n const lockedState = eachAction.state[pin_state.LOCKED];\n if (lockedState) {\n lockedState.meta = {\n to: appModel.getAssignedImport(\"configbits_basic_interface\")\n ?.handle?.providerId,\n };\n }\n const unlockedState = eachAction.state[pin_state.UNLOCK];\n if (unlockedState) {\n unlockedState.meta = {\n to: appModel.getAssignedImport(\"configbits_basic_interface\")\n ?.handle?.providerId,\n };\n }\n rowActions.push(eachAction);\n }\n } else {\n if (selectedMclrOption) {\n if (rowData.name === \"reset\" && retRowJSONdata) {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"MCLR\" },\n };\n }\n }\n const mclrKey = appModel.getComponent(\"mclrUnusedKey\")?.component;\n if (mclrKey) {\n rowActions = rowActions.concat(\n appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"reset\")\n .forComponent(mclrKey)\n .addIfLockedSetValue(\".*\", \"\")\n .addIfUnLockedSetValue(\".*\", \"\")\n .build(),\n );\n }\n }\n }\n\n const noscOsccon1 = appModel.getComponentValue(\"noscOsccon1\");\n if (\n noscOsccon1 === \"HFINTOSC\" ||\n noscOsccon1 === \"LFINTOSC\" ||\n noscOsccon1 === \"SOSC\" ||\n noscOsccon1 === \"HFINTOSC with 2x PLL\"\n ) {\n if (rowData.name === \"clockin\") {\n retRowJSONdata = undefined;\n }\n if (rowData.name === \"osc1\") {\n retRowJSONdata = undefined;\n }\n if (rowData.name === \"osc2\") {\n retRowJSONdata = undefined;\n }\n }\n\n if (rowData.name === \"sosci\") {\n if (noscOsccon1 === \"SOSC\" && retRowJSONdata) {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"SOSCI\" },\n };\n } else {\n retRowJSONdata = undefined;\n }\n }\n\n if (rowData.name === \"sosco\") {\n if (noscOsccon1 === \"SOSC\" && retRowJSONdata) {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"SOSCO\" },\n };\n } else {\n retRowJSONdata = undefined;\n }\n }\n\n if (retRowJSONdata) retRowJSONdata = { ...retRowJSONdata, actions: rowActions };\n\n return retRowJSONdata;\n}\n","export class StringConstants {\n static readonly SOSC = \"SOSC\";\n static readonly LFINTOSC = \"LFINTOSC\";\n static readonly HFINTOSC = \"HFINTOSC\";\n static readonly HFINTOSC_2xPLL = \"HFINTOSC with 2x PLL\";\n static readonly EXTOSC = \"EXTOSC\";\n static readonly EXTOSC_4xPLL = \"EXTOSC with 4x PLL\";\n static readonly OSC_NOT_NEEDED = \"Oscillator not needed\";\n static readonly ON = \"ON\";\n static readonly ExtClkFreq_64MHz = 64000000;\n static readonly ExtClkFreq_20MHz = 20000000;\n static readonly ExtClkFreq_32MHz = 32000000;\n}\n"],"sourceRoot":""}
1
+ {"version":3,"file":"creator.js","mappings":"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","sources":["webpack://creator/./node_modules/@microchip/melody-automodule-interface/lib/src/DerivedFunctions.js","webpack://creator/./node_modules/@microchip/melody-automodule-interface/lib/src/Tables.js","webpack://creator/./node_modules/@microchip/pins-interface/lib/types.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/Analytics/AnalyticsHelper.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/App/AppModel.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/Utils.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/AutoModuleAppModel.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/AutoModuleHardware.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/AutoModuleHelpers.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/AutoModuleTemplates.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/ContextualHelp.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/FrequencyComponentHelper.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/RegisterFilterMode.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/TimeComponentHelper.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/getConfigData.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/registerEditor/RegisterEditorHelper.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/views/autoModuleView.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/views/autoModuleViewHelpers.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/views/formData.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/views/scfUiSchema.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/views/schema.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/autoModule/views/uiSchema.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/creator.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/index.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/interfaces/createPrototypeExports.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/interfaces/createPrototypeImports.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/interfaces/exports.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/interfaces/imports.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/interrupts/InterruptActions.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/pins/PCPHelper.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/pins/PCPStateActionBuilder.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/processor.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/tables/UidMapBuilder.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/lib/tables/tables.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/node_modules/@microchip/scf-register-view-helper/lib/CreateRegisterView.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/node_modules/@microchip/scf-register-view-helper/lib/Model.js","webpack://creator/./node_modules/@microchip/scf-automodule-impl/node_modules/@microchip/scf-register-view-helper/lib/ViewSchemaBuilder.js","webpack://creator/./node_modules/@microchip/scf-common/lib/Processor.js","webpack://creator/./node_modules/@microchip/scf-device/lib/CalculateRegisterValue.js","webpack://creator/./node_modules/@microchip/scf-device/lib/Register.js","webpack://creator/./node_modules/@microchip/scf-device/lib/Setting.js","webpack://creator/./node_modules/@microchip/scf-device/lib/util/Arrays.js","webpack://creator/./node_modules/@microchip/scf-interface/lib/c-function-types.js","webpack://creator/./node_modules/@microchip/scf-interface/lib/helpers.js","webpack://creator/./node_modules/@microchip/scf-interface/lib/index.js","webpack://creator/./node_modules/@microchip/sys-init-basic-interface/lib/api.js","webpack://creator/./node_modules/@microchip/sys-init-basic-interface/lib/index.js","webpack://creator/./node_modules/@microchip/sys-init-basic-interface/lib/mock.js","webpack://creator/./node_modules/@microchip/sys-init-basic-interface/lib/sys-init-basic-interface.js","webpack://creator/./src/PinsLogic.ts","webpack://creator/webpack/bootstrap","webpack://creator/webpack/runtime/define property getters","webpack://creator/webpack/runtime/hasOwnProperty shorthand","webpack://creator/webpack/runtime/make namespace object","webpack://creator/./src/CreatorFunctions.ts","webpack://creator/./src/StringConstants.ts","webpack://creator/./src/DerivedData.ts","webpack://creator/./generated_module/src/getUserData.ts","webpack://creator/./generated_module/src/creator.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TABID = exports.COMPTYPE = void 0;\n/**\n * This interface contains function prototypes\n * @interface DerivedFunctions\n */\nvar COMPTYPE;\n(function (COMPTYPE) {\n COMPTYPE[\"SOFTWARE\"] = \"SW\";\n COMPTYPE[\"REGISTER\"] = \"REG\";\n COMPTYPE[\"INTERRUPT\"] = \"INT\";\n COMPTYPE[\"SETTING\"] = \"SET\";\n})(COMPTYPE = exports.COMPTYPE || (exports.COMPTYPE = {}));\nvar TABID;\n(function (TABID) {\n TABID[\"MAIN\"] = \"main\";\n TABID[\"REGISTER\"] = \"register\";\n})(TABID = exports.TABID || (exports.TABID = {}));\n//# sourceMappingURL=DerivedFunctions.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RowPrefix = void 0;\nvar RowPrefix;\n(function (RowPrefix) {\n RowPrefix[\"Default\"] = \"defaultRow_\";\n RowPrefix[\"Dynamic\"] = \"dynamicRow_\";\n})(RowPrefix = exports.RowPrefix || (exports.RowPrefix = {}));\n//# sourceMappingURL=Tables.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.data_schema = exports.PIN_ARCH = exports.behaviour = exports.direction = exports.actiontype = exports.pin_attribs_enum = exports.pin_interrupts_enum = exports.pin_state = exports.QueryAdapterKey = void 0;\nvar QueryAdapterKey;\n(function (QueryAdapterKey) {\n QueryAdapterKey[\"ALLPINS\"] = \"allpins\";\n QueryAdapterKey[\"ALLPINS_FOR_ATTRIBS\"] = \"allpins_for_attribs\";\n QueryAdapterKey[\"PPS\"] = \"pps\";\n QueryAdapterKey[\"APFCON\"] = \"apfcon\";\n QueryAdapterKey[\"PORTMUX\"] = \"portmux\";\n QueryAdapterKey[\"HASPPS\"] = \"hasPPS\";\n})(QueryAdapterKey = exports.QueryAdapterKey || (exports.QueryAdapterKey = {}));\nvar pin_state;\n(function (pin_state) {\n pin_state[\"EMPTY\"] = \"E\";\n pin_state[\"LOCKED\"] = \"L\";\n pin_state[\"UNLOCK\"] = \"UL\";\n pin_state[\"DiSABLE_LOCK\"] = \"DL\";\n pin_state[\"UNLOCKED_DISABLED\"] = \"DUL\";\n pin_state[\"LOCKED_LINK\"] = \"LL\";\n pin_state[\"UNLOCKED_MUX\"] = \"MUL\";\n pin_state[\"LOCKED_CONFLICT\"] = \"CL\";\n})(pin_state = exports.pin_state || (exports.pin_state = {}));\nvar pin_interrupts_enum;\n(function (pin_interrupts_enum) {\n pin_interrupts_enum[\"INTDIS_BUFFEN\"] = \"INTDIS_BUFFEN\";\n pin_interrupts_enum[\"BOTH_EDGES\"] = \"BOTH_EDGES\";\n pin_interrupts_enum[\"RISING_EDGE\"] = \"RISING_EDGE\";\n pin_interrupts_enum[\"FALLING_EDGE\"] = \"FALLING_EDGE\";\n pin_interrupts_enum[\"NONE\"] = \"NONE\";\n pin_interrupts_enum[\"LOW_LEVEL\"] = \"LOW_LEVEL\";\n})(pin_interrupts_enum = exports.pin_interrupts_enum || (exports.pin_interrupts_enum = {}));\nvar pin_attribs_enum;\n(function (pin_attribs_enum) {\n pin_attribs_enum[\"aliasReEx\"] = \"aliasReEx\";\n pin_attribs_enum[\"cname\"] = \"cname\";\n pin_attribs_enum[\"high\"] = \"high\";\n pin_attribs_enum[\"inv\"] = \"inv\";\n pin_attribs_enum[\"wpu\"] = \"wpu\";\n pin_attribs_enum[\"wpd\"] = \"wpd\";\n pin_attribs_enum[\"od\"] = \"od\";\n pin_attribs_enum[\"analog\"] = \"analog\";\n pin_attribs_enum[\"ioc\"] = \"ioc\";\n pin_attribs_enum[\"intcallback\"] = \"intcallback\";\n pin_attribs_enum[\"alias\"] = \"alias\";\n pin_attribs_enum[\"advInpBuff\"] = \"advInpBuff\";\n})(pin_attribs_enum = exports.pin_attribs_enum || (exports.pin_attribs_enum = {}));\nvar actiontype;\n(function (actiontype) {\n actiontype[\"SETACTION\"] = \"SETACTION\";\n actiontype[\"ATTRIBACTION\"] = \"ATTRIBACTION\";\n})(actiontype = exports.actiontype || (exports.actiontype = {}));\nvar direction;\n(function (direction) {\n direction[\"output\"] = \"output\";\n direction[\"input\"] = \"input\";\n direction[\"bidirectional\"] = \"bidirectional\";\n})(direction = exports.direction || (exports.direction = {}));\nvar behaviour;\n(function (behaviour) {\n behaviour[\"LOCK_UNLOCK\"] = \"LOCK_UNLOCK\";\n behaviour[\"ALWAYS_LOCKED\"] = \"ALWAYS_LOCKED\";\n behaviour[\"SINGLE_PIN_MUX\"] = \"SINGLE_PIN_MUX\";\n behaviour[\"OPTIONAL_PIN_MUX\"] = \"OPTIONAL_PIN_MUX\";\n behaviour[\"PPS\"] = \"PPS\";\n behaviour[\"APFCON\"] = \"APFCON\";\n behaviour[\"PORTMUX\"] = \"PORTMUX\";\n behaviour[\"EXCLUSIVE_LOCK\"] = \"EXCLUSIVE_LOCK\";\n behaviour[\"LOCKED_DISABLED\"] = \"LOCKED_DISABLED\";\n})(behaviour = exports.behaviour || (exports.behaviour = {}));\nvar PIN_ARCH;\n(function (PIN_ARCH) {\n PIN_ARCH[\"PIC18F\"] = \"PIC18F\";\n PIN_ARCH[\"AVR8\"] = \"AVR8\";\n PIN_ARCH[\"PIC16F\"] = \"PIC16F\";\n PIN_ARCH[\"PIC24F\"] = \"PIC24F\";\n})(PIN_ARCH = exports.PIN_ARCH || (exports.PIN_ARCH = {}));\n//------------------------------------ schema ------------------------------------//\nexports.data_schema = {\n $schema: \"http://json-schema.org/draft-07/schema#\",\n $ref: \"#/definitions/intf_data\",\n definitions: {\n intf_data: {\n type: \"object\",\n properties: {\n rows: {\n type: \"array\",\n items: {\n $ref: \"#/definitions/pin_row\",\n },\n },\n },\n required: [\"rows\"],\n additionalProperties: false,\n },\n pin_row: {\n type: \"object\",\n properties: {\n name: {\n type: \"string\",\n },\n module: {\n type: \"string\",\n },\n function: {\n type: \"string\",\n },\n direction: {\n $ref: \"#/definitions/direction\",\n },\n filter: {\n $ref: \"#/definitions/filter\",\n },\n behaviour: {\n $ref: \"#/definitions/behaviour\",\n },\n behaviourMeta: {\n $ref: \"#/definitions/behaviourMeta\",\n },\n attribs: {\n type: \"array\",\n items: {\n $ref: \"#/definitions/pin_attribs\",\n },\n },\n groupsdata: {\n $ref: \"#/definitions/pingroups_data\",\n },\n actions: {},\n },\n required: [\"name\", \"module\", \"function\", \"direction\", \"filter\", \"behaviour\"],\n additionalProperties: false,\n },\n direction: {\n type: \"string\",\n enum: [\"output\", \"input\", \"bidirectional\"],\n },\n filter: {\n type: \"object\",\n properties: {\n module: {\n type: \"string\",\n },\n aliasReEx: {\n type: \"string\",\n },\n },\n required: [\"module\", \"aliasReEx\"],\n additionalProperties: false,\n },\n behaviour: {\n type: \"string\",\n enum: [\n \"LOCK_UNLOCK\",\n \"ALWAYS_LOCKED\",\n \"SINGLE_PIN_MUX\",\n \"OPTIONAL_PIN_MUX\",\n \"PPS\",\n \"PORTMUX\",\n \"EXCLUSIVE_LOCK\",\n \"LOCKED_DISABLED\",\n ],\n },\n behaviourMeta: {\n type: \"object\",\n properties: {\n lockPinRegEx: {\n type: \"string\",\n },\n },\n required: [\"lockPinRegEx\"],\n additionalProperties: false,\n },\n pin_attribs: {\n type: \"object\",\n properties: {\n aliasReEx: {\n type: \"string\",\n },\n cname: {\n type: \"string\",\n },\n high: {\n type: \"boolean\",\n },\n inv: {\n type: \"boolean\",\n },\n wpu: {\n type: \"boolean\",\n },\n wpd: {\n type: \"boolean\",\n },\n od: {\n type: \"boolean\",\n },\n analog: {\n type: \"boolean\",\n },\n ioc: {\n $ref: \"#/definitions/pin_interrupts_enum\",\n },\n bidirection_out: {\n type: \"boolean\",\n },\n },\n required: [\"aliasReEx\"],\n additionalProperties: false,\n },\n pin_interrupts_enum: {\n type: \"string\",\n enum: [\n \"INTDIS_BUFFEN\",\n \"BOTH_EDGES\",\n \"RISING_EDGE\",\n \"FALLING_EDGE\",\n \"NONE\",\n \"LOW_LEVEL\",\n ],\n },\n pingroups_data: {\n type: \"object\",\n properties: {\n groups: {\n type: \"array\",\n items: {\n $ref: \"#/definitions/pins_group\",\n },\n },\n },\n required: [\"groups\"],\n additionalProperties: false,\n },\n pins_group: {\n type: \"object\",\n properties: {\n name: {\n type: \"string\",\n },\n filter: {\n $ref: \"#/definitions/grpfilter\",\n },\n datapath: {\n type: \"string\",\n },\n },\n required: [\"name\", \"filter\"],\n additionalProperties: false,\n },\n grpfilter: {\n type: \"object\",\n properties: {\n aliasReEx: {\n type: \"string\",\n },\n },\n required: [\"aliasReEx\"],\n additionalProperties: false,\n },\n },\n};\n//# sourceMappingURL=types.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.logAnalytics = exports.getAnalyticsDefault = void 0;\nvar getConfigData_1 = require(\"../autoModule/getConfigData\");\nvar getAnalyticsDefault = function (model) {\n var logAlwaysComps = [];\n var stateChangeComps = [];\n return (0, exports.logAnalytics)(model, stateChangeComps, logAlwaysComps);\n};\nexports.getAnalyticsDefault = getAnalyticsDefault;\nvar logAnalytics = function (model, logAlwaysComps, logOnChangeComps) {\n var _a, _b;\n var retData = {};\n var moduleconfig = (0, getConfigData_1.getConfigData)(model, true);\n var alwaysCompsDesired = (_a = moduleconfig.analytics) === null || _a === void 0 ? void 0 : _a.logAlwaysComps.concat(logAlwaysComps !== null && logAlwaysComps !== void 0 ? logAlwaysComps : []);\n retData = logAlwaysStaticAndDynamicData(model, moduleconfig, alwaysCompsDesired);\n var onChangeCompsDesired = (_b = moduleconfig.analytics) === null || _b === void 0 ? void 0 : _b.logOnChangeComps.concat(logOnChangeComps !== null && logOnChangeComps !== void 0 ? logOnChangeComps : []);\n var moduleState = model.getState();\n retData = __assign(__assign({}, retData), logOnChangeStaticAndDynamicData(moduleconfig, model, moduleState, onChangeCompsDesired));\n return retData;\n};\nexports.logAnalytics = logAnalytics;\nvar logAlwaysStaticAndDynamicData = function (model, moduleconfig, alwaysCompsDesired) {\n var _a, _b, _c;\n var retData = {};\n for (var _i = 0, _d = alwaysCompsDesired !== null && alwaysCompsDesired !== void 0 ? alwaysCompsDesired : []; _i < _d.length; _i++) {\n var eachDesiredComp = _d[_i];\n var correctMapping = void 0;\n var allComps = model.getAutoModuleAppModel().getAllComponents();\n var compObj = void 0;\n var resultantAnalyticsKey = void 0;\n if (eachDesiredComp !== \"*\") {\n compObj = (_a = allComps[eachDesiredComp]) === null || _a === void 0 ? void 0 : _a.component;\n if (compObj === undefined || !isCompCategoryAllowed(compObj))\n continue;\n correctMapping = (_b = moduleconfig.analytics) === null || _b === void 0 ? void 0 : _b.compMapping[eachDesiredComp];\n resultantAnalyticsKey = !correctMapping\n ? compObj.category === \"hardware\"\n ? formRegUndercSettNameForComp(compObj)\n : eachDesiredComp\n : correctMapping;\n var value = (compObj.type === \"time\" || compObj.type === \"frequency\") ? JSON.stringify(model.getComponentValue(eachDesiredComp)) : model.getComponentValue(eachDesiredComp);\n if (value !== undefined) {\n retData[resultantAnalyticsKey] = value;\n }\n }\n else {\n for (var eachCompName in allComps) {\n correctMapping = (_c = moduleconfig.analytics) === null || _c === void 0 ? void 0 : _c.compMapping[eachCompName];\n compObj = allComps[eachCompName].component;\n if (!isCompCategoryAllowed(compObj))\n continue;\n resultantAnalyticsKey = !correctMapping\n ? compObj.category === \"hardware\"\n ? formRegUndercSettNameForComp(compObj)\n : eachCompName\n : correctMapping;\n retData[resultantAnalyticsKey] = (compObj.type === \"time\" || compObj.type === \"frequency\") ? JSON.stringify(model.getComponentValue(eachCompName)) : model.getComponentValue(eachCompName);\n }\n break;\n }\n }\n return retData;\n};\nvar formRegUndercSettNameForComp = function (compObj) {\n var regUndcSettingName = \"\";\n var compCategory = compObj.category;\n var compSetting = compCategory === \"hardware\" ? compObj.setting : \"\";\n var regName = getRegNameFromCompSettName(compObj.name, compSetting);\n if (regName === \"\") {\n regUndcSettingName = compSetting;\n }\n else if (compSetting === \"\") {\n regUndcSettingName = regName;\n }\n else {\n regUndcSettingName = regName + \"_\" + compSetting;\n }\n return regUndcSettingName;\n};\nvar getRegNameFromCompSettName = function (compName, settingName) {\n var regNameCaps = \"\";\n var compNameCaps = compName.toUpperCase();\n var settingNameCaps = settingName.toUpperCase();\n regNameCaps = compNameCaps.replace(settingNameCaps, \"\");\n return regNameCaps;\n};\nvar logOnChangeStaticAndDynamicData = function (moduleconfig, model, moduleState, onChangeCompsDesired) {\n var _a, _b;\n if (!onChangeCompsDesired || onChangeCompsDesired.length === 0)\n return {};\n var retData = logOnChangeDependencyComps(onChangeCompsDesired, model, moduleconfig);\n for (var eachCategoryKey in moduleState) {\n for (var eachSubCategoryKey in moduleState[eachCategoryKey]) {\n for (var eachChangedCompKey in moduleState[eachCategoryKey][eachSubCategoryKey]) {\n if ((onChangeCompsDesired === null || onChangeCompsDesired === void 0 ? void 0 : onChangeCompsDesired.indexOf(eachChangedCompKey)) !== -1 ||\n (onChangeCompsDesired === null || onChangeCompsDesired === void 0 ? void 0 : onChangeCompsDesired.indexOf(\"*\")) !== -1) {\n var correctMapping = (_a = moduleconfig.analytics) === null || _a === void 0 ? void 0 : _a.compMapping[eachChangedCompKey];\n var allComps = model.getAutoModuleAppModel().getAllComponents();\n var compObj = (_b = allComps[eachChangedCompKey]) === null || _b === void 0 ? void 0 : _b.component;\n if (compObj === undefined || !isCompCategoryAllowed(compObj))\n continue;\n var resultantAnalyticsKey = !correctMapping\n ? compObj.category === \"hardware\"\n ? formRegUndercSettNameForComp(compObj)\n : eachChangedCompKey\n : correctMapping;\n retData[resultantAnalyticsKey] =\n moduleState[eachCategoryKey][eachSubCategoryKey][eachChangedCompKey];\n }\n }\n }\n }\n return retData;\n};\nvar consolidateDependencyCompNames = function (onChangeCompsDesired, model) {\n var _a, _b;\n var consolidatedCompNames = [];\n var allComps = model.getAutoModuleAppModel().getAllComponents();\n for (var _i = 0, _c = onChangeCompsDesired !== null && onChangeCompsDesired !== void 0 ? onChangeCompsDesired : []; _i < _c.length; _i++) {\n var eachDesCompName = _c[_i];\n var compObj = (_a = allComps[eachDesCompName]) === null || _a === void 0 ? void 0 : _a.component;\n if (eachDesCompName !== \"*\" && (compObj === null || compObj === void 0 ? void 0 : compObj.category) === \"import\") {\n consolidatedCompNames.push(eachDesCompName);\n }\n else if (eachDesCompName === \"*\") {\n consolidatedCompNames = [];\n for (var eachcompKey in allComps) {\n compObj = (_b = allComps[eachcompKey]) === null || _b === void 0 ? void 0 : _b.component;\n if ((compObj === null || compObj === void 0 ? void 0 : compObj.category) === \"import\") {\n consolidatedCompNames.push(compObj.name);\n }\n }\n break;\n }\n }\n return consolidatedCompNames;\n};\nvar logOnChangeDependencyComps = function (onChangeCompsDesired, model, moduleconfig) {\n var _a, _b, _c;\n var result = {};\n var allComps = model.getAutoModuleAppModel().getAllComponents();\n //stage 1 - consolidating all desired comps\n var consolidatedCompNames = consolidateDependencyCompNames(onChangeCompsDesired, model);\n //stage 2 - populating the analytics data for consolidated dep comps - stage\n for (var _i = 0, consolidatedCompNames_1 = consolidatedCompNames; _i < consolidatedCompNames_1.length; _i++) {\n var eachCompName = consolidatedCompNames_1[_i];\n var correctMapping = (_b = (_a = moduleconfig.analytics) === null || _a === void 0 ? void 0 : _a.compMapping[eachCompName]) !== null && _b !== void 0 ? _b : eachCompName;\n var compObj = (_c = allComps[eachCompName]) === null || _c === void 0 ? void 0 : _c.component;\n if ((compObj === null || compObj === void 0 ? void 0 : compObj.category) !== \"import\")\n continue;\n var value = getDependencyCompValueForOnChange(compObj, model);\n if (value)\n result[correctMapping] = value;\n }\n return result;\n};\nvar getDependencyCompValueForOnChange = function (compObj, model) {\n var _a;\n var result = (_a = model.getImports()[compObj.importId].handle) === null || _a === void 0 ? void 0 : _a.label;\n return result;\n};\nvar isCompCategoryAllowed = function (compObj) {\n return (compObj !== undefined &&\n (compObj.category === \"hardware\" ||\n compObj.category === \"software\" ||\n compObj.category === \"import\" ||\n compObj.category === \"table\"));\n};\n//# sourceMappingURL=AnalyticsHelper.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getModel = void 0;\nvar Processor = __importStar(require(\"@microchip/scf-common/lib/Processor\"));\nvar AutoModuleAppModel_1 = require(\"../autoModule/AutoModuleAppModel\");\nvar AutoModuleHelpers_1 = require(\"../autoModule/AutoModuleHelpers\");\nvar getConfigData_1 = require(\"../autoModule/getConfigData\");\nvar exports_1 = require(\"../interfaces/exports\");\nvar imports_1 = require(\"../interfaces/imports\");\nvar PCPHelper_1 = require(\"../pins/PCPHelper\");\nvar tables_1 = require(\"../tables/tables\");\nvar getModel = function (prototype, getDerivedData) {\n return new MyAppModel(prototype, getDerivedData);\n};\nexports.getModel = getModel;\nvar MyAppModel = /** @class */ (function () {\n function MyAppModel(prototype, getDerivedData) {\n var _this = this;\n this.getState = function () { return _this.prototype.state; };\n this.getPayload = function () { return _this.prototype.payload; };\n this.getImports = function () { return _this.prototype.imports; };\n this.getExports = function () { return _this.prototype.exports; };\n this.getName = function () {\n return _this.getAutoModuleAppModel().getModuleName();\n };\n this.getCategory = function () {\n return _this.getAutoModuleAppModel().getModuleCategory();\n };\n this.getActiveName = function () {\n var _a, _b, _c;\n return (_c = (_b = (_a = _this.getDerivedFunctions()).getActiveName) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : _this.getName();\n };\n this.getGlobalNames = function () {\n var _a, _b, _c;\n return (_c = (_b = (_a = _this.getDerivedFunctions()).getGlobalNames) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : [];\n };\n this.getAutoModuleAppModel = function () {\n if (_this.autoModuleAppModel)\n return _this.autoModuleAppModel;\n _this.autoModuleAppModel = (0, AutoModuleAppModel_1.createAutoModuleAppModel)(_this);\n return _this.autoModuleAppModel;\n };\n this.getPrototypeModule = function () {\n return _this.prototype;\n };\n this.getRegisterValues = function (interfaceName) {\n if (_this.registerValues)\n return _this.registerValues;\n _this.registerValues = (0, AutoModuleHelpers_1.getRegisterValues)(_this, interfaceName);\n return _this.registerValues;\n };\n this.getInterrupts = function () {\n var _a, _b;\n if (_this.interrupts)\n return _this.interrupts;\n _this.interrupts = (_b = (_a = _this.getHardware()) === null || _a === void 0 ? void 0 : _a.getPeripheral()) === null || _b === void 0 ? void 0 : _b.interrupts;\n return _this.interrupts;\n };\n this.getProperties = function () {\n var _a, _b;\n if (_this.properties)\n return _this.properties;\n _this.properties = (_b = (_a = _this.getHardware()) === null || _a === void 0 ? void 0 : _a.getPeripheral()) === null || _b === void 0 ? void 0 : _b.properties;\n return _this.properties;\n };\n this.getRegisters = function () {\n var _a, _b;\n if (_this.registers)\n return _this.registers;\n _this.registers = (_b = (_a = _this.getHardware()) === null || _a === void 0 ? void 0 : _a.getPeripheral()) === null || _b === void 0 ? void 0 : _b.registers;\n return _this.registers;\n };\n this.getHardware = function (interfaceName) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;\n interfaceName = (0, AutoModuleHelpers_1.getFriendlyInterfaceId)(interfaceName);\n if (interfaceName) {\n var peripheral_1 = (_c = (_b = (_a = _this.getPrototypeModule()) === null || _a === void 0 ? void 0 : _a.imports) === null || _b === void 0 ? void 0 : _b[interfaceName]) === null || _c === void 0 ? void 0 : _c.payload;\n if (!peripheral_1)\n return undefined;\n return {\n getPeripheral: function () { return peripheral_1; },\n getName: function () { return peripheral_1.name; },\n instanceNumber: Number((_d = peripheral_1.instance) !== null && _d !== void 0 ? _d : peripheral_1.name.replace(peripheral_1.group, \"\")),\n };\n }\n if (!_this.defaultHardware) {\n var peripheralName = (0, AutoModuleHelpers_1.getFriendlyInterfaceId)((_g = (_f = (_e = (0, getConfigData_1.getConfigData)(_this)) === null || _e === void 0 ? void 0 : _e.peripherals) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.interfaceId.name);\n var peripheral_2 = (_k = (_j = (_h = _this.getPrototypeModule()) === null || _h === void 0 ? void 0 : _h.imports) === null || _j === void 0 ? void 0 : _j[peripheralName !== null && peripheralName !== void 0 ? peripheralName : \"\"]) === null || _k === void 0 ? void 0 : _k.payload;\n if (peripheral_2) {\n _this.defaultHardware = {\n getPeripheral: function () {\n return peripheral_2;\n },\n getName: function () { return peripheral_2.name; },\n instanceNumber: Number((_l = peripheral_2.instance) !== null && _l !== void 0 ? _l : peripheral_2.name.replace(peripheral_2.group, \"\")),\n };\n }\n }\n return _this.defaultHardware;\n };\n this.getPeripheralDescription = function () {\n var _a;\n return (_a = _this.getHardware()) === null || _a === void 0 ? void 0 : _a.getPeripheral();\n };\n this.getDerivedData = function () {\n if (_this.derivedData)\n return _this.derivedData;\n _this.derivedData = _this.getDerivedDataFunction(_this);\n return _this.derivedData;\n };\n this.getDerivedFunctions = function () {\n return _this.getDerivedData().getMyFunctions();\n };\n this.getDerivedFunction = function (functionName) {\n var _a, _b;\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n return (_b = (_a = _this.getDerivedFunctions()) === null || _a === void 0 ? void 0 : _a[functionName]) === null || _b === void 0 ? void 0 : _b.call.apply(_b, __spreadArray([_a], args, false));\n };\n this.getExportInterfaces = function () {\n if (_this.exportInterfaces)\n return _this.exportInterfaces;\n _this.exportInterfaces = (0, exports_1.createExportInterfaces)(_this.prototype.exports, _this);\n return _this.exportInterfaces;\n };\n this.getImportInterfaces = function () {\n if (_this.importInterfaces)\n return _this.importInterfaces;\n _this.importInterfaces = (0, imports_1.createImportInterfaces)(_this.prototype.imports, _this);\n return _this.importInterfaces;\n };\n this.isControlledByInterface = function (componentName) {\n var _a;\n return ((_a = _this.getExportInterfaces()) === null || _a === void 0 ? void 0 : _a.isControlledByInterface(componentName)) == true;\n };\n this.getAssignedImport = function (importName) {\n var _a;\n if (((_a = _this.prototype.imports) === null || _a === void 0 ? void 0 : _a[importName]) &&\n Processor.isAssigned(_this.prototype.imports[importName])) {\n return _this.prototype.imports[importName];\n }\n return undefined;\n };\n this.getImportValue = function (importName) {\n var _a;\n return (_a = _this.getAssignedImport(importName)) === null || _a === void 0 ? void 0 : _a.payload;\n };\n this.filterImportBySetting = function (populatedImports, importKey, optionFilter) {\n var _a;\n var filteredImports = __assign({}, populatedImports);\n if (populatedImports[importKey]) {\n filteredImports = __assign(__assign({}, filteredImports), (_a = {}, _a[importKey] = Processor.filterOptions(populatedImports[importKey], function (option) {\n return optionFilter(option);\n }), _a));\n }\n return filteredImports;\n };\n this.isComponentValue = function (componentName, componentMeta) {\n var _a;\n var value = _this.getComponentValue(componentName, componentMeta);\n var regex = new RegExp(\"enabled?\");\n var isValue = false;\n if (value) {\n if (typeof value === \"string\") {\n if (value === \"true\") {\n isValue = true;\n }\n else if (value === \"false\") {\n isValue = false;\n }\n else {\n isValue = regex.test((_a = String(value)) === null || _a === void 0 ? void 0 : _a.toLowerCase());\n }\n }\n else if (typeof value === \"boolean\") {\n isValue = value;\n }\n else {\n isValue = false;\n }\n }\n else {\n isValue = false;\n }\n return isValue;\n };\n this.getComponent = function (componentName) {\n return _this.getAutoModuleAppModel().getComponent(componentName);\n };\n this.getPCPHelper = function () {\n if (!_this.pcpHelper) {\n _this.pcpHelper = new PCPHelper_1.PCPHelper();\n _this.pcpHelper.setCallbacks({\n getCompletePinData: function () { var _a, _b; return (_b = (_a = _this.getDerivedFunctions()).getPinsLogic) === null || _b === void 0 ? void 0 : _b.call(_a).getCompletePinData(_this); },\n getRowData: function (rowData) { var _a, _b; return (_b = (_a = _this.getDerivedFunctions()).getPinsLogic) === null || _b === void 0 ? void 0 : _b.call(_a).getRowData(_this, rowData); },\n getPinsData: function () { var _a, _b; return (_b = (_a = _this.getDerivedFunctions()).getPinsLogic) === null || _b === void 0 ? void 0 : _b.call(_a).getPinsData(); },\n });\n }\n return _this.pcpHelper;\n };\n this.getTableHelpers = tables_1.getTableHelpers;\n this.prototype = prototype;\n this.getDerivedDataFunction = getDerivedData;\n }\n MyAppModel.prototype.processDynamicComps = function () {\n this.getAutoModuleAppModel();\n this.autoModuleAppModel.processDynamicComps();\n };\n MyAppModel.prototype.getComponentValue = function (componentName, componentMeta) {\n return this.getAutoModuleAppModel().getComponentValue(componentName, componentMeta);\n };\n return MyAppModel;\n}());\n//# sourceMappingURL=AppModel.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toDictionary = exports.assertNotNull = exports.map = exports.forEach = exports.values = exports.getKeys = void 0;\n/** @returns the non-prototype keys of the given object */\nvar getKeys = function (obj) {\n return Object.getOwnPropertyNames(obj);\n};\nexports.getKeys = getKeys;\n/**\n * Gets the values of a map as a list\n * @param obj\n * @returns\n */\nvar values = function (obj) {\n return (0, exports.getKeys)(obj).map(function (key) { return obj[key]; });\n};\nexports.values = values;\nvar forEach = function (obj, action) {\n (0, exports.getKeys)(obj).forEach(function (key) { return action(key, obj[key]); });\n};\nexports.forEach = forEach;\nvar map = function (obj, mapper) {\n return (0, exports.getKeys)(obj).map(function (key) { return mapper(key, obj[key]); });\n};\nexports.map = map;\nvar assertNotNull = function (val, msg) {\n if (val == null) {\n throw new Error(msg);\n }\n};\nexports.assertNotNull = assertNotNull;\nvar toDictionary = function (arr, keyMapper, valueMapper) {\n var result = {};\n arr.forEach(function (entry) {\n result[keyMapper(entry)] = valueMapper(entry);\n });\n return result;\n};\nexports.toDictionary = toDictionary;\n//# sourceMappingURL=Utils.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MyAutoModuleAppModel = exports.createAutoModuleAppModel = void 0;\nvar Setting_1 = require(\"@microchip/scf-device/lib/Setting\");\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar Utils_1 = require(\"../Utils\");\nvar AutoModuleHelper = __importStar(require(\"./AutoModuleHelpers\"));\nvar getConfigData_1 = require(\"./getConfigData\");\nvar RegisterEditorHelper_1 = require(\"./registerEditor/RegisterEditorHelper\");\nvar createAutoModuleAppModel = function (model, config) {\n return new MyAutoModuleAppModel(model, config);\n};\nexports.createAutoModuleAppModel = createAutoModuleAppModel;\nvar MyAutoModuleAppModel = /** @class */ (function () {\n function MyAutoModuleAppModel(model, config) {\n var _this = this;\n this.getModuleName = function () {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n if (_this.moduleName)\n return _this.moduleName;\n _this.moduleName =\n (_h = (_f = (_d = (_c = (_b = (_a = _this.model.getDerivedFunctions()).moduleName) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : _this.model.getComponentValue(\"componentName\")) !== null && _d !== void 0 ? _d : (_e = _this.model.getHardware()) === null || _e === void 0 ? void 0 : _e.getName()) !== null && _f !== void 0 ? _f : (_g = _this.config) === null || _g === void 0 ? void 0 : _g.moduleName) !== null && _h !== void 0 ? _h : \"Module\";\n return _this.moduleName;\n };\n this.getModuleCategory = function () {\n var _a, _b;\n return (_b = (_a = _this.model.getDerivedFunctions()).moduleCategory) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n this.createComponentList = function () {\n var componentList = {};\n var components = _this.getComponentList();\n var componentsWithDynamicDependencySelectors = __spreadArray(__spreadArray([], components, true), _this.getDefaultDependencySelectors(components), true);\n if (componentsWithDynamicDependencySelectors) {\n componentsWithDynamicDependencySelectors.forEach(function (component) {\n componentList[component.name] = {\n component: component,\n };\n });\n }\n return componentList;\n };\n this.getAllComponents = function () { return _this.componentList; };\n this.getComponentList = function () {\n var _a, _b, _c;\n var components = [];\n var config = _this.config;\n if (!config)\n return components;\n //Software Components\n (_b = (0, Utils_1.values)((_a = config.softwareData) !== null && _a !== void 0 ? _a : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (entry) {\n components.push(entry);\n });\n //Hardware Components\n (_c = config.peripherals) === null || _c === void 0 ? void 0 : _c.forEach(function (peripheral) {\n var _a;\n if (peripheral.registers) {\n (_a = (0, Arrays_1.getKeys)(peripheral.registers)) === null || _a === void 0 ? void 0 : _a.forEach(function (registerName) {\n var _a, _b;\n (_b = (_a = peripheral.registers) === null || _a === void 0 ? void 0 : _a[registerName]) === null || _b === void 0 ? void 0 : _b.forEach(function (setting) {\n var _a, _b;\n //Only add hardware components that exist at runtime\n var hardwareRegister = (_b = (_a = _this.model.getHardware()) === null || _a === void 0 ? void 0 : _a.getPeripheral().registers) === null || _b === void 0 ? void 0 : _b[registerName];\n if (!(hardwareRegister === null || hardwareRegister === void 0 ? void 0 : hardwareRegister.settings) ||\n hardwareRegister.settings[setting.setting] ||\n hardwareRegister.type === \"register\") {\n components.push(setting);\n }\n });\n });\n }\n });\n return components;\n };\n this.getActions = function (component) {\n var _a, _b, _c;\n return ((_c = (_b = (_a = _this.model.getDerivedFunctions()).getActions) === null || _b === void 0 ? void 0 : _b.call(_a, component.name)) !== null && _c !== void 0 ? _c : component.actions);\n };\n this.getDefaultComponentAction = function (componentName) {\n var _a;\n var component = (_a = _this.getComponent(componentName)) === null || _a === void 0 ? void 0 : _a.component;\n return {\n type: \"[FORM] SUBMIT\",\n payload: {\n tabId: \"main\",\n path: \"\".concat(component === null || component === void 0 ? void 0 : component.group, \".\").concat(component === null || component === void 0 ? void 0 : component.name),\n value: \"%v\",\n },\n };\n };\n this.getSoftwareComponentValue = function (tab, component) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n var overriddenValue = _this.model.getDerivedFunction(component.name);\n if (overriddenValue != undefined && (component.type === \"time\" || component.type === \"frequency\")) {\n if (overriddenValue.defaultValue) {\n return overriddenValue.defaultValue;\n }\n else {\n return ((_d = (_c = (_b = (_a = _this.state) === null || _a === void 0 ? void 0 : _a[tab]) === null || _b === void 0 ? void 0 : _b[component.group]) === null || _c === void 0 ? void 0 : _c[component.name]) !== null && _d !== void 0 ? _d : component.defaultValue);\n }\n }\n if (overriddenValue != undefined) {\n return overriddenValue;\n }\n if (_this.model.isControlledByInterface(component.name)) {\n var processedArg = _this.model\n .getExportInterfaces()\n .getProcessedArgValue(component.name);\n if (processedArg != undefined) {\n return processedArg.value;\n }\n }\n return ((_h = (_g = (_f = (_e = _this.state) === null || _e === void 0 ? void 0 : _e[tab]) === null || _f === void 0 ? void 0 : _f[component.group]) === null || _g === void 0 ? void 0 : _g[component.name]) !== null && _h !== void 0 ? _h : AutoModuleHelper.getDefaultValue(_this.model.getDerivedFunctions().overrideDefaultValues, component));\n };\n this.getHardwareComponentValue = function (tab, component, setting) {\n var _a, _b, _c, _d, _e, _f, _g;\n if (!_this.hardware)\n return undefined;\n var overriddenValue = _this.model.getDerivedFunction(component.name);\n if (overriddenValue != undefined) {\n return overriddenValue;\n }\n if (_this.model.isControlledByInterface(component.name)) {\n var processedArg = _this.model\n .getExportInterfaces()\n .getProcessedArgValue(component.name);\n if (processedArg != undefined) {\n return processedArg.value;\n }\n }\n var overriddenCompValue = AutoModuleHelper.getOverrideDefaultValue(component, _this.model);\n var value; // value based on priority\n if (((_c = (_b = (_a = _this.state) === null || _a === void 0 ? void 0 : _a[tab]) === null || _b === void 0 ? void 0 : _b[component.group]) === null || _c === void 0 ? void 0 : _c[component.name]) != null) {\n value = _this.state[tab][component.group][component.name];\n }\n else if (overriddenCompValue !== undefined) {\n value = overriddenCompValue;\n }\n else {\n value =\n setting !== undefined\n ? component.overrideDefaultValue\n ? component.overrideDefaultValue\n : _this.getDefaultValue(component.displayOptionSetting, setting)\n : (_d = component.overrideDefaultValue) !== null && _d !== void 0 ? _d : undefined;\n }\n //if filtered mode -> get options\n if (value != undefined && ((_e = component.mode) === null || _e === void 0 ? void 0 : _e.operation) === \"filterOptions\") {\n var options = AutoModuleHelper.getSettingOptionsIfPresent(component, setting, (_g = _this.model.getComponent((_f = component.mode) === null || _f === void 0 ? void 0 : _f.masterComponent)) === null || _g === void 0 ? void 0 : _g.value);\n if (options.indexOf(value) == -1) {\n value = options[0];\n }\n }\n return value;\n };\n this.getHardwareComponentBooleanValue = function (tab, component, setting) {\n var _a, _b, _c;\n if (!_this.hardware)\n return undefined;\n var overriddenValue = _this.model.getDerivedFunction(component.name);\n if (overriddenValue != undefined) {\n return overriddenValue;\n }\n if (_this.model.isControlledByInterface(component.name)) {\n var processedArg = _this.model\n .getExportInterfaces()\n .getProcessedArgValue(component.name);\n if (processedArg != undefined) {\n if (setting &&\n setting.options &&\n typeof processedArg.value === \"boolean\") {\n var result_1 = \"\";\n if (processedArg.value === true) {\n var settingOptions = setting.options;\n settingOptions.forEach(function (eachOption) {\n if (eachOption.alias.toLowerCase().startsWith(\"enable\")) {\n result_1 = eachOption.alias;\n }\n });\n }\n else if (processedArg.value === false) {\n setting.options.forEach(function (eachOption) {\n if (eachOption.alias.toLowerCase().startsWith(\"disable\")) {\n result_1 = eachOption.alias;\n }\n });\n }\n return result_1;\n }\n return processedArg.value;\n }\n }\n var overriddenCompValue = AutoModuleHelper.getOverrideDefaultValue(component, _this.model);\n return ((_c = (_b = (_a = _this.state) === null || _a === void 0 ? void 0 : _a[tab]) === null || _b === void 0 ? void 0 : _b[component.group]) === null || _c === void 0 ? void 0 : _c[component.name]) != null\n ? _this.state[tab][component.group][component.name]\n ? _this.config.booleanValues.true\n : _this.config.booleanValues.false\n : overriddenCompValue !== undefined\n ? overriddenCompValue\n : setting !== undefined\n ? component.overrideDefaultValue\n ? component.overrideDefaultValue\n : _this.getDefaultValue(component.displayOptionSetting, setting)\n : undefined;\n };\n this.getDependencyComponentValue = function (component) {\n var dependencySelector = new AutoModuleHelper.DependencySelector(_this.model, component);\n var imp = _this.model.getImports()[component.importId];\n if (imp === null || imp === void 0 ? void 0 : imp.handle) {\n return dependencySelector.createOptionLabel(imp.handle, imp.payload);\n }\n return \"None\";\n };\n this.getFileLoadComponentValue = function (component) {\n var _a;\n var fileContents;\n fileContents = (_a = _this.model.getPrototypeModule().loadedFiles) === null || _a === void 0 ? void 0 : _a[component.name];\n return fileContents;\n };\n this.getFileSaveComponentValue = function (component) {\n var _a;\n var fileContents = undefined;\n var overriddenValue = _this.model.getDerivedFunction(component.name);\n if (overriddenValue !== undefined) {\n fileContents = overriddenValue;\n }\n else {\n fileContents = (_a = component.fileMeta) === null || _a === void 0 ? void 0 : _a.defaultContent;\n }\n return fileContents;\n };\n this.getDefaultValue = function (optionType, setting) {\n var _a;\n if (optionType == undefined)\n return setting.defaultValue;\n if (setting.defaultValue) {\n return (_a = (0, Setting_1.getOptionByName)(setting.defaultValue, setting)) === null || _a === void 0 ? void 0 : _a[optionType];\n }\n return undefined;\n };\n this.model = model;\n this.state = this.model.getState();\n this.hardware = this.model.getHardware();\n this.config = (0, getConfigData_1.getConfigData)(model);\n this.componentList = this.createComponentList();\n }\n MyAutoModuleAppModel.prototype.processDynamicComps = function () {\n var _a, _b;\n var updComponentList = this.componentList;\n var updComponents = [];\n (_b = (_a = this.model\n .getDerivedFunctions()).getDynamicComponents) === null || _b === void 0 ? void 0 : _b.call(_a).forEach(function (component) {\n updComponents.push(component);\n });\n updComponents.forEach(function (eachComponent) {\n updComponentList[eachComponent.name] = {\n component: eachComponent,\n };\n });\n this.componentList = updComponentList;\n };\n MyAutoModuleAppModel.prototype.getDefaultDependencySelectors = function (components) {\n var dynamicDependencySelectors = [];\n var defaultTab = \"main\";\n var defaultGroup = \"software\";\n if (components.length > 0) {\n defaultTab = components[0].tabs[0];\n defaultGroup = components[0].group;\n }\n var imports = this.model.getImports();\n if (imports) {\n var importedNames = Object.keys(imports);\n importedNames.forEach(function (name) {\n var _a;\n var dependencySelectors = components.filter(function (component) {\n return component[\"importId\"] && component[\"importId\"] === name;\n });\n if (dependencySelectors.length === 0) {\n dynamicDependencySelectors.push({\n name: name + \" dependency selector\",\n importId: name,\n category: \"import\",\n type: \"ComboBox\",\n description: name + \" dependency selector\",\n group: defaultGroup,\n tabs: [defaultTab],\n uiBehavior: (_a = {},\n _a[\"ui:widget\"] = \"hidden\",\n _a),\n });\n }\n });\n }\n return dynamicDependencySelectors;\n };\n MyAutoModuleAppModel.prototype.isComponent = function (componentName) {\n var _a;\n var component = (_a = this.componentList[componentName]) === null || _a === void 0 ? void 0 : _a.component;\n var componentValue = this.getComponentValue(componentName);\n if (component.category === \"software\") {\n if (component.type === \"boolean\") {\n return this.getComponentValue(componentName);\n }\n return componentValue !== undefined;\n }\n else if (component.category === \"hardware\") {\n return componentValue === this.config.booleanValues.true;\n }\n return undefined;\n };\n MyAutoModuleAppModel.prototype.getComponentValue = function (componentName, componentMeta) {\n var _a, _b, _c, _d;\n if (((_b = (_a = this.model.getState()) === null || _a === void 0 ? void 0 : _a.contentMeta) === null || _b === void 0 ? void 0 : _b.isUserEnRegRWMode) === true) {\n var value = (0, RegisterEditorHelper_1.getRegisterEditorComponentValue)(this.model, componentName, componentMeta);\n return value !== undefined ? value : (_c = this.getComponent(componentName)) === null || _c === void 0 ? void 0 : _c.value;\n }\n return (_d = this.getComponent(componentName)) === null || _d === void 0 ? void 0 : _d.value;\n };\n MyAutoModuleAppModel.prototype.getComponent = function (componentName) {\n var _this = this;\n var _a, _b;\n if (((_a = this.componentList[componentName]) === null || _a === void 0 ? void 0 : _a.value) != undefined)\n return this.componentList[componentName];\n var component = (_b = this.componentList[componentName]) === null || _b === void 0 ? void 0 : _b.component;\n component === null || component === void 0 ? void 0 : component.tabs.forEach(function (tab) {\n if (component) {\n if (component.category === \"software\") {\n _this.componentList[componentName].value =\n _this.getSoftwareComponentValue(tab, component);\n }\n else if (component.category === \"hardware\") {\n var setting = AutoModuleHelper.getSettingFromComponent(_this.model, component);\n if (component.type === \"boolean\") {\n _this.componentList[componentName].value =\n _this.getHardwareComponentBooleanValue(tab, component, setting);\n }\n else {\n _this.componentList[componentName].value =\n _this.getHardwareComponentValue(tab, component, setting);\n }\n }\n else if (component.category === \"import\") {\n _this.componentList[componentName].value =\n _this.getDependencyComponentValue(component);\n }\n else if (component.category === \"file_load\") {\n _this.componentList[componentName].value =\n _this.getFileLoadComponentValue(component);\n }\n else if (component.category === \"file_save\") {\n _this.componentList[componentName].value =\n _this.getFileSaveComponentValue(component);\n }\n _this.componentList[componentName].component.actions =\n _this.getActions(component);\n }\n });\n return this.componentList[componentName];\n };\n return MyAutoModuleAppModel;\n}());\nexports.MyAutoModuleAppModel = MyAutoModuleAppModel;\n//# sourceMappingURL=AutoModuleAppModel.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isFullyAssigned = exports.createPrototypeImport = void 0;\nvar Processor_1 = require(\"@microchip/scf-common/lib/Processor\");\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar AutoModuleHelpers_1 = require(\"./AutoModuleHelpers\");\nvar createPrototypeImport = function (interfaceName, config) {\n var _a, _b;\n return (_b = (_a = config === null || config === void 0 ? void 0 : config.imports) === null || _a === void 0 ? void 0 : _a[interfaceName]) === null || _b === void 0 ? void 0 : _b.import;\n};\nexports.createPrototypeImport = createPrototypeImport;\nvar isFullyAssigned = function (imports, config) {\n var _a;\n //get peripheral interfaces.\n var interfaces = getHardwareInterfaces((_a = config === null || config === void 0 ? void 0 : config.peripherals) !== null && _a !== void 0 ? _a : []);\n for (var i = 0; i < interfaces.length; i++) {\n var imp = imports === null || imports === void 0 ? void 0 : imports[interfaces[i]];\n if (!imp || !(0, Processor_1.isAssigned)(imp)) {\n return false;\n }\n }\n return true;\n};\nexports.isFullyAssigned = isFullyAssigned;\n//Assumes hardware import keys are the same as the interface IDs\nvar getHardwareInterfaces = function (peripherals) {\n var interfaces = (0, Arrays_1.map)(peripherals, function (peripheral) {\n var _a;\n return (_a = (0, AutoModuleHelpers_1.getFriendlyInterfaceId)(peripheral.interfaceId.name)) !== null && _a !== void 0 ? _a : \"\";\n });\n return interfaces;\n};\n//# sourceMappingURL=AutoModuleHardware.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getFriendlyInterfaceId = exports.getModuleDefaultDescription = exports.DependencySelector = exports.populateLoadedFiles = exports.getProcessedHandle = exports.filterModeOptions = exports.getSettingOptionsIfPresent = exports.getOverrideDefaultValue = exports.getSettingDefaultIfPresent = exports.getOptionValueByName = exports.getSettingFromComponent = exports.getSettingBits = exports.sortComments = exports.getRegisterValues = exports.hasConfigBits = exports.getComboOptions = exports.getDefaultValue = exports.castComponent = void 0;\nvar CalculateRegisterValue_1 = __importDefault(require(\"@microchip/scf-device/lib/CalculateRegisterValue\"));\nvar Setting_1 = require(\"@microchip/scf-device/lib/Setting\");\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar Utils_1 = require(\"../Utils\");\nvar getConfigData_1 = require(\"./getConfigData\");\nvar RegisterEditorHelper_1 = require(\"./registerEditor/RegisterEditorHelper\");\nvar castComponent = function (component) {\n switch (component.category) {\n case \"software\":\n return component;\n case \"import\":\n return component;\n case \"hardware\":\n return component;\n default:\n throw Error(\"Unsupported Component Type\");\n }\n};\nexports.castComponent = castComponent;\nvar getDefaultValue = function (overrideDefaultValues, component) {\n var _a;\n return ((_a = overrideDefaultValues === null || overrideDefaultValues === void 0 ? void 0 : overrideDefaultValues(component.name)) !== null && _a !== void 0 ? _a : (component.type === \"ComboBox\"\n ? component.defaultValue.value\n : component.defaultValue));\n};\nexports.getDefaultValue = getDefaultValue;\nvar getComboOptions = function (overrideOptions, component) {\n var _a, _b;\n return (_a = overrideOptions === null || overrideOptions === void 0 ? void 0 : overrideOptions(component.name)) !== null && _a !== void 0 ? _a : (_b = component === null || component === void 0 ? void 0 : component.defaultValue) === null || _b === void 0 ? void 0 : _b[\"options\"];\n};\nexports.getComboOptions = getComboOptions;\nvar hasConfigBits = function (interfaceName) {\n var _a;\n return ((_a = (0, exports.getFriendlyInterfaceId)(interfaceName)) === null || _a === void 0 ? void 0 : _a.indexOf(\"configuration_bits\")) != -1;\n};\nexports.hasConfigBits = hasConfigBits;\nvar getRegisterValues = function (model, interfaceName) {\n var _a, _b, _c;\n if (((_b = (_a = model.getState()) === null || _a === void 0 ? void 0 : _a.contentMeta) === null || _b === void 0 ? void 0 : _b.isUserEnRegRWMode) === true) {\n return (0, RegisterEditorHelper_1.getRegisterEditorValues)(model, interfaceName);\n }\n var registers = {};\n var config = (0, getConfigData_1.getConfigData)(model);\n interfaceName = (0, exports.getFriendlyInterfaceId)(interfaceName);\n (_c = config === null || config === void 0 ? void 0 : config.peripherals) === null || _c === void 0 ? void 0 : _c.forEach(function (peripheral) {\n var _a, _b, _c;\n var peripheralName = (_a = (0, exports.getFriendlyInterfaceId)(peripheral.interfaceId.name)) !== null && _a !== void 0 ? _a : \"\";\n if ((interfaceName != undefined && peripheralName !== interfaceName) ||\n !peripheral.registers)\n return;\n (_c = (0, Utils_1.getKeys)((_b = peripheral.registers) !== null && _b !== void 0 ? _b : {})) === null || _c === void 0 ? void 0 : _c.forEach(function (regName) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n var registerValue;\n var reg = (_b = (_a = model.getHardware(peripheralName)) === null || _a === void 0 ? void 0 : _a.getPeripheral().registers) === null || _b === void 0 ? void 0 : _b[regName];\n if (reg) {\n registerValue = {\n comment: \"\",\n value: 0,\n valueAsHex: \"0x00\",\n name: reg === null || reg === void 0 ? void 0 : reg.name,\n alias: (_c = reg === null || reg === void 0 ? void 0 : reg.alias) !== null && _c !== void 0 ? _c : reg === null || reg === void 0 ? void 0 : reg.name,\n por: reg.defaultValue,\n settings: {},\n };\n }\n else {\n return;\n }\n var registerVal = CalculateRegisterValue_1.default.for(reg);\n var comments = [];\n (_d = peripheral.registers) === null || _d === void 0 ? void 0 : _d[regName].forEach(function (set) {\n var _a, _b, _c, _d, _e;\n var setting = (_a = reg.settings) === null || _a === void 0 ? void 0 : _a[set.setting];\n if (setting) {\n if (setting.type !== \"R\") {\n //Add Comments\n comments.push(\"\".concat(set.setting, \" \").concat(model.getComponentValue(set.name), \"; \"));\n }\n if (registerValue === null || registerValue === void 0 ? void 0 : registerValue.settings) {\n registerValue.settings[setting.alias] = (0, exports.getSettingBits)(reg, setting, (_b = model.getComponent(set.name)) === null || _b === void 0 ? void 0 : _b.value, (_c = config === null || config === void 0 ? void 0 : config.deviceType) !== null && _c !== void 0 ? _c : \"PIC\");\n }\n switch (set.type) {\n case \"ComboBox\":\n case \"boolean\":\n registerVal.withNumberValue(setting, (_e = (0, exports.getOptionValueByName)(setting, (_d = model.getComponent(set.name)) === null || _d === void 0 ? void 0 : _d.value)) !== null && _e !== void 0 ? _e : 0);\n break;\n case \"number\":\n registerVal.withNumberValue(setting, model.getComponentValue(set.name));\n break;\n case \"register\":\n case \"string\":\n registerVal.withNumberValue(setting, Number(model.getComponentValue(set.name)));\n break;\n default:\n break;\n }\n }\n });\n if (reg.settings) {\n registerValue.value = registerVal.asNumber();\n }\n else {\n registerValue.value = Number((_j = model.getComponentValue((_h = (_g = (_f = (_e = peripheral.registers) === null || _e === void 0 ? void 0 : _e[regName]) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.name) !== null && _h !== void 0 ? _h : \"\")) !== null && _j !== void 0 ? _j : 0);\n comments.push(\"\".concat(registerValue.name, \" \").concat(registerValue.value, \"; \"));\n }\n registerValue.valueAsHex =\n \"0x\" + registerValue.value.toString(16).toUpperCase();\n registerValue.comment = (0, exports.sortComments)(comments, reg);\n registers[(_k = reg === null || reg === void 0 ? void 0 : reg.alias) !== null && _k !== void 0 ? _k : reg.name] = registerValue;\n });\n });\n return registers;\n};\nexports.getRegisterValues = getRegisterValues;\nvar sortComments = function (comments, register) {\n comments.sort(function (a, b) {\n var _a, _b, _c, _d;\n var settingA = (_a = register.settings) === null || _a === void 0 ? void 0 : _a[(_b = a.split[\" \"]) === null || _b === void 0 ? void 0 : _b[0]];\n var settingB = (_c = register.settings) === null || _c === void 0 ? void 0 : _c[(_d = b.split(\" \")) === null || _d === void 0 ? void 0 : _d[0]];\n return Number(settingB === null || settingB === void 0 ? void 0 : settingB.mask) - Number(settingA === null || settingA === void 0 ? void 0 : settingA.mask);\n });\n return comments.join(\"\");\n};\nexports.sortComments = sortComments;\nvar getSettingBits = function (register, setting, value, deviceType) {\n var _a;\n var setValNumber = 0;\n var valueAsDesc = \"\";\n var option = (0, Setting_1.getOptionByAlias)(value, setting);\n if (option) {\n setValNumber = Number((_a = option === null || option === void 0 ? void 0 : option.value) !== null && _a !== void 0 ? _a : 0);\n valueAsDesc = value;\n }\n else {\n setValNumber = Number(value);\n valueAsDesc = \"0x\" + Number(value).toString(16).toUpperCase();\n }\n var settingValue = {\n alias: setting.alias,\n name: setting.name,\n value: setValNumber !== null && setValNumber !== void 0 ? setValNumber : 0,\n valueAsHex: \"0x\" + setValNumber.toString(16).toUpperCase(),\n valueAsDescription: valueAsDesc,\n type: setting.type,\n optionName: option === null || option === void 0 ? void 0 : option.name,\n bitName: deviceType === \"PIC\"\n ? \"\".concat(register.name, \"bits.\").concat(setting.name)\n : \"\".concat(register.name, \".\").concat(setting.name),\n };\n return settingValue;\n};\nexports.getSettingBits = getSettingBits;\nvar getRegisterFromComponent = function (hardware, component) {\n var _a, _b, _c, _d, _e;\n var registerName = (_a = component.name\n .replace(component.setting.toLowerCase(), \"\")) === null || _a === void 0 ? void 0 : _a.toUpperCase();\n var register = (_b = hardware === null || hardware === void 0 ? void 0 : hardware.registers) === null || _b === void 0 ? void 0 : _b[registerName];\n if (register) {\n return register;\n }\n else {\n var regName = (_c = component.name\n .replace(component.setting.toLowerCase(), \"\")) === null || _c === void 0 ? void 0 : _c.toUpperCase();\n var registers = (0, Utils_1.getKeys)((_d = hardware === null || hardware === void 0 ? void 0 : hardware.registers) !== null && _d !== void 0 ? _d : {});\n for (var _i = 0, _f = registers !== null && registers !== void 0 ? registers : []; _i < _f.length; _i++) {\n var reg = _f[_i];\n var modifiedRegName = reg.replace(/_/g, \"\");\n if (regName === modifiedRegName) {\n return (_e = hardware === null || hardware === void 0 ? void 0 : hardware.registers) === null || _e === void 0 ? void 0 : _e[reg];\n }\n }\n }\n};\nvar getSettingFromComponent = function (model, component) {\n var _a;\n var config = (0, getConfigData_1.getConfigData)(model);\n var setting;\n if (model) {\n (_a = config === null || config === void 0 ? void 0 : config.peripherals) === null || _a === void 0 ? void 0 : _a.forEach(function (peripheral) {\n var _a, _b, _c;\n if (setting)\n return;\n var peripheralName = (0, exports.getFriendlyInterfaceId)(peripheral.interfaceId.name);\n var hardware = (_a = model.getHardware(peripheralName)) === null || _a === void 0 ? void 0 : _a.getPeripheral();\n var register = getRegisterFromComponent(hardware, component);\n if (register && !register.settings) {\n //No settings for this particular register. Create one\n setting = {\n alias: (_b = register.alias) !== null && _b !== void 0 ? _b : register.name,\n name: register.name,\n defaultValue: register.defaultValue,\n type: register.type,\n description: register.desc,\n porDefault: register.defaultValue,\n };\n }\n else {\n setting = (_c = register === null || register === void 0 ? void 0 : register.settings) === null || _c === void 0 ? void 0 : _c[component.setting];\n }\n });\n }\n return setting;\n};\nexports.getSettingFromComponent = getSettingFromComponent;\nvar getOptionValueByName = function (setting, optionName) {\n if (!setting)\n return undefined;\n var optionValue = setting.porDefault;\n if (setting.options) {\n setting.options.forEach(function (option) {\n if (option.name === optionName || option.description === optionName) {\n optionValue = option.value;\n }\n });\n }\n return Number(optionValue);\n};\nexports.getOptionValueByName = getOptionValueByName;\nvar getSettingDefaultIfPresent = function (component, setting, overrideDefaultValue) {\n var _a, _b;\n var defaultValue;\n if (overrideDefaultValue !== undefined) {\n return overrideDefaultValue;\n }\n if (component.overrideDefaultValue) {\n return component.overrideDefaultValue;\n }\n if (setting === null || setting === void 0 ? void 0 : setting.defaultValue) {\n var option = (0, Setting_1.getOptionByName)(setting.defaultValue, setting);\n defaultValue =\n (_b = option === null || option === void 0 ? void 0 : option[(_a = component.displayOptionSetting) !== null && _a !== void 0 ? _a : \"alias\"]) !== null && _b !== void 0 ? _b : setting.defaultValue;\n }\n return defaultValue;\n};\nexports.getSettingDefaultIfPresent = getSettingDefaultIfPresent;\nvar getOverrideDefaultValue = function (component, model) {\n var _a, _b;\n return (_b = (_a = model.getDerivedFunctions()).overrideDefaultValues) === null || _b === void 0 ? void 0 : _b.call(_a, component.name);\n};\nexports.getOverrideDefaultValue = getOverrideDefaultValue;\nvar getSettingOptionsIfPresent = function (component, setting, masterComponentValue) {\n var _a;\n var options = [\"\"];\n if (setting) {\n var filteredOptions = component.mode\n ? (0, exports.filterModeOptions)((_a = setting.options) !== null && _a !== void 0 ? _a : [], component, masterComponentValue)\n : setting.options;\n options = (0, Arrays_1.map)(filteredOptions !== null && filteredOptions !== void 0 ? filteredOptions : [], function (option) { var _a, _b; return (_b = option[(_a = component.displayOptionSetting) !== null && _a !== void 0 ? _a : \"alias\"]) !== null && _b !== void 0 ? _b : option.alias; });\n }\n return options;\n};\nexports.getSettingOptionsIfPresent = getSettingOptionsIfPresent;\nvar filterModeOptions = function (options, component, masterComponentValue) {\n var _a, _b, _c, _d;\n if (((_a = component.mode) === null || _a === void 0 ? void 0 : _a.operation) != \"filterOptions\" || masterComponentValue == undefined)\n return options;\n //Determine mode\n var mode = (0, Arrays_1.find)((_d = (0, Utils_1.getKeys)((_c = (_b = component.mode) === null || _b === void 0 ? void 0 : _b.optionModes) !== null && _c !== void 0 ? _c : {})) !== null && _d !== void 0 ? _d : [], function (mode) {\n var _a, _b, _c, _d;\n var match = (_b = (_a = component.mode) === null || _a === void 0 ? void 0 : _a.optionModes) === null || _b === void 0 ? void 0 : _b[mode];\n if (match) {\n return ((_d = (_c = masterComponentValue === null || masterComponentValue === void 0 ? void 0 : masterComponentValue.match(match)) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : -1) > 0;\n }\n return false;\n });\n // optionModes : when Key value are not same\n if (mode === undefined) {\n mode = masterComponentValue;\n }\n var filteredOptions = (0, Arrays_1.filter)(options !== null && options !== void 0 ? options : [], function (option) {\n var _a, _b, _c, _d;\n if (option.mode && mode) {\n var match = (_b = (_a = component.mode) === null || _a === void 0 ? void 0 : _a.optionModes) === null || _b === void 0 ? void 0 : _b[mode];\n if (match) {\n return ((_d = (_c = option.mode.match(match)) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : -1) > 0;\n }\n }\n return true;\n });\n return filteredOptions;\n};\nexports.filterModeOptions = filterModeOptions;\nvar getProcessedHandle = function (handle, payload) {\n var _a, _b, _c, _d;\n if (handle) {\n handle = __assign(__assign({}, handle), { label: (_d = (_c = (_b = (_a = handle === null || handle === void 0 ? void 0 : handle.label) !== null && _a !== void 0 ? _a : payload === null || payload === void 0 ? void 0 : payload.customName) !== null && _b !== void 0 ? _b : payload === null || payload === void 0 ? void 0 : payload.moduleName) !== null && _c !== void 0 ? _c : payload === null || payload === void 0 ? void 0 : payload.name) !== null && _d !== void 0 ? _d : handle.providerId + \" : \" + handle.exportId });\n }\n return handle;\n};\nexports.getProcessedHandle = getProcessedHandle;\nvar populateLoadedFiles = function (processedOutput) {\n var _a;\n var result = __assign({}, processedOutput);\n var consolidatedFiles = {};\n //pushing all the inmemory files provided from Melody\n if (result.loadedFiles !== undefined) {\n for (var eachFileId in result.loadedFiles) {\n var eachFile = result.loadedFiles[eachFileId];\n consolidatedFiles[eachFileId] = eachFile;\n }\n }\n //pushing all the instate files stored in state(project) - NOTE: if same fileId exists in state and memory then state will be given priority\n if (((_a = result.state) === null || _a === void 0 ? void 0 : _a.loadedFiles) !== undefined) {\n for (var eachFileId in result.state.loadedFiles) {\n var eachFile = result.state.loadedFiles[eachFileId];\n consolidatedFiles[eachFileId] = eachFile;\n }\n }\n result.loadedFiles = consolidatedFiles;\n return result;\n};\nexports.populateLoadedFiles = populateLoadedFiles;\nvar DependencySelector = /** @class */ (function () {\n function DependencySelector(model, component) {\n var _this = this;\n this.noneSelection = { label: \"None\" };\n this.createOptionEntry = function (option) {\n return {\n label: _this.createOptionLabel(option.handle, option.payload),\n value: option,\n };\n };\n this.createOptionLabel = function (handle, payload) {\n var _a, _b;\n return (_b = (_a = (0, exports.getProcessedHandle)(handle, payload)) === null || _a === void 0 ? void 0 : _a.label) !== null && _b !== void 0 ? _b : \"\";\n };\n this.model = model;\n this.component = component;\n }\n DependencySelector.prototype.generateDropdownOptions = function () {\n var dropdownOptions = [];\n var thisImport = this.model.getImports()[this.component.importId];\n var options = thisImport === null || thisImport === void 0 ? void 0 : thisImport.options;\n if (this.shouldAllowUnselectDependency(thisImport, options)) {\n dropdownOptions.push(this.noneSelection);\n }\n if (options !== undefined) {\n for (var option in options) {\n dropdownOptions.push(this.createOptionEntry(options[option]));\n }\n }\n return dropdownOptions;\n };\n DependencySelector.prototype.getDropdownOptionNames = function () {\n var names = [];\n this.generateDropdownOptions().forEach(function (option) { return names.push(option.label); });\n return names;\n };\n DependencySelector.prototype.shouldAllowUnselectDependency = function (thisImport, options) {\n return thisImport != undefined && thisImport.isUnassignable != false;\n };\n return DependencySelector;\n}());\nexports.DependencySelector = DependencySelector;\nfunction getModuleDefaultDescription() {\n //TODO: Need to refactor this so that gets it from the source.\n //Alternatively, we could get it during the automodule update process and fetch it from there...\n return undefined;\n}\nexports.getModuleDefaultDescription = getModuleDefaultDescription;\nvar getFriendlyInterfaceId = function (interfaceName) {\n interfaceName = interfaceName === null || interfaceName === void 0 ? void 0 : interfaceName.replace(/ /g, \"\").replace(/-/g, \"_\");\n return interfaceName;\n};\nexports.getFriendlyInterfaceId = getFriendlyInterfaceId;\n//# sourceMappingURL=AutoModuleHelpers.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getConfigBits = exports.getTemplateSettings = exports.getTemplatePayload = exports.getTemplates = void 0;\nvar AutoModuleHelper = __importStar(require(\"./AutoModuleHelpers\"));\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar getConfigData_1 = require(\"./getConfigData\");\nvar Utils_1 = require(\"../Utils\");\nvar AutoModuleHardware_1 = require(\"./AutoModuleHardware\");\nvar AutoModuleHelpers_1 = require(\"./AutoModuleHelpers\");\nvar getTemplates = function (model) {\n var _a;\n var config = (0, getConfigData_1.getConfigData)(model, true);\n var templates = [];\n (_a = config === null || config === void 0 ? void 0 : config.templates) === null || _a === void 0 ? void 0 : _a.forEach(function (template) {\n var _a, _b, _c;\n var newTemplate = __assign({}, template);\n if (!model)\n return;\n newTemplate.dest =\n (_c = (_b = (_a = model.getDerivedFunctions()).templateName) === null || _b === void 0 ? void 0 : _b.call(_a, newTemplate.src)) !== null && _c !== void 0 ? _c : newTemplate.dest;\n newTemplate.dest = newTemplate.dest.replace(\"${sourceFileName}\", model.getName().toLowerCase() + \".c\");\n newTemplate.dest = newTemplate.dest.replace(\"${headerFileName}\", model.getName().toLowerCase() + \".h\");\n if (shouldGenerate(newTemplate, model)) {\n templates.push(newTemplate);\n }\n });\n return templates;\n};\nexports.getTemplates = getTemplates;\nvar shouldGenerate = function (template, model) {\n var shouldGenerate = true;\n if (!model)\n return shouldGenerate;\n if (shouldGenerate &&\n template.generateWithHardware == true &&\n !(0, AutoModuleHardware_1.isFullyAssigned)(model.getPrototypeModule().imports, (0, getConfigData_1.getConfigData)(model, true))) {\n shouldGenerate = false;\n }\n if (shouldGenerate &&\n template.isGeneratableProperty &&\n model.getDerivedFunction(template.isGeneratableProperty) != true) {\n shouldGenerate = false;\n }\n return shouldGenerate;\n};\nvar getTemplatePayload = function (model) {\n var _a;\n if (!model)\n return undefined;\n var config = (0, getConfigData_1.getConfigData)(model, true);\n var moduleName = model.getName();\n var templatePayload = {\n name: {\n uppercase: moduleName.toUpperCase(),\n lowercase: moduleName.toLowerCase(),\n instance: moduleName,\n },\n filename: {\n source: \"\".concat(moduleName.toLowerCase(), \".c\"),\n header: \"\".concat(moduleName.toLowerCase(), \".h\"),\n },\n };\n var components = model\n .getAutoModuleAppModel()\n .getAllComponents();\n (_a = (0, Utils_1.values)(components)) === null || _a === void 0 ? void 0 : _a.forEach(function (entry) {\n templatePayload[entry.component.name] = getComponentPayload(entry.component, model);\n });\n templatePayload = __assign(__assign({}, templatePayload), (0, exports.getTemplateSettings)(model, config));\n return templatePayload;\n};\nexports.getTemplatePayload = getTemplatePayload;\nvar getTemplateSettings = function (model, config) {\n var _a, _b;\n if (!(model === null || model === void 0 ? void 0 : model.getHardware()))\n return undefined;\n return {\n registers: model.getRegisterValues(undefined),\n interrupts: (_a = model.getHardware()) === null || _a === void 0 ? void 0 : _a.getPeripheral().interrupts,\n properties: (_b = model.getHardware()) === null || _b === void 0 ? void 0 : _b.getPeripheral().properties,\n };\n};\nexports.getTemplateSettings = getTemplateSettings;\nvar getConfigBits = function (model) {\n var _a, _b, _c;\n var config = (0, getConfigData_1.getConfigData)(model, true);\n var configModule = (0, Arrays_1.find)((_a = config === null || config === void 0 ? void 0 : config.peripherals) !== null && _a !== void 0 ? _a : [], function (peripheral) {\n return AutoModuleHelper.hasConfigBits(peripheral.interfaceId.name);\n });\n if (configModule) {\n var interfaceName = AutoModuleHelper.getFriendlyInterfaceId(configModule.interfaceId.name);\n var templateConfigBits_1 = {};\n var registers_1 = (_b = model.getHardware(interfaceName)) === null || _b === void 0 ? void 0 : _b.getPeripheral().registers;\n (_c = (0, Utils_1.getKeys)(registers_1 !== null && registers_1 !== void 0 ? registers_1 : [])) === null || _c === void 0 ? void 0 : _c.forEach(function (configName) {\n var _a;\n var _b, _c, _d;\n var configBits = (_b = configModule.registers) === null || _b === void 0 ? void 0 : _b[configName];\n templateConfigBits_1 = __assign(__assign({}, templateConfigBits_1), (_a = {}, _a[configName] = {}, _a));\n if (((_d = (_c = model.getState()) === null || _c === void 0 ? void 0 : _c.contentMeta) === null || _d === void 0 ? void 0 : _d.isUserEnRegRWMode) === true) {\n configBits === null || configBits === void 0 ? void 0 : configBits.forEach(function (configBit) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n var register = registers_1 === null || registers_1 === void 0 ? void 0 : registers_1[configName];\n var value;\n var description;\n if (register && !register.settings) {\n //missing settings for register\n value = model.getComponentValue(configBit.setting, { register: configName });\n description = model.getComponentValue(configBit.setting, { register: configName }).toString(16).toUpperCase();\n }\n else {\n var setting = (_b = (_a = registers_1 === null || registers_1 === void 0 ? void 0 : registers_1[configName]) === null || _a === void 0 ? void 0 : _a.settings) === null || _b === void 0 ? void 0 : _b[configBit.setting];\n value =\n (_g = (_f = (_e = (_d = (0, Arrays_1.find)((_c = setting === null || setting === void 0 ? void 0 : setting.options) !== null && _c !== void 0 ? _c : [], function (option) {\n return option.description ===\n model.getComponentValue(configBit.setting, { register: configName }) ||\n option.alias ===\n model.getComponentValue(configBit.setting, { register: configName }) ||\n option.name === model.getComponentValue(configBit.setting, { register: configName });\n })) === null || _d === void 0 ? void 0 : _d.name) !== null && _e !== void 0 ? _e : model.getComponentValue(configBit.setting, { register: configName })) !== null && _f !== void 0 ? _f : setting === null || setting === void 0 ? void 0 : setting.defaultValue) !== null && _g !== void 0 ? _g : \"\";\n description =\n (_k = (_j = (0, Arrays_1.find)((_h = setting === null || setting === void 0 ? void 0 : setting.options) !== null && _h !== void 0 ? _h : [], function (option) {\n return option.description ===\n model.getComponentValue(configBit.setting, { register: configName }) ||\n option.alias ===\n model.getComponentValue(configBit.setting, { register: configName }) ||\n option.name === model.getComponentValue(configBit.setting, { register: configName });\n })) === null || _j === void 0 ? void 0 : _j.description) !== null && _k !== void 0 ? _k : \"\";\n }\n if (typeof value === \"number\") {\n if (!isNaN(value)) {\n templateConfigBits_1[configName][configBit.setting] = {\n name: configBit.setting,\n value: \"0x\" + value.toString(16).toUpperCase(),\n description: configBit.description,\n valueAsDescription: \"0x\" + value.toString(16).toUpperCase(),\n };\n }\n }\n else {\n templateConfigBits_1[configName][configBit.setting] = {\n name: configBit.setting,\n value: value,\n description: configBit.description,\n valueAsDescription: description,\n };\n }\n });\n }\n else {\n configBits === null || configBits === void 0 ? void 0 : configBits.forEach(function (configBit) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;\n var register = registers_1 === null || registers_1 === void 0 ? void 0 : registers_1[configName];\n var value;\n if (register && !register.settings) {\n //missing settings for register\n value = (_b = (_a = model.getComponent(configBit.name)) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : \"\";\n }\n else {\n var setting = (_d = (_c = registers_1 === null || registers_1 === void 0 ? void 0 : registers_1[configName]) === null || _c === void 0 ? void 0 : _c.settings) === null || _d === void 0 ? void 0 : _d[configBit.setting];\n value =\n (_k = (_j = (_g = (_f = (0, Arrays_1.find)((_e = setting === null || setting === void 0 ? void 0 : setting.options) !== null && _e !== void 0 ? _e : [], function (option) {\n var _a, _b, _c;\n return option.description ===\n ((_a = model.getComponent(configBit.name)) === null || _a === void 0 ? void 0 : _a.value) ||\n option.alias ===\n ((_b = model.getComponent(configBit.name)) === null || _b === void 0 ? void 0 : _b.value) ||\n option.name === ((_c = model.getComponent(configBit.name)) === null || _c === void 0 ? void 0 : _c.value);\n })) === null || _f === void 0 ? void 0 : _f.name) !== null && _g !== void 0 ? _g : (_h = model.getComponent(configBit.name)) === null || _h === void 0 ? void 0 : _h.value) !== null && _j !== void 0 ? _j : setting === null || setting === void 0 ? void 0 : setting.defaultValue) !== null && _k !== void 0 ? _k : \"\";\n }\n templateConfigBits_1[configName][configBit.setting] = {\n name: configBit.setting,\n value: value,\n description: configBit.description,\n valueAsDescription: (_l = model.getComponent(configBit.name)) === null || _l === void 0 ? void 0 : _l.value,\n };\n });\n }\n });\n return templateConfigBits_1;\n }\n else {\n return {};\n }\n};\nexports.getConfigBits = getConfigBits;\nvar getComponentPayload = function (component, model) {\n var _a, _b;\n var componentValue = model.getComponentValue(component.name);\n switch (component.type) {\n case \"ComboBox\":\n if (component.category === \"hardware\") {\n var setting = AutoModuleHelper.getSettingFromComponent(model, component);\n return {\n value: componentValue,\n options: AutoModuleHelper.getSettingOptionsIfPresent(component, setting, model.getComponentValue((_b = (_a = component.mode) === null || _a === void 0 ? void 0 : _a.masterComponent) !== null && _b !== void 0 ? _b : \"\")),\n };\n }\n else if (component.category === \"software\") {\n return {\n value: componentValue,\n options: (0, AutoModuleHelpers_1.getComboOptions)(model.getDerivedFunctions().overrideOptions, component),\n };\n }\n break;\n case \"boolean\":\n return model.isComponentValue(component.name);\n case \"number\":\n case \"string\":\n case \"register\":\n default:\n return componentValue;\n }\n};\n//# sourceMappingURL=AutoModuleTemplates.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAutoSdlHelp = void 0;\n/**\n * Returns the valid link for each component of a module\n *\n * @param dataModel - AppModel for current module\n * @param componentName - Current component under the module\n * @param helpUrl - Generic url\n * @returns Valid link to microchip docs\n */\nvar getAutoSdlHelp = function (dataModel, componentName, helpUrl) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;\n var deviceMeta = dataModel.getImportValue(\"device_meta\");\n var deviceName = (_a = deviceMeta === null || deviceMeta === void 0 ? void 0 : deviceMeta.deviceName) !== null && _a !== void 0 ? _a : \"\";\n var moduleName = (_d = (_c = (_b = dataModel.getHardware()) === null || _b === void 0 ? void 0 : _b.getPeripheral()) === null || _c === void 0 ? void 0 : _c.group) !== null && _d !== void 0 ? _d : \"\";\n var dosid = (_g = (_f = (_e = dataModel.getHardware()) === null || _e === void 0 ? void 0 : _e.getPeripheral()) === null || _f === void 0 ? void 0 : _f.dosid) !== null && _g !== void 0 ? _g : \"\";\n var comp = (_j = (_h = dataModel.getComponent(componentName)) === null || _h === void 0 ? void 0 : _h.component) !== null && _j !== void 0 ? _j : \"\";\n var setting = (_l = (_k = comp === null || comp === void 0 ? void 0 : comp.setting) === null || _k === void 0 ? void 0 : _k.toLowerCase()) !== null && _l !== void 0 ? _l : \"\";\n var registerName = componentName.toLowerCase().replace(setting, \"\");\n var registerAlias = (_m = registerName === null || registerName === void 0 ? void 0 : registerName.toUpperCase()) !== null && _m !== void 0 ? _m : \"\";\n var deviceRegister = (_r = (_q = (_p = (_o = dataModel.getPeripheralDescription()) === null || _o === void 0 ? void 0 : _o.registers) === null || _p === void 0 ? void 0 : _p[registerAlias]) === null || _q === void 0 ? void 0 : _q.name) !== null && _r !== void 0 ? _r : \"\";\n var register = registerAlias == deviceRegister ? registerAlias : deviceRegister;\n var url = helpUrl\n .replace(\"${deviceName}\", deviceName !== null && deviceName !== void 0 ? deviceName : \"\")\n .replace(\"${registerName}\", register !== null && register !== void 0 ? register : \"\")\n .replace(\"${moduleName}\", moduleName !== null && moduleName !== void 0 ? moduleName : \"\")\n .replace(\"${dosId}\", dosid !== null && dosid !== void 0 ? dosid : \"\");\n return url;\n};\nexports.getAutoSdlHelp = getAutoSdlHelp;\n//# sourceMappingURL=ContextualHelp.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getFreqCompSchema = exports.isFrequencyComponent = exports.isFreqUnitInState = exports.isFreqValueInState = exports.isFreqComponentInState = exports.getFreqCompFormData = void 0;\nvar getFreqCompFormData = function (model, component, tab) {\n var _a;\n var componentValue = {\n value: component.defaultValue.value,\n unit: component.defaultValue.unit\n };\n if (component.frequencyMeta) {\n // Min value update\n if (component.frequencyMeta.min) {\n componentValue = __assign(__assign({}, componentValue), { min: {\n value: component.frequencyMeta.min.value,\n unit: component.frequencyMeta.min.unit\n } });\n }\n // Max value update\n if (component.frequencyMeta.max) {\n componentValue = __assign(__assign({}, componentValue), { max: {\n value: component.frequencyMeta.max.value,\n unit: component.frequencyMeta.max.unit\n } });\n }\n // Options update\n if (component.frequencyMeta.unitOptions) {\n componentValue = __assign(__assign({}, componentValue), { options: component.frequencyMeta.unitOptions });\n }\n }\n // Form data updation based on dynamic data\n var updatedFreqComp = (model.getDerivedFunctions() && model.getDerivedFunctions()[component.name] != null) ? (_a = model.getDerivedFunctions()) === null || _a === void 0 ? void 0 : _a[component.name]() : undefined;\n if (updatedFreqComp) {\n // Default value update\n if (updatedFreqComp.defaultValue) {\n componentValue = __assign(__assign({}, componentValue), { value: updatedFreqComp.defaultValue.value, unit: updatedFreqComp.defaultValue.unit });\n }\n // Min, Max and Options update\n if (updatedFreqComp.frequencyMeta) {\n if (updatedFreqComp.frequencyMeta.min) {\n componentValue = __assign(__assign({}, componentValue), { min: {\n value: updatedFreqComp.frequencyMeta.min.value,\n unit: updatedFreqComp.frequencyMeta.min.unit,\n } });\n }\n if (updatedFreqComp.frequencyMeta.max) {\n componentValue = __assign(__assign({}, componentValue), { max: {\n value: updatedFreqComp.frequencyMeta.max.value,\n unit: updatedFreqComp.frequencyMeta.max.unit,\n } });\n }\n if (updatedFreqComp.frequencyMeta.unitOptions) {\n componentValue = __assign(__assign({}, componentValue), { options: updatedFreqComp.frequencyMeta.unitOptions });\n }\n }\n }\n if (!isFreqComponentInState(model, component, tab)) {\n return componentValue;\n }\n else {\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n if (isFreqValueInState(model, component, tab)) {\n var valueChanged = tabState[component.group][component.name].value;\n componentValue = __assign(__assign({}, componentValue), { value: valueChanged });\n }\n if (isFreqUnitInState(model, component, tab)) {\n var unitChanged = tabState[component.group][component.name].unit;\n componentValue = __assign(__assign({}, componentValue), { unit: unitChanged });\n }\n return componentValue;\n }\n};\nexports.getFreqCompFormData = getFreqCompFormData;\nfunction isFreqComponentInState(model, component, tab) {\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n return (tabState && tabState[component.group] && tabState[component.group][component.name]);\n}\nexports.isFreqComponentInState = isFreqComponentInState;\nfunction isFreqValueInState(model, component, tab) {\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n return (tabState && tabState[component.group] && tabState[component.group][component.name] && tabState[component.group][component.name].value);\n}\nexports.isFreqValueInState = isFreqValueInState;\nfunction isFreqUnitInState(model, component, tab) {\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n return (tabState && tabState[component.group] && tabState[component.group][component.name] && tabState[component.group][component.name].unit);\n}\nexports.isFreqUnitInState = isFreqUnitInState;\nfunction isFrequencyComponent(component) {\n return (component.category === \"software\" &&\n component.type === \"frequency\");\n}\nexports.isFrequencyComponent = isFrequencyComponent;\nfunction getFreqCompSchema(component, derivedFunctions) {\n var _a, _b;\n //Schema creation with static moduleConfig data\n var schema = {\n type: \"object\",\n $id: \"frequency\",\n title: (_b = (_a = derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideTitle) === null || _a === void 0 ? void 0 : _a.call(derivedFunctions, component.name)) !== null && _b !== void 0 ? _b : component.description,\n properties: {\n value: {\n type: \"number\",\n default: component.defaultValue.value,\n },\n unit: {\n type: \"string\",\n default: component.defaultValue.unit,\n }\n },\n };\n if (component.frequencyMeta) {\n // Min value update\n if (component.frequencyMeta.min) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { min: {\n type: \"object\",\n properties: {\n value: {\n type: \"number\",\n default: component.frequencyMeta.min.value,\n },\n unit: {\n type: \"string\",\n default: component.frequencyMeta.min.unit,\n }\n }\n } }) });\n }\n // Max value update\n if (component.frequencyMeta.max) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { max: {\n type: \"object\",\n properties: {\n value: {\n type: \"number\",\n default: component.frequencyMeta.max.value,\n },\n unit: {\n type: \"string\",\n default: component.frequencyMeta.max.unit,\n }\n }\n } }) });\n }\n // Unit options update\n if (component.frequencyMeta.unitOptions) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { options: {\n type: \"array\",\n items: {\n type: \"string\",\n enum: component.frequencyMeta.unitOptions,\n }\n } }) });\n }\n }\n //Schema updation based on dynamic data\n var updatedFreqComp = (derivedFunctions && derivedFunctions[component.name] != null) ? derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions[component.name]() : undefined;\n if (updatedFreqComp) {\n // description update\n if (updatedFreqComp.description) {\n schema = __assign(__assign({}, schema), { title: updatedFreqComp.description });\n }\n // defaultValue update\n if (updatedFreqComp.defaultValue) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { value: {\n type: \"number\",\n default: updatedFreqComp.defaultValue.value,\n }, unit: {\n type: \"string\",\n default: updatedFreqComp.defaultValue.unit,\n } }) });\n }\n // frequencyMeta update\n if (updatedFreqComp.frequencyMeta) {\n // Min value and unit update\n if (updatedFreqComp.frequencyMeta.min) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { min: {\n type: \"object\",\n properties: {\n value: {\n type: \"number\",\n default: updatedFreqComp.frequencyMeta.min.value,\n },\n unit: {\n type: \"string\",\n default: updatedFreqComp.frequencyMeta.min.unit,\n }\n }\n } }) });\n }\n // Max value and unit update\n if (updatedFreqComp.frequencyMeta.max) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { max: {\n type: \"object\",\n properties: {\n value: {\n type: \"number\",\n default: updatedFreqComp.frequencyMeta.max.value,\n },\n unit: {\n type: \"string\",\n default: updatedFreqComp.frequencyMeta.max.unit,\n }\n }\n } }) });\n }\n // Unit options update\n if (updatedFreqComp.frequencyMeta.unitOptions) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { options: {\n type: \"array\",\n items: {\n type: \"string\",\n enum: updatedFreqComp.frequencyMeta.unitOptions,\n }\n } }) });\n }\n }\n }\n return schema;\n}\nexports.getFreqCompSchema = getFreqCompSchema;\n//# sourceMappingURL=FrequencyComponentHelper.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hasModes = exports.processRegisterModes = void 0;\nvar Utils_1 = require(\"../Utils\");\nvar processRegisterModes = function (peripheral, hardwarePeripheral, model) {\n var _a, _b;\n if (!(0, exports.hasModes)(peripheral)) {\n return hardwarePeripheral;\n }\n var modifiedHardwarePeripheral = __assign(__assign({}, hardwarePeripheral), { registers: __assign({}, hardwarePeripheral.registers) });\n (_b = (0, Utils_1.getKeys)((_a = peripheral === null || peripheral === void 0 ? void 0 : peripheral.registers) !== null && _a !== void 0 ? _a : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (registerName) {\n var _a, _b, _c, _d, _e, _f, _g;\n var settings = (_a = peripheral === null || peripheral === void 0 ? void 0 : peripheral.registers) === null || _a === void 0 ? void 0 : _a[registerName];\n var delFlag = false;\n settings === null || settings === void 0 ? void 0 : settings.forEach(function (setting) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n /* const mode = find(setting.tabs, (mode => {\n return mode === \"registerFilter\"\n })) */ // TODO : Multiple modes support\n if (((_a = setting === null || setting === void 0 ? void 0 : setting.mode) === null || _a === void 0 ? void 0 : _a.operation) === \"registerFilter\") {\n var targetStr = (_c = model === null || model === void 0 ? void 0 : model.getComponent((_b = setting === null || setting === void 0 ? void 0 : setting.mode) === null || _b === void 0 ? void 0 : _b.masterComponent)) === null || _c === void 0 ? void 0 : _c.value;\n var matchRegEx = new RegExp((_e = (_d = setting === null || setting === void 0 ? void 0 : setting.mode) === null || _d === void 0 ? void 0 : _d.matchRegEx) !== null && _e !== void 0 ? _e : \"\");\n if (!matchRegEx.test(targetStr)) {\n var settingObj = (_h = (_g = (_f = modifiedHardwarePeripheral === null || modifiedHardwarePeripheral === void 0 ? void 0 : modifiedHardwarePeripheral.registers) === null || _f === void 0 ? void 0 : _f[registerName]) === null || _g === void 0 ? void 0 : _g.settings) === null || _h === void 0 ? void 0 : _h[setting.setting];\n if (settingObj !== undefined) {\n (_l = (_k = (_j = modifiedHardwarePeripheral === null || modifiedHardwarePeripheral === void 0 ? void 0 : modifiedHardwarePeripheral.registers) === null || _j === void 0 ? void 0 : _j[registerName]) === null || _k === void 0 ? void 0 : _k.settings) === null || _l === void 0 ? true : delete _l[setting.setting];\n }\n else {\n (_m = modifiedHardwarePeripheral === null || modifiedHardwarePeripheral === void 0 ? void 0 : modifiedHardwarePeripheral.registers) === null || _m === void 0 ? true : delete _m[registerName];\n }\n delFlag = true;\n }\n }\n });\n if (delFlag &&\n (0, Utils_1.getKeys)((_d = (_c = (_b = modifiedHardwarePeripheral === null || modifiedHardwarePeripheral === void 0 ? void 0 : modifiedHardwarePeripheral.registers) === null || _b === void 0 ? void 0 : _b[registerName]) === null || _c === void 0 ? void 0 : _c.settings) !== null && _d !== void 0 ? _d : [])\n .length <= 0) {\n (_f = (_e = modifiedHardwarePeripheral === null || modifiedHardwarePeripheral === void 0 ? void 0 : modifiedHardwarePeripheral.registers) === null || _e === void 0 ? void 0 : _e[registerName]) === null || _f === void 0 ? true : delete _f.settings;\n (_g = modifiedHardwarePeripheral === null || modifiedHardwarePeripheral === void 0 ? void 0 : modifiedHardwarePeripheral.registers) === null || _g === void 0 ? true : delete _g[registerName];\n }\n });\n return modifiedHardwarePeripheral;\n};\nexports.processRegisterModes = processRegisterModes;\nvar hasModes = function (peripheral) {\n var _a, _b;\n var flag = false;\n (_b = (0, Utils_1.getKeys)((_a = peripheral === null || peripheral === void 0 ? void 0 : peripheral.registers) !== null && _a !== void 0 ? _a : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (registerName) {\n var _a;\n var settings = (_a = peripheral === null || peripheral === void 0 ? void 0 : peripheral.registers) === null || _a === void 0 ? void 0 : _a[registerName];\n for (var _i = 0, _b = settings !== null && settings !== void 0 ? settings : []; _i < _b.length; _i++) {\n var setting = _b[_i];\n if ((setting === null || setting === void 0 ? void 0 : setting.mode) !== undefined) {\n flag = true;\n }\n }\n });\n return flag;\n};\nexports.hasModes = hasModes;\n//# sourceMappingURL=RegisterFilterMode.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getTimeComponentSchema = exports.isTimeComponent = exports.isTimeUnitInState = exports.isTimeValueInState = exports.isTimeComponentInState = exports.getTimeComponentFormData = void 0;\nvar getTimeComponentFormData = function (model, component, tab) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n var componentValue = {\n value: component.defaultValue.value,\n unit: component.defaultValue.unit\n };\n var updatedTimeComponent = (model.getDerivedFunctions() && model.getDerivedFunctions()[component.name] != null) ? (_a = model.getDerivedFunctions()) === null || _a === void 0 ? void 0 : _a[component.name]() : undefined;\n if (updatedTimeComponent) {\n if (updatedTimeComponent.defaultValue) {\n componentValue = {\n value: updatedTimeComponent.defaultValue.value,\n unit: updatedTimeComponent.defaultValue.unit,\n };\n }\n else {\n componentValue = {\n value: component.defaultValue.value,\n unit: component.defaultValue.unit,\n };\n }\n if (updatedTimeComponent.timeMeta) {\n if (updatedTimeComponent.timeMeta.min) {\n componentValue = __assign(__assign({}, componentValue), { min: {\n value: updatedTimeComponent.timeMeta.min.value,\n unit: updatedTimeComponent.timeMeta.min.unit,\n } });\n }\n else {\n componentValue = __assign(__assign({}, componentValue), { min: {\n value: (_c = (_b = component.timeMeta) === null || _b === void 0 ? void 0 : _b.min) === null || _c === void 0 ? void 0 : _c.value,\n unit: (_e = (_d = component.timeMeta) === null || _d === void 0 ? void 0 : _d.min) === null || _e === void 0 ? void 0 : _e.unit,\n } });\n }\n if (updatedTimeComponent.timeMeta.max) {\n componentValue = __assign(__assign({}, componentValue), { max: {\n value: updatedTimeComponent.timeMeta.max.value,\n unit: updatedTimeComponent.timeMeta.max.unit,\n } });\n }\n else {\n componentValue = __assign(__assign({}, componentValue), { max: {\n value: (_g = (_f = component.timeMeta) === null || _f === void 0 ? void 0 : _f.max) === null || _g === void 0 ? void 0 : _g.value,\n unit: (_j = (_h = component.timeMeta) === null || _h === void 0 ? void 0 : _h.max) === null || _j === void 0 ? void 0 : _j.unit,\n } });\n }\n if (updatedTimeComponent.timeMeta.unitOptions) {\n componentValue = __assign(__assign({}, componentValue), { options: updatedTimeComponent.timeMeta.unitOptions });\n }\n else {\n componentValue = __assign(__assign({}, componentValue), { options: (_k = component.timeMeta) === null || _k === void 0 ? void 0 : _k.unitOptions });\n }\n }\n }\n else if (component.timeMeta) {\n componentValue = {\n value: component.defaultValue.value,\n unit: component.defaultValue.unit,\n };\n if (component.timeMeta.min) {\n componentValue = __assign(__assign({}, componentValue), { min: {\n value: component.timeMeta.min.value,\n unit: component.timeMeta.min.unit,\n } });\n }\n if (component.timeMeta.max) {\n componentValue = __assign(__assign({}, componentValue), { max: {\n value: component.timeMeta.max.value,\n unit: component.timeMeta.max.unit,\n } });\n }\n if (component.timeMeta.unitOptions) {\n componentValue = __assign(__assign({}, componentValue), { options: component.timeMeta.unitOptions });\n }\n }\n else {\n componentValue = {\n value: component.defaultValue.value,\n unit: component.defaultValue.unit,\n };\n }\n if (!isTimeComponentInState(model, component, tab)) {\n return componentValue;\n }\n else {\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n if (isTimeValueInState(model, component, tab)) {\n var valueChanged = tabState[component.group][component.name].value;\n componentValue = __assign(__assign({}, componentValue), { value: valueChanged });\n }\n if (isTimeUnitInState(model, component, tab)) {\n var unitChanged = tabState[component.group][component.name].unit;\n componentValue = __assign(__assign({}, componentValue), { unit: unitChanged });\n }\n return componentValue;\n }\n};\nexports.getTimeComponentFormData = getTimeComponentFormData;\nfunction isTimeComponentInState(model, component, tab) {\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n return (tabState && tabState[component.group] && tabState[component.group][component.name]);\n}\nexports.isTimeComponentInState = isTimeComponentInState;\nfunction isTimeValueInState(model, component, tab) {\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n return (tabState && tabState[component.group] && tabState[component.group][component.name] && tabState[component.group][component.name].value);\n}\nexports.isTimeValueInState = isTimeValueInState;\nfunction isTimeUnitInState(model, component, tab) {\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n return (tabState && tabState[component.group] && tabState[component.group][component.name] && tabState[component.group][component.name].unit);\n}\nexports.isTimeUnitInState = isTimeUnitInState;\nfunction isTimeComponent(component) {\n return (component.category === \"software\" &&\n component.type === \"time\");\n}\nexports.isTimeComponent = isTimeComponent;\nfunction getTimeComponentSchema(component, derivedFunctions) {\n var _a, _b;\n //Schema creation with static moduleConfig data\n var schema = {\n type: \"object\",\n $id: \"timeComponent\",\n title: (_b = (_a = derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideTitle) === null || _a === void 0 ? void 0 : _a.call(derivedFunctions, component.name)) !== null && _b !== void 0 ? _b : component.description,\n properties: {\n value: {\n type: \"number\",\n default: component.defaultValue.value,\n },\n unit: {\n type: \"string\",\n default: component.defaultValue.unit,\n }\n },\n };\n if (component.timeMeta) {\n // Min value update\n if (component.timeMeta.min) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { min: {\n type: \"object\",\n properties: {\n value: {\n type: \"number\",\n default: component.timeMeta.min.value,\n },\n unit: {\n type: \"string\",\n default: component.timeMeta.min.unit,\n }\n }\n } }) });\n }\n // Max value update\n if (component.timeMeta.max) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { max: {\n type: \"object\",\n properties: {\n value: {\n type: \"number\",\n default: component.timeMeta.max.value,\n },\n unit: {\n type: \"string\",\n default: component.timeMeta.max.unit,\n }\n }\n } }) });\n }\n // Unit options update\n if (component.timeMeta.unitOptions) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { options: {\n type: \"array\",\n items: {\n type: \"string\",\n enum: component.timeMeta.unitOptions,\n }\n } }) });\n }\n }\n //Schema updation based on dynamic data\n var updatedTimeComponent = (derivedFunctions && derivedFunctions[component.name] != null) ? derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions[component.name]() : undefined;\n if (updatedTimeComponent) {\n // description update\n if (updatedTimeComponent.description) {\n schema = __assign(__assign({}, schema), { title: updatedTimeComponent.description });\n }\n // defaultValue update\n if (updatedTimeComponent.defaultValue) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { value: {\n type: \"number\",\n default: updatedTimeComponent.defaultValue.value,\n }, unit: {\n type: \"string\",\n default: updatedTimeComponent.defaultValue.unit,\n } }) });\n }\n // timeMeta update\n if (updatedTimeComponent.timeMeta) {\n // Min value and unit update\n if (updatedTimeComponent.timeMeta.min) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { min: {\n type: \"object\",\n properties: {\n value: {\n type: \"number\",\n default: updatedTimeComponent.timeMeta.min.value,\n },\n unit: {\n type: \"string\",\n default: updatedTimeComponent.timeMeta.min.unit,\n }\n }\n } }) });\n }\n // Max value and unit update\n if (updatedTimeComponent.timeMeta.max) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { max: {\n type: \"object\",\n properties: {\n value: {\n type: \"number\",\n default: updatedTimeComponent.timeMeta.max.value,\n },\n unit: {\n type: \"string\",\n default: updatedTimeComponent.timeMeta.max.unit,\n }\n }\n } }) });\n }\n // Unit options update\n if (updatedTimeComponent.timeMeta.unitOptions) {\n schema = __assign(__assign({}, schema), { properties: __assign(__assign({}, schema.properties), { options: {\n type: \"array\",\n items: {\n type: \"string\",\n enum: updatedTimeComponent.timeMeta.unitOptions,\n }\n } }) });\n }\n }\n }\n return schema;\n}\nexports.getTimeComponentSchema = getTimeComponentSchema;\n//# sourceMappingURL=TimeComponentHelper.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getConfigData = void 0;\n/* eslint-disable @typescript-eslint/no-var-requires */\nvar Utils_1 = require(\"../Utils\");\nvar getConfigData = function (model, isModelInitialized) {\n var _a, _b;\n var config = (_b = model === null || model === void 0 ? void 0 : (_a = model.getDerivedData()).getModuleConfig) === null || _b === void 0 ? void 0 : _b.call(_a);\n if (isModelInitialized) {\n config = ConfigBuilder.for(config)\n .withDynamicConfigData(model)\n .withDynamicComponents(model)\n .build();\n }\n else {\n config = ConfigBuilder.for(config).build();\n }\n return config;\n};\nexports.getConfigData = getConfigData;\nvar ConfigBuilder = /** @class */ (function () {\n function ConfigBuilder(config) {\n var _this = this;\n this.build = function () {\n return _this.config;\n };\n this.withDynamicConfigData = function (model) {\n var _a;\n return new ConfigBuilder((_a = model === null || model === void 0 ? void 0 : model.getDerivedFunction(\"getDynamicConfigData\", _this.config)) !== null && _a !== void 0 ? _a : _this.config);\n };\n this.withDynamicComponents = function (model) {\n var _a, _b;\n var dynamicComponents = (_b = model === null || model === void 0 ? void 0 : (_a = model.getDerivedFunctions()).getDynamicComponents) === null || _b === void 0 ? void 0 : _b.call(_a);\n if (dynamicComponents) {\n var dynamicComponentMap = (0, Utils_1.toDictionary)(dynamicComponents, function (component) {\n var _a;\n _this.config.UIGroups[component.group] =\n (_a = _this.config.UIGroups[component.group]) !== null && _a !== void 0 ? _a : component.group;\n return component.name;\n }, function (component) { return component; });\n _this.config.softwareData = __assign(__assign({}, _this.config.softwareData), dynamicComponentMap);\n }\n return new ConfigBuilder(_this.config);\n };\n this.config = config;\n }\n ConfigBuilder.for = function (config) {\n if (!config)\n throw console.error(\"Cannot find ModuleConfig\");\n return new ConfigBuilder(config);\n };\n return ConfigBuilder;\n}());\n//# sourceMappingURL=getConfigData.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getMappedComponentData = exports.getRegisterEditorValues = exports.getSettingAliasKey = exports.getSettingNameKey = exports.getRegisterKey = exports.getRegisterNameList = exports.getRegisterEditorComponentValue = void 0;\nvar DerivedFunctions_1 = require(\"@microchip/melody-automodule-interface/lib/src/DerivedFunctions\");\nvar Utils_1 = require(\"../../Utils\");\nvar getConfigData_1 = require(\"../getConfigData\");\nvar AutoModuleHelpers_1 = require(\"../AutoModuleHelpers\");\nvar CalculateRegisterValue_1 = __importDefault(require(\"@microchip/scf-device/lib/CalculateRegisterValue\"));\nvar getRegisterEditorComponentValue = function (model, componentName, componentMeta) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24;\n var harwareRegister = (_a = model.getHardware()) === null || _a === void 0 ? void 0 : _a.getPeripheral().registers;\n var hardwareInterrupts = (_b = model.getHardware()) === null || _b === void 0 ? void 0 : _b.getPeripheral().interrupts;\n var registerList = (_d = getRegisterNameList((_c = model.getHardware()) === null || _c === void 0 ? void 0 : _c.getPeripheral().registers)) !== null && _d !== void 0 ? _d : [];\n var interruptList = (_e = Object.keys(hardwareInterrupts !== null && hardwareInterrupts !== void 0 ? hardwareInterrupts : {})) !== null && _e !== void 0 ? _e : [];\n // For Registers value\n if (registerList.indexOf(componentName) !== -1 && componentMeta === undefined) {\n var registerValues = model.getRegisterValues();\n var registerKey = (_f = getRegisterKey(registerValues, componentName)) !== null && _f !== void 0 ? _f : \"\";\n var deviceDeafultValue = Number((_g = harwareRegister === null || harwareRegister === void 0 ? void 0 : harwareRegister[registerKey]) === null || _g === void 0 ? void 0 : _g.defaultValue);\n var registerValue = (_h = registerValues === null || registerValues === void 0 ? void 0 : registerValues[registerKey]) === null || _h === void 0 ? void 0 : _h.value;\n if (registerValue !== undefined) {\n return registerValue;\n }\n return deviceDeafultValue;\n }\n // For Interrupt value\n if (interruptList.indexOf(componentName.toUpperCase()) !== -1) {\n var stateData = (_l = (_k = (_j = model.getState()) === null || _j === void 0 ? void 0 : _j.register) === null || _k === void 0 ? void 0 : _k.interrupts) === null || _l === void 0 ? void 0 : _l[componentName.toUpperCase()];\n var interruptComponentValue = (_m = model.getComponent(componentName.toLowerCase())) === null || _m === void 0 ? void 0 : _m.value;\n if (stateData !== undefined) {\n return convertToBoolean(stateData);\n }\n var overriddenCompValue = (_p = (_o = model.getDerivedFunctions()).overrideDefaultValues) === null || _p === void 0 ? void 0 : _p.call(_o, componentName.toLowerCase());\n if (overriddenCompValue !== undefined) {\n return convertToBoolean(overriddenCompValue);\n }\n return convertToBoolean(interruptComponentValue);\n }\n // For setting value in a register of componentMeta\n if (componentMeta && registerList.indexOf(componentMeta.register) !== -1) {\n // componentMetaData send to overrideDefaultValues for knowing register and tab information\n var componentMetaData = {\n compType: DerivedFunctions_1.COMPTYPE.SETTING,\n tabID: DerivedFunctions_1.TABID.REGISTER,\n parent: componentMeta.register\n };\n var registerKey = (_q = getRegisterKey(harwareRegister, componentMeta.register)) !== null && _q !== void 0 ? _q : \"\";\n var settingKey = (_s = getSettingNameKey((_r = harwareRegister === null || harwareRegister === void 0 ? void 0 : harwareRegister[registerKey]) === null || _r === void 0 ? void 0 : _r.settings, componentName)) !== null && _s !== void 0 ? _s : \"\";\n var stateData = (_v = (_u = (_t = model.getState()) === null || _t === void 0 ? void 0 : _t.register) === null || _u === void 0 ? void 0 : _u[componentMeta.register]) === null || _v === void 0 ? void 0 : _v[settingKey];\n if (stateData !== undefined) {\n return stateData;\n }\n var overriddenCompValue = (_x = (_w = model.getDerivedFunctions()).overrideDefaultValues) === null || _x === void 0 ? void 0 : _x.call(_w, componentName, componentMetaData);\n if (overriddenCompValue != undefined) {\n return overriddenCompValue;\n }\n var registerValues = model.getRegisterValues();\n var settingValue = (_0 = (_z = (_y = registerValues === null || registerValues === void 0 ? void 0 : registerValues[registerKey]) === null || _y === void 0 ? void 0 : _y.settings) === null || _z === void 0 ? void 0 : _z[settingKey]) === null || _0 === void 0 ? void 0 : _0.value;\n var deviceDefaultValue = Number((_3 = (_2 = (_1 = harwareRegister === null || harwareRegister === void 0 ? void 0 : harwareRegister[registerKey]) === null || _1 === void 0 ? void 0 : _1.settings) === null || _2 === void 0 ? void 0 : _2[settingKey]) === null || _3 === void 0 ? void 0 : _3.defaultValue);\n if (((_6 = (_5 = (_4 = harwareRegister === null || harwareRegister === void 0 ? void 0 : harwareRegister[registerKey]) === null || _4 === void 0 ? void 0 : _4.settings) === null || _5 === void 0 ? void 0 : _5[settingKey]) === null || _6 === void 0 ? void 0 : _6.options) !== undefined) {\n settingValue = (_9 = (_8 = (_7 = registerValues === null || registerValues === void 0 ? void 0 : registerValues[registerKey]) === null || _7 === void 0 ? void 0 : _7.settings) === null || _8 === void 0 ? void 0 : _8[settingKey]) === null || _9 === void 0 ? void 0 : _9.optionName;\n deviceDefaultValue = (_13 = (_12 = (_11 = (_10 = harwareRegister === null || harwareRegister === void 0 ? void 0 : harwareRegister[registerKey]) === null || _10 === void 0 ? void 0 : _10.settings) === null || _11 === void 0 ? void 0 : _11[settingKey]) === null || _12 === void 0 ? void 0 : _12.defaultValue) !== null && _13 !== void 0 ? _13 : \"\";\n }\n if (settingValue !== undefined) {\n return settingValue;\n }\n return deviceDefaultValue;\n }\n else {\n // To support moduleConfig setting components\n var component = (0, exports.getMappedComponentData)(componentName, model);\n if (component && component.registerName) {\n componentName = component.settingName;\n var mappedStateData = (_16 = (_15 = (_14 = model.getState()) === null || _14 === void 0 ? void 0 : _14.register) === null || _15 === void 0 ? void 0 : _15[component.registerName]) === null || _16 === void 0 ? void 0 : _16[componentName];\n if (mappedStateData !== undefined) {\n return mappedStateData;\n }\n var registerKey = (_17 = getRegisterKey(harwareRegister, component.registerName)) !== null && _17 !== void 0 ? _17 : \"\";\n var settingKey = (_19 = getSettingAliasKey((_18 = harwareRegister === null || harwareRegister === void 0 ? void 0 : harwareRegister[registerKey]) === null || _18 === void 0 ? void 0 : _18.settings, componentName)) !== null && _19 !== void 0 ? _19 : \"\";\n mappedStateData = (_22 = (_21 = (_20 = model.getState()) === null || _20 === void 0 ? void 0 : _20.register) === null || _21 === void 0 ? void 0 : _21[component.registerName]) === null || _22 === void 0 ? void 0 : _22[settingKey];\n if (mappedStateData !== undefined) {\n return mappedStateData;\n }\n }\n var overriddenCompValue = (_24 = (_23 = model.getDerivedFunctions()).overrideDefaultValues) === null || _24 === void 0 ? void 0 : _24.call(_23, componentName);\n if (overriddenCompValue != undefined) {\n return overriddenCompValue;\n }\n }\n return undefined;\n};\nexports.getRegisterEditorComponentValue = getRegisterEditorComponentValue;\nfunction convertToBoolean(value) {\n if (typeof value === \"string\") {\n return value === \"enabled\" ? true : false;\n }\n return value;\n}\nfunction getRegisterNameList(registers) {\n var _a;\n var registerList = [];\n (_a = (0, Utils_1.getKeys)(registers !== null && registers !== void 0 ? registers : {})) === null || _a === void 0 ? void 0 : _a.forEach(function (registerName) {\n var _a;\n var eachRegObj = registers === null || registers === void 0 ? void 0 : registers[registerName];\n var name = (_a = eachRegObj === null || eachRegObj === void 0 ? void 0 : eachRegObj.name) !== null && _a !== void 0 ? _a : \"\";\n registerList.push(name);\n });\n return registerList;\n}\nexports.getRegisterNameList = getRegisterNameList;\nfunction getRegisterKey(registersValueObjects, registerInstanceName) {\n var _a;\n var result;\n (_a = (0, Utils_1.getKeys)(registersValueObjects !== null && registersValueObjects !== void 0 ? registersValueObjects : {})) === null || _a === void 0 ? void 0 : _a.forEach(function (registerName) {\n var _a;\n var eachRegObj = registersValueObjects === null || registersValueObjects === void 0 ? void 0 : registersValueObjects[registerName];\n var name = (_a = eachRegObj === null || eachRegObj === void 0 ? void 0 : eachRegObj.name) !== null && _a !== void 0 ? _a : \"\";\n if (name === registerInstanceName) {\n result = registerName;\n }\n });\n return result;\n}\nexports.getRegisterKey = getRegisterKey;\nfunction getSettingNameKey(settingValueObjects, settingInstanceName) {\n var _a;\n var result;\n (_a = (0, Utils_1.getKeys)(settingValueObjects !== null && settingValueObjects !== void 0 ? settingValueObjects : {})) === null || _a === void 0 ? void 0 : _a.forEach(function (settingName) {\n var _a;\n var eachSetObj = settingValueObjects === null || settingValueObjects === void 0 ? void 0 : settingValueObjects[settingName];\n var name = (_a = eachSetObj === null || eachSetObj === void 0 ? void 0 : eachSetObj.name) !== null && _a !== void 0 ? _a : \"\";\n if (name === settingInstanceName) {\n result = settingName;\n }\n });\n return result;\n}\nexports.getSettingNameKey = getSettingNameKey;\nfunction getSettingAliasKey(registersValueObjects, setInstanceName) {\n var _a;\n var result;\n (_a = (0, Utils_1.getKeys)(registersValueObjects !== null && registersValueObjects !== void 0 ? registersValueObjects : {})) === null || _a === void 0 ? void 0 : _a.forEach(function (setName) {\n var _a;\n var eachSetObj = registersValueObjects === null || registersValueObjects === void 0 ? void 0 : registersValueObjects[setName];\n var alias = (_a = eachSetObj === null || eachSetObj === void 0 ? void 0 : eachSetObj.alias) !== null && _a !== void 0 ? _a : \"\";\n if (alias === setInstanceName) {\n result = eachSetObj === null || eachSetObj === void 0 ? void 0 : eachSetObj.name;\n }\n });\n return result;\n}\nexports.getSettingAliasKey = getSettingAliasKey;\nvar getRegisterEditorValues = function (model, interfaceName) {\n var _a;\n var registers = {};\n var config = (0, getConfigData_1.getConfigData)(model);\n interfaceName = (0, AutoModuleHelpers_1.getFriendlyInterfaceId)(interfaceName);\n (_a = config === null || config === void 0 ? void 0 : config.peripherals) === null || _a === void 0 ? void 0 : _a.forEach(function (peripheral) {\n var _a, _b, _c;\n var peripheralName = (_a = (0, AutoModuleHelpers_1.getFriendlyInterfaceId)(peripheral.interfaceId.name)) !== null && _a !== void 0 ? _a : \"\";\n if ((interfaceName != undefined && peripheralName !== interfaceName) ||\n !peripheral.registers)\n return;\n (_c = (0, Utils_1.getKeys)((_b = peripheral.registers) !== null && _b !== void 0 ? _b : {})) === null || _c === void 0 ? void 0 : _c.forEach(function (regName) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n var registerValue;\n var reg = (_b = (_a = model.getHardware(peripheralName)) === null || _a === void 0 ? void 0 : _a.getPeripheral().registers) === null || _b === void 0 ? void 0 : _b[regName];\n if (reg) {\n registerValue = {\n comment: \"\",\n value: 0,\n valueAsHex: \"0x00\",\n name: reg === null || reg === void 0 ? void 0 : reg.name,\n alias: (_c = reg === null || reg === void 0 ? void 0 : reg.alias) !== null && _c !== void 0 ? _c : reg === null || reg === void 0 ? void 0 : reg.name,\n por: reg.defaultValue,\n settings: {},\n };\n }\n else {\n return;\n }\n var registerVal = CalculateRegisterValue_1.default.for(reg);\n var comments = [];\n (_d = peripheral.registers) === null || _d === void 0 ? void 0 : _d[regName].forEach(function (set) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6;\n var setting = (_a = reg.settings) === null || _a === void 0 ? void 0 : _a[set.setting];\n if (setting) {\n if (setting.type !== \"R\") {\n //Add Comments\n var componentMetaData = {\n compType: DerivedFunctions_1.COMPTYPE.SETTING,\n tabID: DerivedFunctions_1.TABID.REGISTER,\n parent: reg.name\n };\n var overriddenCompValue = (_c = (_b = model.getDerivedFunctions()).overrideDefaultValues) === null || _c === void 0 ? void 0 : _c.call(_b, setting.name, componentMetaData);\n var settingVal = overriddenCompValue !== undefined ? overriddenCompValue : (_f = (_e = (_d = model.getState()) === null || _d === void 0 ? void 0 : _d.register) === null || _e === void 0 ? void 0 : _e[reg.name]) === null || _f === void 0 ? void 0 : _f[setting.name];\n comments.push(settingVal !== undefined ? \"\".concat(set.setting, \" \").concat(settingVal, \"; \") : \"\".concat(set.setting, \" \").concat(model.getComponentValue(set.name), \"; \"));\n }\n if (registerValue === null || registerValue === void 0 ? void 0 : registerValue.settings) {\n var componentMetaData = {\n compType: DerivedFunctions_1.COMPTYPE.SETTING,\n tabID: DerivedFunctions_1.TABID.REGISTER,\n parent: reg.name\n };\n var overriddenCompValue = (_h = (_g = model.getDerivedFunctions()).overrideDefaultValues) === null || _h === void 0 ? void 0 : _h.call(_g, setting.name, componentMetaData);\n var settingVal = overriddenCompValue !== undefined ? overriddenCompValue : (_l = (_k = (_j = model.getState()) === null || _j === void 0 ? void 0 : _j.register) === null || _k === void 0 ? void 0 : _k[reg.name]) === null || _l === void 0 ? void 0 : _l[setting.name];\n registerValue.settings[setting.alias] = (0, AutoModuleHelpers_1.getSettingBits)(reg, setting, (settingVal !== undefined ? settingVal : (_m = model.getComponent(set.name)) === null || _m === void 0 ? void 0 : _m.value), (_o = config === null || config === void 0 ? void 0 : config.deviceType) !== null && _o !== void 0 ? _o : \"PIC\");\n }\n switch (set.type) {\n case \"ComboBox\":\n case \"boolean\":\n {\n var componentMetaData = {\n compType: DerivedFunctions_1.COMPTYPE.SETTING,\n tabID: DerivedFunctions_1.TABID.REGISTER,\n parent: reg.name\n };\n var overriddenCompValue = (_q = (_p = model.getDerivedFunctions()).overrideDefaultValues) === null || _q === void 0 ? void 0 : _q.call(_p, setting.name, componentMetaData);\n var settingVal = overriddenCompValue !== undefined ? overriddenCompValue : (_t = (_s = (_r = model.getState()) === null || _r === void 0 ? void 0 : _r.register) === null || _s === void 0 ? void 0 : _s[reg.name]) === null || _t === void 0 ? void 0 : _t[setting.name];\n registerVal.withNumberValue(setting, (_v = (0, AutoModuleHelpers_1.getOptionValueByName)(setting, (settingVal !== undefined ? settingVal : (_u = model.getComponent(set.name)) === null || _u === void 0 ? void 0 : _u.value))) !== null && _v !== void 0 ? _v : 0);\n }\n break;\n case \"number\":\n {\n var componentMetaData = {\n compType: DerivedFunctions_1.COMPTYPE.SETTING,\n tabID: DerivedFunctions_1.TABID.REGISTER,\n parent: reg.name\n };\n var overriddenCompValue = (_x = (_w = model.getDerivedFunctions()).overrideDefaultValues) === null || _x === void 0 ? void 0 : _x.call(_w, setting.name, componentMetaData);\n var settingVal = overriddenCompValue !== undefined ? overriddenCompValue : (_0 = (_z = (_y = model.getState()) === null || _y === void 0 ? void 0 : _y.register) === null || _z === void 0 ? void 0 : _z[reg.name]) === null || _0 === void 0 ? void 0 : _0[setting.name];\n registerVal.withNumberValue(setting, (settingVal !== undefined ? settingVal : model.getComponentValue(set.name)));\n }\n break;\n case \"register\":\n case \"string\":\n {\n var componentMetaData = {\n compType: DerivedFunctions_1.COMPTYPE.SETTING,\n tabID: DerivedFunctions_1.TABID.REGISTER,\n parent: reg.name\n };\n var overriddenCompValue = (_2 = (_1 = model.getDerivedFunctions()).overrideDefaultValues) === null || _2 === void 0 ? void 0 : _2.call(_1, setting.name, componentMetaData);\n var settingVal = overriddenCompValue !== undefined ? overriddenCompValue : (_5 = (_4 = (_3 = model.getState()) === null || _3 === void 0 ? void 0 : _3.register) === null || _4 === void 0 ? void 0 : _4[reg.name]) === null || _5 === void 0 ? void 0 : _5[setting.name];\n if (settingVal !== undefined) {\n if (setting.options) {\n registerVal.withNumberValue(setting, (_6 = (0, AutoModuleHelpers_1.getOptionValueByName)(setting, settingVal)) !== null && _6 !== void 0 ? _6 : 0);\n }\n else {\n registerVal.withNumberValue(setting, Number(settingVal));\n }\n }\n else {\n registerVal.withNumberValue(setting, Number(model.getComponentValue(set.name)));\n }\n }\n break;\n default:\n break;\n }\n }\n });\n if (reg.settings) {\n registerValue.value = registerVal.asNumber();\n }\n else {\n {\n var regVal = (_f = (_e = model.getState()) === null || _e === void 0 ? void 0 : _e.register) === null || _f === void 0 ? void 0 : _f[reg.name];\n registerValue.value = Number(regVal !== undefined ? regVal : (_l = model.getComponentValue((_k = (_j = (_h = (_g = peripheral.registers) === null || _g === void 0 ? void 0 : _g[regName]) === null || _h === void 0 ? void 0 : _h[0]) === null || _j === void 0 ? void 0 : _j.name) !== null && _k !== void 0 ? _k : \"\")) !== null && _l !== void 0 ? _l : 0);\n }\n comments.push(\"\".concat(registerValue.name, \" \").concat(registerValue.value, \"; \"));\n }\n registerValue.valueAsHex =\n \"0x\" + registerValue.value.toString(16).toUpperCase();\n registerValue.comment = (0, AutoModuleHelpers_1.sortComments)(comments, reg);\n registers[(_m = reg === null || reg === void 0 ? void 0 : reg.alias) !== null && _m !== void 0 ? _m : reg.name] = registerValue;\n });\n });\n return registers;\n};\nexports.getRegisterEditorValues = getRegisterEditorValues;\nvar getMappedComponentData = function (componentName, model) {\n var _a, _b, _c, _d, _e;\n var harwareRegisters = (_a = model.getHardware()) === null || _a === void 0 ? void 0 : _a.getPeripheral().registers;\n var moduleConfigRegisters = (_c = (_b = (0, getConfigData_1.getConfigData)(model)) === null || _b === void 0 ? void 0 : _b.peripherals) === null || _c === void 0 ? void 0 : _c[0].registers;\n var componentData = undefined;\n if (moduleConfigRegisters && harwareRegisters) {\n for (var _i = 0, _f = (0, Utils_1.getKeys)(moduleConfigRegisters); _i < _f.length; _i++) {\n var eachRegKey = _f[_i];\n for (var _g = 0, _h = moduleConfigRegisters[eachRegKey]; _g < _h.length; _g++) {\n var eachSet = _h[_g];\n if (eachSet && eachSet.name === componentName && harwareRegisters[eachRegKey] !== undefined && ((_d = harwareRegisters[eachRegKey]) === null || _d === void 0 ? void 0 : _d.name)) {\n componentData = {\n settingName: eachSet === null || eachSet === void 0 ? void 0 : eachSet.setting,\n registerName: (_e = harwareRegisters[eachRegKey]) === null || _e === void 0 ? void 0 : _e.name,\n };\n return componentData;\n }\n }\n }\n }\n return componentData;\n};\nexports.getMappedComponentData = getMappedComponentData;\n//# sourceMappingURL=RegisterEditorHelper.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.registerUiSchema = exports.registerFormData = exports.registerScfUiSchema = exports.createAutoViewPayloads = void 0;\nvar scf_register_view_helper_1 = require(\"@microchip/scf-register-view-helper\");\nvar Utils_1 = require(\"../../Utils\");\nvar AutoModuleHelper = __importStar(require(\"../AutoModuleHelpers\"));\nvar getConfigData_1 = require(\"../getConfigData\");\nvar registerFilter = __importStar(require(\"../RegisterFilterMode\"));\nvar autoModuleViewHelpers_1 = require(\"./autoModuleViewHelpers\");\nvar formData_1 = require(\"./formData\");\nvar scfUiSchema_1 = require(\"./scfUiSchema\");\nvar schema_1 = require(\"./schema\");\nvar uiSchema_1 = require(\"./uiSchema\");\nvar DerivedFunctions_1 = require(\"@microchip/melody-automodule-interface/lib/src/DerivedFunctions\");\nvar createAutoViewPayloads = function (model) {\n var _a, _b;\n var config = (0, getConfigData_1.getConfigData)(model, true);\n var payloads = {\n main: {},\n };\n if (config === null || config === void 0 ? void 0 : config.tabs) {\n Object.keys(config.tabs).forEach(function (tab) {\n payloads[tab] = getPayloadForTab(tab);\n });\n }\n if ((0, getConfigData_1.getConfigData)(model, true).showRegisterEditor === true && AutoModuleHelper.hasConfigBits((_b = (_a = config.peripherals) === null || _a === void 0 ? void 0 : _a[0].interfaceId.name) !== null && _b !== void 0 ? _b : \"\")) {\n payloads[\"register\"] = getPayloadForTab(\"register\");\n }\n return payloads;\n function getPayloadForTab(tab) {\n var _a, _b;\n if (tab === \"register\") {\n if (((_b = (_a = model.getState()) === null || _a === void 0 ? void 0 : _a.contentMeta) === null || _b === void 0 ? void 0 : _b.isUserEnRegRWMode) == true) {\n return createSimpleFormPayloadForRegisterEditor();\n }\n return createSimpleFormPayloadRegister();\n }\n var viewModel = {\n components: model.getAutoModuleAppModel().getAllComponents(),\n getComponent: model.getComponent,\n imports: model.getImports(),\n derivedFunctions: model.getDerivedFunctions(),\n getAssignedImport: model.getAssignedImport,\n getTableHelpers: model.getTableHelpers,\n };\n var schemaViewModel = {\n viewModel: viewModel,\n getDerivedFunction: {\n overrideTitle: model.getDerivedFunction(\"overrideTitle\"),\n isVisible: function (componentName) { var _a, _b; return (_b = (_a = model.getDerivedFunctions()).isVisible) === null || _b === void 0 ? void 0 : _b.call(_a, componentName); },\n getFunction: model.getDerivedFunction,\n },\n overrideTableOptions: model.getDerivedFunctions()[\"overrideTableOptions\"],\n overrideDefaultValues: model.getDerivedFunctions()[\"overrideTableDefaultValues\"],\n model: model,\n };\n var uiSchemaViewModel = {\n viewModel: viewModel,\n getDerivedFunction: {\n isEnabled: function (componentName) { var _a, _b; return (_b = (_a = model.getDerivedFunctions()).isEnabled) === null || _b === void 0 ? void 0 : _b.call(_a, componentName); },\n getUiBehavior: function (componentName) { var _a, _b; return (_b = (_a = model.getDerivedFunctions()).getUiBehavior) === null || _b === void 0 ? void 0 : _b.call(_a, componentName); },\n isVisible: function (componentName) { var _a, _b; return (_b = (_a = model.getDerivedFunctions()).isVisible) === null || _b === void 0 ? void 0 : _b.call(_a, componentName); },\n },\n getProcessedArgValue: model.getExportInterfaces().getProcessedArgValue,\n isControlledByInterface: model.isControlledByInterface,\n };\n return {\n schema: (0, schema_1.createSchema)(tab, config, schemaViewModel),\n uiSchema: (0, uiSchema_1.createUiSchema)(tab, config, uiSchemaViewModel),\n formData: (0, formData_1.createFormData)(tab, config, model),\n scfUiSchema: (0, scfUiSchema_1.createScfUiSchema)(tab, config, model),\n name: config === null || config === void 0 ? void 0 : config.tabs[tab],\n table: (0, autoModuleViewHelpers_1.shouldPopulateView)(model.getDerivedFunctions(), model.getImports(), model.getAssignedImport, config)\n ? model === null || model === void 0 ? void 0 : model.getDerivedFunction(\"getTableData\")\n : undefined,\n expandGroupsByDefault: (config === null || config === void 0 ? void 0 : config.UIGroupCollapse)\n ? config.UIGroupCollapse\n : true,\n };\n }\n function createSimpleFormPayloadRegister() {\n if (!(config === null || config === void 0 ? void 0 : config.peripherals)) {\n return {};\n }\n var registerViewPayloads = [];\n config.peripherals.forEach(function (peripheral) {\n var _a, _b, _c, _d, _e, _f;\n var hardwarePeripheral = (_a = model\n .getHardware(peripheral.interfaceId.name)) === null || _a === void 0 ? void 0 : _a.getPeripheral();\n if (!(hardwarePeripheral === null || hardwarePeripheral === void 0 ? void 0 : hardwarePeripheral.registers)) {\n return;\n }\n var registerValues = model.getRegisterValues(peripheral.interfaceId.name);\n var interrupts = model.getInterrupts();\n hardwarePeripheral = registerFilter.processRegisterModes(peripheral, hardwarePeripheral, model);\n //TODO: implement for all peripherals\n var registerView = scf_register_view_helper_1.CreateRegisterView.for(hardwarePeripheral);\n if (registerValues) {\n (_b = (0, Utils_1.getKeys)(registerValues !== null && registerValues !== void 0 ? registerValues : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (registerName) {\n var _a;\n var foundRegister = (_a = hardwarePeripheral === null || hardwarePeripheral === void 0 ? void 0 : hardwarePeripheral.registers) === null || _a === void 0 ? void 0 : _a[registerName];\n if (foundRegister) {\n registerView.withRegisterValue(foundRegister, registerValues[registerName].value);\n }\n });\n }\n for (var interruptsKey in interrupts !== null && interrupts !== void 0 ? interrupts : {}) {\n var interrupt = interrupts === null || interrupts === void 0 ? void 0 : interrupts[interruptsKey];\n if (interrupt) {\n var interruptComponent = model.getComponent(interruptsKey.toLowerCase());\n var interruptCompVal = typeof (interruptComponent === null || interruptComponent === void 0 ? void 0 : interruptComponent.value) === \"boolean\"\n ? (interruptComponent === null || interruptComponent === void 0 ? void 0 : interruptComponent.value)\n ? \"enabled\"\n : \"disabled\"\n : interruptComponent === null || interruptComponent === void 0 ? void 0 : interruptComponent.value;\n registerView\n .withInterruptValue(interrupt, (_c = interruptCompVal !== null && interruptCompVal !== void 0 ? interruptCompVal : interrupt.defaultValue) !== null && _c !== void 0 ? _c : \"disabled\")\n .withInterruptOptions(interrupt, (_f = (_e = (_d = interruptComponent === null || interruptComponent === void 0 ? void 0 : interruptComponent.component) === null || _d === void 0 ? void 0 : _d[\"defaultValue\"]) === null || _e === void 0 ? void 0 : _e.options) !== null && _f !== void 0 ? _f : [\n \"enabled\",\n \"disabled\",\n ]);\n }\n }\n if ((0, getConfigData_1.getConfigData)(model, true).showRegisterEditor === true) {\n registerViewPayloads.push(__assign(__assign({}, registerView.create()), { scfUiSchema: (0, exports.registerScfUiSchema)(model, hardwarePeripheral.registers) }));\n }\n else {\n registerViewPayloads.push(registerView.create());\n }\n });\n return registerViewPayloads[0];\n }\n // Form payload for Register Editor\n function createSimpleFormPayloadForRegisterEditor() {\n if (!(config === null || config === void 0 ? void 0 : config.peripherals)) {\n return {};\n }\n var registerViewPayloads = [];\n config.peripherals.forEach(function (peripheral) {\n var _a, _b, _c, _d, _e, _f;\n var hardwarePeripheral = (_a = model\n .getHardware(peripheral.interfaceId.name)) === null || _a === void 0 ? void 0 : _a.getPeripheral();\n if (!(hardwarePeripheral === null || hardwarePeripheral === void 0 ? void 0 : hardwarePeripheral.registers)) {\n return;\n }\n var registerValues = model.getRegisterValues(peripheral.interfaceId.name);\n var interrupts = model.getInterrupts();\n hardwarePeripheral = registerFilter.processRegisterModes(peripheral, hardwarePeripheral, model);\n var registerView = scf_register_view_helper_1.CreateRegisterView.for(hardwarePeripheral).withAllEditable();\n if (registerValues) {\n (_b = (0, Utils_1.getKeys)(registerValues !== null && registerValues !== void 0 ? registerValues : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (registerName) {\n var _a;\n var foundRegister = (_a = hardwarePeripheral === null || hardwarePeripheral === void 0 ? void 0 : hardwarePeripheral.registers) === null || _a === void 0 ? void 0 : _a[registerName];\n if (foundRegister) {\n registerView.withRegisterValue(foundRegister, registerValues[registerName].value);\n }\n });\n }\n for (var interruptsKey in interrupts !== null && interrupts !== void 0 ? interrupts : {}) {\n var interrupt = interrupts === null || interrupts === void 0 ? void 0 : interrupts[interruptsKey];\n if (interrupt) {\n var interruptComponent = model.getComponent(interruptsKey.toLowerCase());\n var interruptCompVal = typeof (interruptComponent === null || interruptComponent === void 0 ? void 0 : interruptComponent.value) === \"boolean\"\n ? (interruptComponent === null || interruptComponent === void 0 ? void 0 : interruptComponent.value)\n ? \"enabled\"\n : \"disabled\"\n : interruptComponent === null || interruptComponent === void 0 ? void 0 : interruptComponent.value;\n registerView\n .withInterruptValue(interrupt, (_c = interruptCompVal !== null && interruptCompVal !== void 0 ? interruptCompVal : interrupt.defaultValue) !== null && _c !== void 0 ? _c : \"disabled\")\n .withInterruptOptions(interrupt, (_f = (_e = (_d = interruptComponent === null || interruptComponent === void 0 ? void 0 : interruptComponent.component) === null || _d === void 0 ? void 0 : _d[\"defaultValue\"]) === null || _e === void 0 ? void 0 : _e.options) !== null && _f !== void 0 ? _f : [\n \"enabled\",\n \"disabled\",\n ]);\n }\n }\n registerViewPayloads.push(__assign(__assign({}, registerView.create()), { formData: registerFormData(model, registerView.create().formData), uiSchema: registerUiSchema(model, registerView, hardwarePeripheral.registers, hardwarePeripheral.interrupts), scfUiSchema: (0, exports.registerScfUiSchema)(model, hardwarePeripheral.registers) }));\n });\n return registerViewPayloads[0];\n }\n};\nexports.createAutoViewPayloads = createAutoViewPayloads;\nvar registerScfUiSchema = function (model, hardwareRegisters) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n var scfUiSchema = {};\n var deviceMeta = model.getImportValue(\"device_meta\");\n var hasSdlSupport = (_a = deviceMeta === null || deviceMeta === void 0 ? void 0 : deviceMeta.hasSdlSupport) !== null && _a !== void 0 ? _a : false;\n var helpUrl = \"\";\n if (deviceMeta && hasSdlSupport) {\n if ((_b = deviceMeta.architecture) === null || _b === void 0 ? void 0 : _b.startsWith(\"PIC\")) {\n helpUrl = \"v2/keyword-lookup?keyword=atmel;device:${deviceName};register:${registerName}&redirect=true\";\n }\n else if ((_c = deviceMeta.architecture) === null || _c === void 0 ? void 0 : _c.startsWith(\"AVR\")) {\n helpUrl = \"v2/keyword-lookup?keyword=atmel;device:${deviceName};comp:${moduleName}_${dosId};register:${registerName}&redirect=true\";\n }\n var deviceName_1 = (_d = deviceMeta === null || deviceMeta === void 0 ? void 0 : deviceMeta.deviceName) !== null && _d !== void 0 ? _d : \"\";\n var moduleName_1 = (_g = (_f = (_e = model.getHardware()) === null || _e === void 0 ? void 0 : _e.getPeripheral()) === null || _f === void 0 ? void 0 : _f.group) !== null && _g !== void 0 ? _g : \"\";\n var dosid_1 = (_k = (_j = (_h = model.getHardware()) === null || _h === void 0 ? void 0 : _h.getPeripheral()) === null || _j === void 0 ? void 0 : _j.dosid) !== null && _k !== void 0 ? _k : \"\";\n if (hardwareRegisters != undefined) {\n (0, Utils_1.values)(hardwareRegisters !== null && hardwareRegisters !== void 0 ? hardwareRegisters : {}).forEach(function (eachRegister) {\n var _a, _b;\n if (eachRegister) {\n var settings_1 = (_b = hardwareRegisters[(_a = eachRegister.alias) !== null && _a !== void 0 ? _a : \"\"]) === null || _b === void 0 ? void 0 : _b.settings;\n if (settings_1) {\n (0, Utils_1.getKeys)(settings_1).forEach(function (eachSetting) {\n var _a, _b;\n var _c;\n var eachSettingObject = settings_1[eachSetting];\n if (eachSettingObject) {\n var sdlHelpUrl = helpUrl\n .replace(\"${deviceName}\", deviceName_1 !== null && deviceName_1 !== void 0 ? deviceName_1 : \"\")\n .replace(\"${registerName}\", eachRegister.name)\n .replace(\"${moduleName}\", moduleName_1 !== null && moduleName_1 !== void 0 ? moduleName_1 : \"\")\n .replace(\"${dosId}\", dosid_1 !== null && dosid_1 !== void 0 ? dosid_1 : \"\");\n scfUiSchema = __assign(__assign({}, scfUiSchema), (_a = {}, _a[eachRegister.name] = __assign(__assign({}, scfUiSchema[eachRegister.name]), (_b = {}, _b[eachSettingObject.name] = __assign(__assign({}, (_c = scfUiSchema[eachRegister.name]) === null || _c === void 0 ? void 0 : _c[eachSettingObject.name]), { helpKeyword: sdlHelpUrl, tooltip: \"Click for more Information\" }), _b)), _a));\n }\n });\n }\n }\n });\n }\n }\n return scfUiSchema;\n};\nexports.registerScfUiSchema = registerScfUiSchema;\nfunction registerFormData(model, formData) {\n var _a, _b;\n var formDataCopy = __assign({}, formData);\n for (var _i = 0, _c = Object.keys(formDataCopy); _i < _c.length; _i++) {\n var register = _c[_i];\n for (var _d = 0, _e = Object.keys(formDataCopy[register]); _d < _e.length; _d++) {\n var setting = _e[_d];\n var value = model.getComponentValue(setting, { register: register }) !== undefined\n ? model.getComponentValue(setting, { register: register })\n : model.getComponentValue(setting);\n if (register === \"interrupts\") {\n value = value == true ? \"enabled\" : \"disabled\";\n }\n formData = __assign(__assign({}, formData), (_a = {}, _a[register] = __assign(__assign({}, formData[register]), (_b = {}, _b[setting] = value, _b)), _a));\n }\n }\n return formData;\n}\nexports.registerFormData = registerFormData;\nfunction registerUiSchema(model, registerView, hardwareRegisters, hardwareInterrupt) {\n if (hardwareRegisters != undefined) {\n // For Registers and Settings\n (0, Utils_1.getKeys)(hardwareRegisters !== null && hardwareRegisters !== void 0 ? hardwareRegisters : {}).forEach(function (eachRegister) {\n var _a, _b, _c, _d, _e, _f, _g;\n var componentMetaData = {\n compType: DerivedFunctions_1.COMPTYPE.REGISTER,\n tabID: DerivedFunctions_1.TABID.REGISTER,\n };\n var registerName = (_b = (_a = hardwareRegisters[eachRegister]) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : \"\";\n // isEnabled for each Register in device.\n var isEnabled = (_d = model === null || model === void 0 ? void 0 : (_c = model.getDerivedFunctions()).isEnabled) === null || _d === void 0 ? void 0 : _d.call(_c, registerName, componentMetaData);\n if (isEnabled === false) {\n registerView = registerView.withNonEditableRegister(hardwareRegisters[eachRegister]);\n }\n var settings = (_e = hardwareRegisters[eachRegister]) === null || _e === void 0 ? void 0 : _e.settings;\n (0, Utils_1.getKeys)(settings !== null && settings !== void 0 ? settings : {}).forEach(function (eachSetting) {\n var _a, _b, _c, _d, _e, _f;\n var eachSettingObject = settings === null || settings === void 0 ? void 0 : settings[eachSetting];\n if (eachSettingObject) {\n var settingName = eachSettingObject.name;\n var componentMetaData_1 = {\n compType: DerivedFunctions_1.COMPTYPE.SETTING,\n tabID: DerivedFunctions_1.TABID.REGISTER,\n parent: registerName\n };\n // isEnabled for each Register's Settings in device.\n var isEnabled_1 = (_b = model === null || model === void 0 ? void 0 : (_a = model.getDerivedFunctions()).isEnabled) === null || _b === void 0 ? void 0 : _b.call(_a, settingName, componentMetaData_1);\n if (eachSettingObject && settingName && isEnabled_1 === false) {\n registerView = registerView.withEditableRegisterSetting(hardwareRegisters === null || hardwareRegisters === void 0 ? void 0 : hardwareRegisters[eachRegister], eachSettingObject);\n }\n // isVisible for each Register's Settings in device.\n var isVisible_1 = (_d = model === null || model === void 0 ? void 0 : (_c = model.getDerivedFunctions()).isVisible) === null || _d === void 0 ? void 0 : _d.call(_c, settingName, componentMetaData_1);\n if (eachSettingObject && settingName && isVisible_1 === false) {\n registerView = registerView.withInVisibleRegisterSetting(hardwareRegisters === null || hardwareRegisters === void 0 ? void 0 : hardwareRegisters[eachRegister], eachSettingObject);\n }\n // override setting level description based on setting name and component's Meta \n var overrideTitle = (_f = model === null || model === void 0 ? void 0 : (_e = model.getDerivedFunctions()).overrideTitle) === null || _f === void 0 ? void 0 : _f.call(_e, settingName, componentMetaData_1);\n if (overrideTitle && typeof overrideTitle === \"string\") {\n registerView = registerView.withUpdatedSettingDescription(hardwareRegisters === null || hardwareRegisters === void 0 ? void 0 : hardwareRegisters[eachRegister], eachSettingObject, overrideTitle);\n }\n }\n });\n // isVisible for each Register in device.\n var isVisible = (_g = model === null || model === void 0 ? void 0 : (_f = model.getDerivedFunctions()).isVisible) === null || _g === void 0 ? void 0 : _g.call(_f, registerName, componentMetaData);\n if (isVisible === false) {\n registerView = registerView.withInVisibleRegister(hardwareRegisters[eachRegister]);\n }\n });\n // For interrupts\n (0, Utils_1.getKeys)(hardwareInterrupt !== null && hardwareInterrupt !== void 0 ? hardwareInterrupt : {}).forEach(function (eachInterrupts) {\n var _a, _b, _c, _d;\n var componentMetaData = {\n compType: DerivedFunctions_1.COMPTYPE.INTERRUPT,\n tabID: DerivedFunctions_1.TABID.REGISTER,\n };\n // isEnabled for each Interrupts in device.\n var isEnabled = (_b = model === null || model === void 0 ? void 0 : (_a = model.getDerivedFunctions()).isEnabled) === null || _b === void 0 ? void 0 : _b.call(_a, eachInterrupts, componentMetaData);\n if (isEnabled === false) {\n registerView = registerView.withNonEditableInterrupt(hardwareInterrupt === null || hardwareInterrupt === void 0 ? void 0 : hardwareInterrupt[eachInterrupts]);\n }\n // isVisible for each Interrupts in device.\n var isVisible = (_d = model === null || model === void 0 ? void 0 : (_c = model.getDerivedFunctions()).isVisible) === null || _d === void 0 ? void 0 : _d.call(_c, eachInterrupts, componentMetaData);\n if (isVisible === false) {\n registerView = registerView.withInVisibleInterrupt(hardwareInterrupt === null || hardwareInterrupt === void 0 ? void 0 : hardwareInterrupt[eachInterrupts]);\n }\n });\n }\n return registerView.create().uiSchema;\n}\nexports.registerUiSchema = registerUiSchema;\n//# sourceMappingURL=autoModuleView.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isComponentInvisible = exports.shouldPopulateView = exports.isModeActive = exports.isImage = exports.isUrl = void 0;\nvar AutoModuleHardware_1 = require(\"../AutoModuleHardware\");\nfunction isUrl(component) {\n return (component.category === \"software\" &&\n component.type === \"string\" &&\n component.format === \"url\");\n}\nexports.isUrl = isUrl;\nfunction isImage(component) {\n return (component.category === \"software\" &&\n component.type === \"string\" &&\n component.format === \"image\");\n}\nexports.isImage = isImage;\nfunction isModeActive(mode, component, getComponent) {\n var _a, _b, _c, _d, _e, _f;\n if (((_a = component === null || component === void 0 ? void 0 : component.mode) === null || _a === void 0 ? void 0 : _a.operation) !== mode) {\n return undefined; //No mode selected\n }\n var masterComponent = getComponent(component.mode.masterComponent);\n if ((_b = component.mode) === null || _b === void 0 ? void 0 : _b.matchRegEx) {\n var value = (_f = (_e = (_d = (_c = masterComponent === null || masterComponent === void 0 ? void 0 : masterComponent.value) === null || _c === void 0 ? void 0 : _c.toString()) === null || _d === void 0 ? void 0 : _d.match(component.mode.matchRegEx)) === null || _e === void 0 ? void 0 : _e.length) !== null && _f !== void 0 ? _f : 0;\n return value > 0;\n }\n return undefined;\n}\nexports.isModeActive = isModeActive;\nfunction shouldPopulateView(derivedFunctions, imports, getAssignedImport, config) {\n var _a;\n if (displayViewOnImportAssigned(getAssignedImport, config) === false) {\n return false;\n }\n return (((_a = derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.shouldPopulateViewAtStartup) === null || _a === void 0 ? void 0 : _a.call(derivedFunctions)) === true ||\n (0, AutoModuleHardware_1.isFullyAssigned)(imports, config));\n}\nexports.shouldPopulateView = shouldPopulateView;\nfunction displayViewOnImportAssigned(getAssignedImport, config) {\n var shouldPopulateView = true;\n if (config === null || config === void 0 ? void 0 : config.displayViewOnImportAssigned) {\n config.displayViewOnImportAssigned.forEach(function (impKey) {\n if (getAssignedImport(impKey) == undefined) {\n shouldPopulateView = false;\n }\n });\n }\n return shouldPopulateView;\n}\nvar isComponentInvisible = function (component, appModel) {\n var _a, _b;\n var isInvisibleViaProperty = component.isVisibleProperty &&\n appModel.getDerivedFunction(component.isVisibleProperty) == false;\n return (((_b = (_a = appModel.getDerivedFunctions()).isVisible) === null || _b === void 0 ? void 0 : _b.call(_a, component.name)) === false ||\n isInvisibleViaProperty ||\n isModeActive(\"isVisible\", component, appModel.getComponent) === false);\n};\nexports.isComponentInvisible = isComponentInvisible;\n//# sourceMappingURL=autoModuleViewHelpers.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createFormData = void 0;\nvar tables_1 = require(\"../../tables/tables\");\nvar Utils_1 = require(\"../../Utils\");\nvar schema_1 = require(\"./schema\");\nvar TimeComponentHelper_1 = require(\"../TimeComponentHelper\");\nvar FrequencyComponentHelper_1 = require(\"../FrequencyComponentHelper\");\nfunction createFormData(tab, config, model) {\n var _a;\n var formData = {};\n if (config) {\n var components = model.getAutoModuleAppModel().getAllComponents();\n (_a = (0, Utils_1.values)(components)) === null || _a === void 0 ? void 0 : _a.forEach(function (entry) {\n var _a;\n if (!config) {\n return;\n }\n var component = entry.component;\n var value = model.getComponentValue(component.name);\n var regex = new RegExp(\"[en,dis]abled?\");\n if (component.type === \"boolean\") {\n if (value && typeof value === 'string') {\n if (regex.test(value.toLowerCase()) && typeof config.booleanValues.true === \"string\") {\n var configVal = config.booleanValues.true;\n if (configVal.toLowerCase() === \"enable\") {\n value = value.toLowerCase().startsWith(configVal.toLowerCase());\n }\n else {\n value = configVal.toLowerCase().startsWith(value.toLowerCase());\n }\n }\n else if (value === \"true\") {\n value = true;\n }\n else if (value === \"false\") {\n value = false;\n }\n }\n else if (value && typeof value === 'boolean') {\n value = value;\n }\n }\n if (component.type === \"DescriptionOnly\") {\n value = null;\n }\n if ((0, schema_1.isInvalidTab)(component.tabs, tab)) {\n return;\n }\n if (component.category === \"table\") {\n value = (0, tables_1.getTableFormData)(model, component, tab);\n }\n if (component.category === \"file_load\") {\n value = \"\";\n }\n if (component.type === \"time\") {\n value = (0, TimeComponentHelper_1.getTimeComponentFormData)(model, component, tab);\n }\n if (component.type === \"frequency\") {\n value = (0, FrequencyComponentHelper_1.getFreqCompFormData)(model, component, tab);\n }\n if (component.category === \"file_save\") {\n value = \"\";\n }\n formData[component.group] = __assign(__assign({}, formData[component.group]), (_a = {}, _a[component.name] = value, _a));\n });\n }\n return formData;\n}\nexports.createFormData = createFormData;\n//# sourceMappingURL=formData.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createScfUiSchema = void 0;\nvar tables_1 = require(\"../../tables/tables\");\nvar Utils_1 = require(\"../../Utils\");\nvar AutoModuleHelpers_1 = require(\"../AutoModuleHelpers\");\nvar ContextualHelp_1 = require(\"../ContextualHelp\");\nfunction createScfUiSchema(tab, config, model) {\n var _a;\n var scfUiSchema = {};\n if (config) {\n var components_1 = getAllComponents(model);\n (_a = (0, Utils_1.getKeys)(components_1)) === null || _a === void 0 ? void 0 : _a.forEach(function (eachKey) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n var component = components_1[eachKey].component;\n var name = component.name, group = component.group;\n var schema = {};\n if (component.tabs.indexOf(tab) == -1)\n return;\n if (!scfUiSchema[group]) {\n scfUiSchema[group] = {};\n }\n if (!scfUiSchema[group][name]) {\n scfUiSchema[group][name] = {};\n }\n var actions = getActions(component, model);\n var transformErrors = model.getDerivedFunction(\"getCustomUiErrors\", name);\n if (model.getImports()) {\n var deviceMeta = model.getImportValue(\"device_meta\");\n var hasSdlSupport = (_a = deviceMeta === null || deviceMeta === void 0 ? void 0 : deviceMeta.hasSdlSupport) !== null && _a !== void 0 ? _a : false;\n if (component.sdlHelp && hasSdlSupport) {\n var helpUrl = component.sdlHelp.url;\n schema[\"helpKeyword\"] = getHelpKeyword(model, name, helpUrl);\n schema[\"tooltip\"] = getTooltip(component);\n }\n }\n if (component.category === \"file_load\") {\n schema[\"fileLoadProps\"] = {};\n schema[\"fileLoadProps\"][\"fileId\"] = eachKey;\n schema[\"fileLoadProps\"][\"saveState\"] = (_c = (_b = component.fileMeta) === null || _b === void 0 ? void 0 : _b.saveState) !== null && _c !== void 0 ? _c : false;\n schema[\"fileLoadProps\"][\"filter\"] = (_d = component.fileMeta) === null || _d === void 0 ? void 0 : _d.filter;\n schema[\"fileLoadProps\"][\"type\"] = \"file_load\";\n schema[\"fileLoadProps\"][\"compText\"] = (_e = component.fileMeta) === null || _e === void 0 ? void 0 : _e.compText;\n }\n if (component.category === \"file_save\") {\n schema[\"fileSaveProps\"] = {};\n schema[\"fileSaveProps\"][\"fileId\"] = eachKey;\n schema[\"fileSaveProps\"][\"fileContents\"] = model.getComponentValue(component.name);\n schema[\"fileSaveProps\"][\"fileName\"] = (_f = component.fileMeta) === null || _f === void 0 ? void 0 : _f.defaultName;\n schema[\"fileSaveProps\"][\"type\"] = \"file_save\";\n schema[\"fileSaveProps\"][\"compText\"] = (_g = component.fileMeta) === null || _g === void 0 ? void 0 : _g.compText;\n }\n if (component.category === \"table\") {\n var tableState = (_k = (_j = (_h = model === null || model === void 0 ? void 0 : model.getState()) === null || _h === void 0 ? void 0 : _h[tab]) === null || _j === void 0 ? void 0 : _j[group]) === null || _k === void 0 ? void 0 : _k[name];\n var uids = (0, tables_1.createTableUids)(component, tab, model, tableState);\n schema[\"table\"] = getTableUiSchema(component, uids);\n actions = (0, tables_1.getTableActions)(component, tab, model, uids);\n }\n schema[\"precision\"] = component[\"precision\"];\n schema[\"shouldDispatchOnChange\"] = component[\"shouldDispatchOnChange\"];\n if (actions) {\n schema[\"actions\"] = actions;\n }\n if (transformErrors) {\n schema[\"transformErrors\"] = transformErrors;\n }\n scfUiSchema[group][name] = __assign({}, schema);\n });\n }\n return scfUiSchema;\n}\nexports.createScfUiSchema = createScfUiSchema;\nfunction getAllComponents(model) {\n return model.getAutoModuleAppModel().getAllComponents();\n}\nfunction getHelpKeyword(model, componentName, helpUrl) {\n var _a;\n return ((_a = model.getDerivedFunction(\"getHelpUrl\", componentName, helpUrl)) !== null && _a !== void 0 ? _a : (0, ContextualHelp_1.getAutoSdlHelp)(model, componentName, helpUrl));\n}\nfunction getTooltip(component) {\n var _a, _b;\n return (_b = (_a = component.sdlHelp) === null || _a === void 0 ? void 0 : _a.tooltip) !== null && _b !== void 0 ? _b : \"Click for more information\";\n}\nfunction getTableUiSchema(component, uids) {\n var cellValidationInfo = (0, tables_1.getCellValidationInfo)(component);\n return {\n canRemoveRows: component.canRemoveRows,\n canInsertRows: component.canInsertRows,\n canAddRows: component.canAddRows,\n canMoveRowDown: component.canMoveRowDown,\n canMoveRowUp: component.canMoveRowUp,\n canEnableRows: component.canEnableRows,\n uids: uids,\n cellValidationInfo: cellValidationInfo,\n };\n}\nfunction getDependencySelectorActions(component, model) {\n var depSelector = new AutoModuleHelpers_1.DependencySelector(model, component);\n var options = depSelector.generateDropdownOptions();\n var dependencySelectorActions = [];\n options.forEach(function (dropdownOption) {\n var option = dropdownOption.value;\n dependencySelectorActions.push({\n type: \"[Import] SET\",\n payload: {\n importId: component.importId,\n handle: option === null || option === void 0 ? void 0 : option.handle,\n interfaceId: option === null || option === void 0 ? void 0 : option.interfaceId,\n option: dropdownOption.label,\n },\n });\n });\n return JSON.stringify(dependencySelectorActions);\n}\nfunction getActions(component, model) {\n if (component.category === \"import\") {\n return getDependencySelectorActions(component, model);\n }\n var actions = model.getDerivedFunction(\"getActions\", component.name, component.actions);\n return JSON.stringify(actions); //TODO: support map\n}\n//# sourceMappingURL=scfUiSchema.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getDependencyComponentSchema = exports.isInvalidTab = exports.createSchema = void 0;\nvar tables_1 = require(\"../../tables/tables\");\nvar Utils_1 = require(\"../../Utils\");\nvar AutoModuleHelpers_1 = require(\"../AutoModuleHelpers\");\nvar TimeComponentHelper_1 = require(\"../TimeComponentHelper\");\nvar FrequencyComponentHelper_1 = require(\"../FrequencyComponentHelper\");\nvar autoModuleViewHelpers_1 = require(\"./autoModuleViewHelpers\");\nfunction createSchema(tab, config, viewModel) {\n var _a, _b, _c, _d, _e, _f, _g;\n var schema = {};\n if (config) {\n var populateView_1 = (0, autoModuleViewHelpers_1.shouldPopulateView)(viewModel.viewModel.derivedFunctions, viewModel.viewModel.imports, viewModel.viewModel.getAssignedImport, config);\n schema = {\n description: (_c = (_b = (_a = viewModel.viewModel).getModuleDescription) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : (0, AutoModuleHelpers_1.getModuleDefaultDescription)(),\n title: config.moduleName,\n type: \"object\",\n properties: {},\n };\n var schemaBuilder_1 = {\n properties: {},\n };\n (_e = (0, Utils_1.values)((_d = viewModel.viewModel.components) !== null && _d !== void 0 ? _d : {})) === null || _e === void 0 ? void 0 : _e.forEach(function (entry) {\n var _a, _b, _c, _d, _e;\n var component = entry.component;\n if ((!populateView_1 && component.category != \"import\") ||\n isInvalidTab(component.tabs, tab)) {\n return;\n }\n if (!schemaBuilder_1[component.group]) {\n schemaBuilder_1[component.group] = {\n title: (_c = (_b = (_a = viewModel.viewModel.derivedFunctions) === null || _a === void 0 ? void 0 : _a.overrideGroupTitle) === null || _b === void 0 ? void 0 : _b.call(_a, component.group)) !== null && _c !== void 0 ? _c : config === null || config === void 0 ? void 0 : config.UIGroups[component.group],\n description: (_e = (_d = viewModel.viewModel.derivedFunctions) === null || _d === void 0 ? void 0 : _d.overrideGroupDescription) === null || _e === void 0 ? void 0 : _e.call(_d, component.group),\n type: \"object\",\n properties: {},\n };\n }\n schemaBuilder_1[component.group].properties = __assign(__assign({}, schemaBuilder_1[component.group].properties), getComponentSchema(component, tab, viewModel));\n });\n //Sort groups based on order of UIGroups and remove groups with no components\n (_g = (0, Utils_1.getKeys)((_f = config.UIGroups) !== null && _f !== void 0 ? _f : {})) === null || _g === void 0 ? void 0 : _g.forEach(function (group) {\n var _a, _b, _c, _d;\n if (((_d = (_c = (0, Utils_1.getKeys)((_b = (_a = schemaBuilder_1[group]) === null || _a === void 0 ? void 0 : _a.properties) !== null && _b !== void 0 ? _b : {})) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : -1) > 0 &&\n schema.properties) {\n schema.properties[group] = schemaBuilder_1[group];\n }\n });\n }\n return schema;\n}\nexports.createSchema = createSchema;\nfunction getComponentSchema(component, tab, viewModel) {\n var _a;\n var schema = {};\n if (isInvalidTab(component.tabs, tab) ||\n (viewModel.model && (0, autoModuleViewHelpers_1.isComponentInvisible)(component, viewModel.model))) {\n return schema;\n }\n schema = addComponentSchema(component, viewModel);\n if (schema == undefined) {\n return schema;\n }\n if (shouldAddValidator(component, viewModel.viewModel.derivedFunctions)) {\n schema = addComponentValidator(schema, component, viewModel.viewModel.derivedFunctions);\n }\n var componentName = component.name;\n schema = (_a = {}, _a[componentName] = __assign({}, schema), _a);\n return schema;\n}\nfunction isInvalidTab(tabs, tab) {\n return tabs.indexOf(tab) == -1;\n}\nexports.isInvalidTab = isInvalidTab;\nfunction addComponentValidator(schema, component, derivedFunctions) {\n return __assign(__assign({}, schema), derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions[component.name + \"Validator\"]());\n}\nfunction shouldAddValidator(component, derivedFunctions) {\n return (component.validation &&\n derivedFunctions &&\n (derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions[component.name + \"Validator\"]) != null);\n}\nfunction addComponentSchema(component, viewModel) {\n if (component.category === \"software\") {\n return getSoftwareComponentSchema(component, viewModel.viewModel.derivedFunctions);\n }\n else if (component.category === \"hardware\") {\n return getHardwareComponentSchema(component, viewModel);\n }\n else if (component.category === \"import\") {\n return getDependencyComponentSchema(component, viewModel);\n }\n else if (component.category === \"file_load\") {\n return getFileLoadComponentSchema(component, viewModel);\n }\n else if (component.category === \"file_save\") {\n return getFileSaveComponentSchema(component, viewModel);\n }\n else if (component[\"category\"] === \"table\") {\n return (0, tables_1.getTableComponentSchema)(component, viewModel);\n }\n return undefined;\n}\nfunction getSoftwareComponentSchema(component, derivedFunctions) {\n var _a, _b, _c, _d, _e, _f;\n var schema = {};\n if (component.type === \"ComboBox\") {\n schema = {\n type: \"string\",\n title: (_b = (_a = derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideTitle) === null || _a === void 0 ? void 0 : _a.call(derivedFunctions, component.name)) !== null && _b !== void 0 ? _b : component.description,\n default: (0, AutoModuleHelpers_1.getDefaultValue)(derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideDefaultValues, component),\n enum: (0, AutoModuleHelpers_1.getComboOptions)(derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideOptions, component),\n };\n }\n else if (component.type === \"hex\") {\n schema = {\n type: \"integer\",\n title: (_d = (_c = derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideTitle) === null || _c === void 0 ? void 0 : _c.call(derivedFunctions, component.name)) !== null && _d !== void 0 ? _d : component.description,\n format: \"hex\",\n default: (0, AutoModuleHelpers_1.getDefaultValue)(derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideDefaultValues, component),\n };\n }\n else if (component.type === \"DescriptionOnly\") {\n schema = {\n type: \"null\",\n title: component.description,\n };\n }\n else if (component.type === \"time\") {\n schema = (0, TimeComponentHelper_1.getTimeComponentSchema)(component, derivedFunctions);\n }\n else if (component.type === \"frequency\") {\n schema = (0, FrequencyComponentHelper_1.getFreqCompSchema)(component, derivedFunctions);\n }\n else {\n schema = {\n type: component.type,\n title: (_f = (_e = derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideTitle) === null || _e === void 0 ? void 0 : _e.call(derivedFunctions, component.name)) !== null && _f !== void 0 ? _f : component.description,\n };\n if ((0, autoModuleViewHelpers_1.isUrl)(component) && component.urlDescription) {\n schema = __assign(__assign({}, schema), { description: component.urlDescription });\n }\n if ((0, autoModuleViewHelpers_1.isImage)(component) && component.imageDescription) {\n schema = __assign(__assign({}, schema), { description: component.imageDescription });\n }\n }\n return schema;\n}\nfunction getDependencyComponentSchema(component, viewModel) {\n var _a, _b, _c, _d, _e, _f;\n var schema = {};\n if (((_a = component.uiBehavior) === null || _a === void 0 ? void 0 : _a[\"ui:widget\"]) === \"hidden\") {\n return;\n }\n if (component.type === \"ComboBox\" && viewModel.model) {\n var dependencySelector = new AutoModuleHelpers_1.DependencySelector(viewModel.model, component);\n if (dependencySelector.getDropdownOptionNames().length <= 0) {\n return schema;\n }\n var dropdownOptions = dependencySelector.getDropdownOptionNames();\n var assignedImport = (_c = (_b = viewModel.createProcessedImports) === null || _b === void 0 ? void 0 : _b.call(viewModel, \"views\")) === null || _c === void 0 ? void 0 : _c[component.importId];\n var NONE_1 = \"None\";\n var assignedName = NONE_1;\n var selectedDependency = viewModel.model.getComponentValue(component.name);\n if (assignedImport === null || assignedImport === void 0 ? void 0 : assignedImport.handle) {\n assignedName = dependencySelector.createOptionLabel(assignedImport.handle, assignedImport.payload);\n dropdownOptions.push(assignedName);\n }\n else if (selectedDependency) {\n dropdownOptions.push(selectedDependency);\n }\n dropdownOptions = dropdownOptions.sort(function (a, b) {\n return a.localeCompare(b);\n });\n dropdownOptions = __spreadArray([NONE_1], dropdownOptions.filter(function (item) { return item !== NONE_1; }), true);\n schema = {\n type: \"string\",\n title: (_f = (_e = (_d = viewModel.getDerivedFunction).overrideTitle) === null || _e === void 0 ? void 0 : _e.call(_d, component.name)) !== null && _f !== void 0 ? _f : component.description,\n default: assignedName,\n enum: dropdownOptions,\n };\n }\n return schema;\n}\nexports.getDependencyComponentSchema = getDependencyComponentSchema;\nfunction getFileLoadComponentSchema(component, viewModel) {\n var _a, _b, _c;\n var schema = {};\n if (viewModel.model) {\n schema = {\n type: \"string\",\n title: (_c = (_b = (_a = viewModel.getDerivedFunction).overrideTitle) === null || _b === void 0 ? void 0 : _b.call(_a, component.name)) !== null && _c !== void 0 ? _c : component.description,\n };\n }\n return schema;\n}\nfunction getFileSaveComponentSchema(component, viewModel) {\n var _a, _b, _c;\n var schema = {};\n if (viewModel.model) {\n schema = {\n type: \"string\",\n title: (_c = (_b = (_a = viewModel.getDerivedFunction).overrideTitle) === null || _b === void 0 ? void 0 : _b.call(_a, component.name)) !== null && _c !== void 0 ? _c : component.description,\n };\n }\n return schema;\n}\nfunction getHardwareComponentSchema(component, viewModel) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n var schema = {};\n var model = viewModel.model;\n if (model) {\n if (model.getComponentValue(component.name) !== undefined &&\n component.type !== \"register\") {\n if (component.type === \"ComboBox\") {\n var setting = (0, AutoModuleHelpers_1.getSettingFromComponent)(model, component);\n schema = {\n type: \"string\",\n title: (_c = (_b = (_a = viewModel.viewModel.derivedFunctions) === null || _a === void 0 ? void 0 : _a.overrideTitle) === null || _b === void 0 ? void 0 : _b.call(_a, component.name)) !== null && _c !== void 0 ? _c : component.description,\n default: (0, AutoModuleHelpers_1.getSettingDefaultIfPresent)(component, setting, (_e = (_d = model\n .getDerivedFunctions()).overrideDefaultValues) === null || _e === void 0 ? void 0 : _e.call(_d, component.name)),\n enum: (0, AutoModuleHelpers_1.getSettingOptionsIfPresent)(component, setting, model.getComponentValue((_g = (_f = component.mode) === null || _f === void 0 ? void 0 : _f.masterComponent) !== null && _g !== void 0 ? _g : \"\")),\n };\n }\n else {\n schema = {\n type: component.type,\n title: (_k = (_j = (_h = viewModel.viewModel.derivedFunctions) === null || _h === void 0 ? void 0 : _h.overrideTitle) === null || _j === void 0 ? void 0 : _j.call(_h, component.name)) !== null && _k !== void 0 ? _k : component.description,\n };\n }\n }\n }\n return schema;\n}\n//# sourceMappingURL=schema.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createUiSchema = void 0;\nvar tables_1 = require(\"../../tables/tables\");\nvar Utils_1 = require(\"../../Utils\");\nvar autoModuleViewHelpers_1 = require(\"./autoModuleViewHelpers\");\nfunction createUiSchema(tab, config, viewModel) {\n var _a;\n var _b, _c, _d;\n var uiSchema = {};\n if (config) {\n if (config.UIOrder) {\n (_c = (0, Utils_1.getKeys)((_b = config.UIOrder) !== null && _b !== void 0 ? _b : {})) === null || _c === void 0 ? void 0 : _c.forEach(function (group) {\n var _a;\n uiSchema[group] = {\n \"ui:order\": (_a = config === null || config === void 0 ? void 0 : config.UIOrder) === null || _a === void 0 ? void 0 : _a[group],\n };\n });\n }\n var components = viewModel.viewModel.components;\n var isGroupHidden_1 = {};\n (_d = (0, Utils_1.values)(components !== null && components !== void 0 ? components : {})) === null || _d === void 0 ? void 0 : _d.forEach(function (entry) {\n var _a, _b;\n var _c, _d, _e, _f, _g, _h, _j;\n var component = entry.component;\n var tabIndex = (_d = (_c = component.tabs) === null || _c === void 0 ? void 0 : _c.indexOf(tab)) !== null && _d !== void 0 ? _d : -1;\n if (tabIndex === -1)\n return;\n var isComponentGroupHidden = isGroupHidden_1[component.group] === undefined ||\n isGroupHidden_1[component.group] === true;\n if (isComponentGroupHidden) {\n var isHidden = (_f = ((_e = component.uiBehavior) === null || _e === void 0 ? void 0 : _e[\"ui:widget\"]) === \"hidden\") !== null && _f !== void 0 ? _f : false;\n if (((_h = (_g = viewModel.getDerivedFunction).isVisible) === null || _h === void 0 ? void 0 : _h.call(_g, component.name)) === false) {\n isHidden = true;\n }\n isGroupHidden_1[component.group] = isHidden;\n }\n if (component.category === \"table\") {\n var table = component;\n var tableCols_1 = table.columns;\n var colNames = Object.keys(tableCols_1);\n var defaultAlignment_1 = \"left\";\n var displayHeadersHorizontally = (_j = table.displayHeadersHorizontally) !== null && _j !== void 0 ? _j : false;\n var displayHeadersDiagonally_1 = !displayHeadersHorizontally;\n var columns_1 = [];\n var defaultColumnWidth_1 = (0, tables_1.calculateColumnWidth)(tableCols_1);\n var headerMaxLength_1 = colNames\n .map(function (name) { return tableCols_1[name].title.length; })\n .reduce(function (a, b) { return Math.max(a, b); });\n colNames.forEach(function (name) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n var isColEditable = !tableCols_1[name].readonly;\n var columnWidth = defaultColumnWidth_1[name];\n var disableRowsForCol = (_c = (_b = (_a = viewModel.viewModel.derivedFunctions) === null || _a === void 0 ? void 0 : _a.disableTableCells) === null || _b === void 0 ? void 0 : _b.call(_a, name)) !== null && _c !== void 0 ? _c : [];\n columns_1.push({\n dataField: name,\n editable: isColEditable ? undefined : false,\n columnWidth: tableCols_1[name].columnWidth\n ? tableCols_1[name].columnWidth + \"%\"\n : columnWidth + \"%\",\n width: tableCols_1[name].width\n ? tableCols_1[name].width + \"%\"\n : columnWidth + \"%\",\n dataSort: tableCols_1[name].isSortable,\n headerAlign: displayHeadersDiagonally_1\n ? defaultAlignment_1\n : (_e = (_d = tableCols_1[name].headerAlign) !== null && _d !== void 0 ? _d : tableCols_1[name].dataAlign) !== null && _e !== void 0 ? _e : defaultAlignment_1,\n dataAlign: (_g = (_f = tableCols_1[name].dataAlign) !== null && _f !== void 0 ? _f : tableCols_1[name].headerAlign) !== null && _g !== void 0 ? _g : defaultAlignment_1,\n disabledRows: (_h = tableCols_1[name].disabledRows) !== null && _h !== void 0 ? _h : disableRowsForCol,\n tdStyle: (0, tables_1.getCellStyle)(tableCols_1[name].readonly),\n headerText: (_j = tableCols_1[name]) === null || _j === void 0 ? void 0 : _j[\"columnTip\"],\n hidden: (_m = (_l = (_k = viewModel.viewModel.derivedFunctions) === null || _k === void 0 ? void 0 : _k.hideTableColumn) === null || _l === void 0 ? void 0 : _l.call(_k, name)) !== null && _m !== void 0 ? _m : false,\n });\n });\n columns_1 = columns_1.map(function (col) {\n return __assign(__assign({}, col), { thStyle: (0, tables_1.getHeaderStyle)(headerMaxLength_1, displayHeadersDiagonally_1) });\n });\n uiSchema[table.group] = __assign(__assign({}, uiSchema[table.group]), (_a = {}, _a[table.name] = (0, tables_1.getTableUiSchema)(table, columns_1), _a));\n }\n else {\n uiSchema[component.group] = __assign(__assign({}, uiSchema[component.group]), (_b = {}, _b[component.name] = __assign(__assign({}, getUiBehavior(component, viewModel)), getUiSchemaExportArg(component.name, viewModel)), _b));\n }\n });\n for (var group in isGroupHidden_1) {\n if (isGroupHidden_1[group]) {\n uiSchema[group] = __assign(__assign({}, uiSchema[group]), (_a = {}, _a[\"ui:widget\"] = \"hidden\", _a));\n }\n }\n }\n return uiSchema;\n}\nexports.createUiSchema = createUiSchema;\nfunction getUiSchemaExportArg(name, viewModel) {\n var uiSchema = {};\n if (viewModel.isControlledByInterface(name)) {\n var expArg = viewModel.getProcessedArgValue(name);\n if (expArg) {\n uiSchema = {\n \"ui:readonly\": true,\n \"ui:help\": \"Controlled by \" + expArg.interface,\n };\n }\n }\n return uiSchema;\n}\nfunction getUiBehavior(component, viewModel) {\n var _a, _b;\n var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;\n var uiBehavior = {};\n if (component.uiBehavior) {\n (_d = (0, Utils_1.getKeys)((_c = component.uiBehavior) !== null && _c !== void 0 ? _c : {})) === null || _d === void 0 ? void 0 : _d.forEach(function (key) {\n var _a, _b;\n switch (key) {\n case \"readonly\":\n uiBehavior[\"ui:readonly\"] = (_a = component.uiBehavior) === null || _a === void 0 ? void 0 : _a[key];\n break;\n default:\n uiBehavior[key] = (_b = component.uiBehavior) === null || _b === void 0 ? void 0 : _b[key];\n break;\n }\n });\n }\n if ((0, autoModuleViewHelpers_1.isUrl)(component)) {\n uiBehavior[\"ui:widget\"] = \"url\";\n }\n else if ((0, autoModuleViewHelpers_1.isImage)(component)) {\n uiBehavior[\"ui:widget\"] = \"image\";\n }\n else if (component.category === \"file_load\") {\n uiBehavior[\"ui:field\"] = \"file_load\";\n uiBehavior[\"ui:readonly\"] = (_e = component.uiBehavior) === null || _e === void 0 ? void 0 : _e.readonly;\n }\n else if (component.type === \"time\") {\n uiBehavior[\"ui:field\"] = \"TimeComponent\";\n }\n else if (component.type === \"frequency\") {\n uiBehavior[\"ui:field\"] = \"frequency\";\n }\n else if (component.category === \"file_save\") {\n uiBehavior[\"ui:field\"] = \"file_save\";\n uiBehavior[\"ui:readonly\"] = (_f = component.uiBehavior) === null || _f === void 0 ? void 0 : _f.readonly;\n }\n var overriddenBehavior = {};\n if (viewModel) {\n var overriddenValue = (_h = (_g = viewModel.getDerivedFunction).getUiBehavior) === null || _h === void 0 ? void 0 : _h.call(_g, component.name);\n if (overriddenValue != undefined) {\n overriddenBehavior = __assign(__assign({}, overriddenBehavior), overriddenValue);\n if (((_j = (0, Utils_1.getKeys)(overriddenBehavior !== null && overriddenBehavior !== void 0 ? overriddenBehavior : {})) === null || _j === void 0 ? void 0 : _j.indexOf(\"readonly\")) != -1) {\n overriddenBehavior[\"ui:readonly\"] = overriddenBehavior[\"readonly\"];\n delete overriddenBehavior[\"readonly\"];\n }\n }\n var isEnabled = (_m = (_l = (_k = viewModel.getDerivedFunction).isEnabled) === null || _l === void 0 ? void 0 : _l.call(_k, component.name)) !== null && _m !== void 0 ? _m : (0, autoModuleViewHelpers_1.isModeActive)(\"isEnabled\", component, viewModel.viewModel.getComponent);\n if (isEnabled != undefined) {\n overriddenBehavior = __assign(__assign({}, overriddenBehavior), (_a = {}, _a[\"ui:readonly\"] = !isEnabled, _a));\n }\n var isVisible = (_p = (_o = viewModel.getDerivedFunction).isVisible) === null || _p === void 0 ? void 0 : _p.call(_o, component.name);\n if (isVisible != undefined) {\n if (!isVisible) {\n overriddenBehavior = __assign(__assign({}, overriddenBehavior), (_b = {}, _b[\"ui:widget\"] = \"hidden\", _b));\n }\n }\n }\n uiBehavior = __assign(__assign({}, uiBehavior), overriddenBehavior);\n return uiBehavior;\n}\n//# sourceMappingURL=uiSchema.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.create = void 0;\nvar createPrototypeExports_1 = require(\"./interfaces/createPrototypeExports\");\nvar createPrototypeImports_1 = require(\"./interfaces/createPrototypeImports\");\nvar create = function (state, getCreatorFunctions) {\n var _a, _b, _c;\n var config = (_b = (_a = getCreatorFunctions()).getModuleConfig) === null || _b === void 0 ? void 0 : _b.call(_a);\n var prototypeImports = (0, createPrototypeImports_1.createPrototypeImports)(state, getCreatorFunctions());\n var prototypeExports = (0, createPrototypeExports_1.createPrototypeExports)(config);\n return {\n payload: state,\n imports: __assign({}, prototypeImports),\n exports: prototypeExports,\n isSingletonPerDevice: config === null || config === void 0 ? void 0 : config.isSingletonPerDevice,\n isEntryPoint: (_c = config === null || config === void 0 ? void 0 : config.isEntryPoint) !== null && _c !== void 0 ? _c : true,\n };\n};\nexports.create = create;\n//# sourceMappingURL=creator.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.create = exports.process = void 0;\nvar processor_1 = require(\"./processor\");\nObject.defineProperty(exports, \"process\", { enumerable: true, get: function () { return processor_1.process; } });\nvar creator_1 = require(\"./creator\");\nObject.defineProperty(exports, \"create\", { enumerable: true, get: function () { return creator_1.create; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createPrototypeExports = void 0;\nvar Utils_1 = require(\"../Utils\");\nvar createPrototypeExports = function (config) {\n var _a, _b;\n var exports = {};\n (_b = (0, Utils_1.getKeys)((_a = config === null || config === void 0 ? void 0 : config.exports) !== null && _a !== void 0 ? _a : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (expName) {\n var _a;\n var exp = (_a = config === null || config === void 0 ? void 0 : config.exports) === null || _a === void 0 ? void 0 : _a[expName];\n if (exp == undefined)\n return;\n exports[expName] = __assign(__assign({}, exp), { interfaces: processExportInterfaces(exp.interfaces) });\n });\n return exports;\n};\nexports.createPrototypeExports = createPrototypeExports;\nvar processExportInterfaces = function (int) {\n var newInterfaces = [];\n int.forEach(function (_a) {\n var interfaceId = _a.interfaceId, payload = _a.payload;\n newInterfaces.push({ interfaceId: interfaceId, payload: payload });\n });\n return newInterfaces;\n};\n//# sourceMappingURL=createPrototypeExports.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createPrototypeImports = void 0;\nvar AutoModuleHardware_1 = require(\"../autoModule/AutoModuleHardware\");\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar createPrototypeImports = function (state, creatorFunctions, config) {\n var _a, _b, _c;\n var prototypeImports = {};\n config = (_a = creatorFunctions.getModuleConfig) === null || _a === void 0 ? void 0 : _a.call(creatorFunctions);\n if (!config)\n return prototypeImports;\n if (config === null || config === void 0 ? void 0 : config.peripherals) {\n config.peripherals.forEach(function (peripheral) {\n var _a;\n var interfaceName = getFriendlyInterfaceId(peripheral.interfaceId.name);\n var prototypeImport = (0, AutoModuleHardware_1.createPrototypeImport)(interfaceName, config);\n if (prototypeImport) {\n prototypeImports = __assign(__assign({}, prototypeImports), (_a = {}, _a[interfaceName] = __assign(__assign({}, prototypeImport), { isRequired: true }), _a));\n }\n });\n }\n (_c = (0, Arrays_1.getKeys)((_b = config === null || config === void 0 ? void 0 : config.imports) !== null && _b !== void 0 ? _b : {})) === null || _c === void 0 ? void 0 : _c.forEach(function (key) {\n var _a, _b;\n var _c, _d, _e, _f, _g;\n var imp = (_c = config === null || config === void 0 ? void 0 : config.imports) === null || _c === void 0 ? void 0 : _c[key];\n var args = (_d = creatorFunctions === null || creatorFunctions === void 0 ? void 0 : creatorFunctions.getCreatorImportArgs) === null || _d === void 0 ? void 0 : _d.call(creatorFunctions, key, state);\n var shouldOrder = (_f = (_e = creatorFunctions.updateImportWithShouldAssignDescOrder) === null || _e === void 0 ? void 0 : _e.call(creatorFunctions, key)) !== null && _f !== void 0 ? _f : imp === null || imp === void 0 ? void 0 : imp.import.shouldAssignDescendantsInOrder;\n if (imp) {\n if (((_g = creatorFunctions === null || creatorFunctions === void 0 ? void 0 : creatorFunctions.shouldImport) === null || _g === void 0 ? void 0 : _g.call(creatorFunctions, key, state)) != false) {\n prototypeImports = __assign(__assign({}, prototypeImports), (_a = {}, _a[key] = __assign(__assign({}, imp.import), { args: args }), _a));\n }\n if (shouldOrder && shouldOrder.length > 0) {\n prototypeImports = __assign(__assign({}, prototypeImports), (_b = {}, _b[key] = __assign(__assign({}, imp.import), { args: args, shouldAssignDescendantsInOrder: shouldOrder }), _b));\n }\n }\n });\n return prototypeImports;\n};\nexports.createPrototypeImports = createPrototypeImports;\nvar getFriendlyInterfaceId = function (interfaceName) {\n interfaceName = interfaceName.replace(/ /g, \"\").replace(/-/g, \"_\");\n return interfaceName;\n};\n//# sourceMappingURL=createPrototypeImports.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MyExportInterfaces = exports.createExportInterfaces = void 0;\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar getConfigData_1 = require(\"../autoModule/getConfigData\");\nvar createExportInterfaces = function (exports, model) {\n return new MyExportInterfaces(exports, model);\n};\nexports.createExportInterfaces = createExportInterfaces;\nvar MyExportInterfaces = /** @class */ (function () {\n function MyExportInterfaces(exports, model) {\n var _this = this;\n this.getConfig = function () {\n if (!_this.config) {\n _this.config = (0, getConfigData_1.getConfigData)(_this.model);\n }\n return _this.config;\n };\n this.getComponents = function () {\n if (!_this.components) {\n _this.components = _this.createComponentList();\n }\n return _this.components;\n };\n this.createProcessedExports = function () {\n var _a, _b;\n var exportPayload = _this.exports;\n var config = _this.getConfig();\n if (config.exports) {\n (_b = (0, Arrays_1.getKeys)((_a = config.exports) !== null && _a !== void 0 ? _a : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (key) {\n var _a;\n var _b, _c, _d, _e;\n var exp = (_b = config.exports) === null || _b === void 0 ? void 0 : _b[key];\n exportPayload = __assign(__assign({}, exportPayload), (_a = {}, _a[key] = __assign(__assign({}, (_c = config.exports) === null || _c === void 0 ? void 0 : _c[key]), { interfaces: [], name: (_d = _this.model.getDerivedFunction(\"exportName\", key)) !== null && _d !== void 0 ? _d : (_e = exportPayload[key]) === null || _e === void 0 ? void 0 : _e.name }), _a));\n exp === null || exp === void 0 ? void 0 : exp.interfaces.forEach(function (int) {\n var _a, _b, _c, _d;\n var processedInterface = _this.getInterface(key, int.interfaceId);\n if (processedInterface) {\n exportPayload[key].interfaces.push(__assign(__assign({}, processedInterface), { payload: (_b = (_a = _this.model) === null || _a === void 0 ? void 0 : _a.getDerivedFunction(int.interfaceId.name + \"_payload\")) !== null && _b !== void 0 ? _b : {}, payloads: (_d = (_c = _this.model) === null || _c === void 0 ? void 0 : _c.getDerivedFunction(int.interfaceId.name + \"_payloads\")) !== null && _d !== void 0 ? _d : {} }));\n }\n });\n });\n }\n return exportPayload;\n };\n this.getInterfaceArgs = function (interfaceKey, interfaceId) {\n var _a;\n return (_a = _this.getInterface(interfaceKey, interfaceId)) === null || _a === void 0 ? void 0 : _a.args;\n };\n this.getInterfaceResults = function (interfaceKey, interfaceId) {\n var _a;\n return (_a = _this.getInterface(interfaceKey, interfaceId)) === null || _a === void 0 ? void 0 : _a.results;\n };\n this.createComponentList = function () {\n var _a, _b;\n var componentList = [];\n var exports = (_a = _this.getConfig().exports) !== null && _a !== void 0 ? _a : {};\n (_b = (0, Arrays_1.getKeys)(exports)) === null || _b === void 0 ? void 0 : _b.forEach(function (key) {\n var exp = exports[key];\n exp.interfaces.forEach(function (int) {\n if (int.components) {\n componentList.push.apply(componentList, int.components);\n }\n });\n });\n return componentList;\n };\n this.isControlledByInterface = function (componentName) {\n return _this.getComponents().indexOf(componentName) != -1;\n };\n this.getProcessedArgValue = function (componentName) {\n var _a, _b;\n var processedArgValue;\n var interfaceData = _this.getInterfaceData();\n if (_this.model &&\n _this.model.getDerivedFunctions().getProcessedArgValue &&\n interfaceData != undefined) {\n processedArgValue = (_b = (_a = _this.model\n .getDerivedFunctions()) === null || _a === void 0 ? void 0 : _a.getProcessedArgValue) === null || _b === void 0 ? void 0 : _b.call(_a, componentName, interfaceData);\n }\n return processedArgValue;\n };\n this.getInterfaceData = function () {\n var _a, _b;\n var argValues;\n var exports = (_a = _this.getConfig().exports) !== null && _a !== void 0 ? _a : {};\n (_b = (0, Arrays_1.getKeys)(exports)) === null || _b === void 0 ? void 0 : _b.forEach(function (key) {\n var exp = exports[key];\n exp.interfaces.forEach(function (int) {\n var _a;\n var args = _this.getInterfaceArgs(key, int.interfaceId);\n if (args) {\n (_a = (0, Arrays_1.getKeys)(args)) === null || _a === void 0 ? void 0 : _a.forEach(function (key) {\n var _a;\n (_a = (0, Arrays_1.getKeys)(args[key])) === null || _a === void 0 ? void 0 : _a.forEach(function (arg) {\n if (!argValues)\n argValues = [];\n argValues.push({\n interface: int.interfaceId.name,\n name: arg,\n value: args[key][arg],\n module: key,\n });\n });\n });\n }\n });\n });\n return argValues;\n };\n this.exports = exports;\n this.model = model;\n }\n MyExportInterfaces.prototype.getInterface = function (interfaceKey, interfaceId) {\n var _a;\n if (!this.exports[interfaceKey])\n return undefined;\n return (0, Arrays_1.find)((_a = this.exports[interfaceKey].interfaces) !== null && _a !== void 0 ? _a : [], function (i) { return JSON.stringify(i.interfaceId) === JSON.stringify(interfaceId); });\n };\n return MyExportInterfaces;\n}());\nexports.MyExportInterfaces = MyExportInterfaces;\n//# sourceMappingURL=exports.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MyImportInterfaces = exports.createImportInterfaces = void 0;\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar AutoModuleHelpers_1 = require(\"../autoModule/AutoModuleHelpers\");\nvar InterruptActions_1 = require(\"../interrupts/InterruptActions\");\nvar Utils_1 = require(\"../Utils\");\nvar createImportInterfaces = function (imports, model, config) {\n return new MyImportInterfaces(imports, model, config);\n};\nexports.createImportInterfaces = createImportInterfaces;\nvar MyImportInterfaces = /** @class */ (function () {\n function MyImportInterfaces(imports, model, config) {\n var _this = this;\n this.createProcessedImports = function (stage) {\n var _a;\n var processedImports = _this.filterImports();\n (_a = (0, Utils_1.getKeys)(processedImports !== null && processedImports !== void 0 ? processedImports : {})) === null || _a === void 0 ? void 0 : _a.forEach(function (key) {\n var _a;\n var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;\n processedImports = __assign(__assign({}, processedImports), (_a = {}, _a[key] = __assign(__assign(__assign({}, processedImports[key]), { args: stage === \"arguments\"\n ? (_b = _this.model) === null || _b === void 0 ? void 0 : _b.getDerivedFunction(key + \"_args\")\n : (_c = processedImports[key]) === null || _c === void 0 ? void 0 : _c.args, results: stage === \"results\"\n ? _this.getResults(processedImports, key)\n : (_d = processedImports[key]) === null || _d === void 0 ? void 0 : _d.results, name: (_e = _this.model.getDerivedFunction(\"importName\", key)) !== null && _e !== void 0 ? _e : (_f = processedImports[key]) === null || _f === void 0 ? void 0 : _f.name, handle: (0, AutoModuleHelpers_1.getProcessedHandle)(processedImports[key].handle, processedImports[key].payload), options: (_j = _this.getProcessedImportOptions(key, (_h = (_g = processedImports[key]) === null || _g === void 0 ? void 0 : _g.options) !== null && _h !== void 0 ? _h : [])) !== null && _j !== void 0 ? _j : processedImports[key].options, shouldAssignDescendantsInOrder: (_m = (_l = (_k = _this.model\n .getDerivedFunctions()).updateImportWithShouldAssignDescOrder) === null || _l === void 0 ? void 0 : _l.call(_k, key)) !== null && _m !== void 0 ? _m : processedImports[key].shouldAssignDescendantsInOrder }), (_p = (_o = _this.model\n .getDerivedFunctions()).overrideImport) === null || _p === void 0 ? void 0 : _p.call(_o, key, processedImports[key])), _a));\n });\n return processedImports;\n };\n this.filterImports = function () {\n var _a, _b, _c;\n var filteredImports = (_c = (_b = (_a = _this.model.getDerivedFunctions()).filterImports) === null || _b === void 0 ? void 0 : _b.call(_a, _this.imports)) !== null && _c !== void 0 ? _c : _this.imports;\n return filteredImports;\n };\n //Populates option labels with a custom module name if provided in export payload\n this.getProcessedImportOptions = function (importKey, options) {\n var modifiedOptions = [];\n options === null || options === void 0 ? void 0 : options.forEach(function (option, index) {\n var _a, _b;\n modifiedOptions[index] = __assign(__assign({}, option), { handle: __assign(__assign({}, option.handle), { label: (_a = _this.model.getDerivedFunction(\"importOptionLabel\", importKey, option)) !== null && _a !== void 0 ? _a : (_b = option.payload) === null || _b === void 0 ? void 0 : _b.moduleName }) });\n });\n return modifiedOptions;\n };\n this.getResults = function (imports, key) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;\n var importResults = (_a = _this.model) === null || _a === void 0 ? void 0 : _a.getDerivedFunction(key + \"_results\");\n if (importResults)\n return importResults;\n var imp = imports[key];\n if (imp.interfaceId.name === \"initializer-system\") {\n var initResults = {\n initializer: {\n name: _this.model.getName() + \"_Initialize\",\n header: (_c = (_b = _this.model) === null || _b === void 0 ? void 0 : _b.getDerivedFunction(\"headerFile\")) !== null && _c !== void 0 ? _c : {\n name: _this.model.getName().toLowerCase() + \".h\",\n path: \"include/\",\n },\n },\n };\n return initResults;\n }\n else if (imp.interfaceId.name === \"pin-standard\") {\n return (_e = (_d = _this.model).getPCPHelper) === null || _e === void 0 ? void 0 : _e.call(_d).getData();\n }\n else if (imp.interfaceId.name === \"pins-interface\") {\n return (_g = (_f = _this.model).getPCPHelper) === null || _g === void 0 ? void 0 : _g.call(_f).getData();\n }\n else if (imp.interfaceId.name === \"interrupt-standard\") {\n var interrupts_1 = [];\n var actions_1 = {};\n var isHighPriority_1 = (_k = (_j = (_h = _this.model) === null || _h === void 0 ? void 0 : _h.getImportValue(\"interrupt_standard\")) === null || _j === void 0 ? void 0 : _j.isHighPriority) !== null && _k !== void 0 ? _k : {};\n (_o = (0, Utils_1.values)((_m = (_l = _this.model.getHardware()) === null || _l === void 0 ? void 0 : _l.getPeripheral().interrupts) !== null && _m !== void 0 ? _m : {})) === null || _o === void 0 ? void 0 : _o.forEach(function (interrupt) {\n var _a, _b;\n var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1;\n if (!interrupt)\n return;\n var filterInterrupt = (_e = (_d = (_c = _this.model\n .getDerivedFunctions()).filterInterrupts) === null || _d === void 0 ? void 0 : _d.call(_c, interrupt.name)) !== null && _e !== void 0 ? _e : true;\n if (filterInterrupt) {\n var interruptComponentName = (_g = (_f = _this.getInterruptComponentName(interrupt.name)) !== null && _f !== void 0 ? _f : interrupt.name.toLowerCase()) !== null && _g !== void 0 ? _g : \"\";\n var isEnabled_1 = (_h = _this.model.isComponentValue(interruptComponentName !== null && interruptComponentName !== void 0 ? interruptComponentName : \"\")) !== null && _h !== void 0 ? _h : false;\n interrupts_1.push({\n //Standard\n name: (_j = interrupt.name) !== null && _j !== void 0 ? _j : \"\",\n module: (_m = (_l = (_k = _this.model.getHardware()) === null || _k === void 0 ? void 0 : _k.getName()) !== null && _l !== void 0 ? _l : _this.model.getName()) !== null && _m !== void 0 ? _m : \"\",\n isEnabled: isEnabled_1,\n //Callback Extension\n isrCallback: (_r = (_q = (_o = _this.model) === null || _o === void 0 ? void 0 : (_p = _o.getDerivedFunctions()).isrCallback) === null || _q === void 0 ? void 0 : _q.call(_p, interrupt.name)) !== null && _r !== void 0 ? _r : {\n name: _this.model.getName() + interrupt.handlerName,\n header: (_v = (_u = (_s = _this.model) === null || _s === void 0 ? void 0 : (_t = _s.getDerivedFunctions()).headerFile) === null || _u === void 0 ? void 0 : _u.call(_t)) !== null && _v !== void 0 ? _v : {\n name: _this.model.getName().toLowerCase() + \".h\",\n path: \"include/\",\n },\n },\n generateISR: isEnabled_1,\n //Priority Extension\n isHighPriority: (_w = isHighPriority_1[interrupt.name]) !== null && _w !== void 0 ? _w : true,\n });\n var isEnableActions = (_a = ((_z = (_y = (_x = _this.model\n .getDerivedFunctions()).getInterruptActions) === null || _y === void 0 ? void 0 : _y.call(_x, interrupt.name, \"isEnabled\")) !== null && _z !== void 0 ? _z : [])).concat.apply(_a, (0, InterruptActions_1.getDefaultInterruptActions)(_this.model, interruptComponentName));\n if (((_1 = (_0 = _this.model.getState()) === null || _0 === void 0 ? void 0 : _0.contentMeta) === null || _1 === void 0 ? void 0 : _1.isUserEnRegRWMode) === true) {\n isEnableActions = _this.getRegisterEditorInterruptActions(interruptComponentName);\n }\n var isEnableAction = (0, Arrays_1.find)(isEnableActions, function (action) { return action[\"validFor\"] !== isEnabled_1; });\n actions_1 = __assign(__assign({}, actions_1), (_b = {}, _b[interrupt.name] = __assign(__assign({}, actions_1 === null || actions_1 === void 0 ? void 0 : actions_1[interrupt.name]), { isEnabled: isEnableAction ? [isEnableAction] : [] }), _b));\n }\n });\n return {\n interruptList: interrupts_1,\n interruptActions: actions_1,\n moduleName: (_p = _this.model.getName()) !== null && _p !== void 0 ? _p : \"\",\n };\n }\n else if (imp.interfaceId.name === \"api-prefix-registration\") {\n var apiPrefixResults = {\n apiPrefix: (_s = (_r = (_q = _this.model) === null || _q === void 0 ? void 0 : _q.getDerivedFunctions()) === null || _r === void 0 ? void 0 : _r.apiPrefix) !== null && _s !== void 0 ? _s : (_t = _this.model) === null || _t === void 0 ? void 0 : _t.getComponentValue(\"componentName\"),\n moduleName: (_u = _this.model) === null || _u === void 0 ? void 0 : _u.getName(),\n };\n return apiPrefixResults;\n }\n };\n this.getInterruptComponentName = function (interruptName) {\n var _a, _b;\n return (_b = (_a = _this.model.getDerivedFunctions()) === null || _a === void 0 ? void 0 : _a.interruptComponentName) === null || _b === void 0 ? void 0 : _b.call(_a, interruptName);\n };\n this.getRegisterEditorInterruptActions = function (interruptComponentName) {\n var actionIfEnabled = {\n validFor: true,\n action: {\n type: \"[FORM] SUBMIT\",\n payload: {\n tabId: \"register\",\n value: true,\n path: \"interrupts.\" + interruptComponentName.toUpperCase()\n }\n }\n };\n var actionIfDisabled = {\n validFor: false,\n action: {\n type: \"[FORM] SUBMIT\",\n payload: {\n tabId: \"register\",\n value: false,\n path: \"interrupts.\" + interruptComponentName.toUpperCase()\n }\n }\n };\n return [actionIfEnabled, actionIfDisabled];\n };\n this.imports = imports;\n this.model = model;\n }\n return MyImportInterfaces;\n}());\nexports.MyImportInterfaces = MyImportInterfaces;\n//# sourceMappingURL=imports.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getDefaultInterruptActions = exports.InterruptActionsBuilder = void 0;\nvar AutoModuleHelpers_1 = require(\"../autoModule/AutoModuleHelpers\");\nvar InterruptActionsBuilder = /** @class */ (function () {\n function InterruptActionsBuilder(model) {\n var _this = this;\n this.actions = [];\n this.createActionFor = function (componentName) {\n var _a;\n _this.actions = _this.buildActions();\n _this.curComponent = componentName\n ? (_a = _this.model.getComponent(componentName)) === null || _a === void 0 ? void 0 : _a.component\n : undefined;\n _this.curComponentName = componentName;\n _this.tableRowId = undefined;\n _this.tableRowCol = undefined;\n _this.tableCellPath = undefined;\n return _this;\n };\n this.addActionIfEnabled = function (actionValue) {\n if (!_this.curComponentName || !_this.curComponent)\n return _this;\n if (!_this.isActionValueAcceptable(_this.curComponent, actionValue))\n return _this;\n var payload = {\n tabId: _this.curComponent.tabs[0],\n value: actionValue,\n };\n if (_this.curComponent.category === \"table\") {\n if (!_this.tableCellPath)\n return _this;\n payload = __assign(__assign({}, payload), { path: \"\".concat(_this.curComponent.group, \".\").concat(_this.curComponent.name, \".\").concat(_this.tableCellPath), rowId: _this.tableRowId });\n }\n else {\n payload = __assign(__assign({}, payload), { path: \"\".concat(_this.curComponent.group, \".\").concat(_this.curComponent.name) });\n }\n _this.actions.push({\n validFor: true,\n action: {\n type: \"[FORM] SUBMIT\",\n payload: payload,\n },\n });\n return _this;\n };\n this.addActionIfDisabled = function (actionValue) {\n if (!_this.curComponentName || !_this.curComponent)\n return _this;\n if (!_this.isActionValueAcceptable(_this.curComponent, actionValue))\n return _this;\n var payload = {\n tabId: _this.curComponent.tabs[0],\n value: actionValue,\n };\n if (_this.curComponent.category === \"table\") {\n if (!_this.tableCellPath)\n return _this;\n payload = __assign(__assign({}, payload), { path: \"\".concat(_this.curComponent.group, \".\").concat(_this.curComponent.name, \".\").concat(_this.tableCellPath), rowId: _this.tableRowId });\n }\n else {\n payload = __assign(__assign({}, payload), { path: \"\".concat(_this.curComponent.group, \".\").concat(_this.curComponent.name) });\n }\n _this.actions.push({\n validFor: false,\n action: {\n type: \"[FORM] SUBMIT\",\n payload: payload,\n },\n });\n return _this;\n };\n this.setPathToTableCell = function (rowIndex, colName) {\n var _a;\n if (((_a = _this.curComponent) === null || _a === void 0 ? void 0 : _a.category) !== \"table\")\n return _this;\n _this.tableRowId = rowIndex;\n _this.tableRowCol = colName;\n _this.tableCellPath = \"\".concat(rowIndex, \".\").concat(colName);\n return _this;\n };\n this.isActionValueAcceptable = function (component, actionValue) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n if (component.category === \"hardware\") {\n if (component.type === \"ComboBox\") {\n var options = (_a = (0, AutoModuleHelpers_1.getSettingFromComponent)(_this.model, component)) === null || _a === void 0 ? void 0 : _a.options;\n if (!(options === null || options === void 0 ? void 0 : options.some(function (option) {\n var _a;\n return option[(_a = component[\"displayOptionSetting\"]) !== null && _a !== void 0 ? _a : \"alias\"] ===\n actionValue;\n }))) {\n return false;\n }\n }\n else if (component.type === \"boolean\") {\n // if (actionValue !== \"enabled\" && actionValue !== \"disabled\") {\n if (actionValue !== true && actionValue !== false) {\n return false;\n }\n }\n }\n else if (component.category === \"software\") {\n if (component.type === \"ComboBox\") {\n var options = component[\"options\"];\n if (!(options === null || options === void 0 ? void 0 : options.some(function (option) { return option === actionValue; }))) {\n return false;\n }\n }\n else if (component.type === \"boolean\") {\n if (actionValue !== true && actionValue !== false) {\n return false;\n }\n }\n }\n else if (component.category === \"table\") {\n if (!_this.tableRowCol)\n return false;\n if (((_c = (_b = component.columns) === null || _b === void 0 ? void 0 : _b[_this.tableRowCol]) === null || _c === void 0 ? void 0 : _c.type) === \"ComboBox\") {\n var options = (_f = (_e = (_d = component.columns) === null || _d === void 0 ? void 0 : _d[_this.tableRowCol]) === null || _e === void 0 ? void 0 : _e.defaultValue) === null || _f === void 0 ? void 0 : _f[\"options\"];\n if (!(options === null || options === void 0 ? void 0 : options.some(function (option) { return option === actionValue; }))) {\n return false;\n }\n }\n else if (((_h = (_g = component.columns) === null || _g === void 0 ? void 0 : _g[_this.tableRowCol]) === null || _h === void 0 ? void 0 : _h.type) === \"boolean\") {\n if (actionValue !== true && actionValue !== false) {\n return false;\n }\n }\n }\n return true;\n };\n this.buildActions = function () {\n return _this.actions;\n };\n this.model = model;\n }\n InterruptActionsBuilder.createActionBuilder = function (model) {\n return new InterruptActionsBuilder(model);\n };\n return InterruptActionsBuilder;\n}());\nexports.InterruptActionsBuilder = InterruptActionsBuilder;\nfunction getDefaultInterruptActions(model, componentName) {\n if (!componentName)\n return [];\n return (InterruptActionsBuilder.createActionBuilder(model)\n .createActionFor(componentName)\n .addActionIfEnabled(true)\n .addActionIfDisabled(false)\n // .addActionIfEnabled(\"enabled\")\n // .addActionIfDisabled(\"disabled\")\n .buildActions());\n}\nexports.getDefaultInterruptActions = getDefaultInterruptActions;\n//# sourceMappingURL=InterruptActions.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PCPHelper = exports.stateActionBuilder = void 0;\nvar PCPStateActionBuilder_1 = require(\"./PCPStateActionBuilder\");\nfunction stateActionBuilder(pinRow) {\n return new PCPStateActionBuilder_1.PCPStateActionBuilder(pinRow);\n}\nexports.stateActionBuilder = stateActionBuilder;\nvar PCPHelper = /** @class */ (function () {\n function PCPHelper() {\n var _this = this;\n this.pinCallbacks = undefined;\n this.getAllFilteredRows = function (allRows) {\n var validRows = [];\n allRows.forEach(function (eachRow) {\n var userRowData = _this.userRowData(eachRow);\n // check the validity of user provided data\n if (userRowData && _this.isRowValid(userRowData)) {\n validRows.push(userRowData);\n }\n });\n return validRows;\n };\n this.isRowValid = function (eachRow) {\n if ((eachRow === null || eachRow === void 0 ? void 0 : eachRow.name) &&\n (eachRow === null || eachRow === void 0 ? void 0 : eachRow.module) &&\n (eachRow === null || eachRow === void 0 ? void 0 : eachRow.function) &&\n (eachRow === null || eachRow === void 0 ? void 0 : eachRow.direction) &&\n (eachRow === null || eachRow === void 0 ? void 0 : eachRow.behaviour)) {\n return true;\n }\n else {\n return false;\n }\n };\n this.userRowData = function (eachRow) {\n var _a;\n var eachrowret = eachRow;\n if ((_a = _this.pinCallbacks) === null || _a === void 0 ? void 0 : _a.getRowData) {\n eachrowret = _this.pinCallbacks.getRowData(__assign({}, eachRow));\n }\n return eachrowret;\n };\n this.getAllRows = function () {\n var _a, _b, _c, _d, _e;\n var pinRows = (_d = (_c = (_b = (_a = _this.pinCallbacks) === null || _a === void 0 ? void 0 : _a.getPinsData) === null || _b === void 0 ? void 0 : _b.call(_a)) === null || _c === void 0 ? void 0 : _c.rows) !== null && _d !== void 0 ? _d : [];\n var userdata = {};\n if ((_e = _this.pinCallbacks) === null || _e === void 0 ? void 0 : _e.getCompletePinData) {\n userdata = _this.pinCallbacks.getCompletePinData();\n if (userdata && (userdata === null || userdata === void 0 ? void 0 : userdata.rows)) {\n pinRows = userdata.rows;\n }\n }\n return pinRows;\n };\n this.getData = function () {\n var retData = {\n rows: _this.getAllFilteredRows(_this.getAllRows()),\n };\n return retData;\n };\n }\n PCPHelper.prototype.stateActionBuilder = function (pinRow) {\n return stateActionBuilder(pinRow);\n };\n PCPHelper.prototype.setCallbacks = function (callbacks) {\n this.pinCallbacks = callbacks;\n };\n return PCPHelper;\n}());\nexports.PCPHelper = PCPHelper;\n//# sourceMappingURL=PCPHelper.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PCPStateActionBuilder = void 0;\nvar types_1 = require(\"@microchip/pins-interface/lib/types\");\nvar PCPStateActionBuilder = /** @class */ (function () {\n function PCPStateActionBuilder(pinRow) {\n this.actionDataArr = [];\n this.pinRow = pinRow;\n this.tabId = \"main\";\n }\n PCPStateActionBuilder.prototype.rowWithName = function (rowName) {\n this.rowName = rowName;\n return this;\n };\n /**\n *\n * @param tabId - default tabId is \"main\", please change this as per your needs.\n * @returns PCPStateActionBuilder\n */\n PCPStateActionBuilder.prototype.compWithTabId = function (tabId) {\n this.tabId = tabId;\n return this;\n };\n PCPStateActionBuilder.prototype.addIfLockedSetValue = function (pinRegEx, value, pinNameReEx) {\n this.actionDataArr.push({\n pinstate: types_1.pin_state.LOCKED,\n validFor: pinRegEx,\n validForpinNameReEx: pinNameReEx,\n value: value,\n actiontype: types_1.actiontype.SETACTION,\n });\n return this;\n };\n PCPStateActionBuilder.prototype.addIfLockedProvideAttribs = function (pinRegEx, attribs) {\n this.actionDataArr.push({\n pinstate: types_1.pin_state.LOCKED,\n validFor: pinRegEx,\n value: this.formAttribs(attribs),\n actiontype: types_1.actiontype.ATTRIBACTION,\n });\n return this;\n };\n PCPStateActionBuilder.prototype.addIfUnlockedProvideAttribs = function (pinRegEx, attribs) {\n this.actionDataArr.push({\n pinstate: types_1.pin_state.UNLOCK,\n validFor: pinRegEx,\n value: this.formAttribs(attribs),\n actiontype: types_1.actiontype.ATTRIBACTION,\n });\n return this;\n };\n PCPStateActionBuilder.prototype.formAttribs = function (attribarray) {\n return {\n attribs: attribarray,\n };\n };\n PCPStateActionBuilder.prototype.addIfUnLockedSetValue = function (pinRegEx, value) {\n this.actionDataArr.push({\n pinstate: types_1.pin_state.UNLOCK,\n validFor: pinRegEx,\n value: value,\n actiontype: types_1.actiontype.SETACTION,\n });\n return this;\n };\n PCPStateActionBuilder.prototype.forComponent = function (component) {\n this.component = component;\n return this;\n };\n PCPStateActionBuilder.prototype.build = function () {\n var _this = this;\n var actionArr = [];\n if (this.pinRow.name === this.rowName) {\n this.actionDataArr.forEach(function (eachData) {\n var _a;\n var _b;\n var actionObj = {\n validFor: eachData.validFor,\n state: (_a = {},\n _a[eachData.pinstate] = {\n type: \"[FORM] SUBMIT\",\n payload: {\n tabId: _this.tabId,\n path: _this.component.group + \".\" + _this.component.name,\n value: eachData.value,\n },\n },\n _a),\n actiontype: (_b = eachData.actiontype) !== null && _b !== void 0 ? _b : \"\",\n };\n if (eachData.validForpinNameReEx !== undefined) {\n actionObj.validForpinNameReEx = eachData.validForpinNameReEx;\n }\n actionArr.push(actionObj);\n });\n }\n return actionArr;\n };\n return PCPStateActionBuilder;\n}());\nexports.PCPStateActionBuilder = PCPStateActionBuilder;\n/*\n PCPHelper\n .stateActionBuilder(rowData)\n .rowWithName(\"dacoutx\")\n .forComponent(dacOPEnCompo)\n .addIfLockedSetValue(\"DAC1OUT1\", \"DACOUT1 Enabled and DACOUT2 Disabled\")\n .addIfLockedSetValue(\"DAC1OUT2\", \"DACOUT2 Enabled and DACOUT1 Disabled\")\n .addIfUnLockedSetValue(\".*\", \"DACOUT1 and DACOUT2 are Disabled\")\n .build()\n*/\n//# sourceMappingURL=PCPStateActionBuilder.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.process = void 0;\nvar AppModel_1 = require(\"./App/AppModel\");\nvar AutoModuleHelpers_1 = require(\"./autoModule/AutoModuleHelpers\");\nvar AutoModuleTemplates_1 = require(\"./autoModule/AutoModuleTemplates\");\nvar getConfigData_1 = require(\"./autoModule/getConfigData\");\nvar autoModuleView_1 = require(\"./autoModule/views/autoModuleView\");\nvar AnalyticsHelper_1 = require(\"./Analytics/AnalyticsHelper\");\n/**\n * @param initialModule\n * @param stage\n * @param getDerivedData\n */\nvar process = function (initialModule, stage, getDerivedData) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;\n initialModule = (0, AutoModuleHelpers_1.populateLoadedFiles)(initialModule);\n var model = (0, AppModel_1.getModel)(initialModule, getDerivedData);\n if (!model)\n return initialModule;\n model.processDynamicComps();\n var processedOutput = __assign({}, initialModule);\n processedOutput = __assign(__assign({}, processedOutput), { showRegisterEditor: (0, getConfigData_1.getConfigData)(model, true).showRegisterEditor });\n switch (stage) {\n case \"arguments\":\n processedOutput = __assign(__assign({}, processedOutput), { imports: (_a = model\n .getImportInterfaces()\n .createProcessedImports(stage)) !== null && _a !== void 0 ? _a : initialModule.imports });\n break;\n case \"payloads\":\n processedOutput = __assign(__assign({}, processedOutput), { exports: (_b = model\n .getExportInterfaces()\n .createProcessedExports()) !== null && _b !== void 0 ? _b : initialModule.exports, name: model.getName(), help: (_e = (_d = (_c = model === null || model === void 0 ? void 0 : model.getDerivedFunctions()) === null || _c === void 0 ? void 0 : _c.overrideModuleLevelHelp) === null || _d === void 0 ? void 0 : _d.call(_c)) !== null && _e !== void 0 ? _e : (0, getConfigData_1.getConfigData)(model, true).help });\n break;\n case \"results\":\n processedOutput = __assign(__assign({}, processedOutput), { imports: (_f = model\n .getImportInterfaces()\n .createProcessedImports(stage)) !== null && _f !== void 0 ? _f : initialModule.imports });\n break;\n case \"views\":\n {\n var customTemplateData = (_j = (_h = model === null || model === void 0 ? void 0 : (_g = model.getDerivedFunctions()).templateData) === null || _h === void 0 ? void 0 : _h.call(_g)) !== null && _j !== void 0 ? _j : {};\n var view = (0, autoModuleView_1.createAutoViewPayloads)(model);\n processedOutput = __assign(__assign({}, processedOutput), { payload: __assign(__assign({}, initialModule.payload), { auto: view, customView: (_l = (_k = model === null || model === void 0 ? void 0 : model.getDerivedFunctions()) === null || _k === void 0 ? void 0 : _k.getCustomView) === null || _l === void 0 ? void 0 : _l.call(_k, initialModule) }), templateData: customTemplateData, templates: (0, AutoModuleTemplates_1.getTemplates)(model), alerts: (_o = model === null || model === void 0 ? void 0 : (_m = model.getDerivedFunctions()).alerts) === null || _o === void 0 ? void 0 : _o.call(_m), name: model.getActiveName(), category: model.getCategory(), description: (_r = (_q = (_p = model === null || model === void 0 ? void 0 : model.getDerivedFunctions()) === null || _p === void 0 ? void 0 : _p.getModuleDescription) === null || _q === void 0 ? void 0 : _q.call(_p)) !== null && _r !== void 0 ? _r : (0, AutoModuleHelpers_1.getModuleDefaultDescription)(), globalNames: (_u = (_t = (_s = model === null || model === void 0 ? void 0 : model.getDerivedFunctions()) === null || _s === void 0 ? void 0 : _s.getGlobalNames) === null || _t === void 0 ? void 0 : _t.call(_s)) !== null && _u !== void 0 ? _u : [], analytics: (_x = (_w = (_v = model.getDerivedFunctions()).getAnalytics) === null || _w === void 0 ? void 0 : _w.call(_v)) !== null && _x !== void 0 ? _x : (0, AnalyticsHelper_1.getAnalyticsDefault)(model) });\n }\n break;\n default:\n return initialModule;\n }\n return processedOutput;\n};\nexports.process = process;\n//# sourceMappingURL=processor.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UidMapBuilder = void 0;\nvar UidMapBuilder = /** @class */ (function () {\n function UidMapBuilder() {\n this.uidMap = {};\n }\n UidMapBuilder.prototype.addDefaultRows = function (rowData) {\n var _this = this;\n rowData.forEach(function (row, rowCount) {\n var _a;\n _this.uidMap[row.uid] = (_a = row.rowId) !== null && _a !== void 0 ? _a : rowCount;\n });\n return this;\n };\n UidMapBuilder.prototype.addDynamicRows = function (tableState) {\n var _this = this;\n tableState.forEach(function (row) {\n var uid = row === null || row === void 0 ? void 0 : row.uid;\n if (uid && uid.indexOf(\"dynamicRow_\") > -1) {\n _this.incrementUidAndShift(uid, row.rowId);\n }\n });\n return this;\n };\n UidMapBuilder.prototype.removeRows = function (tableState) {\n var _this = this;\n tableState.forEach(function (row) {\n var uid = row === null || row === void 0 ? void 0 : row.uid;\n if (uid && (row === null || row === void 0 ? void 0 : row.dynamicallyRemoved)) {\n _this.uidMap[uid] = -1;\n }\n });\n return this;\n };\n UidMapBuilder.prototype.sortByValue = function () {\n var _this = this;\n var count = 0;\n var sortedUids = [];\n this.getUidKeys().forEach(function (uid) {\n var _a;\n sortedUids.push((_a = {}, _a[uid] = _this.uidMap[uid], _a));\n });\n sortedUids = sortedUids.sort(function (a, b) { return a[Object.keys(a)[0]] - b[Object.keys(b)[0]]; });\n sortedUids.forEach(function (uid) {\n var uidKey = Object.keys(uid)[0];\n if (_this.uidMap[uidKey] > -1) {\n _this.uidMap[uidKey] = count++;\n }\n });\n return this;\n };\n UidMapBuilder.prototype.create = function () {\n return this.uidMap;\n };\n UidMapBuilder.prototype.incrementUidAndShift = function (uid, rowId) {\n var _this = this;\n this.getUidKeys().forEach(function (uid) {\n if (_this.uidMap[uid] >= rowId) {\n _this.uidMap[uid]++;\n }\n });\n this.uidMap[uid] = rowId;\n };\n UidMapBuilder.prototype.getUidKeys = function () {\n return Object.keys(this.uidMap);\n };\n return UidMapBuilder;\n}());\nexports.UidMapBuilder = UidMapBuilder;\n//# sourceMappingURL=UidMapBuilder.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getHeaderStyle = exports.getCellStyle = exports.getTableUiSchema = exports.getTableActions = exports.getCellValidationInfo = exports.createTableUids = exports.overrideDefaultsAndFilterRows = exports.getValueBasedOnState = exports.getTableFormData = exports.removeRowFromTable = exports.addRowToTable = exports.addRowsToTable = exports.overrideCellValue = exports.createInitialRows = exports.getInitialTableFormData = exports.calculateColumnWidth = exports.isTableInState = exports.overrideTableDefaultsWithChanges = exports.getTableHelpers = exports.getTableComponentSchema = void 0;\nvar Tables_1 = require(\"@microchip/melody-automodule-interface/lib/src/Tables\");\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar UidMapBuilder_1 = require(\"./UidMapBuilder\");\nfunction getTableComponentSchema(component, viewModel) {\n var _a, _b, _c, _d;\n var tableColumns = {};\n for (var columnsKey in component.columns) {\n var rjsfType = void 0;\n if (component.columns[columnsKey].type === \"ComboBox\") {\n var colBox = component.columns[columnsKey];\n rjsfType = \"string\";\n tableColumns[columnsKey] = {\n type: rjsfType,\n title: colBox.title,\n default: getDefaultValue(viewModel.overrideDefaultValues, colBox, columnsKey, component.name),\n enum: getComboOptions(viewModel.overrideTableOptions, colBox, columnsKey, component.name),\n };\n }\n else {\n rjsfType = (_a = component === null || component === void 0 ? void 0 : component.columns[columnsKey]) === null || _a === void 0 ? void 0 : _a.type;\n tableColumns[columnsKey] = {\n type: rjsfType,\n title: component.columns[columnsKey].title,\n default: component.columns[columnsKey].defaultValue,\n };\n }\n }\n return {\n type: \"array\",\n title: (_d = (_c = (_b = viewModel.viewModel.derivedFunctions) === null || _b === void 0 ? void 0 : _b.overrideTitle) === null || _c === void 0 ? void 0 : _c.call(_b, component.name)) !== null && _d !== void 0 ? _d : component.description,\n items: {\n type: \"object\",\n properties: __assign({}, tableColumns),\n },\n };\n}\nexports.getTableComponentSchema = getTableComponentSchema;\nvar getTableHelpers = function () {\n return {\n addRowToTable: addRowToTable,\n addRowsToTable: addRowsToTable,\n calculateColumnWidth: calculateColumnWidth,\n createInitialRows: createInitialRows,\n createTableUids: createTableUids,\n getCellStyle: getCellStyle,\n getCellValidationInfo: getCellValidationInfo,\n getHeaderStyle: getHeaderStyle,\n getInitialTableFormData: getInitialTableFormData,\n getTableActions: getTableActions,\n getTableFormData: getTableFormData,\n getTableUiSchema: getTableUiSchema,\n getValueBasedOnState: getValueBasedOnState,\n isTableInState: isTableInState,\n overrideCellValue: overrideCellValue,\n overrideDefaultsAndFilterRows: overrideDefaultsAndFilterRows,\n overrideTableDefaultsWithChanges: overrideTableDefaultsWithChanges,\n removeRowFromTable: removeRowFromTable,\n createUidMapBuilder: function () { return new UidMapBuilder_1.UidMapBuilder(); },\n };\n};\nexports.getTableHelpers = getTableHelpers;\nfunction overrideTableDefaultsWithChanges(rowChanged, initialFormData, uidMap) {\n var value = __spreadArray([], initialFormData, true);\n if (Array.isArray(rowChanged)) {\n rowChanged.forEach(function (changedRow) {\n var changedUid = changedRow.uid;\n var rowChangeNum = uidMap[changedUid];\n value[rowChangeNum] = __assign(__assign({}, value[rowChangeNum]), changedRow);\n });\n }\n return value;\n}\nexports.overrideTableDefaultsWithChanges = overrideTableDefaultsWithChanges;\nfunction isTableInState(tabState, component) {\n return (tabState && tabState[component.group] && tabState[component.group][component.name]);\n}\nexports.isTableInState = isTableInState;\nfunction calculateColumnWidth(columns) {\n if (!columns) {\n return {};\n }\n var runningWidth = 0;\n var booleanFields = 0;\n var columnWidths = {};\n for (var columnName in columns) {\n if (columns[columnName].type === \"boolean\") {\n var width = 8;\n booleanFields++;\n columnWidths[columnName] = width;\n runningWidth += width;\n }\n }\n for (var columnName in columns) {\n if (columns[columnName].type !== \"boolean\") {\n var width = (100 - runningWidth) / (Object.keys(columns).length - booleanFields);\n columnWidths[columnName] = width;\n }\n }\n return columnWidths;\n}\nexports.calculateColumnWidth = calculateColumnWidth;\nfunction getInitialTableFormData(table, columnNames, model) {\n var value = [];\n var tableFormData = {};\n columnNames.forEach(function (columnName) {\n if (!tableFormData[columnName]) {\n tableFormData[columnName] = getDefaultValue(model.getDerivedFunctions().overrideTableDefaultValues, table.columns[columnName], columnName, table.name);\n }\n });\n if (!(table === null || table === void 0 ? void 0 : table.rowData)) {\n value = createInitialRows(table, tableFormData);\n }\n else {\n var rowId_1 = 0;\n table === null || table === void 0 ? void 0 : table.rowData.forEach(function (row) {\n var rowDataCols = Object.keys(row);\n columnNames.forEach(function (colName) {\n var _a;\n if (rowDataCols.indexOf(colName) === -1) {\n row = __assign(__assign({}, row), (_a = {}, _a[colName] = tableFormData[colName], _a.uid = createRowUid(Tables_1.RowPrefix.Default, rowId_1), _a));\n }\n });\n value.push(__assign(__assign({}, row), { uid: createRowUid(Tables_1.RowPrefix.Default, rowId_1), rowId: rowId_1 }));\n rowId_1++;\n });\n }\n return value;\n}\nexports.getInitialTableFormData = getInitialTableFormData;\nfunction createInitialRows(table, tableFormData) {\n var _a;\n if (tableFormData === void 0) { tableFormData = {}; }\n var value = [];\n var initialRows = (_a = table === null || table === void 0 ? void 0 : table.defaultRowNum) !== null && _a !== void 0 ? _a : 1;\n for (var i = 0; i < initialRows; i++) {\n value.push(__assign(__assign({}, tableFormData), { rowId: i, uid: createRowUid(Tables_1.RowPrefix.Default, i) }));\n }\n return value;\n}\nexports.createInitialRows = createInitialRows;\nfunction overrideCellValue(tableData, cell) {\n var modifiedTableData = __spreadArray([], tableData, true);\n modifiedTableData[cell.rowId][cell.columnName] = cell.value;\n return modifiedTableData;\n}\nexports.overrideCellValue = overrideCellValue;\nfunction addRowsToTable(tableData, columns, newRow, numberOfRows) {\n if (numberOfRows <= 0) {\n return tableData;\n }\n var value = addRowToTable(tableData, columns, __assign(__assign({}, newRow), { uid: Tables_1.RowPrefix.Dynamic + (numberOfRows - 1) }));\n return addRowsToTable(value, columns, newRow, numberOfRows - 1);\n}\nexports.addRowsToTable = addRowsToTable;\nfunction addRowToTable(tableData, columns, newRow) {\n var _a;\n var columnNames = Object.keys(columns);\n var newRowCols = Object.keys(newRow);\n var newRowId = newRow.rowId;\n var filteredTableTemp = [];\n if (tableData.length === 0) {\n filteredTableTemp.push(newRow);\n return filteredTableTemp;\n }\n if (newRowId != null) {\n columnNames.forEach(function (colName) {\n var _a;\n var _b, _c;\n var defaultColumnWidth = calculateColumnWidth(columns);\n if (newRowCols.indexOf(colName) === -1) {\n newRow = __assign(__assign({}, newRow), (_a = {}, _a[colName] = (_c = (_b = columns[colName].defaultValue) === null || _b === void 0 ? void 0 : _b[\"value\"]) !== null && _c !== void 0 ? _c : columns[colName].defaultValue, _a.columnWidth = columns[colName].columnWidth\n ? columns[colName].columnWidth + \"%\"\n : defaultColumnWidth[colName] + \"%\", _a));\n }\n });\n var tableFirstHalf = tableData.slice(0, newRowId);\n var tableSecondHalf = tableData.slice(newRowId);\n for (var i = 0; i < tableSecondHalf.length; i++) {\n var currentRowId = tableSecondHalf[i].rowId;\n tableSecondHalf[i] = __assign(__assign({}, tableSecondHalf[i]), { rowId: currentRowId + 1 });\n var actions = (_a = tableSecondHalf[i]) === null || _a === void 0 ? void 0 : _a.actions;\n if (actions) {\n tableSecondHalf[i][\"actions\"] = updateActionsRowId(actions, currentRowId + 1);\n }\n }\n tableFirstHalf.push(newRow);\n filteredTableTemp = __spreadArray(__spreadArray([], tableFirstHalf, true), tableSecondHalf, true);\n return filteredTableTemp;\n }\n return tableData;\n}\nexports.addRowToTable = addRowToTable;\nfunction removeRowFromTable(tableData, rowId) {\n var _a;\n var tableRemoved = tableData.filter(function (row) { return row.rowId !== rowId; });\n for (var i = 0; i < tableRemoved.length; i++) {\n tableRemoved[i].rowId = i;\n var actions = (_a = tableRemoved[i]) === null || _a === void 0 ? void 0 : _a.actions;\n if (actions) {\n tableRemoved[i][\"actions\"] = updateActionsRowId(actions, i);\n }\n }\n return tableRemoved;\n}\nexports.removeRowFromTable = removeRowFromTable;\nfunction getTableFormData(model, table, tab) {\n var _a;\n return ((_a = model.getDerivedFunction(table.name, table, model, tab)) !== null && _a !== void 0 ? _a : getValueBasedOnState(table, model, tab));\n}\nexports.getTableFormData = getTableFormData;\nfunction getValueBasedOnState(table, model, tab) {\n var columnNames = Object.keys(table.columns);\n var modelState = model.getState();\n var tabState = modelState ? modelState[tab] : undefined;\n var initialFormData = getInitialTableFormData(table, columnNames, model);\n if (!isTableInState(tabState, table)) {\n return initialFormData;\n }\n else {\n var rowChanged = tabState[table.group][table.name];\n var tableUids = createTableUids(table, tab, model, rowChanged);\n return overrideDefaultsAndFilterRows(rowChanged, initialFormData, table.columns, tableUids, table, tab);\n }\n}\nexports.getValueBasedOnState = getValueBasedOnState;\nfunction overrideDefaultsAndFilterRows(rowChanged, initialFormData, columns, tableUids, component, tab) {\n var modifiedForData = __spreadArray([], initialFormData, true);\n var keys = Object.keys(tableUids);\n rowChanged = rowChanged.filter(function (row) { return row != null; });\n rowChanged.forEach(function (row) {\n if (row.uid.indexOf(Tables_1.RowPrefix.Dynamic) > -1) {\n modifiedForData.push(row);\n }\n });\n var filteredModifed = [];\n keys.forEach(function (uid) {\n modifiedForData.forEach(function (row) {\n if (row.uid === uid) {\n filteredModifed[tableUids[uid]] = __assign(__assign({}, initialFormData[0]), row);\n }\n });\n });\n filteredModifed = filteredModifed.filter(function (row) { return row; });\n for (var i = 0; i < filteredModifed.length; i++) {\n if (filteredModifed[i].uid.indexOf(Tables_1.RowPrefix.Dynamic) > -1)\n continue;\n filteredModifed[i].rowId++;\n }\n var _loop_1 = function (i) {\n Object.keys(columns).forEach(function (columnName) {\n modifiedForData[i].actions = updateActionsRowId(createDefaultTableAction(component, i, columnName, tab, tableUids), i);\n });\n };\n for (var i = 0; i < modifiedForData.length; i++) {\n _loop_1(i);\n }\n return overrideTableDefaultsWithChanges(rowChanged, filteredModifed, tableUids);\n}\nexports.overrideDefaultsAndFilterRows = overrideDefaultsAndFilterRows;\nfunction createTableUids(component, tab, model, tableState) {\n var _a, _b, _c;\n var table = component;\n var dynamicTableData = model === null || model === void 0 ? void 0 : model.getDerivedFunction(component.name, component, model, tab);\n if (dynamicTableData) {\n var uidMap_1 = {};\n var rowNum_1 = 0;\n dynamicTableData.forEach(function (entry) {\n var uid = entry === null || entry === void 0 ? void 0 : entry.uid;\n if (uid !== undefined) {\n uidMap_1[uid] = rowNum_1++;\n }\n });\n return uidMap_1;\n }\n var rowData = table[\"rowData\"];\n if (!dynamicTableData && rowData) {\n var _loop_2 = function (i) {\n if (!rowData[i].uid) {\n rowData[i].uid = createRowUid(Tables_1.RowPrefix.Default, i);\n }\n rowData[i].rowId =\n (_b = (_a = (0, Arrays_1.find)(tableState !== null && tableState !== void 0 ? tableState : [], function (row) { return row.uid === (rowData === null || rowData === void 0 ? void 0 : rowData[i].uid); })) === null || _a === void 0 ? void 0 : _a.rowId) !== null && _b !== void 0 ? _b : rowData[i].rowId;\n };\n for (var i = 0; i < rowData.length; i++) {\n _loop_2(i);\n }\n }\n else {\n rowData =\n dynamicTableData !== null && dynamicTableData !== void 0 ? dynamicTableData : createInitialRows(table).map(function (row) {\n var _a, _b;\n return __assign(__assign({}, (row !== null && row !== void 0 ? row : {})), { rowId: (_b = (_a = (0, Arrays_1.find)(tableState !== null && tableState !== void 0 ? tableState : [], function (r) { return r.uid === (row === null || row === void 0 ? void 0 : row.uid); })) === null || _a === void 0 ? void 0 : _a.rowId) !== null && _b !== void 0 ? _b : row.rowId });\n });\n }\n var uidMapBuilder = (_c = model === null || model === void 0 ? void 0 : model.getTableHelpers().createUidMapBuilder()) !== null && _c !== void 0 ? _c : (0, exports.getTableHelpers)().createUidMapBuilder();\n return uidMapBuilder\n .addDefaultRows(rowData)\n .addDynamicRows(tableState !== null && tableState !== void 0 ? tableState : [])\n .removeRows(tableState !== null && tableState !== void 0 ? tableState : [])\n .sortByValue()\n .create();\n}\nexports.createTableUids = createTableUids;\nfunction getCellValidationInfo(component) {\n var table = component;\n var colInfo = [];\n var columns = table.columns;\n for (var column in columns) {\n var colData = table.columns[column];\n if (colData === null || colData === void 0 ? void 0 : colData[\"cellValidator\"]) {\n colInfo.push({\n type: colData[\"type\"],\n minValue: colData[\"cellValidator\"][\"minValue\"],\n maxValue: colData[\"cellValidator\"][\"maxValue\"],\n errMessage: colData[\"cellValidator\"][\"errorMessage\"],\n errTitle: colData[\"cellValidator\"][\"errorTitle\"],\n cValidation: colData[\"cellValidator\"][\"cValidation\"],\n cValidationErrTitle: colData[\"cellValidator\"][\"cValidationErrorTitle\"],\n cValidationErrMessage: colData[\"cellValidator\"][\"cValidationErrorMessage\"],\n });\n }\n }\n return colInfo;\n}\nexports.getCellValidationInfo = getCellValidationInfo;\nfunction getTableActions(component, tab, model, uids, rowFormData) {\n var _a, _b, _c, _d, _e;\n var table = component;\n var dynamicTableData;\n if (!rowFormData) {\n dynamicTableData = model === null || model === void 0 ? void 0 : model.getDerivedFunction(component.name, component, model, tab);\n }\n var rowData = (_b = (_a = rowFormData !== null && rowFormData !== void 0 ? rowFormData : dynamicTableData) !== null && _a !== void 0 ? _a : table[\"rowData\"]) !== null && _b !== void 0 ? _b : createInitialRows(table);\n var columnNames = Object.keys(table.columns);\n var tableActions = { table: {} };\n var rowCount = 0;\n var tableState = (_e = (_d = (_c = model === null || model === void 0 ? void 0 : model.getState()) === null || _c === void 0 ? void 0 : _c[tab]) === null || _d === void 0 ? void 0 : _d[component.group]) === null || _e === void 0 ? void 0 : _e[component.name];\n rowData.forEach(function (row) {\n columnNames.forEach(function (columnName) {\n var _a, _b, _c, _d;\n if (!tableActions[\"table\"][row.uid]) {\n tableActions[\"table\"][row.uid] = {};\n }\n var uid;\n for (var uidsKey in uids) {\n if (uids[uidsKey] === row.rowId) {\n uid = uidsKey;\n }\n }\n uid = uid !== null && uid !== void 0 ? uid : createRowUid(Tables_1.RowPrefix.Default, rowCount);\n var defaultAction = createDefaultTableAction(component, rowCount, columnName, tab, uid);\n if (tableState) {\n var ind_1 = -1;\n var filtered = tableState.filter(function (row, index) {\n ind_1 = index;\n return row.uid === uid;\n });\n if (filtered.length) {\n defaultAction = createDefaultTableAction(component, ind_1, columnName, tab, uid !== null && uid !== void 0 ? uid : createRowUid(Tables_1.RowPrefix.Default, rowCount));\n }\n }\n if (component.columns[columnName].type == \"ComboBox\") {\n defaultAction[\"payload\"] = __assign(__assign({}, defaultAction[\"payload\"]), { options: getComboOptions((_a = model === null || model === void 0 ? void 0 : model.getDerivedFunctions()) === null || _a === void 0 ? void 0 : _a.overrideTableOptions, table.columns[columnName], columnName, component.name) });\n }\n var cellAction = (_c = (_b = row.actions) === null || _b === void 0 ? void 0 : _b[columnName]) !== null && _c !== void 0 ? _c : defaultAction;\n tableActions[\"table\"][row.uid][columnName] =\n (_d = model === null || model === void 0 ? void 0 : model.getDerivedFunction(\"getActions\", table.name, cellAction)) !== null && _d !== void 0 ? _d : cellAction;\n });\n rowCount++;\n });\n var uidKeys = Object.keys(uids);\n uidKeys.forEach(function (uidKey) {\n columnNames.forEach(function (columnName) {\n if (uids[uidKey] > -1) {\n if (!tableActions[\"table\"][uidKey]) {\n tableActions[\"table\"][uidKey] = {};\n tableActions[\"table\"][uidKey][columnName] = createDefaultTableAction(table, uids[uidKey], columnName, tab, uidKey);\n }\n else if (!tableActions[\"table\"][uidKey][columnName]) {\n tableActions[\"table\"][uidKey][columnName] = createDefaultTableAction(table, uids[uidKey], columnName, tab, uidKey);\n }\n }\n });\n });\n return JSON.stringify(tableActions);\n}\nexports.getTableActions = getTableActions;\nfunction getTableUiSchema(table, columns) {\n var _a, _b;\n var tableUi = {\n tableCols: columns,\n search: table[\"isSearchable\"],\n striped: false,\n bordered: false,\n };\n if (table[\"canRemoveRows\"]) {\n tableUi = __assign(__assign({}, tableUi), { rightActions: getTableRightActions() });\n }\n if (table[\"canInsertRows\"]) {\n tableUi = __assign(__assign({}, tableUi), { leftActions: getTableLeftActions() });\n }\n if (table.canMoveRowDown) {\n tableUi = __assign(__assign({}, tableUi), { leftActions: ((_a = tableUi.leftActions) !== null && _a !== void 0 ? _a : []).concat(getTableMoveRowActions()[0]) });\n }\n if (table.canMoveRowUp) {\n tableUi = __assign(__assign({}, tableUi), { leftActions: ((_b = tableUi.leftActions) !== null && _b !== void 0 ? _b : []).concat(getTableMoveRowActions()[1]) });\n }\n return {\n \"ui:field\": \"table\",\n className: \"col-md-12 individualComponent\",\n table: __assign({}, tableUi),\n };\n}\nexports.getTableUiSchema = getTableUiSchema;\nfunction getCellStyle(isReadonly) {\n var tdStyle = {\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n };\n if (isReadonly) {\n tdStyle[\"backgroundColor\"] = \"#EEEEEE\";\n }\n return tdStyle;\n}\nexports.getCellStyle = getCellStyle;\nfunction getHeaderStyle(maxHeaderSize, displayHeadersDiagonally) {\n return displayHeadersDiagonally\n ? getDiagonalHeaderStyles(maxHeaderSize)\n : getDefaultHeaderStyles(maxHeaderSize);\n}\nexports.getHeaderStyle = getHeaderStyle;\nfunction getDiagonalHeaderStyles(maxHeaderSize) {\n var headerSizeMultiplier = 3.3;\n return {\n position: \"relative\",\n bottom: \"-7px\",\n pointerEvents: \"none\",\n left: \"6px\",\n transformOrigin: \"bottom left\",\n transform: \"rotate(-30deg)\",\n paddingTop: \"\".concat(headerSizeMultiplier * maxHeaderSize, \"px\"),\n };\n}\nfunction getDefaultHeaderStyles(maxHeaderSize) {\n return {\n whiteSpace: \"unset\",\n maxWidth: \"\".concat(maxHeaderSize, \"px\"),\n };\n}\nfunction createDefaultTableAction(component, row, column, tab, uid) {\n return {\n type: \"[Table] EDIT_CELL\",\n payload: {\n tabId: tab !== null && tab !== void 0 ? tab : \"main\",\n path: \"\".concat(component === null || component === void 0 ? void 0 : component.group, \".\").concat(component === null || component === void 0 ? void 0 : component.name),\n column: column,\n value: \"%v\",\n uid: uid,\n rowId: row,\n },\n };\n}\nfunction updateActionsRowId(currentActions, rowId) {\n var modifiedActions = __assign({}, currentActions);\n var columnNames = Object.keys(currentActions);\n columnNames.forEach(function (columnName) {\n var _a;\n var payload = (_a = modifiedActions[columnName]) === null || _a === void 0 ? void 0 : _a[\"payload\"];\n if (payload) {\n var path = payload[\"path\"].split(\".\");\n path[path.length - 2] = rowId;\n modifiedActions[columnName][\"payload\"][\"rowId\"] = rowId;\n modifiedActions[columnName][\"payload\"][\"path\"] = path.join(\".\");\n }\n });\n return modifiedActions;\n}\nvar getDefaultValue = function (overrideDefaultValues, component, componentName, tableName) {\n var _a;\n return ((_a = overrideDefaultValues === null || overrideDefaultValues === void 0 ? void 0 : overrideDefaultValues(tableName, componentName)) !== null && _a !== void 0 ? _a : (component.type === \"ComboBox\"\n ? component.defaultValue.value\n : component.defaultValue));\n};\nvar getComboOptions = function (overrideOptions, component, componentName, tableName) {\n var _a;\n var dynamicOptions = overrideOptions === null || overrideOptions === void 0 ? void 0 : overrideOptions(tableName, componentName);\n return dynamicOptions && dynamicOptions.length > 0\n ? dynamicOptions\n : (_a = component === null || component === void 0 ? void 0 : component.defaultValue) === null || _a === void 0 ? void 0 : _a[\"options\"];\n};\nfunction getTableLeftActions() {\n return [\n {\n dataField: \"insert-button\",\n editable: false,\n displayName: \"\",\n columnWidth: \"21px\",\n width: \"21px\",\n tdStyle: { textOverflow: \"unset\" },\n },\n ];\n}\nfunction getTableRightActions() {\n return [\n {\n dataField: \"delete-button\",\n editable: false,\n displayName: \"\",\n columnWidth: \"21px\",\n width: \"21px\",\n tdStyle: { textOverflow: \"unset\" },\n },\n ];\n}\nfunction getTableMoveRowActions() {\n return [\n {\n dataField: \"row-down-button\",\n editable: false,\n displayName: \"\",\n columnWidth: \"21px\",\n width: \"21px\",\n },\n {\n dataField: \"row-up-button\",\n editable: false,\n displayName: \"\",\n columnWidth: \"21px\",\n width: \"21px\",\n },\n ];\n}\nfunction createRowUid(prefix, postfix) {\n return prefix + postfix;\n}\n//# sourceMappingURL=tables.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CreateRegisterView = void 0;\nvar Setting_1 = require(\"@microchip/scf-device/lib/Setting\");\nvar CalculateRegisterValue_1 = __importDefault(require(\"@microchip/scf-device/lib/CalculateRegisterValue\"));\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar ViewSchemaBuilder_1 = require(\"./ViewSchemaBuilder\");\nvar Model_1 = require(\"./Model\");\nvar throwError = function (message) {\n throw new Error(message);\n};\nvar CreateRegisterView = /** @class */ (function () {\n function CreateRegisterView(module) {\n var _this = this;\n this.registers = [];\n this.interrupts = [];\n /** Create a register view */\n this.create = function () {\n var schemaBuilder = new ViewSchemaBuilder_1.ViewSchemaBuilder()\n .withSchema({\n title: \"Register Settings\",\n type: \"object\",\n })\n .withTabName(\"Register Initialization\")\n .withExpandedDefault(false);\n _this.registers.forEach(function (reg) {\n schemaBuilder.addChildComponent(reg.getRegister().name, _this.createRegisterView(reg));\n });\n schemaBuilder.addChildComponent(\"interrupts\", _this.createInterruptView());\n return schemaBuilder.build();\n };\n /** Assign a numerical value to the given register. */\n this.withRegisterValue = function (register, value) {\n _this.getSafeRegisterViewModel(register).setValue(value);\n return _this;\n };\n /** Assign a string value to the given interrupt. */\n this.withInterruptValue = function (interrupt, value) {\n _this.getSafeInterruptViewModel(interrupt).setValue(value);\n return _this;\n };\n /** Assign the interrupt combobox options. */\n this.withInterruptOptions = function (interrupt, options) {\n _this.getSafeInterruptViewModel(interrupt).setOptions(options);\n return _this;\n };\n /** Make all settings in all registers editable */\n this.withAllEditable = function () {\n _this.registers.forEach(function (register) {\n return _this.withEditableRegister(register.getRegister());\n });\n _this.interrupts.forEach(function (interrupt) {\n _this.withEditableInterrupt(interrupt.getInterrupt());\n });\n return _this;\n };\n /** Make settings in the given register editable based on setting type*/\n this.withEditableRegister = function (register) {\n var _a, _b;\n _this.getSafeRegisterViewModel(register).setReadonly(false);\n if (register) {\n (_b = (0, Arrays_1.values)((_a = register === null || register === void 0 ? void 0 : register.settings) !== null && _a !== void 0 ? _a : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (setting) {\n if ((setting === null || setting === void 0 ? void 0 : setting.type) === \"R\") {\n _this.getSafeSettingViewModel(register, setting).setReadonly(true);\n }\n else {\n _this.getSafeSettingViewModel(register, setting).setReadonly(false);\n }\n });\n }\n return _this;\n };\n /** Make a setting in the given register and setting readonly based on setting*/\n this.withEditableRegisterSetting = function (register, setting) {\n if (register && setting) {\n if ((setting === null || setting === void 0 ? void 0 : setting.type) === \"R\") {\n _this.getSafeSettingViewModel(register, setting).setReadonly(true);\n }\n else {\n _this.getSafeSettingViewModel(register, setting).setReadonly(true);\n }\n }\n return _this;\n };\n this.withInVisibleRegister = function (register) {\n var _a, _b;\n _this.getSafeRegisterViewModel(register).setIsVisible(false);\n if (register) {\n (_b = (0, Arrays_1.values)((_a = register === null || register === void 0 ? void 0 : register.settings) !== null && _a !== void 0 ? _a : {})) === null || _b === void 0 ? void 0 : _b.forEach(function (setting) {\n _this.getSafeSettingViewModel(register, setting).setIsVisible(false);\n });\n }\n return _this;\n };\n this.withInVisibleRegisterSetting = function (register, setting) {\n if (register && setting) {\n _this.getSafeSettingViewModel(register, setting).setIsVisible(false);\n }\n return _this;\n };\n this.withUpdatedSettingDescription = function (register, setting, overrideTitle) {\n if (register && setting && overrideTitle) {\n _this.getSafeSettingViewModel(register, setting).setDescription(overrideTitle);\n }\n return _this;\n };\n /** Make register non-editable*/\n this.withNonEditableRegister = function (register) {\n _this.getSafeRegisterViewModel(register).setReadonly(true);\n return _this;\n };\n /** Make a given setting in register editable */\n this.withEditableSetting = function (register, setting) {\n _this.getSafeSettingViewModel(register, setting).setReadonly(false);\n return _this;\n };\n /** Make a given interrupt editable */\n this.withEditableInterrupt = function (interrupt) {\n _this.getSafeInterruptViewModel(interrupt).setReadonly(false);\n return _this;\n };\n /** Make a given interrupt Invisible */\n this.withInVisibleInterrupt = function (interrupt) {\n _this.getSafeInterruptViewModel(interrupt).setIsVisible(false);\n return _this;\n };\n /** Make a given interrupt non-editable */\n this.withNonEditableInterrupt = function (interrupt) {\n _this.getSafeInterruptViewModel(interrupt).setReadonly(true);\n return _this;\n };\n this.getSafeRegisterViewModel = function (register) {\n var _a;\n return (_a = _this.getRegisterViewModel(register !== null && register !== void 0 ? register : throwError(\"Invalid register parameter.\"))) !== null && _a !== void 0 ? _a : throwError(\"Cannot get register view model for '\".concat(register.name, \"'. Not found in this module.\"));\n };\n this.getSafeInterruptViewModel = function (interrupt) {\n var _a;\n return (_a = _this.getInterruptViewModel(interrupt !== null && interrupt !== void 0 ? interrupt : throwError(\"Invalid interrupt parameter.\"))) !== null && _a !== void 0 ? _a : throwError(\"Cannot get interrupt view model for '\".concat(interrupt.name, \"'. Not found in this module.\"));\n };\n this.getSafeSettingViewModel = function (register, setting) {\n var _a;\n return (_a = _this.getSafeRegisterViewModel(register).getSettingViewModel(setting !== null && setting !== void 0 ? setting : throwError(\"Invalid setting parameter.\"))) !== null && _a !== void 0 ? _a : throwError(\"Cannot get setting view model for '\".concat(setting.name, \"'. Not found in this module.\"));\n };\n this.getRegisterViewModel = function (register) {\n var name = register.name;\n return (0, Arrays_1.find)(_this.registers, function (rv) { return rv.getRegister().name === name; });\n };\n this.getInterruptViewModel = function (interrupt) {\n var name = interrupt.name;\n return (0, Arrays_1.find)(_this.interrupts, function (rv) { return rv.getInterrupt().name === name; });\n };\n this.createRegisterView = function (register) {\n var registerValue = register.getValue() || 0;\n var schemaBuilder = new ViewSchemaBuilder_1.ViewSchemaBuilder()\n .withSchema({\n type: \"object\",\n title: register.getName() +\n \" : \" +\n CalculateRegisterValue_1.default.toHexString(registerValue),\n description: register.getDescription(),\n properties: {},\n })\n .withUiSchema({})\n .withFormData({});\n register.forEachSetting(function (setting) {\n schemaBuilder.addChildComponent(setting.getName(), _this.createSettingView(setting));\n });\n return schemaBuilder.build();\n };\n this.createSettingView = function (setting) {\n return setting.hasOptions()\n ? _this.createHasOptionsViewSchema(setting)\n : _this.getNoOptionsViewSchema(setting);\n };\n this.createInterruptView = function () {\n var schemaBuilder = new ViewSchemaBuilder_1.ViewSchemaBuilder()\n .withSchema({\n type: \"object\",\n title: \"Interrupts\",\n properties: {},\n })\n .withUiSchema({})\n .withFormData({});\n _this.interrupts.forEach(function (int) {\n schemaBuilder.addChildComponent(int.getInterrupt().name, _this.createInterruptViewSchema(int));\n });\n return schemaBuilder.build();\n };\n this.module = module;\n this.registers = this.createRegisterViewModelForEachRegister(module);\n this.interrupts = this.createInterruptViewModelForEachInterrupt(module);\n }\n CreateRegisterView.prototype.createRegisterViewModelForEachRegister = function (module) {\n var _a;\n var models = [];\n var registers = (_a = module.registers) !== null && _a !== void 0 ? _a : {};\n Object.keys(registers).forEach(function (registerKey) {\n models.push(new Model_1.RegisterViewModel(registers[registerKey]));\n });\n return models;\n };\n CreateRegisterView.prototype.createInterruptViewModelForEachInterrupt = function (module) {\n var _a;\n var models = [];\n var interrupts = (_a = module.interrupts) !== null && _a !== void 0 ? _a : {};\n Object.keys(interrupts).forEach(function (interruptKey) {\n models.push(new Model_1.InterruptViewModel(interrupts[interruptKey]));\n });\n return models;\n };\n CreateRegisterView.prototype.getNoOptionsViewSchema = function (setting) {\n var _a;\n var uiSchemaBuilder = new ViewSchemaBuilder_1.UiSchemaBuilder()\n .withReadonlyValue(setting.getIsReadonly())\n .withWidget(!setting.getIsVisible() ? \"hidden\" : undefined)\n .withUiHelp(\"\".concat(setting.getName(), \": \") + ((_a = setting.getDescription()) !== null && _a !== void 0 ? _a : \"\"));\n return {\n schema: this.createSettingViewSchema(setting),\n uiSchema: setting.getMaxValue() > 1\n ? uiSchemaBuilder.build()\n : this.getBinarySettingUiSchema(setting),\n formData: setting.mapToOptionNameIfExists(setting.getValue()),\n };\n };\n CreateRegisterView.prototype.createHasOptionsViewSchema = function (setting) {\n var _a, _b;\n var schemaBuilder = new ViewSchemaBuilder_1.SchemaBuilder(\"string\", (_a = (0, Setting_1.getBitLabel)(setting.getSetting())) !== null && _a !== void 0 ? _a : \"\")\n .withEnum(setting.getOptionNames())\n .withDefault(setting.mapToOptionNameIfExists(setting.getValue()));\n var uiSchemaBuilder = new ViewSchemaBuilder_1.UiSchemaBuilder()\n .withReadonlyValue(setting.getIsReadonly())\n .withWidget(!setting.getIsVisible() ? \"hidden\" : undefined)\n .withUiHelp(\"\".concat(setting.getName(), \": \") + ((_b = setting.getDescription()) !== null && _b !== void 0 ? _b : \"\"));\n return {\n schema: schemaBuilder.build(),\n uiSchema: uiSchemaBuilder.build(),\n formData: setting.mapToOptionNameIfExists(setting.getValue()),\n };\n };\n CreateRegisterView.prototype.createSettingViewSchema = function (setting) {\n var _a;\n var schema = new ViewSchemaBuilder_1.SchemaBuilder(\"integer\", (_a = (0, Setting_1.getBitLabel)(setting.getSetting())) !== null && _a !== void 0 ? _a : \"\").withDefault(setting.mapToOptionNameIfExists(setting.getPORDefault()));\n setting.getMaxValue() > 1\n ? schema.withMaximum(setting.getMaxValue()).withMinimum(0)\n : schema.withEnum([0, 1]);\n return schema.build();\n };\n CreateRegisterView.prototype.createInterruptViewSchema = function (interrupt) {\n var _a;\n var schema = new ViewSchemaBuilder_1.SchemaBuilder(\"string\", interrupt.getInterrupt().name)\n .withEnum(interrupt.getOptions())\n .withDefault(interrupt.getValue());\n var uiSchemaBuilder = new ViewSchemaBuilder_1.UiSchemaBuilder()\n .withReadonlyValue(interrupt.getIsReadonly())\n .withWidget(!interrupt.getIsVisible() ? \"hidden\" : undefined);\n return {\n schema: schema.build(),\n uiSchema: uiSchemaBuilder.build(),\n formData: (_a = interrupt.getValue()) !== null && _a !== void 0 ? _a : {},\n };\n };\n CreateRegisterView.prototype.getBinarySettingUiSchema = function (setting) {\n var _a;\n return new ViewSchemaBuilder_1.UiSchemaBuilder()\n .withReadonlyValue(setting.getIsReadonly())\n .withWidget(!setting.getIsVisible() ? \"hidden\" : \"radio\")\n .withUiHelp(\"\".concat(setting.getName(), \": \") + ((_a = setting.getDescription()) !== null && _a !== void 0 ? _a : \"\"))\n .withOptions({ inline: true })\n .build();\n };\n /** Creates Register View Builder for the given module. */\n CreateRegisterView.for = function (moduleDescription) {\n if (!moduleDescription) {\n throwError(\"Creation failed. Invalid module parameter.\");\n }\n if (!moduleDescription.registers && !moduleDescription.interrupts) {\n throwError(\"Creation failed for \".concat(moduleDescription.name, \". Input module contains no registers or interrupts.\"));\n }\n return new CreateRegisterView(moduleDescription);\n };\n return CreateRegisterView;\n}());\nexports.CreateRegisterView = CreateRegisterView;\n","\"use strict\";\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SettingViewModel = exports.RegisterViewModel = exports.InterruptViewModel = void 0;\nvar CalculateRegisterValue_1 = __importDefault(require(\"@microchip/scf-device/lib/CalculateRegisterValue\"));\nvar Arrays_1 = require(\"@microchip/scf-device/lib/util/Arrays\");\nvar Setting_1 = require(\"@microchip/scf-device/lib/Setting\");\nvar InterruptViewModel = /** @class */ (function () {\n function InterruptViewModel(interrupt) {\n var _this = this;\n this.isReadOnly = true;\n this.isVisible = true;\n this.getInterrupt = function () { return _this.interrupt; };\n this.setValue = function (value) {\n _this.value = value;\n };\n this.getValue = function () { return _this.value; };\n this.setOptions = function (options) {\n _this.options = options;\n };\n this.getOptions = function () { var _a; return (_a = _this.options) !== null && _a !== void 0 ? _a : []; };\n this.getIsReadonly = function () { return _this.isReadOnly; };\n this.getIsVisible = function () { return _this.isVisible; };\n this.setReadonly = function (isReadOnly) {\n _this.isReadOnly = isReadOnly;\n };\n this.setIsVisible = function (visibility) {\n _this.isVisible = visibility;\n };\n if (!interrupt) {\n throw new Error(\"IllegalInputArgument for 'interrupt' in InterruptValue\");\n }\n this.interrupt = interrupt;\n }\n return InterruptViewModel;\n}());\nexports.InterruptViewModel = InterruptViewModel;\nvar RegisterViewModel = /** @class */ (function () {\n function RegisterViewModel(register) {\n var _this = this;\n this.settings = [];\n this.getSettings = function () { return _this.settings; };\n this.getSettingViewModel = function (setting) {\n var name = setting.name;\n return (0, Arrays_1.find)(_this.settings, function (rv) { return rv.getSetting().name === name; });\n };\n this.forEachSetting = function (doThis) {\n _this.settings.forEach(doThis);\n };\n this.getRegister = function () { return _this.register; };\n this.getName = function () { return _this.register.name; };\n this.getDescription = function () { return _this.register.desc; };\n this.getValue = function () { return _this.value; };\n this.setValue = function (value) {\n _this.value = value;\n };\n this.setReadonly = function (value) {\n if (value === void 0) { value = true; }\n _this.forEachSetting(function (setting) { return setting.setReadonly(value); });\n };\n this.setIsVisible = function (visibility) {\n _this.forEachSetting(function (setting) { return setting.setReadonly(visibility); });\n };\n this.getDefaultValue = function () { return CalculateRegisterValue_1.default.for(_this.register).asNumber(); };\n this.getValueOrDefault = function () {\n var value = _this.getValue();\n return value !== null && value !== void 0 ? value : _this.getDefaultValue();\n };\n if (!register) {\n throw new Error(\"IllegalInputArgument for 'register' in RegisterValue\");\n }\n this.register = register;\n if (register.settings) {\n this.settings = this.createSettingViewModels(register);\n }\n }\n RegisterViewModel.prototype.createSettingViewModels = function (register) {\n var _this = this;\n var _a;\n var models = [];\n var settings = (_a = register.settings) !== null && _a !== void 0 ? _a : {};\n Object.keys(settings).forEach(function (settingKey) {\n models.push(new SettingViewModel(settings[settingKey], _this.getValueOrDefault));\n });\n return RegisterViewModel.sortSettingsDescending(models);\n };\n /** Sorts the settings in descending order based on bit positions. */\n RegisterViewModel.sortSettingsDescending = function (settings) {\n var result = __spreadArray([], settings, true);\n result.sort(function (settingOne, settingTwo) {\n var _a, _b, _c, _d;\n var bitRangeOne = (_b = (_a = (0, Setting_1.getBitRange)(settingOne.getSetting())) === null || _a === void 0 ? void 0 : _a.high) !== null && _b !== void 0 ? _b : -1;\n var bitRangeTwo = (_d = (_c = (0, Setting_1.getBitRange)(settingTwo.getSetting())) === null || _c === void 0 ? void 0 : _c.high) !== null && _d !== void 0 ? _d : -1;\n return bitRangeTwo - bitRangeOne;\n });\n return result;\n };\n return RegisterViewModel;\n}());\nexports.RegisterViewModel = RegisterViewModel;\nvar SettingViewModel = /** @class */ (function () {\n function SettingViewModel(setting, getRegisterValue) {\n var _this = this;\n this.isReadonly = true;\n this.isVisible = true;\n this.setReadonly = function (value) {\n if (value === void 0) { value = true; }\n _this.isReadonly = value;\n };\n this.setIsVisible = function (visibility) {\n _this.isVisible = visibility;\n };\n this.setDescription = function (value) {\n _this.setting.description = value;\n };\n this.getIsReadonly = function () { return _this.isReadonly; };\n this.getIsVisible = function () { return _this.isVisible; };\n this.getSetting = function () { return _this.setting; };\n this.getName = function () { return _this.setting.name; };\n this.getDescription = function () { return _this.setting.description; };\n this.getPORDefault = function () { return Number(_this.setting.porDefault); };\n this.getMask = function () { return Number(_this.setting.mask); };\n this.hasOptions = function () {\n return !!_this.setting.options;\n };\n this.getOptionNames = function () {\n return (0, Arrays_1.map)(nullSafe(_this.setting.options), function (option) { return option.name; });\n };\n this.mapToOptionNameIfExists = function (value) {\n var option = _this.getOptionForValue(value);\n return option !== undefined ? option.name : value;\n };\n this.getOptionForValue = function (value) {\n return (0, Arrays_1.find)(nullSafe(_this.setting.options), function (option) {\n var optionValue = option.value;\n return optionValue != undefined ? parseInt(optionValue) === value : false;\n });\n };\n this.getValue = function () {\n var value = _this.getRegisterValue();\n value &= _this.getMask();\n return value >>> _this.getShift();\n };\n this.getShift = function () {\n var mask = _this.getMask();\n var shiftIndex = 0;\n while (!(mask & 0x1)) {\n mask = mask >>> 1;\n shiftIndex++;\n }\n return shiftIndex;\n };\n this.getMaxValue = function () {\n var mask = _this.getMask();\n while (!(mask & 0x1)) {\n mask = mask >>> 1;\n }\n return mask;\n };\n if (!setting) {\n throw new Error(\"SettingViewModel: Invalid input argument\");\n }\n this.setting = setting;\n this.getRegisterValue = getRegisterValue;\n }\n return SettingViewModel;\n}());\nexports.SettingViewModel = SettingViewModel;\nvar nullSafe = function (array) { return array !== null && array !== void 0 ? array : []; };\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UiSchemaBuilder = exports.SchemaBuilder = exports.ViewSchemaBuilder = void 0;\nvar ViewSchemaBuilder = /** @class */ (function () {\n function ViewSchemaBuilder() {\n this.schema = {};\n this.uiSchema = {};\n this.formData = {};\n this.tabName = \"main\";\n this.expandGroupsByDefault = true;\n }\n ViewSchemaBuilder.prototype.withSchema = function (schema) {\n this.schema = schema;\n return this;\n };\n ViewSchemaBuilder.prototype.withUiSchema = function (uiSchema) {\n this.uiSchema = uiSchema;\n return this;\n };\n ViewSchemaBuilder.prototype.withFormData = function (formData) {\n this.formData = formData;\n return this;\n };\n ViewSchemaBuilder.prototype.withTabName = function (name) {\n this.tabName = name;\n return this;\n };\n ViewSchemaBuilder.prototype.withExpandedDefault = function (expandGroupsByDefault) {\n this.expandGroupsByDefault = expandGroupsByDefault;\n return this;\n };\n ViewSchemaBuilder.prototype.addChildComponent = function (childName, child) {\n var _a, _b, _c;\n this.schema = __assign(__assign({}, this.schema), { properties: __assign(__assign({}, this.schema.properties), (_a = {}, _a[childName] = child.schema, _a)) });\n this.uiSchema = __assign(__assign({}, this.uiSchema), (_b = {}, _b[childName] = child.uiSchema, _b));\n if (this.formData instanceof Object) {\n this.formData = __assign(__assign({}, this.formData), (_c = {}, _c[childName] = child.formData, _c));\n }\n };\n ViewSchemaBuilder.prototype.build = function () {\n return {\n schema: this.schema,\n uiSchema: this.uiSchema,\n formData: this.formData,\n name: this.tabName,\n expandGroupsByDefault: this.expandGroupsByDefault,\n };\n };\n return ViewSchemaBuilder;\n}());\nexports.ViewSchemaBuilder = ViewSchemaBuilder;\nvar SchemaBuilder = /** @class */ (function () {\n function SchemaBuilder(type, title) {\n this.title = title;\n this.type = type;\n }\n SchemaBuilder.prototype.withProperties = function (properties) {\n this.properties = properties;\n return this;\n };\n SchemaBuilder.prototype.withDefault = function (defaultValue) {\n this.default = defaultValue;\n return this;\n };\n SchemaBuilder.prototype.withMaximum = function (maximum) {\n this.maximum = maximum;\n return this;\n };\n SchemaBuilder.prototype.withMinimum = function (minimum) {\n this.minimum = minimum;\n return this;\n };\n SchemaBuilder.prototype.withEnum = function (vals) {\n this.enum = vals;\n return this;\n };\n SchemaBuilder.prototype.build = function () {\n return {\n type: this.type,\n title: this.title,\n properties: this.properties,\n default: this.default,\n maximum: this.maximum,\n minimum: this.minimum,\n enum: this.enum,\n };\n };\n return SchemaBuilder;\n}());\nexports.SchemaBuilder = SchemaBuilder;\nvar UiSchemaBuilder = /** @class */ (function () {\n function UiSchemaBuilder() {\n }\n UiSchemaBuilder.prototype.withReadonlyValue = function (isReadonly) {\n this.isReadOnly = isReadonly;\n return this;\n };\n UiSchemaBuilder.prototype.withWidget = function (widgetName) {\n this.widget = widgetName;\n return this;\n };\n UiSchemaBuilder.prototype.withOptions = function (options) {\n this.options = options;\n return this;\n };\n UiSchemaBuilder.prototype.withUiHelp = function (uiHelp) {\n this.uiHelp = uiHelp;\n return this;\n };\n UiSchemaBuilder.prototype.build = function () {\n return {\n \"ui:readonly\": this.isReadOnly,\n \"ui:widget\": this.widget,\n \"ui:options\": this.options,\n \"ui:help\": this.uiHelp,\n };\n };\n return UiSchemaBuilder;\n}());\nexports.UiSchemaBuilder = UiSchemaBuilder;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.mapOptionLabels = exports.filterOptions = exports.isSingleton = exports.isUnassigned = exports.isAssigned = exports.hasOptions = exports.AlertTypes = void 0;\nvar AlertTypes;\n(function (AlertTypes) {\n AlertTypes[\"Error\"] = \"error\";\n AlertTypes[\"Warning\"] = \"warning\";\n AlertTypes[\"Hint\"] = \"hint\";\n})(AlertTypes = exports.AlertTypes || (exports.AlertTypes = {}));\n/**\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n */\nfunction hasOptions(dep) {\n return dep.options !== undefined;\n}\nexports.hasOptions = hasOptions;\n/**\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n */\nfunction isAssigned(dep) {\n return typeof dep.handle !== \"undefined\";\n}\nexports.isAssigned = isAssigned;\n/**\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n */\nfunction isUnassigned(dep) {\n return typeof dep.handle === \"undefined\";\n}\nexports.isUnassigned = isUnassigned;\n/**\n * Type guard function for SingletonExport\n * See User-Defined Type Guards in the Typescript Handbook on Advanced Types\n * @see https://www.typescriptlang.org/docs/handbook/advanced-types.html\n * @param resource the export to check on being a singleton\n * @deprecated No longer used. Replaced with dynamic singleton identification\n * at runtime.\n */\nfunction isSingleton(resource) {\n return typeof resource.isSingleton !== \"undefined\" && resource.isSingleton;\n}\nexports.isSingleton = isSingleton;\n/**\n * Returns a copy of `populatedImport` with all options removed which\n * cause `optionFilter` to return false.\n */\nfunction filterOptions(populatedImport, optionFilter) {\n if (populatedImport.options) {\n return __assign(__assign({}, populatedImport), { options: populatedImport.options.filter(optionFilter) });\n }\n return populatedImport;\n}\nexports.filterOptions = filterOptions;\n/**\n * Returns a copy of `populatedImport` with the options' handle labels\n * mapped according to `labelFactory`.\n */\nfunction mapOptionLabels(populatedImport, labelFactory) {\n if (populatedImport.options) {\n return __assign(__assign({}, populatedImport), { options: populatedImport.options.map(function (option) {\n return __assign(__assign({}, option), { handle: __assign(__assign({}, option.handle), { label: labelFactory(option) }) });\n }) });\n }\n return populatedImport;\n}\nexports.mapOptionLabels = mapOptionLabels;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Setting_1 = require(\"./Setting\");\nvar Register_1 = require(\"./Register\");\nvar Arrays_1 = require(\"./util/Arrays\");\n/** Builder pattern */\nvar CalculateRegisterValue = /** @class */ (function () {\n function CalculateRegisterValue(register) {\n var _this = this;\n this.modifiedSettings = [];\n /** Assign a numerical value to the given `Setting`. */\n this.withNumberValue = function (setting, value) {\n if (setting === undefined) {\n throw new Error(\"Cannot assign number value to setting, setting is undefined.\");\n }\n if (!_this.getSetting(setting)) {\n throw new Error(\"Setting \".concat(setting.alias, \" is not present in Register \").concat(_this.register.name));\n }\n _this.modifiedSettings = __spreadArray(__spreadArray([], _this.modifiedSettings, true), [\n new NumberSettingValue(setting, value),\n ], false);\n return _this;\n };\n /** Assign the given `Option` to the given `Setting`. */\n this.withOption = function (setting, option) {\n if (setting === undefined) {\n throw new Error(\"Cannot assign option to setting, setting is undefined.\");\n }\n if (!_this.getSetting(setting)) {\n throw new Error(\"Setting \".concat(setting.alias, \" is not present in Register \").concat(_this.register.name));\n }\n if (!option || !_this.getOption(setting, option)) {\n throw new Error(\"Option \".concat(option === null || option === void 0 ? void 0 : option.name, \" is not present in Setting \").concat(setting.name));\n }\n _this.modifiedSettings = __spreadArray(__spreadArray([], _this.modifiedSettings, true), [\n new OptionSettingValue(setting, option),\n ], false);\n return _this;\n };\n /** Assign the `Option` matching the given alias to the given `Setting`. */\n this.withOptionAlias = function (setting, optionAlias) {\n if (setting === undefined) {\n throw new Error(\"Cannot assign option alias to setting, setting is undefined.\");\n }\n var option = (0, Setting_1.getOptionByAlias)(optionAlias, setting);\n if (option === undefined) {\n throw new Error(\"Option Alias: \\\"\".concat(optionAlias, \"\\\" not present in Setting: \\\"\").concat(setting.name, \"\\\".\"));\n }\n return _this.withOption(setting, option);\n };\n /** Assign the `Option` matching the given name to the given `Setting`. */\n this.withOptionName = function (setting, optionName) {\n if (setting === undefined) {\n throw new Error(\"Cannot assign option name to setting, setting is undefined.\");\n }\n var option = (0, Setting_1.getOptionByName)(optionName, setting);\n if (option === undefined) {\n throw new Error(\"Option Name: \\\"\".concat(optionName, \"\\\" not present in Setting: \\\"\").concat(setting.name, \"\\\".\"));\n }\n return _this.withOption(setting, option);\n };\n /** Assign the `Option` matching the given description to the given `Setting`. */\n this.withOptionDescription = function (setting, optionDescription) {\n if (setting === undefined) {\n throw new Error(\"Cannot assign option description to setting, setting is undefined.\");\n }\n var option = (0, Setting_1.getOptionByDescription)(optionDescription, setting);\n if (option === undefined) {\n throw new Error(\"Option Description: \\\"\".concat(optionDescription, \"\\\" not present in Setting: \\\"\").concat(setting.name, \"\\\".\"));\n }\n return _this.withOption(setting, option);\n };\n this.getSetting = function (setting) {\n return (0, Register_1.getSettingByAlias)(setting.alias, _this.register);\n };\n this.getOption = function (setting, option) {\n return (option === null || option === void 0 ? void 0 : option.name) ? (0, Setting_1.getOptionByName)(option.name, setting) : undefined;\n };\n this.calculate = function () {\n var registerValue = 0;\n _this.modifiedSettings.forEach(function (modifiedSetting) {\n registerValue = _this.setValue(modifiedSetting, registerValue);\n });\n var unmodifiedSettings = _this.getUnmodifiedSettings();\n unmodifiedSettings.forEach(function (unmodifiedSetting) {\n registerValue = _this.setValue(SettingValue.defaultValue(unmodifiedSetting), registerValue);\n });\n return Number(registerValue);\n };\n this.setValue = function (setting, registerValue) {\n var value = registerValue;\n value &= ~setting.getMask(); // Clear bits\n value |= setting.getShiftedValue(); // Set bits\n return value >>> 0;\n };\n this.getUnmodifiedSettings = function () {\n var _a, _b;\n var modifiedSettingNames = (0, Arrays_1.map)(_this.modifiedSettings, function (setting) {\n return setting.getName();\n });\n return (0, Arrays_1.filter)((_b = (0, Arrays_1.values)((_a = _this.register.settings) !== null && _a !== void 0 ? _a : {})) !== null && _b !== void 0 ? _b : [], function (setting) { return modifiedSettingNames.indexOf(setting.name) < 0; });\n };\n /** Calculate and print the register's value as a hex string. */\n this.asHexString = function () { return CalculateRegisterValue.toHexString(_this.calculate()); };\n /** Calculate and print the register's value as a binary string. */\n this.asBinaryString = function () {\n return CalculateRegisterValue.toBinaryString(_this.calculate());\n };\n /** Calculate and print the register's value as a decimal string. */\n this.asDecimalString = function () {\n return CalculateRegisterValue.toDecimalString(_this.calculate());\n };\n /** Calculate and return the register's value as a number. */\n this.asNumber = function () { return _this.calculate(); };\n this.register = register;\n }\n /** Creates a register value calculation object for the given register. */\n CalculateRegisterValue.for = function (register) {\n return new CalculateRegisterValue(register);\n };\n /** Format the given number as a hex string value. */\n CalculateRegisterValue.toHexString = function (value) {\n if (value == null) {\n throw new Error(\"CalculateRegisterValue.toHexString() illegal argument exception. Value must not be null.\");\n }\n return \"0x\" + value.toString(16);\n };\n /** Format the given number as a binary string value. */\n CalculateRegisterValue.toBinaryString = function (value) {\n if (value == null) {\n throw new Error(\"CalculateRegisterValue.toBinaryString() illegal argument exception. Value must not be null.\");\n }\n return \"0b\" + value.toString(2);\n };\n /** Format the given number as a decimal string value. */\n CalculateRegisterValue.toDecimalString = function (value) {\n if (value == null) {\n throw new Error(\"CalculateRegisterValue.toDecimalString() illegal argument exception. Value must not be null.\");\n }\n return value.toString();\n };\n return CalculateRegisterValue;\n}());\nexports.default = CalculateRegisterValue;\nvar SettingValue = /** @class */ (function () {\n function SettingValue(setting) {\n var _this = this;\n this.getMask = function () { return Number(_this.setting.mask); };\n this.getShift = function () {\n var mask = _this.getMask();\n var shiftIndex = 0;\n while (!(mask & 0x1)) {\n mask = mask >> 1;\n shiftIndex++;\n }\n return shiftIndex;\n };\n this.getShiftedValue = function () { return _this.getValue() << _this.getShift(); };\n this.getName = function () { return _this.setting.name; };\n this.setting = setting;\n }\n SettingValue.defaultValue = function (setting) {\n var value = Number(setting.porDefault);\n return new NumberSettingValue(setting, value);\n };\n return SettingValue;\n}());\nvar NumberSettingValue = /** @class */ (function (_super) {\n __extends(NumberSettingValue, _super);\n function NumberSettingValue(setting, value) {\n var _this = _super.call(this, setting) || this;\n _this.getValue = function () { return _this.value; };\n _this.value = value;\n return _this;\n }\n return NumberSettingValue;\n}(SettingValue));\nvar OptionSettingValue = /** @class */ (function (_super) {\n __extends(OptionSettingValue, _super);\n function OptionSettingValue(setting, option) {\n var _this = _super.call(this, setting) || this;\n _this.getValue = function () { return Number(_this.option.value); };\n _this.option = option;\n return _this;\n }\n OptionSettingValue.fromDefaultValue = function (setting, value) {\n var foundValueByName = (0, Setting_1.getOptionByName)(value, setting);\n if (foundValueByName)\n return new OptionSettingValue(setting, foundValueByName);\n var foundValueByAlias = (0, Setting_1.getOptionByAlias)(value, setting);\n if (foundValueByAlias)\n return new OptionSettingValue(setting, foundValueByAlias);\n throw new Error(\"Unable to create default value '\".concat(value, \"' for setting '\").concat(setting.name, \"'.\"));\n };\n return OptionSettingValue;\n}(SettingValue));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSettingByAlias = void 0;\nvar getSettingByAlias = function (alias, register) {\n var _a;\n return (_a = register.settings) === null || _a === void 0 ? void 0 : _a[alias];\n};\nexports.getSettingByAlias = getSettingByAlias;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOptionDescriptions = exports.getOptionNames = exports.getOptionByDescription = exports.getOptionByName = exports.getOptionByAlias = exports.getBitRange = exports.getBitLabel = void 0;\nvar Arrays_1 = require(\"./util/Arrays\");\n/**\n * Converts a hexadecimal string to binary.\n * Any leading zeros are removed from the returned string.\n */\nvar hexToBinary = function (hex) {\n return parseInt(hex, 16).toString(2);\n};\n/**\n * Returns a string of the corresponding bit position(s).\n */\nvar getBitLabel = function (setting) {\n if (setting.mask === undefined) {\n return undefined;\n }\n var bitRange = (0, exports.getBitRange)(setting);\n if (!bitRange)\n return undefined;\n if (bitRange.high === bitRange.low) {\n return \"bit \".concat(bitRange.high);\n }\n return \"bit \".concat(bitRange.high, \"-\").concat(bitRange.low);\n};\nexports.getBitLabel = getBitLabel;\n/**\n * Converts the hexadecimal mask provided within the register setting\n * and returns an interface containing the corresponding low and high bit positions.\n */\nvar getBitRange = function (setting) {\n if (!setting.mask)\n return undefined;\n var processedHex = hexToBinary(setting.mask);\n return {\n high: processedHex.length - 1,\n low: getBitRangeLow(processedHex),\n };\n};\nexports.getBitRange = getBitRange;\nvar getOptionByAlias = function (alias, setting) {\n var _a, _b;\n var result = (0, Arrays_1.find)((_a = setting === null || setting === void 0 ? void 0 : setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.alias == alias; });\n if (!result) {\n result = (0, Arrays_1.find)((_b = setting === null || setting === void 0 ? void 0 : setting.options) !== null && _b !== void 0 ? _b : [], function (option) { return option.description == alias; });\n }\n return result;\n};\nexports.getOptionByAlias = getOptionByAlias;\nvar getOptionByName = function (name, setting) {\n var _a;\n return (0, Arrays_1.find)((_a = setting === null || setting === void 0 ? void 0 : setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.name == name; });\n};\nexports.getOptionByName = getOptionByName;\nvar getOptionByDescription = function (description, setting) {\n var _a;\n return (0, Arrays_1.find)((_a = setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.description == description; });\n};\nexports.getOptionByDescription = getOptionByDescription;\nvar getOptionNames = function (setting) {\n var _a;\n return (0, Arrays_1.map)((_a = setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.name; });\n};\nexports.getOptionNames = getOptionNames;\nvar getOptionDescriptions = function (setting) {\n var _a;\n return (0, Arrays_1.map)((_a = setting.options) !== null && _a !== void 0 ? _a : [], function (option) { return option.description; });\n};\nexports.getOptionDescriptions = getOptionDescriptions;\nfunction getBitRangeLow(processedHex) {\n if (processedHex.charAt(1) === \"1\") {\n var index = 1;\n while (processedHex.charAt(index) === \"1\") {\n index++;\n }\n return processedHex.length - index;\n }\n else {\n return processedHex.length - 1;\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.values = exports.getKeys = exports.find = exports.filter = exports.map = void 0;\nvar map = function (arr, callback) {\n var result = [];\n arr.forEach(function (value, index) {\n result[index] = callback(value);\n });\n return result;\n};\nexports.map = map;\nvar filter = function (arr, callback) {\n var result = [];\n arr.forEach(function (value) {\n if (callback(value)) {\n result.push(value);\n }\n });\n return result;\n};\nexports.filter = filter;\n/**\n * Iterates over elements of the array, returning the first element that the predicate returns truthy for.\n */\nvar find = function (arr, callback) {\n for (var i = 0; i < arr.length; i++) {\n if (callback(arr[i])) {\n return arr[i];\n }\n }\n return undefined;\n};\nexports.find = find;\n/** @returns the non-prototype keys of the given object */\nvar getKeys = function (obj) {\n if (!obj)\n return undefined;\n return Object.getOwnPropertyNames(obj);\n};\nexports.getKeys = getKeys;\nvar values = function (obj) {\n var _a;\n if (!obj)\n return undefined;\n return (_a = (0, exports.getKeys)(obj)) === null || _a === void 0 ? void 0 : _a.map(function (key) { return obj[key]; });\n};\nexports.values = values;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.buildSimpleApi = function (functions) {\n var api = {};\n for (var key in functions) {\n api[key] = buildFunction(functions[key]);\n }\n return api;\n};\nvar buildFunction = function (cFunction) {\n return cFunction.returns + \" \" + cFunction.name + \"(\" + buildArguments(cFunction.arguments) + \")\";\n};\nvar buildArguments = function (args) {\n if (args) {\n return args.map(function (arg) { return arg.type + \" \" + arg.name; }).join(\", \");\n }\n else {\n return \"void\";\n }\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getInterfaceName = function (pkgJson) {\n var strReplace = \"@microchip/\";\n var interfaceName;\n if (pkgJson) {\n interfaceName = pkgJson[\"name\"];\n if (interfaceName) {\n interfaceName = interfaceName.replace(strReplace, \"\");\n }\n }\n if (!interfaceName) {\n throw new Error(\"Invalid Interface Name...!\");\n }\n return interfaceName;\n};\nexports.getInterfaceVersion = function (pkgJson) {\n var versionRegex = new RegExp(\"\\\\d+.\\\\d+.\\\\d+\");\n var version;\n if (pkgJson) {\n version = pkgJson[\"version\"];\n }\n if (!version && !versionRegex.test(version)) {\n throw new Error(\"Invalid Interface Version...!\");\n }\n return version;\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar c_function_types_1 = require(\"./c-function-types\");\nexports.buildSimpleApi = c_function_types_1.buildSimpleApi;\nvar helpers_1 = require(\"./helpers\");\nexports.getInterfaceName = helpers_1.getInterfaceName;\nexports.getInterfaceVersion = helpers_1.getInterfaceVersion;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createPrototypeExport = exports.createPrototypeImport = exports.getInterfaceId = void 0;\nvar InterfaceTypes = __importStar(require(\"@microchip/scf-interface\"));\nvar pkgJson = require(\"../package.json\");\nexports.getInterfaceId = function () {\n return {\n name: InterfaceTypes.getInterfaceName(pkgJson),\n version: InterfaceTypes.getInterfaceVersion(pkgJson),\n };\n};\nexports.createPrototypeImport = function () {\n return {\n interfaceId: exports.getInterfaceId(),\n };\n};\nexports.createPrototypeExport = function () {\n return {\n interfaces: [{ interfaceId: exports.getInterfaceId() }],\n };\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar sys_init_basic_interface_1 = require(\"./sys-init-basic-interface\");\nObject.defineProperty(exports, \"Interface\", { enumerable: true, get: function () { return sys_init_basic_interface_1.Interface; } });\nObject.defineProperty(exports, \"INIT_PRIORITY\", { enumerable: true, get: function () { return sys_init_basic_interface_1.INIT_PRIORITY; } });\nObject.defineProperty(exports, \"prioritySorter\", { enumerable: true, get: function () { return sys_init_basic_interface_1.prioritySorter; } });\nObject.defineProperty(exports, \"sortSysInitInitializers\", { enumerable: true, get: function () { return sys_init_basic_interface_1.sortSysInitInitializers; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createMock = void 0;\nvar api_1 = require(\"./api\");\nexports.createMock = function () {\n return {\n interfaceId: api_1.getInterfaceId(),\n payload: {\n moduleName: \"MyModule\",\n },\n args: {},\n results: {\n requestId: {\n initializers: [\n {\n name: \"mymodule_init1();\",\n header: {\n name: \"../mymodule.h\",\n path: \"include/\",\n },\n priority: 1,\n },\n ],\n localInitializers: [\n {\n funcDec: \"void mymodule_init2(void);\",\n name: \"mymodule_init2();\",\n funcBody: \"/** \\n * @ingroup systemdriver\\n * @brief Initializes the Peripheral module.\\n * @param None.\\n * @return None.\\n * void mymodule_init2(void){\\n * //IOCMD IOC enabled; CLKRMD CLKR enabled;\\n * PMD0 = 0x0;\\n * }\\n */\",\n priority: 1,\n },\n ],\n },\n },\n };\n};\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Interface = exports.sortSysInitInitializers = exports.prioritySorter = exports.INIT_PRIORITY = void 0;\nvar mock_1 = require(\"./mock\");\nvar api_1 = require(\"./api\");\nvar INIT_PRIORITY;\n(function (INIT_PRIORITY) {\n INIT_PRIORITY[INIT_PRIORITY[\"START\"] = 1] = \"START\";\n INIT_PRIORITY[INIT_PRIORITY[\"PRE_PERIPHERAL\"] = 50] = \"PRE_PERIPHERAL\";\n INIT_PRIORITY[INIT_PRIORITY[\"PERIPHERAL\"] = 100] = \"PERIPHERAL\";\n INIT_PRIORITY[INIT_PRIORITY[\"POST_PERIPHERAL\"] = 150] = \"POST_PERIPHERAL\";\n INIT_PRIORITY[INIT_PRIORITY[\"DEFAULT\"] = 200] = \"DEFAULT\";\n INIT_PRIORITY[INIT_PRIORITY[\"PRE_SOFTWARE\"] = 250] = \"PRE_SOFTWARE\";\n INIT_PRIORITY[INIT_PRIORITY[\"SOFTWARE\"] = 300] = \"SOFTWARE\";\n INIT_PRIORITY[INIT_PRIORITY[\"POST_SOFTWARE\"] = 350] = \"POST_SOFTWARE\";\n INIT_PRIORITY[INIT_PRIORITY[\"END\"] = 400] = \"END\";\n})(INIT_PRIORITY = exports.INIT_PRIORITY || (exports.INIT_PRIORITY = {}));\n/** Sorting initializer based on the priority. */\nexports.prioritySorter = function (a, b) {\n var _a, _b, _c, _d;\n var result = 0;\n var apriority = (_a = a === null || a === void 0 ? void 0 : a.initializer.priority) !== null && _a !== void 0 ? _a : INIT_PRIORITY.DEFAULT;\n var bpriority = (_b = b === null || b === void 0 ? void 0 : b.initializer.priority) !== null && _b !== void 0 ? _b : INIT_PRIORITY.DEFAULT;\n if (apriority < bpriority) {\n result = -1;\n }\n else if (apriority > bpriority) {\n result = 1;\n }\n else {\n //same priority sort via intializer name alphabetically\n result = (_d = (_c = a === null || a === void 0 ? void 0 : a.initializer.name) === null || _c === void 0 ? void 0 : _c.localeCompare(b === null || b === void 0 ? void 0 : b.initializer.name)) !== null && _d !== void 0 ? _d : 0;\n }\n return result;\n};\n/**Creating list - combination of initializers and localInitializers */\nexports.sortSysInitInitializers = function (data) {\n var retinitializers = __spreadArrays(data);\n var initSystemList = [];\n //iterating initializers[]\n for (var _i = 0, retinitializers_1 = retinitializers; _i < retinitializers_1.length; _i++) {\n var entry = retinitializers_1[_i];\n if (entry.initializers) {\n for (var _a = 0, _b = entry.initializers; _a < _b.length; _a++) {\n var subentry = _b[_a];\n // if (subentry) {\n var temp = {\n initializer: __assign(__assign({}, subentry), { isLocalInit: false, isNewInterface: true }),\n };\n initSystemList.push(temp);\n // }\n }\n }\n }\n //iterating localInitializers[]\n for (var _c = 0, retinitializers_2 = retinitializers; _c < retinitializers_2.length; _c++) {\n var entry = retinitializers_2[_c];\n if (entry.localInitializers) {\n for (var _d = 0, _e = entry.localInitializers; _d < _e.length; _d++) {\n var subentry = _e[_d];\n // if (subentry) {\n var temp = {\n initializer: __assign(__assign({}, subentry), { isLocalInit: true, isNewInterface: true }),\n };\n initSystemList.push(temp);\n // }\n }\n }\n }\n initSystemList.sort(exports.prioritySorter);\n return initSystemList;\n};\nexports.Interface = {\n createPrototypeExport: api_1.createPrototypeExport,\n createPrototypeImport: api_1.createPrototypeImport,\n getInterfaceId: api_1.getInterfaceId,\n createMock: mock_1.createMock,\n};\n","import { pin_row, pin_state } from \"@microchip/pins-interface/lib/types\";\nimport { AppModel } from \"../generated_module/src/types/AutoModuleTypes\";\n\n// provide complete dynamic data for all pin rows. It overrides static pindata.json\nexport const getCompletePinData = (appModel: AppModel): any => {\n // way to programatically override the json data\n return {};\n};\n\n// overrides pin data for a particular row based on model.\nexport function getRowData(appModel: AppModel, rowData: pin_row): pin_row | undefined {\n let retRowJSONdata: pin_row | undefined = rowData;\n let rowActions: any = [];\n const clockOutEnable = appModel.getImportValue(\"configbits_basic_interface\")\n ?.configsResp?.[\"CLKOUTEN\"];\n\n if (clockOutEnable) {\n delete clockOutEnable[\"setting\"];\n delete clockOutEnable[\"displayOptionSetting\"];\n const selectedOption: string = clockOutEnable[\"defaultValue\"][\"value\"];\n\n if (selectedOption.indexOf(\"CLKOUT function is enabled\") != -1) {\n if (rowData.name === \"clockout\") {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"CLKOUT\" },\n };\n }\n }\n\n const isPic18ClkOut: boolean =\n selectedOption === \"CLKOUT function is enabled\" ||\n selectedOption === \"CLKOUT function is disabled\"\n ? true\n : false;\n const actionArr = appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"clockout\")\n .forComponent(clockOutEnable)\n .addIfLockedSetValue(\n \"CLKOUT\",\n isPic18ClkOut\n ? \"CLKOUT function is enabled\"\n : \"CLKOUT function is enabled; FOSC/4 clock appears at OSC2\",\n )\n .addIfUnLockedSetValue(\n \".*\",\n isPic18ClkOut\n ? \"CLKOUT function is disabled\"\n : \"CLKOUT function is disabled; i/o or oscillator function on OSC2\",\n )\n .build();\n // Provide the module reference(scriptID) of remote config bits module\n for (const eachAction of actionArr) {\n const lockedState = eachAction.state[pin_state.LOCKED];\n if (lockedState) {\n lockedState.meta = {\n to: appModel.getAssignedImport(\"configbits_basic_interface\")?.handle\n ?.providerId,\n };\n }\n const unlockedState = eachAction.state[pin_state.UNLOCK];\n if (unlockedState) {\n unlockedState.meta = {\n to: appModel.getAssignedImport(\"configbits_basic_interface\")?.handle\n ?.providerId,\n };\n }\n rowActions.push(eachAction);\n }\n }\n\n const extClkSelect = appModel.getImportValue(\"configbits_basic_interface\")\n ?.configsResp?.[\"FEXTOSC\"];\n\n if (extClkSelect) {\n delete extClkSelect[\"setting\"];\n delete extClkSelect[\"displayOptionSetting\"];\n\n const selectedOption: string = extClkSelect[\"defaultValue\"][\"value\"];\n\n if (\n selectedOption.indexOf(\"(external clock)\") != -1 ||\n selectedOption.indexOf(\"EC\") != -1\n ) {\n if (rowData.name === \"osc1\" || rowData.name === \"osc2\") {\n retRowJSONdata = undefined;\n }\n }\n\n if (selectedOption.indexOf(\"(crystal oscillator)\") != -1) {\n if (rowData.name === \"clockin\") {\n retRowJSONdata = undefined;\n }\n }\n\n if (\n selectedOption.indexOf(\"Oscillator not enabled\") != -1 ||\n selectedOption.indexOf(\"Reserved\") != -1\n ) {\n if (\n rowData.name === \"clockin\" ||\n rowData.name === \"osc1\" ||\n rowData.name === \"osc2\"\n ) {\n retRowJSONdata = undefined;\n }\n }\n // Restricting pin actions for clockin, osc1 and osc2 pin rows\n const mclrKey = appModel.getComponent(\"mclrUnusedKey\")?.component;\n if (mclrKey) {\n rowActions = rowActions.concat(\n appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"clockin\")\n .forComponent(mclrKey)\n .addIfLockedSetValue(\".*\", \"\")\n .addIfUnLockedSetValue(\".*\", \"\")\n .build(),\n );\n\n rowActions = rowActions.concat(\n appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"osc1\")\n .forComponent(mclrKey)\n .addIfLockedSetValue(\".*\", \"\")\n .addIfUnLockedSetValue(\".*\", \"\")\n .build(),\n );\n\n rowActions = rowActions.concat(\n appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"osc2\")\n .forComponent(mclrKey)\n .addIfLockedSetValue(\".*\", \"\")\n .addIfUnLockedSetValue(\".*\", \"\")\n .build(),\n );\n }\n }\n\n const mclrEnable = appModel.getImportValue(\"configbits_basic_interface\")\n ?.configsResp?.[\"MCLRE\"];\n const lvpEnable = appModel.getImportValue(\"configbits_basic_interface\")\n ?.configsResp?.[\"LVP\"];\n\n if (mclrEnable && lvpEnable) {\n delete mclrEnable[\"setting\"];\n delete mclrEnable[\"displayOptionSetting\"];\n const selectedMclrOption: string = mclrEnable[\"defaultValue\"][\"value\"];\n\n delete lvpEnable[\"setting\"];\n delete lvpEnable[\"displayOptionSetting\"];\n const selectedLvpOption: string = lvpEnable[\"defaultValue\"][\"value\"];\n\n if (\n selectedLvpOption.indexOf(\"HV on MCLR/VPP must be used for programming\") !=\n -1 ||\n selectedLvpOption.indexOf(\n \"High Voltage on MCLR/Vpp must be used for programming\",\n ) != -1\n ) {\n if (\n selectedMclrOption.indexOf(\"MCLR pin is MCLR\") != -1 ||\n selectedMclrOption.indexOf(\"MCLR pin is Master Clear function\") != -1 ||\n selectedMclrOption === \"MCLR pin (RE3) is MCLR\"\n ) {\n if (rowData.name === \"reset\" && retRowJSONdata) {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"MCLR\" },\n };\n }\n }\n const isPic18Mclr: boolean =\n selectedMclrOption ===\n \"If LVP = 0, MCLR pin is MCLR; If LVP = 1, RE3 pin function is MCLR \" ||\n selectedMclrOption ===\n \"If LVP = 0, MCLR pin function is port defined function; If LVP =1, RE3 pin fuction is MCLR\"\n ? true\n : false;\n const isQ10Mclr: boolean =\n selectedMclrOption === \"MCLR pin (RE3) is MCLR\" ||\n selectedMclrOption ===\n \"If LVP = 0, MCLR pin (RE3) is an input; If LVP =1, MCLR pin (RE3) is MCLR\"\n ? true\n : false;\n let actionArr: any = [];\n\n // For handling Q10 devices\n if (isQ10Mclr) {\n actionArr = appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"reset\")\n .forComponent(mclrEnable)\n .addIfLockedSetValue(\"MCLR\", \"MCLR pin (RE3) is MCLR\")\n .addIfUnLockedSetValue(\n \".*\",\n \"If LVP = 0, MCLR pin (RE3) is an input; If LVP =1, MCLR pin (RE3) is MCLR\",\n )\n .build();\n } else {\n actionArr = appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"reset\")\n .forComponent(mclrEnable)\n .addIfLockedSetValue(\n \"MCLR\",\n isPic18Mclr\n ? \"If LVP = 0, MCLR pin is MCLR; If LVP = 1, RE3 pin function is MCLR \"\n : \"MCLR pin is Master Clear function\",\n )\n .addIfUnLockedSetValue(\n \".*\",\n isPic18Mclr\n ? \"If LVP = 0, MCLR pin function is port defined function; If LVP =1, RE3 pin fuction is MCLR\"\n : \"MCLR pin function is port defined function\",\n )\n .build();\n }\n\n // Provide the module reference(scriptID) of remote config bits module\n for (const eachAction of actionArr) {\n const lockedState = eachAction.state[pin_state.LOCKED];\n if (lockedState) {\n lockedState.meta = {\n to: appModel.getAssignedImport(\"configbits_basic_interface\")\n ?.handle?.providerId,\n };\n }\n const unlockedState = eachAction.state[pin_state.UNLOCK];\n if (unlockedState) {\n unlockedState.meta = {\n to: appModel.getAssignedImport(\"configbits_basic_interface\")\n ?.handle?.providerId,\n };\n }\n rowActions.push(eachAction);\n }\n } else {\n if (selectedMclrOption) {\n if (rowData.name === \"reset\" && retRowJSONdata) {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"MCLR\" },\n };\n }\n }\n const mclrKey = appModel.getComponent(\"mclrUnusedKey\")?.component;\n if (mclrKey) {\n rowActions = rowActions.concat(\n appModel\n .getPCPHelper?.()\n .stateActionBuilder(rowData)\n .rowWithName(\"reset\")\n .forComponent(mclrKey)\n .addIfLockedSetValue(\".*\", \"\")\n .addIfUnLockedSetValue(\".*\", \"\")\n .build(),\n );\n }\n }\n }\n\n const noscOsccon1 = appModel.getComponentValue(\"noscOsccon1\");\n if (\n noscOsccon1 === \"HFINTOSC\" ||\n noscOsccon1 === \"LFINTOSC\" ||\n noscOsccon1 === \"SOSC\" ||\n noscOsccon1 === \"HFINTOSC with 2x PLL\"\n ) {\n if (rowData.name === \"clockin\") {\n retRowJSONdata = undefined;\n }\n if (rowData.name === \"osc1\") {\n retRowJSONdata = undefined;\n }\n if (rowData.name === \"osc2\") {\n retRowJSONdata = undefined;\n }\n }\n\n if (rowData.name === \"sosci\") {\n if (noscOsccon1 === \"SOSC\" && retRowJSONdata) {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"SOSCI\" },\n };\n } else {\n retRowJSONdata = undefined;\n }\n }\n\n if (rowData.name === \"sosco\") {\n if (noscOsccon1 === \"SOSC\" && retRowJSONdata) {\n retRowJSONdata = {\n ...retRowJSONdata,\n behaviourMeta: { lockPinRegEx: \"SOSCO\" },\n };\n } else {\n retRowJSONdata = undefined;\n }\n }\n\n if (retRowJSONdata) retRowJSONdata = { ...retRowJSONdata, actions: rowActions };\n\n return retRowJSONdata;\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { CreatorFunctions } from \"@microchip/melody-automodule-interface\";\nimport { State } from \"../generated_module/src/types/State\";\n\nexport const getCreatorFunctions = (): CreatorFunctions => {\n return {\n shouldImport: shouldImport,\n };\n};\n\nconst shouldImport = (importKey: string, state: State): boolean => {\n return true;\n};\n","export class StringConstants {\n static readonly SOSC = \"SOSC\";\n static readonly LFINTOSC = \"LFINTOSC\";\n static readonly HFINTOSC = \"HFINTOSC\";\n static readonly HFINTOSC_2xPLL = \"HFINTOSC with 2x PLL\";\n static readonly EXTOSC = \"EXTOSC\";\n static readonly EXTOSC_4xPLL = \"EXTOSC with 4x PLL\";\n static readonly OSC_NOT_NEEDED = \"Oscillator not needed\";\n static readonly ON = \"ON\";\n static readonly ExtClkFreq_64MHz = 64000000;\n static readonly ExtClkFreq_20MHz = 20000000;\n static readonly ExtClkFreq_32MHz = 32000000;\n}\n","import * as Processor from \"@microchip/scf-common/lib/Processor\";\nimport { ClockCalculator } from \"./ClockCalculator\";\nimport * as config_device from \"@microchip/config-device\";\nimport { StringConstants } from \"./StringConstants\";\nimport osc_clocks from \"@microchip/osc-clocks\";\nimport * as clock from \"@microchip/clock-basic-interface\";\nimport {\n AppModel,\n DerivedData,\n DerivedFunctions,\n} from \"../generated_module/src/types/AutoModuleTypes\";\nimport * as InterfaceTypes from \"@microchip/scf-interface\";\nimport { getPinsLogic } from \"../generated_module/src/pins/PCPHelper\";\nimport * as configbits_basic_interface from \"@microchip/configbits-basic-interface\";\nimport * as sys_init_basic_interface from \"@microchip/sys-init-basic-interface\";\n\nexport const getDerivedData = (dataModel: AppModel): DerivedData => {\n if (dataModel) {\n return new MyDerivedData(dataModel);\n }\n return new EmptyDerivedData();\n};\n\n//This data will be used at the creator stage and relies on only the state\nexport class EmptyDerivedData implements DerivedData {\n getMyFunctions = (): DerivedFunctions => {\n return {};\n };\n getModel = (): AppModel | undefined => {\n return undefined;\n };\n}\n\n//This data will be used at the processor stage\nexport class MyDerivedData implements DerivedData {\n private dataModel: AppModel;\n private clockCalculator: ClockCalculator;\n\n constructor(dataModel: AppModel) {\n this.dataModel = dataModel;\n }\n\n getClockCalculator = (): ClockCalculator => {\n if (!this.clockCalculator) {\n this.clockCalculator = new ClockCalculator(\n this.getModel().getComponentValue(\"noscOsccon1\") ?? \"\",\n this.getModel().getComponentValue(\"hffrqOscfrq\") ?? \"\",\n this.getModel().getComponentValue(\"externalClk\") ?? 32768,\n parseInt(this.getModel().getComponentValue(\"ndivOsccon1\") ?? \"\"),\n );\n }\n return this.clockCalculator;\n };\n\n getMyFunctions = (): DerivedFunctions => {\n return {\n moduleName: this.getModuleName,\n alerts: this.getMyAlerts,\n isEnabled: this.isEnabled,\n isVisible: this.isVisible,\n coscOsccon2: this.getResOscValue,\n currentSystemClk: (): number =>\n this.getClockCalculator().getCurrentSystemClk(),\n \"fosc-hz_payload\": (): string =>\n this.getClockCalculator().getCurrentSystemClk().toString(),\n sys_init_basic_interface_results: this.sys_init_basic_interface_results,\n config_device_results: this.config_device_results,\n templateData: this.getTemplateData,\n overrideDefaultValues: this.overrideDefaultValue,\n configbits_basic_interface_args: this.getConfigbitsBasicInterfaceArgs,\n \"osc-clocks_payload\": this.getOscClocksProcessedPayload,\n \"clock-basic-interface_payload\": this.getClockProcessedPayload,\n doNotShow: (): boolean => false,\n getPinsLogic: getPinsLogic,\n importName: this.friendlyImportName,\n };\n };\n\n private friendlyImportName = (importKey: string): string => {\n if (importKey === \"scf_pic8_osc_v1\") return \"Oscillator Hardware\";\n if (importKey === \"sys_init_basic_interface\") return \"system.c Initialize()\";\n if (importKey === \"config_device\") return \"Configuration Device\";\n if (importKey === \"configbits_basic_interface\") return \"Configuration Request\";\n if (importKey === \"pins_interface\") return \"Pins\";\n return importKey;\n };\n private sys_init_basic_interface_results = (): sys_init_basic_interface.Results => {\n return {\n initializers: [\n {\n name: \"CLOCK_Initialize();\",\n header: {\n name: \"clock.h\",\n path: \"system/\",\n },\n priority: sys_init_basic_interface.INIT_PRIORITY.START,\n },\n ],\n };\n };\n private getConfigbitsBasicInterfaceArgs =\n (): configbits_basic_interface.Arguments => {\n return {\n configsReq: [\"FEXTOSC\", \"CLKOUTEN\", \"MCLRE\", \"LVP\", \"RSTOSC\"],\n };\n };\n\n private getDynamicComponetDefaultValue = (\n componentName: string,\n ): string | undefined => {\n const externalClkSelectedOptions = this.dataModel.getImportValue(\n \"configbits_basic_interface\",\n )?.configsResp?.[componentName];\n let selectedOptionVal: string | undefined;\n\n if (externalClkSelectedOptions) {\n selectedOptionVal = externalClkSelectedOptions[\"defaultValue\"][\"value\"];\n }\n return selectedOptionVal ?? undefined;\n };\n\n private getResOscValue = (): string => {\n const resetOscValue = this.getDynamicComponetDefaultValue(\"RSTOSC\");\n let actualOscValue;\n if (resetOscValue?.indexOf(\"4x PLL\") !== -1) {\n actualOscValue = \"EXTOSC with 4x PLL\";\n } else if (resetOscValue?.indexOf(\"Secondary Oscillator\") !== -1) {\n actualOscValue = \"SOSC\";\n } else if (resetOscValue?.indexOf(\"Low-Frequency\") !== -1) {\n actualOscValue = \"LFINTOSC\";\n } else if (\n resetOscValue?.indexOf(\"HFINTOSC with HFFRQ = 4 MHz and CDIV = 4:1\") !== -1\n ) {\n actualOscValue = \"HFINTOSC\";\n } else if (\n resetOscValue?.indexOf(\"HFINTOSC with HFFRQ = 64 MHz and CDIV = 1:1\") !== -1\n ) {\n actualOscValue = \"HFINTOSC\";\n } else if (resetOscValue?.indexOf(\"FEXTOSC\") !== -1) {\n actualOscValue = \"EXTOSC\";\n } else {\n actualOscValue = undefined;\n }\n return actualOscValue;\n };\n\n private getPLLStatus = (): boolean => {\n const pllStatus = this.getResOscValue();\n const pllEnable = this.dataModel.isComponentValue(\"pllenOscen\");\n const clkSrcVal = this.dataModel.getComponentValue(\"noscOsccon1\");\n if (pllStatus === \"EXTOSC with 4x PLL\") {\n return true;\n } else if (pllEnable === true) {\n return true;\n } else if (clkSrcVal?.indexOf(\"4x PLL\") !== -1) {\n return true;\n } else if (clkSrcVal?.indexOf(\"2x PLL\") !== -1) {\n return true;\n } else {\n return false;\n }\n };\n\n private getOscClocksProcessedPayload = (): osc_clocks.ProcessedPayload => {\n const oscObj: osc_clocks.ProcessedPayload = {\n extosc: this.getClockCalculator().getExtOsc() ?? \"32768\",\n fosc: this.getClockCalculator().getCurrentSystemClk().toString() ?? \"1000000\",\n hfintosc: this.getClockCalculator().getHfIntOsc() ?? \"1000000\",\n lfintosc: this.getClockCalculator().getLfIntOsc() ?? \"31000\",\n mfintosc: this.getClockCalculator().getMfIntOsc() ?? \"500000\",\n mfintosc_31Khz: this.getClockCalculator().getMfIntOsc_31KHz() ?? \"31250\",\n sosc: this.getClockCalculator().getSosc() ?? \"32768\",\n };\n const hasSosc: boolean =\n this.dataModel.isComponentValue(\"soscenOscen\") !== undefined ? true : false;\n if (hasSosc) {\n oscObj.hasSosc = true;\n oscObj.soscEnabled = this.dataModel.isComponentValue(\"soscenOscen\");\n oscObj.soscPowerMode = this.dataModel.getComponentValue(\"soscpwrOsccon3\");\n }\n return oscObj;\n };\n\n private getClockProcessedPayload = (): clock.Payload => {\n const clockObj: clock.Payload = {\n fosc: this.getClockCalculator().getCurrentSystemClk().toString() ?? \"1000000\",\n extosc: this.getClockCalculator().getExtOsc() ?? \"32768\",\n hfintosc: this.getClockCalculator().getHfIntOsc() ?? \"1000000\",\n lfintosc: this.getClockCalculator().getLfIntOsc() ?? \"31000\",\n mfintosc: this.getClockCalculator().getMfIntOsc() ?? \"500000\",\n mfintosc_31Khz: this.getClockCalculator().getMfIntOsc_31KHz() ?? \"31250\",\n sosc: this.getClockCalculator().getSosc() ?? \"32768\",\n };\n const hasSosc: boolean =\n this.dataModel.getComponent(\"soscenOscen\") !== undefined ? true : false;\n if (hasSosc) {\n clockObj.hasSosc = true;\n clockObj.soscEnabled = this.dataModel.isComponentValue(\"soscenOscen\");\n clockObj.soscPowerMode = this.dataModel.getComponentValue(\"soscpwrOsccon3\");\n }\n return clockObj;\n };\n\n public getModuleName = (): string => {\n return \"Clock Control\";\n };\n public getModel = (): AppModel => {\n return this.dataModel;\n };\n\n private getTemplateData = (): any => {\n const headers: InterfaceTypes.HeaderFile = {\n name: \"clock.h\",\n path: \"../\",\n };\n const initRegisters = this.dataModel.getRegisterValues();\n //const registerValues = this.dataModel.getRegisterValues();\n return {\n deviceFrequency: this.getClockCalculator().getCurrentSystemClk().toString(),\n\n initRegisters: initRegisters,\n header: headers,\n\n moduleNameUpperCase: this.getModuleName().toUpperCase(),\n moduleNameLowerCase: this.getModuleName().toLowerCase(),\n PackageVersion: \"4.3.7\",\n isPllEnabled: this.getPLLStatus() ?? false,\n //...registerValues,\n\n initializerOptimize:\n this.getModel().getComponentValue(\"generateInitializerCode\") !==\n \"Initialize all registers\"\n ? true\n : false,\n generateCommentedCode:\n this.getModel().getComponentValue(\"generateInitializerCode\") ===\n \"Generate with commented unmodified registers\"\n ? true\n : false,\n };\n };\n\n private config_device_results = (): config_device.Results => {\n return {\n headers: [\n {\n name: \"clock.h\",\n path: \"system/\",\n },\n ],\n };\n };\n\n private isEnabled = (componentName: string): boolean => {\n switch (componentName) {\n case \"hffrqOscfrq\":\n return (\n this.dataModel.getComponentValue(\"noscOsccon1\")?.indexOf(\"HF\") != -1\n );\n case \"currentSystemClk\":\n return false;\n case \"lfIntOscFreq\":\n return false;\n default:\n return true;\n }\n };\n\n private isVisible = (componentName: string): boolean => {\n const componentValue = this.dataModel.getComponentValue(\"noscOsccon1\");\n switch (componentName) {\n case \"externalClk\":\n if (\n componentValue === StringConstants.EXTOSC ||\n componentValue === StringConstants.EXTOSC_4xPLL\n ) {\n return true;\n } else {\n return false;\n }\n case \"lfIntOscFreq\":\n if (componentValue != StringConstants.LFINTOSC) {\n return false;\n } else {\n return true;\n }\n case \"hffrqOscfrq\":\n if (\n componentValue != StringConstants.HFINTOSC &&\n componentValue != StringConstants.HFINTOSC_2xPLL\n ) {\n return false;\n } else {\n return true;\n }\n default:\n return true;\n }\n };\n private getfoscOptions = (): string | undefined => {\n const foscOptions =\n this.dataModel.getHardware()?.getPeripheral()?.registers.OSCFRQ?.settings\n ?.HFFRQ.options ?? [];\n let defaultVal: string | undefined;\n let refClk = parseInt(\"1_MHz\"?.replace(\"_MHz\", \"\") ?? 0);\n if (foscOptions) {\n foscOptions.forEach((option) => {\n const HFClk = parseInt(option.name?.replace(\"_MHz\", \"\") ?? 0);\n\n if (HFClk > refClk) {\n refClk = HFClk;\n defaultVal = option.name;\n }\n });\n }\n return defaultVal;\n };\n\n private overrideDefaultValue = (componentName: string): any => {\n let defVal: string | undefined = undefined;\n switch (componentName) {\n case \"hffrqOscfrq\":\n defVal = this.getfoscOptions();\n break;\n }\n return defVal;\n };\n\n private getMyAlerts = (): Processor.Alert[] => {\n const alerts: Processor.Alert[] = [];\n const selectedOptionVal: string =\n this.getDynamicComponetDefaultValue(\"FEXTOSC\") ?? \"\";\n const noscOsccon1 = this.dataModel.getComponentValue(\"noscOsccon1\");\n\n if (\n noscOsccon1 === StringConstants.EXTOSC_4xPLL ||\n noscOsccon1 === StringConstants.EXTOSC\n ) {\n alerts.push({\n type: Processor.AlertTypes.Hint,\n text: 'Please configure required \"External Oscillator Selection\" in System Module config bits',\n });\n }\n\n if (\n noscOsccon1 === StringConstants.EXTOSC_4xPLL &&\n ((this.getModel().getComponentValue(\"externalClk\") ?? 0) <=\n this.getClockCalculator().MIN_PLL ||\n (this.getModel().getComponentValue(\"externalClk\") ?? 0) >\n this.getClockCalculator().MAX_PLL)\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text: \"The frequency selected does not fall within the PLL locking range. Therefore, the actual frequency produced by hardware maybe unpredictable when the PLL is enabled. Either change the clock frequency or select a different option in Oscillator select.\",\n });\n }\n\n if (\n noscOsccon1 === StringConstants.EXTOSC_4xPLL ||\n noscOsccon1 === StringConstants.EXTOSC\n ) {\n if (\n selectedOptionVal?.indexOf(\"external clock\") != -1 &&\n this.getClockCalculator().getCurrentSystemClk() >\n StringConstants.ExtClkFreq_64MHz\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text:\n \"External clock frequency is greater than recommended value (\" +\n StringConstants.ExtClkFreq_64MHz +\n \" Hz)\",\n });\n }\n if (\n selectedOptionVal?.indexOf(\"crystal oscillator\") != -1 &&\n (this.getModel().getComponentValue(\"externalClk\") ?? 0) > 16000000 &&\n this.getClockCalculator().getCurrentSystemClk() >\n StringConstants.ExtClkFreq_20MHz\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text:\n \"External clock frequency is greater than recommended value (\" +\n StringConstants.ExtClkFreq_20MHz +\n \" Hz)\",\n });\n }\n if (\n selectedOptionVal.indexOf(\"Oscillator not enabled\") != -1 &&\n this.getClockCalculator().getCurrentSystemClk() >\n StringConstants.ExtClkFreq_32MHz\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text:\n \"External clock frequency is greater than recommended value (\" +\n StringConstants.ExtClkFreq_32MHz +\n \" Hz)\",\n });\n }\n }\n\n const HFClk = parseInt(\n this.dataModel.getComponentValue(\"hffrqOscfrq\")?.replace(\"_MHz\", \"\") ?? \"0\",\n );\n if (\n this.dataModel.getComponentValue(\"noscOsccon1\") ===\n StringConstants.HFINTOSC_2xPLL &&\n (HFClk == 1 || HFClk == 2 || HFClk == 4 || HFClk == 32)\n ) {\n alerts.push({\n type: Processor.AlertTypes.Warning,\n text: \"The frequency set in HF Internal Clock may not get generated by the clock hardware properly since it does not fall within the 2xPLL range of 8-16 MHz. Therefore, it is recommended that the option 'HFINTOSC' be selected in the Oscillator select combo box.\",\n });\n }\n\n return alerts;\n };\n}\n","import { ModuleConfig } from \"@microchip/melody-automodule-interface/lib/src/ModuleConfig\";\nimport { PinsData } from \"@microchip/melody-automodule-interface/lib/src/pins\";\nimport { PinsLogic } from \"@microchip/melody-automodule-interface/lib/src/types\";\nexport { getCreatorFunctions } from \"../../src/CreatorFunctions\";\nexport { getDerivedData } from \"../../src/DerivedData\";\n\nexport const getPinsDataFromFile = (): PinsData | undefined => {\n try {\n return require(\"../../src/pinsdata.json\");\n } catch {\n return undefined;\n }\n};\n\nexport const getPinsLogicFromFile = (): PinsLogic | undefined => {\n try {\n return require(\"../../src/PinsLogic.ts\");\n } catch {\n return undefined;\n }\n};\n\nexport const getModuleConfigFromFile = (): ModuleConfig | undefined => {\n try {\n return require(\"../../src/moduleConfig.json\");\n } catch {\n return undefined;\n }\n};\n","import { create as autoCreate } from \"@microchip/scf-automodule-impl\";\nimport { State } from \"@microchip/scf-automodule-impl/lib/creator\";\nimport { CreatorFunctions } from \"@microchip/melody-automodule-interface\";\nimport * as Creator from \"@microchip/scf-common/lib/Creator\";\nimport { getModuleConfigFromFile, getCreatorFunctions } from \"./getUserData\";\n\nexport type LegacyCreatorFunction = (state: State) => Creator.Module;\n\nconst createCreator = (\n getCreatorFunctions: () => CreatorFunctions,\n): LegacyCreatorFunction => {\n const hook = (state: State): Creator.Module => {\n const creatorFunctionsGetter = (): CreatorFunctions => {\n return {\n getModuleConfig: getModuleConfigFromFile,\n ...getCreatorFunctions(),\n };\n };\n return autoCreate(state, creatorFunctionsGetter);\n };\n return hook;\n};\n\nexport const create = createCreator(getCreatorFunctions);\n"],"names":["Object","defineProperty","exports","value","TABID","COMPTYPE","RowPrefix","data_schema","PIN_ARCH","behaviour","direction","actiontype","pin_attribs_enum","pin_interrupts_enum","pin_state","QueryAdapterKey","$schema","$ref","definitions","intf_data","type","properties","rows","items","required","additionalProperties","pin_row","name","module","function","filter","behaviourMeta","attribs","groupsdata","actions","enum","aliasReEx","lockPinRegEx","pin_attribs","cname","high","inv","wpu","wpd","od","analog","ioc","bidirection_out","pingroups_data","groups","pins_group","datapath","grpfilter","__assign","this","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","logAnalytics","getAnalyticsDefault","getConfigData_1","model","logAlwaysComps","logOnChangeComps","_a","_b","retData","moduleconfig","getConfigData","alwaysCompsDesired","analytics","concat","logAlwaysStaticAndDynamicData","onChangeCompsDesired","moduleState","getState","logOnChangeStaticAndDynamicData","_c","_i","_d","eachDesiredComp","correctMapping","allComps","getAutoModuleAppModel","getAllComponents","compObj","resultantAnalyticsKey","eachCompName","compMapping","component","isCompCategoryAllowed","category","formRegUndercSettNameForComp","JSON","stringify","getComponentValue","undefined","compSetting","setting","regName","getRegNameFromCompSettName","compName","settingName","compNameCaps","toUpperCase","settingNameCaps","replace","logOnChangeDependencyComps","eachCategoryKey","eachSubCategoryKey","eachChangedCompKey","indexOf","result","consolidatedCompNames","eachDesCompName","push","eachcompKey","consolidateDependencyCompNames","consolidatedCompNames_1","getDependencyCompValueForOnChange","getImports","importId","handle","label","__createBinding","create","o","m","k","k2","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","__setModuleDefault","v","__importStar","mod","__spreadArray","to","from","pack","ar","l","Array","slice","getModel","Processor","AutoModuleAppModel_1","AutoModuleHelpers_1","exports_1","imports_1","PCPHelper_1","tables_1","getDerivedData","MyAppModel","_this","state","getPayload","payload","imports","getExports","getName","getModuleName","getCategory","getModuleCategory","getActiveName","getDerivedFunctions","getGlobalNames","autoModuleAppModel","createAutoModuleAppModel","getPrototypeModule","getRegisterValues","interfaceName","registerValues","getInterrupts","interrupts","getHardware","getPeripheral","getProperties","getRegisters","registers","_e","_f","_g","_h","_j","_k","_l","getFriendlyInterfaceId","peripheral_1","instanceNumber","Number","instance","group","defaultHardware","peripheralName","peripherals","interfaceId","peripheral_2","getPeripheralDescription","derivedData","getDerivedDataFunction","getMyFunctions","getDerivedFunction","functionName","args","getExportInterfaces","exportInterfaces","createExportInterfaces","getImportInterfaces","importInterfaces","createImportInterfaces","isControlledByInterface","componentName","getAssignedImport","importName","isAssigned","getImportValue","filterImportBySetting","populatedImports","importKey","optionFilter","filteredImports","filterOptions","option","isComponentValue","componentMeta","regex","RegExp","test","String","toLowerCase","getComponent","getPCPHelper","pcpHelper","PCPHelper","setCallbacks","getCompletePinData","getPinsLogic","getRowData","rowData","getPinsData","getTableHelpers","processDynamicComps","toDictionary","assertNotNull","map","forEach","values","getKeys","obj","getOwnPropertyNames","key","action","mapper","val","msg","Error","arr","keyMapper","valueMapper","entry","MyAutoModuleAppModel","Setting_1","Arrays_1","Utils_1","AutoModuleHelper","RegisterEditorHelper_1","config","moduleName","moduleCategory","createComponentList","componentList","components","getComponentList","componentsWithDynamicDependencySelectors","getDefaultDependencySelectors","softwareData","peripheral","registerName","hardwareRegister","settings","getActions","getDefaultComponentAction","tabId","path","getSoftwareComponentValue","tab","overriddenValue","defaultValue","processedArg","getProcessedArgValue","getDefaultValue","overrideDefaultValues","getHardwareComponentValue","hardware","overriddenCompValue","getOverrideDefaultValue","overrideDefaultValue","displayOptionSetting","mode","operation","options","getSettingOptionsIfPresent","masterComponent","getHardwareComponentBooleanValue","result_1","eachOption","alias","startsWith","booleanValues","true","false","getDependencyComponentValue","dependencySelector","DependencySelector","imp","createOptionLabel","getFileLoadComponentValue","loadedFiles","getFileSaveComponentValue","fileMeta","defaultContent","optionType","getOptionByName","updComponentList","updComponents","getDynamicComponents","eachComponent","dynamicDependencySelectors","defaultTab","defaultGroup","tabs","keys","description","uiBehavior","isComponent","componentValue","contentMeta","isUserEnRegRWMode","getRegisterEditorComponentValue","getSettingFromComponent","isFullyAssigned","createPrototypeImport","Processor_1","import","interfaces","getHardwareInterfaces","__importDefault","getModuleDefaultDescription","populateLoadedFiles","getProcessedHandle","filterModeOptions","getSettingDefaultIfPresent","getOptionValueByName","getSettingBits","sortComments","hasConfigBits","getComboOptions","castComponent","CalculateRegisterValue_1","overrideOptions","getRegisterEditorValues","registerValue","reg","comment","valueAsHex","por","registerVal","default","for","comments","set","deviceType","withNumberValue","asNumber","toString","register","sort","a","b","settingA","split","settingB","mask","join","setValNumber","valueAsDesc","getOptionByAlias","valueAsDescription","optionName","bitName","getRegisterFromComponent","porDefault","optionValue","masterComponentValue","filteredOptions","find","optionModes","match","customName","providerId","exportId","processedOutput","consolidatedFiles","eachFileId","eachFile","noneSelection","createOptionEntry","generateDropdownOptions","dropdownOptions","thisImport","shouldAllowUnselectDependency","getDropdownOptionNames","names","isUnassignable","getConfigBits","getTemplateSettings","getTemplatePayload","getTemplates","AutoModuleHardware_1","templates","template","newTemplate","dest","templateName","src","shouldGenerate","generateWithHardware","isGeneratableProperty","templatePayload","uppercase","lowercase","filename","source","header","getComponentPayload","configModule","templateConfigBits_1","registers_1","configName","configBits","configBit","isNaN","getAutoSdlHelp","dataModel","helpUrl","_m","_o","_p","_q","_r","deviceMeta","deviceName","dosid","comp","registerAlias","deviceRegister","getFreqCompSchema","isFrequencyComponent","isFreqUnitInState","isFreqValueInState","isFreqComponentInState","getFreqCompFormData","modelState","tabState","unit","frequencyMeta","min","max","unitOptions","updatedFreqComp","valueChanged","unitChanged","derivedFunctions","schema","$id","title","overrideTitle","hasModes","processRegisterModes","hardwarePeripheral","modifiedHardwarePeripheral","delFlag","targetStr","matchRegEx","flag","getTimeComponentSchema","isTimeComponent","isTimeUnitInState","isTimeValueInState","isTimeComponentInState","getTimeComponentFormData","updatedTimeComponent","timeMeta","isModelInitialized","getModuleConfig","ConfigBuilder","withDynamicConfigData","withDynamicComponents","build","dynamicComponents","dynamicComponentMap","UIGroups","console","error","getMappedComponentData","getSettingAliasKey","getSettingNameKey","getRegisterKey","getRegisterNameList","DerivedFunctions_1","convertToBoolean","registerList","eachRegObj","registersValueObjects","registerInstanceName","settingValueObjects","settingInstanceName","eachSetObj","setInstanceName","setName","_s","_t","_u","_v","_w","_x","_y","_z","_0","_1","_2","_3","_4","_5","_6","_7","_8","_9","_10","_11","_12","_13","_14","_15","_16","_17","_18","_19","_20","_21","_22","_23","_24","harwareRegister","hardwareInterrupts","interruptList","registerKey","deviceDeafultValue","stateData","interruptComponentValue","componentMetaData","compType","SETTING","tabID","REGISTER","parent","settingKey","settingValue","deviceDefaultValue","mappedStateData","settingVal","regVal","harwareRegisters","moduleConfigRegisters","componentData","eachRegKey","eachSet","registerUiSchema","registerFormData","registerScfUiSchema","createAutoViewPayloads","scf_register_view_helper_1","registerFilter","autoModuleViewHelpers_1","formData_1","scfUiSchema_1","schema_1","uiSchema_1","payloads","main","getPayloadForTab","showRegisterEditor","registerViewPayloads","registerView","CreateRegisterView","withAllEditable","interruptsKey","foundRegister","withRegisterValue","interrupt","interruptComponent","interruptCompVal","withInterruptValue","withInterruptOptions","formData","uiSchema","scfUiSchema","createSimpleFormPayloadForRegisterEditor","createSimpleFormPayloadRegister","viewModel","schemaViewModel","isVisible","getFunction","overrideTableOptions","uiSchemaViewModel","isEnabled","getUiBehavior","createSchema","createUiSchema","createFormData","createScfUiSchema","table","shouldPopulateView","expandGroupsByDefault","UIGroupCollapse","formDataCopy","hardwareRegisters","hardwareInterrupt","eachRegister","withNonEditableRegister","eachSetting","eachSettingObject","componentMetaData_1","isEnabled_1","withEditableRegisterSetting","isVisible_1","withInVisibleRegisterSetting","withUpdatedSettingDescription","withInVisibleRegister","eachInterrupts","INTERRUPT","withNonEditableInterrupt","withInVisibleInterrupt","hasSdlSupport","architecture","deviceName_1","moduleName_1","dosid_1","settings_1","sdlHelpUrl","helpKeyword","tooltip","isComponentInvisible","isModeActive","isImage","isUrl","format","displayViewOnImportAssigned","impKey","shouldPopulateViewAtStartup","appModel","isInvisibleViaProperty","isVisibleProperty","TimeComponentHelper_1","FrequencyComponentHelper_1","configVal","isInvalidTab","getTableFormData","ContextualHelp_1","components_1","eachKey","depSelector","dependencySelectorActions","dropdownOption","getDependencySelectorActions","transformErrors","sdlHelp","url","getHelpKeyword","getTooltip","saveState","compText","defaultName","tableState","uids","createTableUids","cellValidationInfo","getCellValidationInfo","canRemoveRows","canInsertRows","canAddRows","canMoveRowDown","canMoveRowUp","canEnableRows","getTableUiSchema","getTableActions","getDependencyComponentSchema","assignedImport","createProcessedImports","NONE_1","assignedName","selectedDependency","localeCompare","item","populateView_1","getModuleDescription","schemaBuilder_1","overrideGroupTitle","overrideGroupDescription","urlDescription","imageDescription","getSoftwareComponentSchema","getHardwareComponentSchema","getFileLoadComponentSchema","getFileSaveComponentSchema","getTableComponentSchema","addComponentSchema","validation","shouldAddValidator","addComponentValidator","getComponentSchema","UIOrder","isGroupHidden_1","isHidden","tableCols_1","columns","colNames","defaultAlignment_1","displayHeadersDiagonally_1","displayHeadersHorizontally","columns_1","defaultColumnWidth_1","calculateColumnWidth","headerMaxLength_1","reduce","Math","isColEditable","readonly","columnWidth","disableRowsForCol","disableTableCells","dataField","editable","width","dataSort","isSortable","headerAlign","dataAlign","disabledRows","tdStyle","getCellStyle","headerText","hidden","hideTableColumn","col","thStyle","getHeaderStyle","overriddenBehavior","expArg","interface","getUiSchemaExportArg","createPrototypeExports_1","createPrototypeImports_1","getCreatorFunctions","prototypeImports","createPrototypeImports","prototypeExports","createPrototypeExports","isSingletonPerDevice","isEntryPoint","processor_1","creator_1","expName","exp","processExportInterfaces","int","newInterfaces","creatorFunctions","prototypeImport","isRequired","getCreatorImportArgs","shouldOrder","updateImportWithShouldAssignDescOrder","shouldAssignDescendantsInOrder","shouldImport","MyExportInterfaces","getConfig","getComponents","createProcessedExports","exportPayload","processedInterface","getInterface","getInterfaceArgs","interfaceKey","getInterfaceResults","results","processedArgValue","interfaceData","getInterfaceData","argValues","arg","MyImportInterfaces","InterruptActions_1","stage","processedImports","filterImports","getResults","getProcessedImportOptions","overrideImport","modifiedOptions","index","importResults","initializer","getData","interrupts_1","actions_1","isHighPriority_1","isHighPriority","filterInterrupts","interruptComponentName","getInterruptComponentName","isrCallback","handlerName","headerFile","generateISR","isEnableActions","getInterruptActions","getDefaultInterruptActions","getRegisterEditorInterruptActions","isEnableAction","interruptActions","apiPrefix","interruptName","validFor","InterruptActionsBuilder","createActionFor","buildActions","curComponent","curComponentName","tableRowId","tableRowCol","tableCellPath","addActionIfEnabled","actionValue","isActionValueAcceptable","rowId","addActionIfDisabled","setPathToTableCell","rowIndex","colName","some","createActionBuilder","stateActionBuilder","PCPStateActionBuilder_1","pinRow","PCPStateActionBuilder","pinCallbacks","getAllFilteredRows","allRows","validRows","eachRow","userRowData","isRowValid","eachrowret","getAllRows","pinRows","userdata","callbacks","types_1","actionDataArr","rowWithName","rowName","compWithTabId","addIfLockedSetValue","pinRegEx","pinNameReEx","pinstate","LOCKED","validForpinNameReEx","SETACTION","addIfLockedProvideAttribs","formAttribs","ATTRIBACTION","addIfUnlockedProvideAttribs","UNLOCK","attribarray","addIfUnLockedSetValue","forComponent","actionArr","eachData","actionObj","process","AppModel_1","AutoModuleTemplates_1","autoModuleView_1","AnalyticsHelper_1","initialModule","help","overrideModuleLevelHelp","customTemplateData","templateData","view","auto","customView","getCustomView","alerts","globalNames","getAnalytics","UidMapBuilder","uidMap","addDefaultRows","row","rowCount","uid","addDynamicRows","incrementUidAndShift","removeRows","dynamicallyRemoved","sortByValue","count","sortedUids","getUidKeys","uidKey","overrideDefaultsAndFilterRows","getValueBasedOnState","removeRowFromTable","addRowToTable","addRowsToTable","overrideCellValue","createInitialRows","getInitialTableFormData","isTableInState","overrideTableDefaultsWithChanges","Tables_1","UidMapBuilder_1","tableColumns","columnsKey","rjsfType","colBox","rowChanged","initialFormData","isArray","changedRow","changedUid","rowChangeNum","runningWidth","booleanFields","columnWidths","columnName","columnNames","tableFormData","overrideTableDefaultValues","rowId_1","rowDataCols","createRowUid","Default","initialRows","defaultRowNum","tableData","cell","modifiedTableData","newRow","numberOfRows","Dynamic","newRowCols","newRowId","filteredTableTemp","defaultColumnWidth","tableFirstHalf","tableSecondHalf","currentRowId","updateActionsRowId","tableRemoved","tableUids","modifiedForData","filteredModifed","_loop_1","createDefaultTableAction","dynamicTableData","uidMap_1","rowNum_1","_loop_2","r","createUidMapBuilder","colInfo","column","colData","minValue","maxValue","errMessage","errTitle","cValidation","cValidationErrTitle","cValidationErrMessage","rowFormData","tableActions","uidsKey","defaultAction","ind_1","filtered","cellAction","tableUi","tableCols","search","striped","bordered","rightActions","displayName","textOverflow","leftActions","className","isReadonly","overflow","maxHeaderSize","displayHeadersDiagonally","position","bottom","pointerEvents","left","transformOrigin","transform","paddingTop","getDiagonalHeaderStyles","whiteSpace","maxWidth","getDefaultHeaderStyles","currentActions","modifiedActions","tableName","dynamicOptions","prefix","postfix","ViewSchemaBuilder_1","Model_1","throwError","message","schemaBuilder","ViewSchemaBuilder","withSchema","withTabName","withExpandedDefault","addChildComponent","getRegister","createRegisterView","createInterruptView","getSafeRegisterViewModel","setValue","getSafeInterruptViewModel","setOptions","withEditableRegister","withEditableInterrupt","getInterrupt","setReadonly","getSafeSettingViewModel","setIsVisible","setDescription","withEditableSetting","getRegisterViewModel","getInterruptViewModel","getSettingViewModel","rv","getValue","toHexString","getDescription","withUiSchema","withFormData","forEachSetting","createSettingView","hasOptions","createHasOptionsViewSchema","getNoOptionsViewSchema","createInterruptViewSchema","createRegisterViewModelForEachRegister","createInterruptViewModelForEachInterrupt","models","RegisterViewModel","interruptKey","InterruptViewModel","uiSchemaBuilder","UiSchemaBuilder","withReadonlyValue","getIsReadonly","withWidget","getIsVisible","withUiHelp","createSettingViewSchema","getMaxValue","getBinarySettingUiSchema","mapToOptionNameIfExists","SchemaBuilder","getBitLabel","getSetting","withEnum","getOptionNames","withDefault","getPORDefault","withMaximum","withMinimum","getOptions","withOptions","inline","moduleDescription","SettingViewModel","isReadOnly","visibility","getSettings","doThis","getValueOrDefault","createSettingViewModels","sortSettingsDescending","settingOne","settingTwo","bitRangeOne","getBitRange","getRegisterValue","getMask","nullSafe","getOptionForValue","parseInt","getShift","shiftIndex","array","tabName","childName","child","withProperties","maximum","minimum","vals","widgetName","widget","uiHelp","mapOptionLabels","isSingleton","isUnassigned","AlertTypes","dep","resource","populatedImport","labelFactory","__extends","extendStatics","d","setPrototypeOf","__proto__","TypeError","__","constructor","Register_1","CalculateRegisterValue","modifiedSettings","NumberSettingValue","withOption","getOption","OptionSettingValue","withOptionAlias","optionAlias","withOptionName","withOptionDescription","optionDescription","getOptionByDescription","getSettingByAlias","calculate","modifiedSetting","getUnmodifiedSettings","unmodifiedSetting","SettingValue","getShiftedValue","modifiedSettingNames","asHexString","asBinaryString","toBinaryString","asDecimalString","toDecimalString","_super","fromDefaultValue","foundValueByName","foundValueByAlias","getOptionDescriptions","bitRange","low","hex","processedHex","getBitRangeLow","charAt","callback","buildSimpleApi","functions","api","buildFunction","cFunction","returns","buildArguments","getInterfaceName","pkgJson","getInterfaceVersion","version","versionRegex","c_function_types_1","helpers_1","createPrototypeExport","getInterfaceId","InterfaceTypes","sys_init_basic_interface_1","createMock","api_1","requestId","initializers","priority","localInitializers","funcDec","funcBody","__spreadArrays","il","j","jl","Interface","sortSysInitInitializers","prioritySorter","INIT_PRIORITY","mock_1","apriority","DEFAULT","bpriority","data","retinitializers","initSystemList","retinitializers_1","subentry","temp","isLocalInit","isNewInterface","retinitializers_2","_appModel$getImportVa","_appModel$getImportVa2","_appModel$getImportVa3","_appModel$getImportVa4","retRowJSONdata","rowActions","clockOutEnable","configsResp","_appModel$getPCPHelpe","selectedOption","_objectSpread","_step","isPic18ClkOut","_iterator","_createForOfIteratorHelper","done","_appModel$getAssigned","eachAction","lockedState","meta","_appModel$getAssigned2","unlockedState","err","e","f","extClkSelect","_appModel$getComponen","_appModel$getPCPHelpe2","_appModel$getPCPHelpe3","_appModel$getPCPHelpe4","mclrKey","mclrEnable","lvpEnable","selectedMclrOption","selectedLvpOption","_appModel$getPCPHelpe5","_appModel$getPCPHelpe6","isPic18Mclr","_step2","_iterator2","_appModel$getAssigned3","_appModel$getAssigned4","_appModel$getComponen2","_appModel$getPCPHelpe7","noscOsccon1","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","prop","Symbol","toStringTag","StringConstants","_createClass","_classCallCheck","_defineProperty","getModuleConfigFromFile","require","_unused3","autoCreate","createCreator"],"sourceRoot":""}