@mchp-mcc/scf-pic8-osc-v1 4.3.7 → 4.4.2
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.
- package/Changelog.md +7 -13
- package/Readme.md +7 -13
- package/output/autoCreator.js +1 -1654
- package/output/autoCreator.js.map +1 -1
- package/output/autoProcessor.js +1 -1655
- package/output/autoProcessor.js.map +1 -1
- package/output/clock.c.ftl +2 -2
- package/output/clock.h.ftl +1 -1
- package/output/creator.js +1 -7408
- package/output/creator.js.map +1 -1
- package/output/moduleConfig.json +1 -0
- package/output/processor.js +1 -7408
- package/output/processor.js.map +1 -1
- package/package.json +19 -19
package/output/creator.js.map
CHANGED
|
@@ -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":"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A;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-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/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 = COMPTYPE = {}));\nvar TABID;\n(function (TABID) {\n TABID[\"MAIN\"] = \"main\";\n TABID[\"REGISTER\"] = \"register\";\n})(TABID || (exports.TABID = 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 = 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 () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\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 });\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 var _a;\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.getIdeFlavor = function () { return _this.prototype.ideFlavor; };\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.getMyFunctionNamesCache = function () {\n return _this.getMyFunctionsNames;\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.getMyFunctionsCache;\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 if (_this.getMyFunctionNamesCache().has(String(functionName))) {\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 return undefined;\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 this.getMyFunctionsCache = this.getDerivedData().getMyFunctions();\n this.getMyFunctionsNames = (_a = new Set(Object.keys(this.getDerivedData().getMyFunctions()))) !== null && _a !== void 0 ? _a : {};\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 () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\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 });\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;\n return (_this.model.getMyFunctionNamesCache().has(\"getActions\") ? (_b = (_a = _this.model.getDerivedFunctions()).getActions) === null || _b === void 0 ? void 0 : _b.call(_a, component.name) :\n 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.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;\nexports.getModuleDefaultDescription = getModuleDefaultDescription;\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}\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 () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\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.getFreqCompFormData = void 0;\nexports.isFreqComponentInState = isFreqComponentInState;\nexports.isFreqValueInState = isFreqValueInState;\nexports.isFreqUnitInState = isFreqUnitInState;\nexports.isFrequencyComponent = isFrequencyComponent;\nexports.getFreqCompSchema = getFreqCompSchema;\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}\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}\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}\nfunction isFrequencyComponent(component) {\n return (component.category === \"software\" &&\n component.type === \"frequency\");\n}\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}\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.getTimeComponentFormData = void 0;\nexports.isTimeComponentInState = isTimeComponentInState;\nexports.isTimeValueInState = isTimeValueInState;\nexports.isTimeUnitInState = isTimeUnitInState;\nexports.isTimeComponent = isTimeComponent;\nexports.getTimeComponentSchema = getTimeComponentSchema;\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}\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}\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}\nfunction isTimeComponent(component) {\n return (component.category === \"software\" &&\n component.type === \"time\");\n}\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}\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.getRegisterEditorComponentValue = void 0;\nexports.getRegisterNameList = getRegisterNameList;\nexports.getRegisterKey = getRegisterKey;\nexports.getSettingNameKey = getSettingNameKey;\nexports.getSettingAliasKey = getSettingAliasKey;\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}\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}\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}\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}\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 () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.registerScfUiSchema = exports.createAutoViewPayloads = void 0;\nexports.registerFormData = registerFormData;\nexports.registerUiSchema = registerUiSchema;\nexports.registerInitFormData = registerInitFormData;\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 RegisterEditorHelper_1 = require(\"../registerEditor/RegisterEditorHelper\");\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 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 if ((0, getConfigData_1.getConfigData)(model, true).showRegisterEditor === true) {\n registerViewPayloads.push(__assign(__assign({}, registerView.create()), { \n // Recomputing/modifying the form data to prevent conflicts in values (setting bits with options that have identical values).\n formData: registerInitFormData(model, registerView.create().formData), scfUiSchema: (0, exports.registerScfUiSchema)(model, hardwarePeripheral.registers) }));\n }\n else {\n registerViewPayloads.push(__assign(__assign({}, registerView.create()), { \n // Recomputing/modifying the form data to prevent conflicts in values (setting bits with options that have identical values).\n formData: registerInitFormData(model, registerView.create().formData) }));\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}\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}\nfunction registerInitFormData(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 = (0, RegisterEditorHelper_1.getRegisterEditorComponentValue)(model, setting, { register: register }) !== undefined\n ? (0, RegisterEditorHelper_1.getRegisterEditorComponentValue)(model, 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}\n//# sourceMappingURL=autoModuleView.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isComponentInvisible = void 0;\nexports.isUrl = isUrl;\nexports.isImage = isImage;\nexports.isModeActive = isModeActive;\nexports.shouldPopulateView = shouldPopulateView;\nvar AutoModuleHardware_1 = require(\"../AutoModuleHardware\");\nfunction isUrl(component) {\n return (component.category === \"software\" &&\n component.type === \"string\" &&\n component.format === \"url\");\n}\nfunction isImage(component) {\n return (component.category === \"software\" &&\n component.type === \"string\" &&\n component.format === \"image\");\n}\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}\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}\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 = createFormData;\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}\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 = createScfUiSchema;\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}\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.createSchema = createSchema;\nexports.isInvalidTab = isInvalidTab;\nexports.getDependencyComponentSchema = getDependencyComponentSchema;\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}\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}\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, _g, _h;\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: (_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 }\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: (_h = (_g = derivedFunctions === null || derivedFunctions === void 0 ? void 0 : derivedFunctions.overrideTitle) === null || _g === void 0 ? void 0 : _g.call(derivedFunctions, component.name)) !== null && _h !== void 0 ? _h : 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, _g, _h, _j, _k;\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_1 = 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_1.push(assignedName);\n }\n else if (selectedDependency) {\n dropdownOptions_1.push(selectedDependency);\n }\n dropdownOptions_1 = dropdownOptions_1.sort(function (a, b) {\n return a.localeCompare(b);\n });\n dropdownOptions_1 = __spreadArray([NONE_1], dropdownOptions_1.filter(function (item) { return item !== NONE_1; }), true);\n var overrideOptionsValue = (_f = (_e = (_d = viewModel === null || viewModel === void 0 ? void 0 : viewModel.viewModel) === null || _d === void 0 ? void 0 : _d.derivedFunctions) === null || _e === void 0 ? void 0 : _e.overrideOptions) === null || _f === void 0 ? void 0 : _f.call(_e, component.name);\n schema = {\n type: \"string\",\n title: (_k = (_j = (_h = (_g = viewModel === null || viewModel === void 0 ? void 0 : viewModel.viewModel) === null || _g === void 0 ? void 0 : _g.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 default: assignedName,\n enum: overrideOptionsValue !== undefined\n ? overrideOptionsValue.filter(function (item) { return dropdownOptions_1.includes(item); })\n : dropdownOptions_1,\n };\n }\n return schema;\n}\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 = createUiSchema;\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;\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 = ((_e = component.uiBehavior) === null || _e === void 0 ? void 0 : _e[\"ui:widget\"]) === \"hidden\";\n if (((_g = (_f = viewModel.getDerivedFunction).isVisible) === null || _g === void 0 ? void 0 : _g.call(_f, 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 = (_h = table.displayHeadersHorizontally) !== null && _h !== void 0 ? _h : 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}\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.createProcessedImportsForDynamicAssignment = 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;\n processedImports = __assign(__assign({}, processedImports), (_a = {}, _a[key] = __assign(__assign({}, processedImports[key]), (_d = (_c = (_b = _this.model\n .getDerivedFunctions()).updateImportKeysForDynamicAssignment) === null || _c === void 0 ? void 0 : _c.call(_b, key)) !== null && _d !== void 0 ? _d : {}), _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.InterruptActionsBuilder = void 0;\nexports.getDefaultInterruptActions = getDefaultInterruptActions;\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}\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 = void 0;\nexports.stateActionBuilder = stateActionBuilder;\nvar PCPStateActionBuilder_1 = require(\"./PCPStateActionBuilder\");\nfunction stateActionBuilder(pinRow) {\n return new PCPStateActionBuilder_1.PCPStateActionBuilder(pinRow);\n}\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, _y;\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), { imports: (_b = model\n .getImportInterfaces()\n .createProcessedImportsForDynamicAssignment(stage)) !== null && _b !== void 0 ? _b : initialModule.imports, exports: (_c = model\n .getExportInterfaces()\n .createProcessedExports()) !== null && _c !== void 0 ? _c : initialModule.exports, name: model.getName(), help: (_f = (_e = (_d = model === null || model === void 0 ? void 0 : model.getDerivedFunctions()) === null || _d === void 0 ? void 0 : _d.overrideModuleLevelHelp) === null || _e === void 0 ? void 0 : _e.call(_d)) !== null && _f !== void 0 ? _f : (0, getConfigData_1.getConfigData)(model, true).help });\n break;\n case \"results\":\n processedOutput = __assign(__assign({}, processedOutput), { imports: (_g = model\n .getImportInterfaces()\n .createProcessedImports(stage)) !== null && _g !== void 0 ? _g : initialModule.imports });\n break;\n case \"views\":\n {\n var customTemplateData = (_k = (_j = model === null || model === void 0 ? void 0 : (_h = model.getDerivedFunctions()).templateData) === null || _j === void 0 ? void 0 : _j.call(_h)) !== null && _k !== void 0 ? _k : {};\n var view = (0, autoModuleView_1.createAutoViewPayloads)(model);\n processedOutput = __assign(__assign({}, processedOutput), { payload: __assign(__assign({}, initialModule.payload), { auto: view, customView: (_m = (_l = model === null || model === void 0 ? void 0 : model.getDerivedFunctions()) === null || _l === void 0 ? void 0 : _l.getCustomView) === null || _m === void 0 ? void 0 : _m.call(_l, initialModule) }), templateData: customTemplateData, templates: (0, AutoModuleTemplates_1.getTemplates)(model), alerts: (_p = model === null || model === void 0 ? void 0 : (_o = model.getDerivedFunctions()).alerts) === null || _p === void 0 ? void 0 : _p.call(_o), name: model.getActiveName(), category: model.getCategory(), description: (_s = (_r = (_q = model === null || model === void 0 ? void 0 : model.getDerivedFunctions()) === null || _q === void 0 ? void 0 : _q.getModuleDescription) === null || _r === void 0 ? void 0 : _r.call(_q)) !== null && _s !== void 0 ? _s : (0, AutoModuleHelpers_1.getModuleDefaultDescription)(), globalNames: (_v = (_u = (_t = model === null || model === void 0 ? void 0 : model.getDerivedFunctions()) === null || _t === void 0 ? void 0 : _t.getGlobalNames) === null || _u === void 0 ? void 0 : _u.call(_t)) !== null && _v !== void 0 ? _v : [], analytics: (_y = (_x = (_w = model.getDerivedFunctions()).getAnalytics) === null || _x === void 0 ? void 0 : _x.call(_w)) !== null && _y !== void 0 ? _y : (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.getTableHelpers = void 0;\nexports.getTableComponentSchema = getTableComponentSchema;\nexports.overrideTableDefaultsWithChanges = overrideTableDefaultsWithChanges;\nexports.isTableInState = isTableInState;\nexports.calculateColumnWidth = calculateColumnWidth;\nexports.getInitialTableFormData = getInitialTableFormData;\nexports.createInitialRows = createInitialRows;\nexports.overrideCellValue = overrideCellValue;\nexports.addRowsToTable = addRowsToTable;\nexports.addRowToTable = addRowToTable;\nexports.removeRowFromTable = removeRowFromTable;\nexports.getTableFormData = getTableFormData;\nexports.getValueBasedOnState = getValueBasedOnState;\nexports.overrideDefaultsAndFilterRows = overrideDefaultsAndFilterRows;\nexports.createTableUids = createTableUids;\nexports.getCellValidationInfo = getCellValidationInfo;\nexports.getTableActions = getTableActions;\nexports.getTableUiSchema = getTableUiSchema;\nexports.getCellStyle = getCellStyle;\nexports.getHeaderStyle = getHeaderStyle;\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}\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}\nfunction isTableInState(tabState, component) {\n return (tabState && tabState[component.group] && tabState[component.group][component.name]);\n}\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}\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}\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}\nfunction overrideCellValue(tableData, cell) {\n var modifiedTableData = __spreadArray([], tableData, true);\n modifiedTableData[cell.rowId][cell.columnName] = cell.value;\n return modifiedTableData;\n}\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}\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}\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}\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}\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}\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}\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}\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}\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}\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}\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}\nfunction getHeaderStyle(maxHeaderSize, displayHeadersDiagonally) {\n return displayHeadersDiagonally\n ? getDiagonalHeaderStyles(maxHeaderSize)\n : getDefaultHeaderStyles(maxHeaderSize);\n}\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.AlertTypes = void 0;\nexports.hasOptions = hasOptions;\nexports.isAssigned = isAssigned;\nexports.isUnassigned = isUnassigned;\nexports.isSingleton = isSingleton;\nexports.filterOptions = filterOptions;\nexports.mapOptionLabels = mapOptionLabels;\nvar AlertTypes;\n(function (AlertTypes) {\n AlertTypes[\"Error\"] = \"error\";\n AlertTypes[\"Warning\"] = \"warning\";\n AlertTypes[\"Hint\"] = \"hint\";\n})(AlertTypes || (exports.AlertTypes = 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}\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}\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}\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}\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}\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}\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 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 __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 // The secondary oscillator can be enabled (OSCENbits.SOSCEN) while another source\n // drives the system clock, as SOSC also feeds peripherals such as Timer1/RTC. The\n // crystal still occupies SOSCI/SOSCO, so keep the rows and lock the pins to stop\n // other peripherals being remapped onto them. SOSCO is LOCK_UNLOCK, so it can be\n // released by the user when SOSC is driven by an external clock on SOSCIN alone.\n if (\n !retRowJSONdata &&\n (rowData.name === \"sosci\" || rowData.name === \"sosco\") &&\n appModel.isComponentValue(\"soscenOscen\") === true\n ) {\n retRowJSONdata = {\n ...rowData,\n behaviourMeta: {\n lockPinRegEx: rowData.name === \"sosci\" ? \"SOSCI\" : \"SOSCO\",\n },\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":["COMPTYPE","TABID","Object","defineProperty","exports","value","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","ownKeys","getOwnPropertyNames","ar","mod","__spreadArray","to","from","pack","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","getIdeFlavor","ideFlavor","getCategory","getModuleCategory","getActiveName","getDerivedFunctions","getGlobalNames","autoModuleAppModel","createAutoModuleAppModel","getPrototypeModule","getRegisterValues","interfaceName","registerValues","getMyFunctionNamesCache","getMyFunctionsNames","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","getMyFunctionsCache","getDerivedFunction","functionName","args","has","String","getExportInterfaces","exportInterfaces","createExportInterfaces","getImportInterfaces","importInterfaces","createImportInterfaces","isControlledByInterface","componentName","getAssignedImport","importName","isAssigned","getImportValue","filterImportBySetting","populatedImports","importKey","optionFilter","filteredImports","filterOptions","option","isComponentValue","componentMeta","regex","RegExp","test","toLowerCase","getComponent","getPCPHelper","pcpHelper","PCPHelper","setCallbacks","getCompletePinData","getPinsLogic","getRowData","rowData","getPinsData","getTableHelpers","getMyFunctions","Set","keys","processDynamicComps","toDictionary","assertNotNull","map","forEach","values","getKeys","obj","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","description","uiBehavior","isComponent","componentValue","contentMeta","isUserEnRegRWMode","getRegisterEditorComponentValue","getSettingFromComponent","isFullyAssigned","createPrototypeImport","Processor_1","import","interfaces","getHardwareInterfaces","__importDefault","populateLoadedFiles","getProcessedHandle","filterModeOptions","getSettingDefaultIfPresent","getOptionValueByName","getSettingBits","sortComments","hasConfigBits","getComboOptions","castComponent","getModuleDefaultDescription","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","getFreqCompFormData","isFreqComponentInState","isFreqValueInState","isFreqUnitInState","isFrequencyComponent","getFreqCompSchema","derivedFunctions","schema","$id","title","overrideTitle","unit","frequencyMeta","min","max","unitOptions","updatedFreqComp","modelState","tabState","valueChanged","unitChanged","hasModes","processRegisterModes","hardwarePeripheral","modifiedHardwarePeripheral","delFlag","targetStr","matchRegEx","flag","getTimeComponentFormData","isTimeComponentInState","isTimeValueInState","isTimeUnitInState","isTimeComponent","getTimeComponentSchema","timeMeta","updatedTimeComponent","isModelInitialized","getModuleConfig","ConfigBuilder","withDynamicConfigData","withDynamicComponents","build","dynamicComponents","dynamicComponentMap","UIGroups","console","error","getMappedComponentData","getRegisterNameList","getRegisterKey","getSettingNameKey","getSettingAliasKey","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","registerScfUiSchema","createAutoViewPayloads","registerFormData","registerUiSchema","registerInitFormData","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","isUrl","format","isImage","isModeActive","displayViewOnImportAssigned","impKey","shouldPopulateViewAtStartup","appModel","isInvisibleViaProperty","isVisibleProperty","configVal","isInvalidTab","getTableFormData","TimeComponentHelper_1","FrequencyComponentHelper_1","components_1","eachKey","depSelector","dependencySelectorActions","dropdownOption","getDependencySelectorActions","transformErrors","sdlHelp","url","ContextualHelp_1","getHelpKeyword","getTooltip","saveState","compText","defaultName","tableState","uids","createTableUids","cellValidationInfo","getCellValidationInfo","canRemoveRows","canInsertRows","canAddRows","canMoveRowDown","canMoveRowUp","canEnableRows","getTableUiSchema","getTableActions","populateView_1","getModuleDescription","schemaBuilder_1","overrideGroupTitle","overrideGroupDescription","urlDescription","imageDescription","getSoftwareComponentSchema","getHardwareComponentSchema","getDependencyComponentSchema","getFileLoadComponentSchema","getFileSaveComponentSchema","getTableComponentSchema","addComponentSchema","validation","shouldAddValidator","addComponentValidator","getComponentSchema","dropdownOptions_1","assignedImport","createProcessedImports","NONE_1","assignedName","selectedDependency","localeCompare","item","overrideOptionsValue","includes","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","createProcessedImportsForDynamicAssignment","updateImportKeysForDynamicAssignment","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","createActionBuilder","createActionFor","addActionIfEnabled","addActionIfDisabled","buildActions","curComponent","curComponentName","tableRowId","tableRowCol","tableCellPath","actionValue","isActionValueAcceptable","rowId","setPathToTableCell","rowIndex","colName","some","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","tableColumns","columnsKey","rjsfType","colBox","overrideTableDefaultsWithChanges","isTableInState","getInitialTableFormData","createInitialRows","overrideCellValue","addRowsToTable","addRowToTable","removeRowFromTable","getValueBasedOnState","overrideDefaultsAndFilterRows","Tables_1","UidMapBuilder_1","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","AlertTypes","hasOptions","dep","isUnassigned","isSingleton","resource","populatedImport","mapOptionLabels","labelFactory","__extends","extendStatics","d","setPrototypeOf","__proto__","TypeError","__","constructor","Register_1","CalculateRegisterValue","modifiedSettings","getSetting","NumberSettingValue","withOption","getOption","OptionSettingValue","withOptionAlias","optionAlias","withOptionName","withOptionDescription","optionDescription","getOptionByDescription","getSettingByAlias","calculate","modifiedSetting","setValue","getUnmodifiedSettings","unmodifiedSetting","SettingValue","getMask","getShiftedValue","modifiedSettingNames","asHexString","toHexString","asBinaryString","toBinaryString","asDecimalString","toDecimalString","getShift","shiftIndex","getValue","_super","fromDefaultValue","foundValueByName","foundValueByAlias","getOptionDescriptions","getOptionNames","getBitRange","getBitLabel","bitRange","low","hex","processedHex","parseInt","getBitRangeLow","charAt","callback","buildSimpleApi","functions","api","buildFunction","cFunction","returns","buildArguments","getInterfaceName","pkgJson","getInterfaceVersion","version","versionRegex","c_function_types_1","helpers_1","ViewSchemaBuilder_1","Model_1","throwError","message","schemaBuilder","ViewSchemaBuilder","withSchema","withTabName","withExpandedDefault","addChildComponent","getRegister","createRegisterView","createInterruptView","getSafeRegisterViewModel","getSafeInterruptViewModel","setOptions","withEditableRegister","withEditableInterrupt","getInterrupt","setReadonly","getSafeSettingViewModel","setIsVisible","setDescription","withEditableSetting","getRegisterViewModel","getInterruptViewModel","getSettingViewModel","rv","getDescription","withUiSchema","withFormData","forEachSetting","createSettingView","createHasOptionsViewSchema","getNoOptionsViewSchema","createInterruptViewSchema","createRegisterViewModelForEachRegister","createInterruptViewModelForEachInterrupt","models","RegisterViewModel","interruptKey","InterruptViewModel","uiSchemaBuilder","UiSchemaBuilder","withReadonlyValue","getIsReadonly","withWidget","getIsVisible","withUiHelp","createSettingViewSchema","getMaxValue","getBinarySettingUiSchema","mapToOptionNameIfExists","SchemaBuilder","withEnum","withDefault","getPORDefault","withMaximum","withMinimum","getOptions","withOptions","inline","moduleDescription","SettingViewModel","isReadOnly","visibility","getSettings","doThis","getValueOrDefault","createSettingViewModels","sortSettingsDescending","settingOne","settingTwo","bitRangeOne","getRegisterValue","nullSafe","getOptionForValue","array","tabName","childName","child","withProperties","maximum","minimum","vals","widgetName","widget","uiHelp","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":""}
|