{"version":3,"file":"EnvironmentConfigFactory.js","sourceRoot":"","sources":["../../src/EnvironmentConfigFactory.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,sDAAsE;AACtE,8CAK6B;AAM7B,oEAKqC;AACrC,sDAAwD;AACxD,4CAA0C;AAE1C,sEAA4F;AAE5F,sEAA4F;AAC5F,mCAA6D;AAG7D,2CAA6C;AAC7C,mDAA8C;AAE9C;;GAEG;AACH,MAAa,wBAAwB;IAC3B,OAAO,CAAqB;IAEpC;QACE,IAAI,CAAC,OAAO,GAAG,IAAA,4CAA8B,GAAE,CAAC;QAChD,MAAM,SAAS,GAAG,IAAA,0BAAc,GAAE,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,iBAAiB,CAAC;QAEpD,MAAM,QAAQ,GAAG,IAAA,6BAAsB,EAAC,IAAA,uBAAgB,EAAC,gBAAgB,CAAC,CAAC,CAAC;QAC5E,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAC;SACnC;QAED,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC3C,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF;AAxBD,4DAwBC;AAED,SAAgB,YAAY,CAAC,MAA0B;IACrD,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,EAAE;QAC3B,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;KACtB;IAED,MAAM,gBAAgB,GAAG,IAAA,uBAAgB,EAAC,0BAA0B,CAAC,CAAC;IACtE,MAAM,IAAI,GAAG,IAAA,2BAAoB,EAAC,0BAA0B,CAAC,CAAC;IAC9D,MAAM,WAAW,GAAG,IAAA,uBAAgB,EAAC,mBAAmB,CAAC,CAAC;IAE1D,IAAI,WAAW,EAAE;QACf,MAAM,CAAC,QAAQ,CAAC,UAAU,GAAG;YAC3B;gBACE,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,QAAQ;aACf;SACF,CAAC;KACH;IACD,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QAC3B,MAAM,CAAC,QAAQ,CAAC,eAAe,GAAG,gBAAgB,CAAC;QACnD,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,EAAE;YACtC,MAAM,CAAC,QAAQ,CAAC,UAAU,GAAG,EAAE,CAAC;SACjC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnC,IACE,OAAO,CAAC,CAAC,CAAC,KAAK,cAAc;gBAC7B,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,cAAc,IAAI,WAAW,KAAK,SAAS,CAAC,EAC5D;gBACA,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;oBAC9B,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;oBAChB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;oBACjB,IAAI,EAAE,QAAQ;iBACf,CAAC,CAAC;aACJ;SACF;KACF;IAED,MAAM,aAAa,GAAG,IAAA,2BAAoB,EAAC,8BAA8B,CAAC,CAAC;IAC3E,IACE,aAAa;QACb,aAAa,CAAC,MAAM,GAAG,CAAC;QACxB,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC/B;QACA,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAmC,EAAE,CAAC;QACrD,IAAI,GAAG,IAAI,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC5C,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QACpC,IAAI,GAAG,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACxE,IAAI,GAAG,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACpE,IAAI,GAAG,IAAI,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC1C,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAClC,IAAI,GAAG,IAAI,aAAa,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAClD,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAClC,IAAI,GAAG,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;QACtE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,IAAI,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAC,IAAI,IAAI,EAAE;gBACpD,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAC,GAAG,EAAE,CAAC;aAC/C;YACD,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC;SAChE;KACF;AACH,CAAC;AA/DD,oCA+DC;AAED,SAAgB,kBAAkB,CAAC,MAA0B;IAC3D,MAAM,yBAAyB,GAAG,IAAA,uBAAgB,EAChD,mCAAmC,CACpC,CAAC;IACF,IAAI,yBAAyB,IAAI,yBAAyB,GAAG,CAAC,EAAE;QAC9D,IAAI,MAAM,CAAC,gBAAgB,IAAI,IAAI,EAAE;YACnC,MAAM,CAAC,gBAAgB,GAAG,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAAC;SAC1D;QACD,MAAM,CAAC,gBAAgB,CAAC,4BAA4B;YAClD,yBAAyB,CAAC;KAC7B;IAED,MAAM,mBAAmB,GAAG,IAAA,uBAAgB,EAAC,4BAA4B,CAAC,CAAC;IAC3E,IAAI,mBAAmB,EAAE;QACvB,IAAI,MAAM,CAAC,gBAAgB,IAAI,IAAI,EAAE;YACnC,MAAM,CAAC,gBAAgB,GAAG,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,CAAC;SAC1E;aAAM;YACL,MAAM,CAAC,gBAAgB,CAAC,qBAAqB,GAAG,mBAAmB,CAAC;SACrE;KACF;AACH,CAAC;AApBD,gDAoBC;AAED,SAAgB,cAAc,CAAC,MAA0B;IACvD,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,EAAE;QAC7B,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;KACxB;IACD,MAAM,SAAS,GAAG,IAAA,2BAAoB,EAAC,kBAAkB,CAAC,CAAC;IAC3D,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;QACrC,MAAM,CAAC,UAAU,CAAC,SAAS,GAAG,EAAE,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;SAC5D;KACF;IACD,MAAM,aAAa,GAAG,IAAA,uBAAgB,EAAC,kBAAkB,CAAC,CAAC;IAC3D,IAAI,aAAa,EAAE;QACjB,MAAM,CAAC,UAAU,CAAC,cAAc,GAAG,aAAa,CAAC;KAClD;AACH,CAAC;AAfD,wCAeC;AAED,SAAgB,UAAU,CAAC,MAA0B,EAAE,GAAc;IACnE,MAAM,OAAO,GAAG,GAAG,CAAC,mBAAmB,CAAC;IACxC,MAAM,GAAG,GAAG,GAAG,CAAC,uBAAuB,CAAC;IAExC,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;QACvC,OAAO;KACR;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAE1C,QAAQ,OAAO,EAAE;QACf,KAAK,2BAAW,CAAC,QAAQ;YACvB,MAAM,CAAC,eAAe,CAAC,OAAO,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;YACnD,MAAM;QAER,KAAK,2BAAW,CAAC,SAAS;YACxB,MAAM,CAAC,eAAe,CAAC,OAAO,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YACpD,MAAM;QAER,KAAK,2BAAW,CAAC,YAAY;YAC3B,MAAM,CAAC,eAAe,CAAC,OAAO,GAAG;gBAC/B,oBAAoB,EAAE,EAAE,KAAK,EAAE;aAChC,CAAC;YACF,MAAM;QAER,KAAK,2BAAW,CAAC,mBAAmB;YAClC,MAAM,CAAC,eAAe,CAAC,OAAO,GAAG;gBAC/B,YAAY,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE;aAC1C,CAAC;YACF,MAAM;QAER,KAAK,2BAAW,CAAC,oBAAoB;YACnC,MAAM,CAAC,eAAe,CAAC,OAAO,GAAG;gBAC/B,YAAY,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE;aAC3C,CAAC;YACF,MAAM;QAER,KAAK,2BAAW,CAAC,uBAAuB;YACtC,MAAM,CAAC,eAAe,CAAC,OAAO,GAAG;gBAC/B,YAAY,EAAE,EAAE,IAAI,EAAE,EAAE,oBAAoB,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;aAC5D,CAAC;YACF,MAAM;QAER;YACE,gEAAgE;YAChE,MAAM;KACT;AACH,CAAC;AA/CD,gCA+CC;AAED,SAAgB,iBAAiB,CAC/B,MAA0B,EAC1B,GAAc;IAEd,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAC9B,IAAI,GAAG,CAAC,IAAA,2BAAoB,EAAC,sBAAsB,CAAC,CAAC,CACtD,CAAC;IACF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9B,OAAO;KACR;IACD,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAClC,UAAI,CAAC,IAAI,CACP,gFAAgF,CACjF,CAAC;QACF,OAAO;KACR;IACD,MAAM,CAAC,eAAe,GAAG,IAAA,kEAA4C,GAAE,CAAC;IACxE,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAExB,MAAM,yBAAyB,GAAG,IAAA,uBAAgB,EAChD,wCAAwC,CACzC,CAAC;IACF,IAAI,yBAAyB,EAAE;QAC7B,MAAM,CAAC,eAAe,CAAC,MAAO,CAAC,4BAA4B;YACzD,yBAAyB,CAAC;KAC7B;IAED,MAAM,mBAAmB,GAAG,IAAA,uBAAgB,EAC1C,iCAAiC,CAClC,CAAC;IACF,IAAI,mBAAmB,EAAE;QACvB,MAAM,CAAC,eAAe,CAAC,MAAO,CAAC,qBAAqB,GAAG,mBAAmB,CAAC;KAC5E;IAED,MAAM,eAAe,GAAG,IAAA,uBAAgB,EAAC,6BAA6B,CAAC,CAAC;IACxE,IAAI,eAAe,EAAE;QACnB,MAAM,CAAC,eAAe,CAAC,MAAO,CAAC,iBAAiB,GAAG,eAAe,CAAC;KACpE;IAED,MAAM,cAAc,GAAG,IAAA,uBAAgB,EAAC,4BAA4B,CAAC,CAAC;IACtE,IAAI,cAAc,EAAE;QAClB,MAAM,CAAC,eAAe,CAAC,MAAO,CAAC,gBAAgB,GAAG,cAAc,CAAC;KAClE;IAED,MAAM,wBAAwB,GAAG,IAAA,uBAAgB,EAC/C,kCAAkC,CACnC,CAAC;IACF,IAAI,wBAAwB,EAAE;QAC5B,MAAM,CAAC,eAAe,CAAC,MAAO,CAAC,2BAA2B;YACxD,wBAAwB,CAAC;KAC5B;IAED,MAAM,uBAAuB,GAAG,IAAA,uBAAgB,EAC9C,iCAAiC,CAClC,CAAC;IACF,IAAI,uBAAuB,EAAE;QAC3B,MAAM,CAAC,eAAe,CAAC,MAAO,CAAC,0BAA0B;YACvD,uBAAuB,CAAC;KAC3B;IAED,MAAM,KAAK,GAAuB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACnD,MAAM,aAAa,GAAG,IAAA,uBAAgB,EAAC,yBAAyB,CAAC,IAAI,IAAI,CAAC;IAC1E,IAAI,aAAa,EAAE;QACjB,KAAK,CAAC,cAAc,GAAG,aAAa,CAAC;KACtC;IAED,MAAM,aAAa,GAAG,IAAA,uBAAgB,EAAC,yBAAyB,CAAC,IAAI,KAAK,CAAC;IAC3E,IAAI,aAAa,EAAE;QACjB,KAAK,CAAC,cAAc,GAAG,aAAa,CAAC;KACtC;IAED,MAAM,YAAY,GAAG,IAAA,uBAAgB,EAAC,yBAAyB,CAAC,IAAI,IAAI,CAAC;IACzE,IAAI,YAAY,EAAE;QAChB,KAAK,CAAC,cAAc,GAAG,YAAY,CAAC;KACrC;IAED,MAAM,kBAAkB,GACtB,IAAA,uBAAgB,EAAC,gCAAgC,CAAC,IAAI,GAAG,CAAC;IAC5D,IAAI,kBAAkB,EAAE;QACtB,KAAK,CAAC,qBAAqB,GAAG,kBAAkB,CAAC;KAClD;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC7C,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;QAC/B,IAAI,YAAY,KAAK,SAAS,EAAE;YAC9B,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC;gBACrC,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE;aACtC,CAAC,CAAC;SACJ;aAAM;YACL,qBAAqB;YACrB,MAAM,QAAQ,GACZ,IAAA,uBAAgB,EAAC,oCAAoC,CAAC;gBACtD,IAAA,uBAAgB,EAAC,6BAA6B,CAAC;gBAC/C,eAAe,CAAC;YAClB,MAAM,eAAe,GACnB,IAAA,uBAAgB,EAAC,uCAAuC,CAAC;gBACzD,IAAA,uBAAgB,EAAC,gCAAgC,CAAC,CAAC;YACrD,MAAM,aAAa,GACjB,IAAA,uBAAgB,EAAC,sCAAsC,CAAC;gBACxD,IAAA,uBAAgB,EAAC,+BAA+B,CAAC,CAAC;YACpD,MAAM,qBAAqB,GACzB,IAAA,uBAAgB,EAAC,8CAA8C,CAAC;gBAChE,IAAA,uBAAgB,EAAC,uCAAuC,CAAC,CAAC;YAC5D,MAAM,WAAW,GACf,IAAA,uBAAgB,EAAC,uCAAuC,CAAC;gBACzD,IAAA,uBAAgB,EAAC,gCAAgC,CAAC,CAAC;YACrD,MAAM,OAAO,GACX,IAAA,uBAAgB,EAAC,mCAAmC,CAAC;gBACrD,IAAA,uBAAgB,EAAC,4BAA4B,CAAC;gBAC9C,KAAK,CAAC;YACR,MAAM,WAAW,GACf,IAAA,uBAAgB,EAAC,mCAAmC,CAAC;gBACrD,IAAA,uBAAgB,EAAC,4BAA4B,CAAC,CAAC;YAEjD,IAAI,QAAQ,KAAK,MAAM,EAAE;gBACvB,OAAO,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACpC,SAAS,CAAC,QAAQ,CAAC,SAAS,GAAG,EAAE,CAAC;gBAClC,MAAM,QAAQ,GACZ,IAAA,uBAAgB,EAAC,oCAAoC,CAAC;oBACtD,IAAA,uBAAgB,EAAC,6BAA6B,CAAC;oBAC/C,uBAAuB,CAAC;gBAC1B,IAAI,QAAQ,EAAE;oBACZ,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;iBAClD;gBACD,MAAM,GAAG,GAAG,IAAA,wBAAgB,EAC1B,eAAe,EACf,aAAa,EACb,qBAAqB,CACtB,CAAC;gBACF,IAAI,GAAG,EAAE;oBACP,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC;iBACxC;gBACD,IAAI,WAAW,EAAE;oBACf,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;iBACxD;gBACD,IAAI,OAAO,EAAE;oBACX,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;iBAChD;gBACD,IAAI,WAAW,EAAE;oBACf,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,GAAG,WAAW,CAAC;iBACzD;aACF;iBAAM;gBACL,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,EAAE;oBACxC,SAAS,CAAC,QAAQ,CAAC,SAAS,GAAG,EAAE,CAAC;iBACnC;gBACD,MAAM,QAAQ,GACZ,IAAA,uBAAgB,EAAC,oCAAoC,CAAC;oBACtD,CAAC,IAAA,uBAAgB,EAAC,6BAA6B,CAAC;wBAC9C,CAAC,CAAC,GAAG,IAAA,uBAAgB,EAAC,6BAA6B,CAAC,YAAY;wBAChE,CAAC,CAAC,iCAAiC,CAAC,CAAC;gBACzC,IAAI,QAAQ,EAAE;oBACZ,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;iBAClD;gBACD,MAAM,GAAG,GAAG,IAAA,wBAAgB,EAC1B,eAAe,EACf,aAAa,EACb,qBAAqB,CACtB,CAAC;gBACF,IAAI,GAAG,EAAE;oBACP,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC;iBACxC;gBACD,IAAI,WAAW,EAAE;oBACf,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;iBACxD;gBACD,IAAI,OAAO,EAAE;oBACX,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;iBAChD;gBACD,IAAI,WAAW,EAAE;oBACf,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,GAAG,WAAW,CAAC;iBACzD;gBACD,IAAI,QAAQ,KAAK,WAAW,EAAE;oBAC5B,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,GAAG,8BAAgB,CAAC,IAAI,CAAC;iBAC/D;qBAAM,IAAI,QAAQ,KAAK,eAAe,EAAE;oBACvC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,GAAG,8BAAgB,CAAC,QAAQ,CAAC;iBACnE;aACF;YAED,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;SAC9D;KACF;AACH,CAAC;AArLD,8CAqLC;AAED,SAAgB,gBAAgB,CAAC,MAA0B;IACzD,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAC9B,IAAI,GAAG,CAAC,IAAA,2BAAoB,EAAC,uBAAuB,CAAC,CAAC,CACvD,CAAC;IACF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9B,OAAO;KACR;IACD,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAClC,UAAI,CAAC,IAAI,CACP,gFAAgF,CACjF,CAAC;QACF,OAAO;KACR;IACD,MAAM,CAAC,cAAc,GAAG,IAAA,gEAA2C,GAAE,CAAC;IAEtE,MAAM,cAAc,GAAyB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC9D,MAAM,QAAQ,GAAG,IAAA,uBAAgB,EAAC,6BAA6B,CAAC,IAAI,KAAK,CAAC;IAC1E,IAAI,QAAQ,EAAE;QACZ,cAAc,CAAC,QAAQ,GAAG,QAAQ,CAAC;KACpC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC7C,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,YAAY,KAAK,YAAY,EAAE;YACjC,gCAAgC;YAChC,MAAM,UAAU,GAAqB;gBACnC,QAAQ,EAAE;oBACR,wBAAwB,EAAE;wBACxB,IAAI,EACF,IAAA,uBAAgB,EAAC,+BAA+B,CAAC,IAAI,WAAW;wBAClE,IAAI,EAAE,IAAA,uBAAgB,EAAC,+BAA+B,CAAC,IAAI,IAAI;wBAC/D,kBAAkB,EAAE,KAAK;wBACzB,mBAAmB,EAAE,KAAK;qBAC3B;iBACF;aACF,CAAC;YACF,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;YACzD,SAAS;SACV;QAED,MAAM,kBAAkB,GAAG,EAAE,GAAG,cAAc,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,IAAA,uBAAgB,EAAC,4BAA4B,CAAC,IAAI,KAAK,CAAC;QACxE,IAAI,OAAO,EAAE;YACX,kBAAkB,CAAC,OAAO,GAAG,OAAO,CAAC;SACtC;QAED,IAAI,YAAY,KAAK,SAAS,EAAE;YAC9B,kBAAkB,CAAC,QAAQ,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;SAC/C;aAAM;YACL,qBAAqB;YACrB,MAAM,QAAQ,GACZ,IAAA,uBAAgB,EAAC,qCAAqC,CAAC;gBACvD,IAAA,uBAAgB,EAAC,6BAA6B,CAAC;gBAC/C,eAAe,CAAC;YAClB,MAAM,eAAe,GACnB,IAAA,uBAAgB,EAAC,wCAAwC,CAAC;gBAC1D,IAAA,uBAAgB,EAAC,gCAAgC,CAAC,CAAC;YACrD,MAAM,aAAa,GACjB,IAAA,uBAAgB,EAAC,uCAAuC,CAAC;gBACzD,IAAA,uBAAgB,EAAC,+BAA+B,CAAC,CAAC;YACpD,MAAM,qBAAqB,GACzB,IAAA,uBAAgB,EAAC,+CAA+C,CAAC;gBACjE,IAAA,uBAAgB,EAAC,uCAAuC,CAAC,CAAC;YAC5D,MAAM,WAAW,GACf,IAAA,uBAAgB,EAAC,wCAAwC,CAAC;gBAC1D,IAAA,uBAAgB,EAAC,gCAAgC,CAAC,CAAC;YACrD,MAAM,eAAe,GACnB,IAAA,uBAAgB,EAAC,oCAAoC,CAAC;gBACtD,IAAA,uBAAgB,EAAC,4BAA4B,CAAC;gBAC9C,KAAK,CAAC;YACR,MAAM,WAAW,GACf,IAAA,uBAAgB,EAAC,oCAAoC,CAAC;gBACtD,IAAA,uBAAgB,EAAC,4BAA4B,CAAC,CAAC;YACjD,MAAM,qBAAqB,GACzB,IAAA,uBAAgB,EAAC,mDAAmD,CAAC;gBACrE,YAAY,CAAC;YACf,MAAM,2BAA2B,GAC/B,IAAA,uBAAgB,EACd,0DAA0D,CAC3D,IAAI,2BAA2B,CAAC;YAEnC,IAAI,QAAQ,KAAK,MAAM,EAAE;gBACvB,OAAO,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAC7C,kBAAkB,CAAC,QAAQ,CAAC,SAAS,GAAG,EAAE,CAAC;gBAC3C,MAAM,QAAQ,GACZ,IAAA,uBAAgB,EAAC,qCAAqC,CAAC;oBACvD,IAAA,uBAAgB,EAAC,6BAA6B,CAAC;oBAC/C,uBAAuB,CAAC;gBAC1B,IAAI,QAAQ,EAAE;oBACZ,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;iBAC3D;gBACD,MAAM,GAAG,GAAG,IAAA,wBAAgB,EAC1B,eAAe,EACf,aAAa,EACb,qBAAqB,CACtB,CAAC;gBACF,IAAI,GAAG,EAAE;oBACP,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC;iBACjD;gBACD,IAAI,WAAW,EAAE;oBACf,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;iBACjE;gBACD,IAAI,eAAe,EAAE;oBACnB,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,GAAG,eAAe,CAAC;iBACjE;gBACD,IAAI,WAAW,EAAE;oBACf,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,GAAG,WAAW,CAAC;iBAClE;gBACD,IAAI,qBAAqB,EAAE;oBACzB,QAAQ,qBAAqB,EAAE;wBAC7B,KAAK,YAAY;4BACf,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,sBAAsB;gCAC1D,kDAA6B,CAAC,UAAU,CAAC;4BAC3C,MAAM;wBACR,KAAK,OAAO;4BACV,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,sBAAsB;gCAC1D,kDAA6B,CAAC,KAAK,CAAC;4BACtC,MAAM;wBACR,KAAK,YAAY;4BACf,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,sBAAsB;gCAC1D,kDAA6B,CAAC,SAAS,CAAC;4BAC1C,MAAM;wBACR;4BACE,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,sBAAsB;gCAC1D,kDAA6B,CAAC,UAAU,CAAC;4BAC3C,MAAM;qBACT;iBACF;gBACD,IAAI,2BAA2B,EAAE;oBAC/B,QAAQ,2BAA2B,EAAE;wBACnC,KAAK,2BAA2B;4BAC9B,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,6BAA6B;gCACjE,wDAAmC,CAAC,uBAAuB,CAAC;4BAC9D,MAAM;wBACR,KAAK,oCAAoC;4BACvC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,6BAA6B;gCACjE,wDAAmC,CAAC,+BAA+B,CAAC;4BACtE,MAAM;wBACR;4BACE,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,6BAA6B;gCACjE,wDAAmC,CAAC,uBAAuB,CAAC;4BAC9D,MAAM;qBACT;iBACF;aACF;iBAAM;gBACL,IAAI,kBAAkB,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,EAAE;oBACjD,kBAAkB,CAAC,QAAQ,CAAC,SAAS,GAAG,EAAE,CAAC;iBAC5C;gBACD,MAAM,QAAQ,GACZ,IAAA,uBAAgB,EAAC,qCAAqC,CAAC;oBACvD,CAAC,IAAA,uBAAgB,EAAC,6BAA6B,CAAC;wBAC9C,CAAC,CAAC,GAAG,IAAA,uBAAgB,EAAC,6BAA6B,CAAC,aAAa;wBACjE,CAAC,CAAC,kCAAkC,CAAC,CAAC;gBAC1C,IAAI,QAAQ,EAAE;oBACZ,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;iBAC3D;gBACD,MAAM,GAAG,GAAG,IAAA,wBAAgB,EAC1B,eAAe,EACf,aAAa,EACb,qBAAqB,CACtB,CAAC;gBACF,IAAI,GAAG,EAAE;oBACP,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC;iBACjD;gBACD,IAAI,WAAW,EAAE;oBACf,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;iBACjE;gBACD,IAAI,eAAe,EAAE;oBACnB,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,GAAG,eAAe,CAAC;iBACjE;gBACD,IAAI,WAAW,EAAE;oBACf,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,GAAG,WAAW,CAAC;iBAClE;gBACD,IAAI,qBAAqB,EAAE;oBACzB,QAAQ,qBAAqB,EAAE;wBAC7B,KAAK,YAAY;4BACf,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,sBAAsB;gCAC1D,kDAA6B,CAAC,UAAU,CAAC;4BAC3C,MAAM;wBACR,KAAK,OAAO;4BACV,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,sBAAsB;gCAC1D,kDAA6B,CAAC,KAAK,CAAC;4BACtC,MAAM;wBACR,KAAK,YAAY;4BACf,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,sBAAsB;gCAC1D,kDAA6B,CAAC,SAAS,CAAC;4BAC1C,MAAM;wBACR;4BACE,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,sBAAsB;gCAC1D,kDAA6B,CAAC,UAAU,CAAC;4BAC3C,MAAM;qBACT;iBACF;gBACD,IAAI,2BAA2B,EAAE;oBAC/B,QAAQ,2BAA2B,EAAE;wBACnC,KAAK,2BAA2B;4BAC9B,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,6BAA6B;gCACjE,wDAAmC,CAAC,uBAAuB,CAAC;4BAC9D,MAAM;wBACR,KAAK,oCAAoC;4BACvC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,6BAA6B;gCACjE,wDAAmC,CAAC,+BAA+B,CAAC;4BACtE,MAAM;wBACR;4BACE,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,6BAA6B;gCACjE,wDAAmC,CAAC,uBAAuB,CAAC;4BAC9D,MAAM;qBACT;iBACF;gBACD,IAAI,QAAQ,KAAK,WAAW,EAAE;oBAC5B,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ;wBAC5C,8BAAgB,CAAC,IAAI,CAAC;iBACzB;qBAAM,IAAI,QAAQ,KAAK,eAAe,EAAE;oBACvC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ;wBAC5C,8BAAgB,CAAC,QAAQ,CAAC;iBAC7B;aACF;SACF;QACD,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;KACtE;IAED,MAAM,cAAc,GAClB,IAAA,uBAAgB,EAAC,8BAA8B,CAAC,IAAI,aAAa,CAAC;IACpE,IAAI,cAAc,EAAE;QAClB,QAAQ,cAAc,EAAE;YACtB,KAAK,aAAa;gBAChB,MAAM,CAAC,cAAc,CAAC,eAAe,GAAG,mCAAc,CAAC,UAAU,CAAC;gBAClE,MAAM;YACR,KAAK,WAAW;gBACd,MAAM,CAAC,cAAc,CAAC,eAAe,GAAG,mCAAc,CAAC,QAAQ,CAAC;gBAChE,MAAM;YACR,KAAK,YAAY;gBACf,MAAM,CAAC,cAAc,CAAC,eAAe,GAAG,mCAAc,CAAC,SAAS,CAAC;gBACjE,MAAM;YACR;gBACE,MAAM,CAAC,cAAc,CAAC,eAAe,GAAG,mCAAc,CAAC,UAAU,CAAC;gBAClE,MAAM;SACT;KACF;AACH,CAAC;AA9OD,4CA8OC;AAED,SAAgB,iBAAiB,CAAC,MAA0B;IAC1D,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAC9B,IAAI,GAAG,CAAC,IAAA,2BAAoB,EAAC,oBAAoB,CAAC,CAAC,CACpD,CAAC;IACF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9B,OAAO;KACR;IACD,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAClC,UAAI,CAAC,IAAI,CACP,8EAA8E,CAC/E,CAAC;QACF,OAAO;KACR;IACD,MAAM,CAAC,eAAe,GAAG,IAAA,kEAA4C,GAAE,CAAC;IAExE,MAAM,yBAAyB,GAAG,IAAA,uBAAgB,EAChD,6CAA6C,CAC9C,CAAC;IACF,MAAM,mBAAmB,GAAG,IAAA,uBAAgB,EAC1C,sCAAsC,CACvC,CAAC;IACF,IAAI,yBAAyB,IAAI,mBAAmB,EAAE;QACpD,IAAI,yBAAyB,EAAE;YAC7B,MAAM,CAAC,eAAe,CAAC,MAAO,CAAC,4BAA4B;gBACzD,yBAAyB,CAAC;SAC7B;QAED,IAAI,mBAAmB,EAAE;YACvB,MAAM,CAAC,eAAe,CAAC,MAAO,CAAC,qBAAqB;gBAClD,mBAAmB,CAAC;SACvB;KACF;IAED,MAAM,KAAK,GAA4B,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACxD,MAAM,aAAa,GAAG,IAAA,uBAAgB,EAAC,0BAA0B,CAAC,IAAI,IAAI,CAAC;IAC3E,IAAI,aAAa,EAAE;QACjB,KAAK,CAAC,cAAc,GAAG,aAAa,CAAC;KACtC;IAED,MAAM,aAAa,GAAG,IAAA,uBAAgB,EAAC,0BAA0B,CAAC,IAAI,KAAK,CAAC;IAC5E,IAAI,aAAa,EAAE;QACjB,KAAK,CAAC,cAAc,GAAG,aAAa,CAAC;KACtC;IAED,MAAM,YAAY,GAAG,IAAA,uBAAgB,EAAC,0BAA0B,CAAC,IAAI,IAAI,CAAC;IAC1E,IAAI,YAAY,EAAE;QAChB,KAAK,CAAC,cAAc,GAAG,YAAY,CAAC;KACrC;IAED,MAAM,kBAAkB,GACtB,IAAA,uBAAgB,EAAC,iCAAiC,CAAC,IAAI,GAAG,CAAC;IAC7D,IAAI,kBAAkB,EAAE;QACtB,KAAK,CAAC,qBAAqB,GAAG,kBAAkB,CAAC;KAClD;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC7C,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;QAC/B,IAAI,YAAY,KAAK,SAAS,EAAE;YAC9B,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC;gBACrC,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE;aACtC,CAAC,CAAC;SACJ;aAAM;YACL,qBAAqB;YACrB,MAAM,QAAQ,GACZ,IAAA,uBAAgB,EAAC,kCAAkC,CAAC;gBACpD,IAAA,uBAAgB,EAAC,6BAA6B,CAAC;gBAC/C,eAAe,CAAC;YAClB,MAAM,eAAe,GACnB,IAAA,uBAAgB,EAAC,qCAAqC,CAAC;gBACvD,IAAA,uBAAgB,EAAC,gCAAgC,CAAC,CAAC;YACrD,MAAM,aAAa,GACjB,IAAA,uBAAgB,EAAC,oCAAoC,CAAC;gBACtD,IAAA,uBAAgB,EAAC,+BAA+B,CAAC,CAAC;YACpD,MAAM,qBAAqB,GACzB,IAAA,uBAAgB,EAAC,4CAA4C,CAAC;gBAC9D,IAAA,uBAAgB,EAAC,uCAAuC,CAAC,CAAC;YAC5D,MAAM,WAAW,GACf,IAAA,uBAAgB,EAAC,qCAAqC,CAAC;gBACvD,IAAA,uBAAgB,EAAC,gCAAgC,CAAC,CAAC;YACrD,MAAM,OAAO,GACX,IAAA,uBAAgB,EAAC,iCAAiC,CAAC;gBACnD,IAAA,uBAAgB,EAAC,4BAA4B,CAAC;gBAC9C,KAAK,CAAC;YACR,MAAM,WAAW,GACf,IAAA,uBAAgB,EAAC,iCAAiC,CAAC;gBACnD,IAAA,uBAAgB,EAAC,4BAA4B,CAAC,CAAC;YAEjD,IAAI,QAAQ,KAAK,MAAM,EAAE;gBACvB,OAAO,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACpC,SAAS,CAAC,QAAQ,CAAC,SAAS,GAAG,EAAE,CAAC;gBAClC,MAAM,QAAQ,GACZ,IAAA,uBAAgB,EAAC,kCAAkC,CAAC;oBACpD,IAAA,uBAAgB,EAAC,6BAA6B,CAAC;oBAC/C,uBAAuB,CAAC;gBAC1B,IAAI,QAAQ,EAAE;oBACZ,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;iBAClD;gBACD,MAAM,GAAG,GAAG,IAAA,wBAAgB,EAC1B,eAAe,EACf,aAAa,EACb,qBAAqB,CACtB,CAAC;gBACF,IAAI,GAAG,EAAE;oBACP,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC;iBACxC;gBACD,IAAI,WAAW,EAAE;oBACf,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;iBACxD;gBACD,IAAI,OAAO,EAAE;oBACX,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;iBAChD;gBACD,IAAI,WAAW,EAAE;oBACf,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,GAAG,WAAW,CAAC;iBACzD;aACF;iBAAM;gBACL,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,EAAE;oBACxC,SAAS,CAAC,QAAQ,CAAC,SAAS,GAAG,EAAE,CAAC;iBACnC;gBACD,MAAM,QAAQ,GACZ,IAAA,uBAAgB,EAAC,kCAAkC,CAAC;oBACpD,CAAC,IAAA,uBAAgB,EAAC,6BAA6B,CAAC;wBAC9C,CAAC,CAAC,GAAG,IAAA,uBAAgB,EAAC,6BAA6B,CAAC,UAAU;wBAC9D,CAAC,CAAC,+BAA+B,CAAC,CAAC;gBACvC,IAAI,QAAQ,EAAE;oBACZ,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;iBAClD;gBACD,MAAM,GAAG,GAAG,IAAA,wBAAgB,EAC1B,eAAe,EACf,aAAa,EACb,qBAAqB,CACtB,CAAC;gBACF,IAAI,GAAG,EAAE;oBACP,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC;iBACxC;gBACD,IAAI,WAAW,EAAE;oBACf,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;iBACxD;gBACD,IAAI,OAAO,EAAE;oBACX,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;iBAChD;gBACD,IAAI,WAAW,EAAE;oBACf,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,GAAG,WAAW,CAAC;iBACzD;gBAED,IAAI,QAAQ,KAAK,WAAW,EAAE;oBAC5B,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,GAAG,8BAAgB,CAAC,IAAI,CAAC;iBAC/D;qBAAM,IAAI,QAAQ,KAAK,eAAe,EAAE;oBACvC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,GAAG,8BAAgB,CAAC,QAAQ,CAAC;iBACnE;aACF;YACD,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;SAC9D;KACF;AACH,CAAC;AA1JD,8CA0JC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { ConfigurationModel } from './models/configModel';\nimport { initializeDefaultConfiguration } from './models/configModel';\nimport {\n  getStringFromEnv,\n  getStringListFromEnv,\n  diagLogLevelFromString,\n  getNumberFromEnv,\n} from '@opentelemetry/core';\nimport type { ConfigFactory } from './IConfigFactory';\nimport type {\n  PeriodicMetricReader,\n  PullMetricReader,\n} from './models/meterProviderModel';\nimport {\n  ExemplarFilter,\n  ExporterDefaultHistogramAggregation,\n  ExporterTemporalityPreference,\n  initializeDefaultMeterProviderConfiguration,\n} from './models/meterProviderModel';\nimport { OtlpHttpEncoding } from './models/commonModel';\nimport { diag } from '@opentelemetry/api';\nimport type { BatchSpanProcessor } from './models/tracerProviderModel';\nimport { initializeDefaultTracerProviderConfiguration } from './models/tracerProviderModel';\nimport type { BatchLogRecordProcessor } from './models/loggerProviderModel';\nimport { initializeDefaultLoggerProviderConfiguration } from './models/loggerProviderModel';\nimport { getGrpcTlsConfig, getHttpTlsConfig } from './utils';\nimport type { ExperimentalResourceDetector } from './models/resourceModel';\nimport type { EnvValues } from './EnvReader';\nimport { readAllEnvVars } from './EnvReader';\nimport { SamplerType } from './EnvDefinition';\n\n/**\n * EnvironmentConfigProvider provides a configuration based on environment variables.\n */\nexport class EnvironmentConfigFactory implements ConfigFactory {\n  private _config: ConfigurationModel;\n\n  constructor() {\n    this._config = initializeDefaultConfiguration();\n    const envValues = readAllEnvVars();\n    this._config.disabled = envValues.OTEL_SDK_DISABLED;\n\n    const logLevel = diagLogLevelFromString(getStringFromEnv('OTEL_LOG_LEVEL'));\n    if (logLevel) {\n      this._config.log_level = logLevel;\n    }\n\n    setResources(this._config);\n    setAttributeLimits(this._config);\n    setPropagators(this._config);\n    setTracerProvider(this._config, envValues);\n    setMeterProvider(this._config);\n    setLoggerProvider(this._config);\n  }\n\n  getConfigModel(): ConfigurationModel {\n    return this._config;\n  }\n}\n\nexport function setResources(config: ConfigurationModel): void {\n  if (config.resource == null) {\n    config.resource = {};\n  }\n\n  const resourceAttrList = getStringFromEnv('OTEL_RESOURCE_ATTRIBUTES');\n  const list = getStringListFromEnv('OTEL_RESOURCE_ATTRIBUTES');\n  const serviceName = getStringFromEnv('OTEL_SERVICE_NAME');\n\n  if (serviceName) {\n    config.resource.attributes = [\n      {\n        name: 'service.name',\n        value: serviceName,\n        type: 'string',\n      },\n    ];\n  }\n  if (list && list.length > 0) {\n    config.resource.attributes_list = resourceAttrList;\n    if (config.resource.attributes == null) {\n      config.resource.attributes = [];\n    }\n\n    for (let i = 0; i < list.length; i++) {\n      const element = list[i].split('=');\n      if (\n        element[0] !== 'service.name' ||\n        (element[0] === 'service.name' && serviceName === undefined)\n      ) {\n        config.resource.attributes.push({\n          name: element[0],\n          value: element[1],\n          type: 'string',\n        });\n      }\n    }\n  }\n\n  const nodeDetectors = getStringListFromEnv('OTEL_NODE_RESOURCE_DETECTORS');\n  if (\n    nodeDetectors &&\n    nodeDetectors.length > 0 &&\n    !nodeDetectors.includes('none')\n  ) {\n    const all = nodeDetectors.includes('all');\n    const detectors: ExperimentalResourceDetector[] = [];\n    if (all || nodeDetectors.includes('container'))\n      detectors.push({ container: {} });\n    if (all || nodeDetectors.includes('host')) detectors.push({ host: {} });\n    if (all || nodeDetectors.includes('os')) detectors.push({ os: {} });\n    if (all || nodeDetectors.includes('process'))\n      detectors.push({ process: {} });\n    if (all || nodeDetectors.includes('serviceinstance'))\n      detectors.push({ service: {} });\n    if (all || nodeDetectors.includes('env')) detectors.push({ env: {} });\n    if (detectors.length > 0) {\n      if (config.resource['detection/development'] == null) {\n        config.resource['detection/development'] = {};\n      }\n      config.resource['detection/development'].detectors = detectors;\n    }\n  }\n}\n\nexport function setAttributeLimits(config: ConfigurationModel): void {\n  const attributeValueLengthLimit = getNumberFromEnv(\n    'OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT'\n  );\n  if (attributeValueLengthLimit && attributeValueLengthLimit > 0) {\n    if (config.attribute_limits == null) {\n      config.attribute_limits = { attribute_count_limit: 128 };\n    }\n    config.attribute_limits.attribute_value_length_limit =\n      attributeValueLengthLimit;\n  }\n\n  const attributeCountLimit = getNumberFromEnv('OTEL_ATTRIBUTE_COUNT_LIMIT');\n  if (attributeCountLimit) {\n    if (config.attribute_limits == null) {\n      config.attribute_limits = { attribute_count_limit: attributeCountLimit };\n    } else {\n      config.attribute_limits.attribute_count_limit = attributeCountLimit;\n    }\n  }\n}\n\nexport function setPropagators(config: ConfigurationModel): void {\n  if (config.propagator == null) {\n    config.propagator = {};\n  }\n  const composite = getStringListFromEnv('OTEL_PROPAGATORS');\n  if (composite && composite.length > 0) {\n    config.propagator.composite = [];\n    for (let i = 0; i < composite.length; i++) {\n      config.propagator.composite.push({ [composite[i]]: null });\n    }\n  }\n  const compositeList = getStringFromEnv('OTEL_PROPAGATORS');\n  if (compositeList) {\n    config.propagator.composite_list = compositeList;\n  }\n}\n\nexport function setSampler(config: ConfigurationModel, env: EnvValues): void {\n  const sampler = env.OTEL_TRACES_SAMPLER;\n  const arg = env.OTEL_TRACES_SAMPLER_ARG;\n\n  if (!sampler || !config.tracer_provider) {\n    return;\n  }\n\n  const ratio = arg ? parseFloat(arg) : 1.0;\n\n  switch (sampler) {\n    case SamplerType.AlwaysOn:\n      config.tracer_provider.sampler = { always_on: {} };\n      break;\n\n    case SamplerType.AlwaysOff:\n      config.tracer_provider.sampler = { always_off: {} };\n      break;\n\n    case SamplerType.TraceIdRatio:\n      config.tracer_provider.sampler = {\n        trace_id_ratio_based: { ratio },\n      };\n      break;\n\n    case SamplerType.ParentBasedAlwaysOn:\n      config.tracer_provider.sampler = {\n        parent_based: { root: { always_on: {} } },\n      };\n      break;\n\n    case SamplerType.ParentBasedAlwaysOff:\n      config.tracer_provider.sampler = {\n        parent_based: { root: { always_off: {} } },\n      };\n      break;\n\n    case SamplerType.ParentBasedTraceIdRatio:\n      config.tracer_provider.sampler = {\n        parent_based: { root: { trace_id_ratio_based: { ratio } } },\n      };\n      break;\n\n    default:\n      // readEnvVar already warns for invalid values via allowedValues\n      break;\n  }\n}\n\nexport function setTracerProvider(\n  config: ConfigurationModel,\n  env: EnvValues\n): void {\n  const exportersType = Array.from(\n    new Set(getStringListFromEnv('OTEL_TRACES_EXPORTER'))\n  );\n  if (exportersType.length === 0) {\n    return;\n  }\n  if (exportersType.includes('none')) {\n    diag.info(\n      `OTEL_TRACES_EXPORTER contains \"none\". Tracer provider will not be initialized.`\n    );\n    return;\n  }\n  config.tracer_provider = initializeDefaultTracerProviderConfiguration();\n  setSampler(config, env);\n\n  const attributeValueLengthLimit = getNumberFromEnv(\n    'OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT'\n  );\n  if (attributeValueLengthLimit) {\n    config.tracer_provider.limits!.attribute_value_length_limit =\n      attributeValueLengthLimit;\n  }\n\n  const attributeCountLimit = getNumberFromEnv(\n    'OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT'\n  );\n  if (attributeCountLimit) {\n    config.tracer_provider.limits!.attribute_count_limit = attributeCountLimit;\n  }\n\n  const eventCountLimit = getNumberFromEnv('OTEL_SPAN_EVENT_COUNT_LIMIT');\n  if (eventCountLimit) {\n    config.tracer_provider.limits!.event_count_limit = eventCountLimit;\n  }\n\n  const linkCountLimit = getNumberFromEnv('OTEL_SPAN_LINK_COUNT_LIMIT');\n  if (linkCountLimit) {\n    config.tracer_provider.limits!.link_count_limit = linkCountLimit;\n  }\n\n  const eventAttributeCountLimit = getNumberFromEnv(\n    'OTEL_EVENT_ATTRIBUTE_COUNT_LIMIT'\n  );\n  if (eventAttributeCountLimit) {\n    config.tracer_provider.limits!.event_attribute_count_limit =\n      eventAttributeCountLimit;\n  }\n\n  const linkAttributeCountLimit = getNumberFromEnv(\n    'OTEL_LINK_ATTRIBUTE_COUNT_LIMIT'\n  );\n  if (linkAttributeCountLimit) {\n    config.tracer_provider.limits!.link_attribute_count_limit =\n      linkAttributeCountLimit;\n  }\n\n  const batch: BatchSpanProcessor = { exporter: {} };\n  const scheduleDelay = getNumberFromEnv('OTEL_BSP_SCHEDULE_DELAY') ?? 5000;\n  if (scheduleDelay) {\n    batch.schedule_delay = scheduleDelay;\n  }\n\n  const exportTimeout = getNumberFromEnv('OTEL_BSP_EXPORT_TIMEOUT') ?? 30000;\n  if (exportTimeout) {\n    batch.export_timeout = exportTimeout;\n  }\n\n  const maxQueueSize = getNumberFromEnv('OTEL_BSP_MAX_QUEUE_SIZE') ?? 2048;\n  if (maxQueueSize) {\n    batch.max_queue_size = maxQueueSize;\n  }\n\n  const maxExportBatchSize =\n    getNumberFromEnv('OTEL_BSP_MAX_EXPORT_BATCH_SIZE') ?? 512;\n  if (maxExportBatchSize) {\n    batch.max_export_batch_size = maxExportBatchSize;\n  }\n\n  for (let i = 0; i < exportersType.length; i++) {\n    const exporterType = exportersType[i];\n    const batchInfo = { ...batch };\n    if (exporterType === 'console') {\n      config.tracer_provider.processors.push({\n        simple: { exporter: { console: {} } },\n      });\n    } else {\n      // 'otlp' and default\n      const protocol =\n        getStringFromEnv('OTEL_EXPORTER_OTLP_TRACES_PROTOCOL') ??\n        getStringFromEnv('OTEL_EXPORTER_OTLP_PROTOCOL') ??\n        'http/protobuf';\n      const certificateFile =\n        getStringFromEnv('OTEL_EXPORTER_OTLP_TRACES_CERTIFICATE') ??\n        getStringFromEnv('OTEL_EXPORTER_OTLP_CERTIFICATE');\n      const clientKeyFile =\n        getStringFromEnv('OTEL_EXPORTER_OTLP_TRACES_CLIENT_KEY') ??\n        getStringFromEnv('OTEL_EXPORTER_OTLP_CLIENT_KEY');\n      const clientCertificateFile =\n        getStringFromEnv('OTEL_EXPORTER_OTLP_TRACES_CLIENT_CERTIFICATE') ??\n        getStringFromEnv('OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE');\n      const compression =\n        getStringFromEnv('OTEL_EXPORTER_OTLP_TRACES_COMPRESSION') ??\n        getStringFromEnv('OTEL_EXPORTER_OTLP_COMPRESSION');\n      const timeout =\n        getNumberFromEnv('OTEL_EXPORTER_OTLP_TRACES_TIMEOUT') ??\n        getNumberFromEnv('OTEL_EXPORTER_OTLP_TIMEOUT') ??\n        10000;\n      const headersList =\n        getStringFromEnv('OTEL_EXPORTER_OTLP_TRACES_HEADERS') ??\n        getStringFromEnv('OTEL_EXPORTER_OTLP_HEADERS');\n\n      if (protocol === 'grpc') {\n        delete batchInfo.exporter.otlp_http;\n        batchInfo.exporter.otlp_grpc = {};\n        const endpoint =\n          getStringFromEnv('OTEL_EXPORTER_OTLP_TRACES_ENDPOINT') ??\n          getStringFromEnv('OTEL_EXPORTER_OTLP_ENDPOINT') ??\n          'http://localhost:4317';\n        if (endpoint) {\n          batchInfo.exporter.otlp_grpc.endpoint = endpoint;\n        }\n        const tls = getGrpcTlsConfig(\n          certificateFile,\n          clientKeyFile,\n          clientCertificateFile\n        );\n        if (tls) {\n          batchInfo.exporter.otlp_grpc.tls = tls;\n        }\n        if (compression) {\n          batchInfo.exporter.otlp_grpc.compression = compression;\n        }\n        if (timeout) {\n          batchInfo.exporter.otlp_grpc.timeout = timeout;\n        }\n        if (headersList) {\n          batchInfo.exporter.otlp_grpc.headers_list = headersList;\n        }\n      } else {\n        if (batchInfo.exporter.otlp_http == null) {\n          batchInfo.exporter.otlp_http = {};\n        }\n        const endpoint =\n          getStringFromEnv('OTEL_EXPORTER_OTLP_TRACES_ENDPOINT') ??\n          (getStringFromEnv('OTEL_EXPORTER_OTLP_ENDPOINT')\n            ? `${getStringFromEnv('OTEL_EXPORTER_OTLP_ENDPOINT')}/v1/traces`\n            : 'http://localhost:4318/v1/traces');\n        if (endpoint) {\n          batchInfo.exporter.otlp_http.endpoint = endpoint;\n        }\n        const tls = getHttpTlsConfig(\n          certificateFile,\n          clientKeyFile,\n          clientCertificateFile\n        );\n        if (tls) {\n          batchInfo.exporter.otlp_http.tls = tls;\n        }\n        if (compression) {\n          batchInfo.exporter.otlp_http.compression = compression;\n        }\n        if (timeout) {\n          batchInfo.exporter.otlp_http.timeout = timeout;\n        }\n        if (headersList) {\n          batchInfo.exporter.otlp_http.headers_list = headersList;\n        }\n        if (protocol === 'http/json') {\n          batchInfo.exporter.otlp_http.encoding = OtlpHttpEncoding.JSON;\n        } else if (protocol === 'http/protobuf') {\n          batchInfo.exporter.otlp_http.encoding = OtlpHttpEncoding.Protobuf;\n        }\n      }\n\n      config.tracer_provider.processors.push({ batch: batchInfo });\n    }\n  }\n}\n\nexport function setMeterProvider(config: ConfigurationModel): void {\n  const exportersType = Array.from(\n    new Set(getStringListFromEnv('OTEL_METRICS_EXPORTER'))\n  );\n  if (exportersType.length === 0) {\n    return;\n  }\n  if (exportersType.includes('none')) {\n    diag.info(\n      `OTEL_METRICS_EXPORTER contains \"none\". Meter provider will not be initialized.`\n    );\n    return;\n  }\n  config.meter_provider = initializeDefaultMeterProviderConfiguration();\n\n  const readerPeriodic: PeriodicMetricReader = { exporter: {} };\n  const interval = getNumberFromEnv('OTEL_METRIC_EXPORT_INTERVAL') ?? 60000;\n  if (interval) {\n    readerPeriodic.interval = interval;\n  }\n  for (let i = 0; i < exportersType.length; i++) {\n    const exporterType = exportersType[i];\n    if (exporterType === 'prometheus') {\n      // Prometheus uses a pull reader\n      const pullReader: PullMetricReader = {\n        exporter: {\n          'prometheus/development': {\n            host:\n              getStringFromEnv('OTEL_EXPORTER_PROMETHEUS_HOST') ?? 'localhost',\n            port: getNumberFromEnv('OTEL_EXPORTER_PROMETHEUS_PORT') ?? 9464,\n            without_scope_info: false,\n            without_target_info: false,\n          },\n        },\n      };\n      config.meter_provider.readers.push({ pull: pullReader });\n      continue;\n    }\n\n    const readerPeriodicInfo = { ...readerPeriodic };\n    const timeout = getNumberFromEnv('OTEL_METRIC_EXPORT_TIMEOUT') ?? 30000;\n    if (timeout) {\n      readerPeriodicInfo.timeout = timeout;\n    }\n\n    if (exporterType === 'console') {\n      readerPeriodicInfo.exporter = { console: {} };\n    } else {\n      // 'otlp' and default\n      const protocol =\n        getStringFromEnv('OTEL_EXPORTER_OTLP_METRICS_PROTOCOL') ??\n        getStringFromEnv('OTEL_EXPORTER_OTLP_PROTOCOL') ??\n        'http/protobuf';\n      const certificateFile =\n        getStringFromEnv('OTEL_EXPORTER_OTLP_METRICS_CERTIFICATE') ??\n        getStringFromEnv('OTEL_EXPORTER_OTLP_CERTIFICATE');\n      const clientKeyFile =\n        getStringFromEnv('OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY') ??\n        getStringFromEnv('OTEL_EXPORTER_OTLP_CLIENT_KEY');\n      const clientCertificateFile =\n        getStringFromEnv('OTEL_EXPORTER_OTLP_METRICS_CLIENT_CERTIFICATE') ??\n        getStringFromEnv('OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE');\n      const compression =\n        getStringFromEnv('OTEL_EXPORTER_OTLP_METRICS_COMPRESSION') ??\n        getStringFromEnv('OTEL_EXPORTER_OTLP_COMPRESSION');\n      const timeoutExporter =\n        getNumberFromEnv('OTEL_EXPORTER_OTLP_METRICS_TIMEOUT') ??\n        getNumberFromEnv('OTEL_EXPORTER_OTLP_TIMEOUT') ??\n        10000;\n      const headersList =\n        getStringFromEnv('OTEL_EXPORTER_OTLP_METRICS_HEADERS') ??\n        getStringFromEnv('OTEL_EXPORTER_OTLP_HEADERS');\n      const temporalityPreference =\n        getStringFromEnv('OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE') ??\n        'cumulative';\n      const defaultHistogramAggregation =\n        getStringFromEnv(\n          'OTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATION'\n        ) ?? 'explicit_bucket_histogram';\n\n      if (protocol === 'grpc') {\n        delete readerPeriodicInfo.exporter.otlp_http;\n        readerPeriodicInfo.exporter.otlp_grpc = {};\n        const endpoint =\n          getStringFromEnv('OTEL_EXPORTER_OTLP_METRICS_ENDPOINT') ??\n          getStringFromEnv('OTEL_EXPORTER_OTLP_ENDPOINT') ??\n          'http://localhost:4317';\n        if (endpoint) {\n          readerPeriodicInfo.exporter.otlp_grpc.endpoint = endpoint;\n        }\n        const tls = getGrpcTlsConfig(\n          certificateFile,\n          clientKeyFile,\n          clientCertificateFile\n        );\n        if (tls) {\n          readerPeriodicInfo.exporter.otlp_grpc.tls = tls;\n        }\n        if (compression) {\n          readerPeriodicInfo.exporter.otlp_grpc.compression = compression;\n        }\n        if (timeoutExporter) {\n          readerPeriodicInfo.exporter.otlp_grpc.timeout = timeoutExporter;\n        }\n        if (headersList) {\n          readerPeriodicInfo.exporter.otlp_grpc.headers_list = headersList;\n        }\n        if (temporalityPreference) {\n          switch (temporalityPreference) {\n            case 'cumulative':\n              readerPeriodicInfo.exporter.otlp_grpc.temporality_preference =\n                ExporterTemporalityPreference.Cumulative;\n              break;\n            case 'delta':\n              readerPeriodicInfo.exporter.otlp_grpc.temporality_preference =\n                ExporterTemporalityPreference.Delta;\n              break;\n            case 'low_memory':\n              readerPeriodicInfo.exporter.otlp_grpc.temporality_preference =\n                ExporterTemporalityPreference.LowMemory;\n              break;\n            default:\n              readerPeriodicInfo.exporter.otlp_grpc.temporality_preference =\n                ExporterTemporalityPreference.Cumulative;\n              break;\n          }\n        }\n        if (defaultHistogramAggregation) {\n          switch (defaultHistogramAggregation) {\n            case 'explicit_bucket_histogram':\n              readerPeriodicInfo.exporter.otlp_grpc.default_histogram_aggregation =\n                ExporterDefaultHistogramAggregation.ExplicitBucketHistogram;\n              break;\n            case 'base2_exponential_bucket_histogram':\n              readerPeriodicInfo.exporter.otlp_grpc.default_histogram_aggregation =\n                ExporterDefaultHistogramAggregation.Base2ExponentialBucketHistogram;\n              break;\n            default:\n              readerPeriodicInfo.exporter.otlp_grpc.default_histogram_aggregation =\n                ExporterDefaultHistogramAggregation.ExplicitBucketHistogram;\n              break;\n          }\n        }\n      } else {\n        if (readerPeriodicInfo.exporter.otlp_http == null) {\n          readerPeriodicInfo.exporter.otlp_http = {};\n        }\n        const endpoint =\n          getStringFromEnv('OTEL_EXPORTER_OTLP_METRICS_ENDPOINT') ??\n          (getStringFromEnv('OTEL_EXPORTER_OTLP_ENDPOINT')\n            ? `${getStringFromEnv('OTEL_EXPORTER_OTLP_ENDPOINT')}/v1/metrics`\n            : 'http://localhost:4318/v1/metrics');\n        if (endpoint) {\n          readerPeriodicInfo.exporter.otlp_http.endpoint = endpoint;\n        }\n        const tls = getHttpTlsConfig(\n          certificateFile,\n          clientKeyFile,\n          clientCertificateFile\n        );\n        if (tls) {\n          readerPeriodicInfo.exporter.otlp_http.tls = tls;\n        }\n        if (compression) {\n          readerPeriodicInfo.exporter.otlp_http.compression = compression;\n        }\n        if (timeoutExporter) {\n          readerPeriodicInfo.exporter.otlp_http.timeout = timeoutExporter;\n        }\n        if (headersList) {\n          readerPeriodicInfo.exporter.otlp_http.headers_list = headersList;\n        }\n        if (temporalityPreference) {\n          switch (temporalityPreference) {\n            case 'cumulative':\n              readerPeriodicInfo.exporter.otlp_http.temporality_preference =\n                ExporterTemporalityPreference.Cumulative;\n              break;\n            case 'delta':\n              readerPeriodicInfo.exporter.otlp_http.temporality_preference =\n                ExporterTemporalityPreference.Delta;\n              break;\n            case 'low_memory':\n              readerPeriodicInfo.exporter.otlp_http.temporality_preference =\n                ExporterTemporalityPreference.LowMemory;\n              break;\n            default:\n              readerPeriodicInfo.exporter.otlp_http.temporality_preference =\n                ExporterTemporalityPreference.Cumulative;\n              break;\n          }\n        }\n        if (defaultHistogramAggregation) {\n          switch (defaultHistogramAggregation) {\n            case 'explicit_bucket_histogram':\n              readerPeriodicInfo.exporter.otlp_http.default_histogram_aggregation =\n                ExporterDefaultHistogramAggregation.ExplicitBucketHistogram;\n              break;\n            case 'base2_exponential_bucket_histogram':\n              readerPeriodicInfo.exporter.otlp_http.default_histogram_aggregation =\n                ExporterDefaultHistogramAggregation.Base2ExponentialBucketHistogram;\n              break;\n            default:\n              readerPeriodicInfo.exporter.otlp_http.default_histogram_aggregation =\n                ExporterDefaultHistogramAggregation.ExplicitBucketHistogram;\n              break;\n          }\n        }\n        if (protocol === 'http/json') {\n          readerPeriodicInfo.exporter.otlp_http.encoding =\n            OtlpHttpEncoding.JSON;\n        } else if (protocol === 'http/protobuf') {\n          readerPeriodicInfo.exporter.otlp_http.encoding =\n            OtlpHttpEncoding.Protobuf;\n        }\n      }\n    }\n    config.meter_provider.readers.push({ periodic: readerPeriodicInfo });\n  }\n\n  const exemplarFilter =\n    getStringFromEnv('OTEL_METRICS_EXEMPLAR_FILTER') ?? 'trace_based';\n  if (exemplarFilter) {\n    switch (exemplarFilter) {\n      case 'trace_based':\n        config.meter_provider.exemplar_filter = ExemplarFilter.TraceBased;\n        break;\n      case 'always_on':\n        config.meter_provider.exemplar_filter = ExemplarFilter.AlwaysOn;\n        break;\n      case 'always_off':\n        config.meter_provider.exemplar_filter = ExemplarFilter.AlwaysOff;\n        break;\n      default:\n        config.meter_provider.exemplar_filter = ExemplarFilter.TraceBased;\n        break;\n    }\n  }\n}\n\nexport function setLoggerProvider(config: ConfigurationModel): void {\n  const exportersType = Array.from(\n    new Set(getStringListFromEnv('OTEL_LOGS_EXPORTER'))\n  );\n  if (exportersType.length === 0) {\n    return;\n  }\n  if (exportersType.includes('none')) {\n    diag.info(\n      `OTEL_LOGS_EXPORTER contains \"none\". Logger provider will not be initialized.`\n    );\n    return;\n  }\n  config.logger_provider = initializeDefaultLoggerProviderConfiguration();\n\n  const attributeValueLengthLimit = getNumberFromEnv(\n    'OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT'\n  );\n  const attributeCountLimit = getNumberFromEnv(\n    'OTEL_LOGRECORD_ATTRIBUTE_COUNT_LIMIT'\n  );\n  if (attributeValueLengthLimit || attributeCountLimit) {\n    if (attributeValueLengthLimit) {\n      config.logger_provider.limits!.attribute_value_length_limit =\n        attributeValueLengthLimit;\n    }\n\n    if (attributeCountLimit) {\n      config.logger_provider.limits!.attribute_count_limit =\n        attributeCountLimit;\n    }\n  }\n\n  const batch: BatchLogRecordProcessor = { exporter: {} };\n  const scheduleDelay = getNumberFromEnv('OTEL_BLRP_SCHEDULE_DELAY') ?? 1000;\n  if (scheduleDelay) {\n    batch.schedule_delay = scheduleDelay;\n  }\n\n  const exportTimeout = getNumberFromEnv('OTEL_BLRP_EXPORT_TIMEOUT') ?? 30000;\n  if (exportTimeout) {\n    batch.export_timeout = exportTimeout;\n  }\n\n  const maxQueueSize = getNumberFromEnv('OTEL_BLRP_MAX_QUEUE_SIZE') ?? 2048;\n  if (maxQueueSize) {\n    batch.max_queue_size = maxQueueSize;\n  }\n\n  const maxExportBatchSize =\n    getNumberFromEnv('OTEL_BLRP_MAX_EXPORT_BATCH_SIZE') ?? 512;\n  if (maxExportBatchSize) {\n    batch.max_export_batch_size = maxExportBatchSize;\n  }\n\n  for (let i = 0; i < exportersType.length; i++) {\n    const exporterType = exportersType[i];\n    const batchInfo = { ...batch };\n    if (exporterType === 'console') {\n      config.logger_provider.processors.push({\n        simple: { exporter: { console: {} } },\n      });\n    } else {\n      // 'otlp' and default\n      const protocol =\n        getStringFromEnv('OTEL_EXPORTER_OTLP_LOGS_PROTOCOL') ??\n        getStringFromEnv('OTEL_EXPORTER_OTLP_PROTOCOL') ??\n        'http/protobuf';\n      const certificateFile =\n        getStringFromEnv('OTEL_EXPORTER_OTLP_LOGS_CERTIFICATE') ??\n        getStringFromEnv('OTEL_EXPORTER_OTLP_CERTIFICATE');\n      const clientKeyFile =\n        getStringFromEnv('OTEL_EXPORTER_OTLP_LOGS_CLIENT_KEY') ??\n        getStringFromEnv('OTEL_EXPORTER_OTLP_CLIENT_KEY');\n      const clientCertificateFile =\n        getStringFromEnv('OTEL_EXPORTER_OTLP_LOGS_CLIENT_CERTIFICATE') ??\n        getStringFromEnv('OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE');\n      const compression =\n        getStringFromEnv('OTEL_EXPORTER_OTLP_LOGS_COMPRESSION') ??\n        getStringFromEnv('OTEL_EXPORTER_OTLP_COMPRESSION');\n      const timeout =\n        getNumberFromEnv('OTEL_EXPORTER_OTLP_LOGS_TIMEOUT') ??\n        getNumberFromEnv('OTEL_EXPORTER_OTLP_TIMEOUT') ??\n        10000;\n      const headersList =\n        getStringFromEnv('OTEL_EXPORTER_OTLP_LOGS_HEADERS') ??\n        getStringFromEnv('OTEL_EXPORTER_OTLP_HEADERS');\n\n      if (protocol === 'grpc') {\n        delete batchInfo.exporter.otlp_http;\n        batchInfo.exporter.otlp_grpc = {};\n        const endpoint =\n          getStringFromEnv('OTEL_EXPORTER_OTLP_LOGS_ENDPOINT') ??\n          getStringFromEnv('OTEL_EXPORTER_OTLP_ENDPOINT') ??\n          'http://localhost:4317';\n        if (endpoint) {\n          batchInfo.exporter.otlp_grpc.endpoint = endpoint;\n        }\n        const tls = getGrpcTlsConfig(\n          certificateFile,\n          clientKeyFile,\n          clientCertificateFile\n        );\n        if (tls) {\n          batchInfo.exporter.otlp_grpc.tls = tls;\n        }\n        if (compression) {\n          batchInfo.exporter.otlp_grpc.compression = compression;\n        }\n        if (timeout) {\n          batchInfo.exporter.otlp_grpc.timeout = timeout;\n        }\n        if (headersList) {\n          batchInfo.exporter.otlp_grpc.headers_list = headersList;\n        }\n      } else {\n        if (batchInfo.exporter.otlp_http == null) {\n          batchInfo.exporter.otlp_http = {};\n        }\n        const endpoint =\n          getStringFromEnv('OTEL_EXPORTER_OTLP_LOGS_ENDPOINT') ??\n          (getStringFromEnv('OTEL_EXPORTER_OTLP_ENDPOINT')\n            ? `${getStringFromEnv('OTEL_EXPORTER_OTLP_ENDPOINT')}/v1/logs`\n            : 'http://localhost:4318/v1/logs');\n        if (endpoint) {\n          batchInfo.exporter.otlp_http.endpoint = endpoint;\n        }\n        const tls = getHttpTlsConfig(\n          certificateFile,\n          clientKeyFile,\n          clientCertificateFile\n        );\n        if (tls) {\n          batchInfo.exporter.otlp_http.tls = tls;\n        }\n        if (compression) {\n          batchInfo.exporter.otlp_http.compression = compression;\n        }\n        if (timeout) {\n          batchInfo.exporter.otlp_http.timeout = timeout;\n        }\n        if (headersList) {\n          batchInfo.exporter.otlp_http.headers_list = headersList;\n        }\n\n        if (protocol === 'http/json') {\n          batchInfo.exporter.otlp_http.encoding = OtlpHttpEncoding.JSON;\n        } else if (protocol === 'http/protobuf') {\n          batchInfo.exporter.otlp_http.encoding = OtlpHttpEncoding.Protobuf;\n        }\n      }\n      config.logger_provider.processors.push({ batch: batchInfo });\n    }\n  }\n}\n"]}